An Ontology Based Approach for Formal Modeling of Structural Design Patterns

Size: px
Start display at page:

Download "An Ontology Based Approach for Formal Modeling of Structural Design Patterns"

Transcription

1 An Ontology Based Approach for Formal Modeling of Structural Design Patterns Ashish Kumar Dwivedi 1, Anand Tirkey 2, Santanu Kumar Rath 3 Department of Computer Science and Engineering National Institute of Technology Rourkela, , Odisha, India shil2007@gmail.com 1, andy9c@gmail.com 2, and skrath@nitrkl.ac.in 3 Abstract The present day, software are becoming too much complex by nature. Hence there is a need for developing the right solution of complex requirements. To solve various design problems, a number of tools and techniques are available, one of them is known as design pattern, which helps to find a better solution for the problems, which are recurring in nature. Generally, the notation of design pattern is often described using UML (Unified Modeling Language), which is semi-formal in nature. The UML notation may lead to ambiguities and inconsistencies. In this study, attempts have been made to model the logics behind of structural design patterns using Web Ontology Language (OWL). For consistency checking of the OWL notation, an ontology reasoner i.e., Pellet has been considered. In order to analyze the composition of design patterns, description logic has been applied. For the evaluation of the presented study, an example i.e., online banking system is used. Index Terms Design patterns, Description Logic, Ontologybased Modeling, OWL, RDF, UML. I. INTRODUCTION Design of present day software very much depends on fixing up its configuration by identifying different architectural elements i.e., components, connectors, and configuration. During the phase of fixing configuration, designer identifies that some aspects get repeated. Hence the role of patterns is observed to help when designer sets principal design decisions to solve recurring design problems. In the past two decades, various software patterns are analyzed [1] [2] [3] [4]. In order to utilize pattern-based solution, details of various tools are discussed in the literature [5]. The pattern-based tools become helpful for the pattern instantiation as well as pattern detection process. The pattern-based solutions are often described by using pattern template elements. Gamma et al. [1] have presented a number of template elements for their design patterns such as creational, structural and behavioral design patterns. In this study, structural design patterns are considered for analyzing the composition of patterns. Structural patterns are mainly concerned with the structure of classes and relationships contained by respective patterns. Each pattern has a set of rules for the composition of pattern s constituents, which are described by template elements such as pattern name, pattern applicability, pattern-based solution, etc. Sometimes, templatebased description becomes ambiguous and inconsistent, which requires further rigorous analysis. During the analysis and design of a pattern-based system, various software pattern are analyzed by using semi-formal notations, which may lead to ambiguities and inconsistencies. Checking the consistency and extendability of patterns allow detecting different design problems at the very early phases of software development process. Formal modeling techniques help to verify and validate the system requirements and provide rigorous analysis of a system at the early phases of the development process [6] [7]. Due to large and complex nature of requirements of software system, number of modeling techniques came into existence. One of them is an ontology based modeling technique, which helps to organize system information in conceptual domains where these information can be categorized in the form of things [8]. These things can be represented as a group of objects, essential, or existential. In this study, an ontology-based modeling framework is presented for rigorously analyzing pattern-based system. The proposed framework helps to represent software design patterns as RDF (Resource Description Framework) document that can be published as resources on the Web. The framework is based on metamodeling approach, which offer formal constructs of pattern-based solution. A metamodel is also known as model of models having a crucial role in standard community such as Object Management Group (OMG) [9]. The concept of ontology provides formal construction for domain formalization by incorporating mathematical logics. For the last decade, ontology and metamodels are developed in parallel isolation [10] [11]. In order to validate the proposed approach, online banking system is considered as a case study. In this scenario, accessing-bank-account usecase is considered where a number of security design problems such as information disclosure, spoofing, denial of service, etc., may occur. These security problems are resolved by applying various security patterns such as SingleAccessPoint, CheckPoint, Authenticator, etc. Security patterns are used in banking operations such as withdrawal, fund transfer, change password, etc. Firstly, structural design patterns are used to solve security problems of a banking system at the design phase. Subsequently, patternbased solutions are analyzed by using Web Ontology Language (OWL) [12]. In order to represent the ontology of structural patterns, an ontology editor i.e. Protégé [13] is being used. At the end of this study, a comparative analysis has been presented between ontology-based modeling of design patterns and other existing formal modeling approaches /16/$ IEEE

2 II. RELATED WORK It is observed that a number of authors have worked mostly on two application areas of ontology, such as either to formalize different software design patterns or to formalize architectural styles using formal modeling notations. Related research works are discussed bellow: Dietrich and Elgar [14] have proposed a novel scheme to formally specify software design patterns. They have ensured that their approach specifies design patterns and their constructs, such as participant classes, relationships, and their instances. Wang et al. [15] have proposed a technique to formally specify and verify feature diagrams by considering Semantic Web technology such as OWL. They have used OWL reasoning engine i.e., FaCT++ for the consistency checking of feature configurations. Parreiras et al. [16] have formalized abstract factory and strategy design patterns by using description logic. They have performed mapping process between OWL and UML for the modeling of abstract factory and strategy pattern. Nicholson et al. [17] have used visual language of codecharts i.e., LePUS3 for specifying and verifying software design patterns. They have presented a set of tool support for analyzing design patterns with codecharts. Chaturvedi and Prabhakar [18] have used the concept of generic ontology as a runtime component in Gamma et al. [1] creational patterns. Further they have analyzed the implementation of the creational patterns and concluded that their proposed solution is not only removes the deficiencies determined in selected patterns, but also provides the patterns reusable. Bayley and Zhu [19] have presented a meta-modeling approach i.e., GEBNF (generalized extended backus-naur form) to the formalization of software design patterns. According to authors, their approach provides formal reasoning about patterns and their composition. Pahl et al. [20] have proposed an ontology-based technique for the analysis of an architectural style. They have considered a meta-level modeling approach, known as Description Logic (DL) for system property specification. They have developed a framework which supports the specification and subsequently provides mathematical model for architectural style. Zhu and Bayley [21] have analyzed the notion of validity of pattern composition. They have proposed a formal method for proving and disproving of the validity of pattern composition. Dwivedi and Rath [22] have formalized the composition of security patterns by using a lightweight formal modeling notation i.e., Alloy. They have conducted a quantitative evaluation of security patterns against the security properties. Tounsi et al. [23] have performed formal modeling of SOA (serviceoriented architecture) design patterns using Event-B. Their approach is based on metamodeling concepts. Dwivedi and Rath [24] have formalized a complex architectural style i.e., C2 (component and connector) using formal method Alloy. Kim et al. [25] have presented a formal approach to specify design patterns which is based on the concept of role. They have considered a metamodeling approach to the formalization of design patterns using a formal method Object-Z. III. PROPOSED WORK Due to growing amount of information, a number of resources are available, which store data and result using different storage method. But the resources do not grow with the same rate as information grow. This type of problem can be solved by considering the concept of Semantic Web [26], which offers data to be shared and reused by various domain. OWL and RDF are components of the Semantic Web. OWL is a language of ontology which is based on formal notations such as FOL (First Order Logic) and DL (Description Logic). In this study, OWL-DL is considered to specify pattern-based system requirements. OWL is represented by three elements, such as Individuals, Properties, and Classes. In this section, an ontology-based pattern modeling framework is presented that is inspired from [14]. Firstly, structural patterns are described by using UML, subsequently it is analyzed by using OWL. A. Ontology-Based Modeling Framework The presented modeling framework is based on the concept of metamodel which enables analysis and design of UML based pattern notations. The presented modeling framework is an extended form of traditional model driven development approach as shown in Figure 1. The framework is a combination of four models such as analysis model, design model, formal model, and code. According to this framework, functional requirements of a system are mapped into analysis model such as usecase model. The analysis model can easily transformed into XMI code by using an Eclipse-based modeling tool. The XMI code of analysis model is transformed into design model. The design model is a UML-based class digram, which is mostly used to express software design patterns. A pattern-based solution is often available in the form of UML class digram which may show an ambiguous and inconsistent representation. Structural design patterns are associated with the framework as to how classes and objects are composed to form a larger structure. UML-based relationships, such as inheritance, aggregation, composition, etc. play an important role for providing pattern-based solution. These relationships should have semantic definition during pattern refinement process. In order to formally specify design pattern notation, it needs to be transformed into formal notation such as OWL-DL which can be mapped into code. B. Analysis of the composition of Structural Design Patterns The proposed study mainly is concerned with design model and formal model in modeling framework. Design model is nothing but a pattern-based solution which is represented using UML class diagram and UML sequence diagram. The patternbased solution represents a composition of patterns which are also known as pattern language [27]. A pattern language is shown as a diagram to represent the actual relationship among patterns. The details of pattern language are presented by Alexander in his book A Pattern Language containing 253 patterns. In order to analyze structural design pattern, a pattern-based solution for an online banking system has been presented.

3 Fig. 1. Ontology based modeling framework for structural design patterns Fig. 2. Pattern composition for Online banking system The present day, user requires greater advocacy, security, and control in their banking system. But they have faced problems in terms of acquiring flexibility, easy to use, align business to technology, etc. These problems can be solved by considering suitable design techniques. In this study, design patterns such as Facade, Proxy, Composite, Adapter, and Command are used to solve the design problems. The structural and behavioral aspects of patterns composition are presented by using UML class diagram and sequence diagram. Figure 2 shows the concept of patterns composition using a case study. In this figure, CheckPoint acts as Facade and SecurePolicy, Authenticator, and Proxy act as subsystems for Facade. In this example, the composition of CheckPoint and SecurePolicy represent Adapter design pattern. The classes, such as User, Command, Withdrawal, Fundtransfer, and PolicyChange are composed in such a way that they represent their functions as a composite design pattern, where Command acts as a Component and PolicyChange acts as a Composite. For using Proxy pattern, CheckPoint acts as a Client and Account act as a RealSubject for Proxy. The dynamic aspect of design of composition of patterns is presented in Figure 3. In this aspect User sends a request to access a resource. This request initially gets verified by security patterns such as Single Access Point, CheckPoint, SecurePolicy, and Authenticator. If User s request gets authenticated, then user tries to access resource through the Proxy. In this system, CheckPoint acts as a Facade structural pattern that calls Proxy pattern to create a new proxy for that request. The created proxy is being provided to the User. User considers accesscommand method that is processed by Command component. It checks access policy rules on the basis of those rules where user accesses the resource i.e., Account. C. Ontology for Structural Design Patterns Ontology provides the conceptualization to software design patterns by providing semantic relationships between pattern classes. In Adapter pattern, Adapter adapts Adaptee to Target by assigning to the concrete class of Adapter; but Adapter won t work when a class and all its subclasses are adapted. Similarly, in Composite pattern, new components can be added and composite class defines behavior for these components for which a client does not have to be changed. These consequences need to be declared in the form of knowledge representation so that designers and developers can understand and utilize the actual semantics of classes, objects, and their relationships. OWL is considered for the formal modeling of structural design patterns definition and its consequences. Generally, design patterns are specified using UML notations, which are semi-formal in nature. Hence, the mapping of UML models into OWL becomes helpful for pattern detection, pattern refinement, pattern instantiation. UML elements, such as package, class, instance, multiplicity, enumeration, property can be mapped into OWL elements, such as, ontology, class, individual, cardinality, objectoneof (and dataoneof), object- Property (and dataproperty) respectively. The OWL representation of structural design patterns is shown in Figure 4.

4 Fig. 3. Behavioral aspect of structural pattern composition for Online banking system Fig. 4. OWL representation of structural design patterns

5 TABLE I PROPERTY SPECIFICATION OF STRUCTURAL DESIGN PATTERNS S. No. DL Notation 1. (StructuralDesignPattern Pattern) 2. ((AdapterDP BridgeDP CompositeDP DecoratorDP FacadeDP FlyweightDP ProxyDP) StructuralDesignPattern) 3. ((((Adapter Adaptee Target) AdapterDP) (Adapter Class (Target Adaptee)) (Adapter Object Target))) 4. (((Adapter Class Adapter Object) Adapter)) 5. ((((Abstraction RefinedAbstraction Implementor ConcreteImplementor) BridgeDP) ((RefinedAbstraction Abstraction) (ConcreteImplementor Implementor) ((1 : Abstraction) (2 : Implementor))))) 6. ((((Component Composite Leaf ) CompositeDP) ((Composite Leaf ) Component))) 7. ((((Component Decorator ConcreteComponent ConcreteDecorator) DecoratorDP) ((ConcreteComponent Component) (ConcreteDecorator Decorator)))) 8. ((((Facade SubSystem) FacadeDP) (SubSystem Facade))) 9. ((((FlyweightFactory Flyweight ConcreteFlyweight) FlyweightDP) ((ConcreteFlyweight Flyweight) ((1 : FlyweightFactory) (2 : Flyweight ))))) 10. ((((Proxy Subject RealSubject) ProxyDP) ((RealSubject Proxy) Subject))) 11. (Adapter Instance createinstanceof.adaptee) Figure 4 represents patterns, subpatterns, classes and sub- Classes of structural design patterns. Structural design patterns contain subpatterns, such as Adapter, Bridge, Composite, Decorator, Flyweight, and Proxy. Similarly, these subpatterns contain classes and subclasses, also known as participants. For example Adapter contains four participants, such as Adapter, Adaptee, Target, and Client. Bridge contains Implementor and Abstraction as classes and ConcreteImplementor and RefinedAbstraction as subclasses. Composite also contains four participants, such as Component, Client, Leaf, and Composite, where Leaf and Composite are subclasses of a class Component. Decorator contains Component, ConcreteComponent, and ConcreteDecorator as pattern participants. Facade contains two participants, such as Facade and subsystem classes. Flyweight contains five participants, such as FlyweightFactory, Client, Flyweight, ConcreteFlyweight, and UnsharedConcreteFlyweight. ConcreteFlyweight and UnsharedConcreteFlyweight are subclasses of a class Flyweight. These subclasses are different in terms of implementation for state sharing of objects. A ConcreteFlyweight object must be sharable, whereas not all Flyweight subclasses need to be shared for UnsharedConcreteFlyweight. Proxy contains three participants, such as Subject, RealSubject, and Proxy, where Proxy and RealSubject are subclasses of Subject. In this study, an ontology is presented for the structural design patterns that specifies number of object properties, data properties, axioms, annotation properties, individuals, etc. The object properties represented for this ontology are subpatternof, isparticipantof, isinheritedfrom, ispartof, create etc. The data propeties are sharedstate, unsharedstate, isleaf etc. Protégé is an ontology editor which is easily available in the form of plugins. OWL-Viz is a tool integrated with Protégé that helps to visualize different classes and their relationships. Protégé supports DL-Query tab, that is used to execute DLquery with the help of OWL reasoner i.e., Pellet. Property specification of structural design patterns is performed by using description logic. D. Property Specification of Structural Design Patterns using Description Logic Description logic is a form of mathematical logic mainly used for formal representation of knowledge languages. Description logic formalizes different domains with the help of concepts and relationships which are represented as classes and relations respectively. It is similar to first order logic (FOL) added with some other notations. Description logic supports a number of mathematical operators, such as and ( ), or ( ), not ( ), subset-of ( ), equivalent ( ), model ( =), greater-or-equal ( ), less-or-equal ( ) etc. for analyzing the properties of a system requirements [28]. Description logic also supports existential quantifier ( ) and universal quantifiers ( ). Two special operators, such as ( ) and ( ) supported by DL denote the meaning having all individuals and no individual respectively. DL notations presented in Table I shows the formal relation and sensitive axioms for the structural design patterns. The DL notation is helpful to specify UML class diagram. For example, generalization can be specified by using operator. In a Flyweight design patterns, FlyweightFactory is a containing class and Flyweight is an aggregate class which are specified as ((1 : FlyweightFactory) (2 : Flyweight )) using DL notations. In AdapterDP, Adapter creates an instance of Adaptee, which is specified as Adapter Instance createinstanceof.adaptee. The presented DL notations are verified by using an OWL reasoner i.e., Pellet. E. Comparison In order to assess the performance of ontology-based modeling, a comparative analysis has been made with existing approaches as shown in Table II. Five parameters such as modeling language, tools, logic, UMLtoFM, and code generation are considered for the comparison. OWL notation is compared with LePUS3, Object-Z, Event-B, Alloy, and GEBNF which are presented in related work section. UMLtoFM represents transformation of UML notation into respective formal methods. Existing approaches are based on metamodeling concept

6 and uses FOL (first order logic), whereas OWL uses both FOL and DL. OWL helps for the refinement of design patterns. In this study, pattern refinement is described by specifying inheritance relationship. Because in structural design patterns, candidate classes of a particular patterns are often considered inheritance to organize interfaces. The main benefit of OWL it to model design document as a web content using RDF. Representing the design patterns in the form of OWL/RDF enables user to deploy the pattern definitions on the web servers. TABLE II COMPARISON BETWEEN OWL AND EXISTING TECHNIQUES S. No. Modeling Code Tools Logic UMLtoFM Language Generation 1. LePUS3 TTP Toolkit FOL No No 2. Object-Z Z/EVES FOL Yes No 3. Event-B Rodin FOL No Yes 4. Alloy Alloy Analyzer FOL Yes No 5. GEBNF No FOL No No 6. OWL Protégé FOL, DL Yes Yes IV. CONCLUSION AND FUTURE WORK The presented study offers an ontology-based approach for modeling and specification of structural design patterns. In this study, an attempt has been made to formalize the representation and composition of software design patterns as a knowledge representation using Web Ontology Language. Various design patterns are being analyzed by considering formal notations, such as Object-Z, Event-B, EBNF, etc. These formal modeling languages have certain limitations in terms of requirement specification and tool support. The proposed scheme utilizes the concept of ontologies in the field of software engineering by specifying UML notation using Description Logic. This approach is helpful to understand the reusability and extendability of the modeling of complex applications. Ontology-based formal modeling confirms the consistency, unambiguity, and understandability related to the complexity and decidability of the required application in the area of software specification and design. It is hereby proposed to extend the application of ontologies in other areas in future, such as modeling of behavioral design patterns and security patterns. REFERENCES [1] E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, [2] A. K. Dwivedi and S. K. Rath, Incorporating security features in service-oriented architecture using security patterns, ACM SIGSOFT Software Engineering Notes, vol. 40, no. 1, pp. 1 6, [3] M. Fowler, Patterns of enterprise application architecture. Addison- Wesley, Boston, USA, [4] P. Pradhan, A. K. Dwivedi, and S. K. Rath, Detection of design pattern using graph isomorphism and normalized cross correlation, in Contemporary Computing (IC3), 2015 Eighth International Conference on. IEEE, 2015, pp [5] M. Zanoni, F. A. Fontana, and F. Stella, On applying machine learning techniques for design pattern detection, Journal of Systems and Software, vol. 103, pp , [6] J. Woodcock, P. G. Larsen, J. Bicarregui, and J. Fitzgerald, Formal methods: Practice and experience, ACM Computing Surveys (CSUR), vol. 41, no. 4, pp. 1 36, [7] A. K. Dwivedi and S. K. Rath, Selecting and formalizing an architectural style: A comparative study, in Contemporary Computing (IC3), 2014 Seventh International Conference on, Aug 2014, pp [8] Y. Zhao, J. Dong, and T. Peng, Ontology classification for semanticweb-based software engineering, IEEE Transactions on Services Computing, vol. 2, no. 4, pp , Oct [9] OMG, Object management group, [10] B. Henderson-Sellers, Bridging metamodels and ontologies in software engineering, Journal of Systems and Software, vol. 84, no. 2, pp , [11] D. Dermeval, J. Vilela, I. I. Bittencourt, J. Castro, S. Isotani, P. Brito, and A. Silva, Applications of ontologies in requirements engineering: a systematic review of the literature, Requirements Engineering, pp. 1 33, [12] M. Dean and G. Schreiber, Web ontology language, org/tr/owl-ref/, [13] Protégé, Description is available from, products.php#desktop-protege, [14] J. Dietrich and C. Elgar, Towards a web of patterns, Web Semantics: Science, Services and Agents on the World Wide Web, vol. 5, no. 2, pp , [15] H. H. Wang, Y. F. Li, J. Sun, H. Zhang, and J. Pan, Verifying feature models using OWL, Web Semantics: Science, Services and Agents on the World Wide Web, vol. 5, no. 2, pp , [16] F. S. Parreiras, S. Staab, and A. Winter, Improving design patterns by description logics: A use case with abstract factory and strategy. in Modellierung 2008, vol. P-127 of LNI, 2008, pp [17] J. Nicholson, A. H. Eden, E. Gasparis, and R. Kazman, Automated verification of design patterns: A case study, Science of Computer Programming, vol. 80, pp , [18] A. Chaturvedi and T. Prabhakar, Ontology driven creational design patterns as parameterized and reusable components, ACM SIGAPP Applied Computing Review, vol. 14, no. 1, pp. 6 19, [19] I. Bayley and H. Zhu, Formal specification of the variants and behavioural features of design patterns, Journal of System and Software, Elsevier, vol. 83, no. 2, pp , Feb [Online]. Available: [20] C. Pahl, S. Giesecke, and W. Hasselbring, Ontology-based modelling of architectural styles, Information and Software Technology, vol. 51, no. 12, pp , Dec [Online]. Available: http: //dx.doi.org/ /j.infsof [21] H. Zhu and I. Bayley, On the composability of design patterns, Software Engineering, IEEE Transactions on, vol. 41, no. 11, pp , [22] A. K. Dwivedi and S. K. Rath, Formalization of web security patterns, INFOCOMP Journal of Computer Science, vol. 14, no. 1, pp , [23] I. Tounsi, M. Hadj Kacem, A. Hadj Kacem, and K. Drira, A refinementbased approach for building valid SOA design patterns, International Journal of Cloud Computing 2, vol. 4, no. 1, pp , [24] A. K. Dwivedi and S. K. Rath, Analysis of a complex architectural style c2 using modeling language alloy, Computer Science and Information Technology, vol. 2, no. 3, pp , [25] S.-K. Kim and D. Carrington, A formalism to describe design patterns based on role concepts, Formal aspects of computing, vol. 21, no. 5, pp , [26] T. Berners-Lee, Semantic web, [27] M. Hafiz, P. Adamczyk, and R. E. Johnson, Growing a pattern language (for security), in Proceedings of the ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, ser. Onward! 12. New York, NY, USA: ACM, 2012, pp [Online]. Available: [28] S. Rudolph, Foundations of description logics, in Reasoning Web. Semantic Technologies for the Web of Data. Springer, 2011, pp

Information systems modelling UML and service description languages

Information systems modelling UML and service description languages Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling UML and service description languages Overview of design patterns for supporting information systems

More information

Design Patterns. Manuel Mastrofini. Systems Engineering and Web Services. University of Rome Tor Vergata June 2011

Design Patterns. Manuel Mastrofini. Systems Engineering and Web Services. University of Rome Tor Vergata June 2011 Design Patterns Lecture 1 Manuel Mastrofini Systems Engineering and Web Services University of Rome Tor Vergata June 2011 Definition A pattern is a reusable solution to a commonly occurring problem within

More information

A Reconnaissance on Design Patterns

A Reconnaissance on Design Patterns A Reconnaissance on Design Patterns M.Chaithanya Varma Student of computer science engineering, Sree Vidhyanikethan Engineering college, Tirupati, India ABSTRACT: In past decade, design patterns have been

More information

DESIGN PATTERN MATCHING

DESIGN PATTERN MATCHING PERIODICA POLYTECHNICA SER. EL. ENG. VOL. 47, NO. 3 4, PP. 205 212 (2003) DESIGN PATTERN MATCHING Dániel PETRI and György CSERTÁN Department of Measurement and Information Systems Budapest University of

More information

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 9 OO modeling Design Patterns Structural Patterns Behavioural Patterns

More information

Modeling Systems Using Design Patterns

Modeling Systems Using Design Patterns Modeling Systems Using Design Patterns Jaroslav JAKUBÍK Slovak University of Technology Faculty of Informatics and Information Technologies Ilkovičova 3, 842 16 Bratislava, Slovakia jakubik@fiit.stuba.sk

More information

Software Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D.

Software Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D. Software Design Patterns Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University J. Maletic 1 Background 1 Search for recurring successful designs emergent designs from practice

More information

Design patterns generic models

Design patterns generic models Design patterns generic models Jyothish Maniyath CDC Software India Pvt Ltd 6 th Floor, Canberra Block, UB City, #24 Vittal Mallya Road, Bangalore, India +91 94482 46718 jyosh@maniyath.com ABSTRACT This

More information

Reusability of Requirements Ontologies. By Rania Alghamdi

Reusability of Requirements Ontologies. By Rania Alghamdi Reusability of Requirements Ontologies By Rania Alghamdi Outline Introduction Requirements Reuse Requirements ontologies Criteria of reusable requirements Examples of reusable ontologies Discussion and

More information

A Novel Approach to Automated Design Pattern Detection

A Novel Approach to Automated Design Pattern Detection A Novel Approach to Automated Design Pattern Detection Nikolaos Tsantalis, Alexander Chatzigeorgiou, Spyros T. Halkidis and George Stephanides Department of Applied Informatics, University of Macedonia,

More information

Design Patterns. An introduction

Design Patterns. An introduction Design Patterns An introduction Introduction Designing object-oriented software is hard, and designing reusable object-oriented software is even harder. Your design should be specific to the problem at

More information

Ontology-Driven Modeling Framework for SOA Security Patterns

Ontology-Driven Modeling Framework for SOA Security Patterns Semantic Web 1 (0) 1 5 1 IOS Press Ontology-Driven Modeling Framework for SOA Security Patterns Editor(s): First Editor, University or Company name, Country; Second Editor, University or Company name,

More information

Towards Better Support for Pattern-Oriented Software Development

Towards Better Support for Pattern-Oriented Software Development Towards Better Support for Pattern-Oriented Software Development Dietrich Travkin Software Engineering Research Group, Heinz Nixdorf Institute & Department of Computer Science, University of Paderborn,

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management. Design Patterns part 1

Ingegneria del Software Corso di Laurea in Informatica per il Management. Design Patterns part 1 Ingegneria del Software Corso di Laurea in Informatica per il Management Design Patterns part 1 Davide Rossi Dipartimento di Informatica Università di Bologna Pattern Each pattern describes a problem which

More information

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Dhirubhai Ambani Institute for Information and Communication Technology, Gandhinagar, Gujarat, India Email:

More information

Goals of Lecture. Lecture 27: OO Design Patterns. Pattern Resources. Design Patterns. Cover OO Design Patterns. Pattern Languages of Programming

Goals of Lecture. Lecture 27: OO Design Patterns. Pattern Resources. Design Patterns. Cover OO Design Patterns. Pattern Languages of Programming Goals of Lecture Lecture 27: OO Design Patterns Cover OO Design Patterns Background Examples Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2001 April 24, 2001 Kenneth

More information

MERGING BUSINESS VOCABULARIES AND RULES

MERGING BUSINESS VOCABULARIES AND RULES MERGING BUSINESS VOCABULARIES AND RULES Edvinas Sinkevicius Departament of Information Systems Centre of Information System Design Technologies, Kaunas University of Lina Nemuraite Departament of Information

More information

Keywords: Abstract Factory, Singleton, Factory Method, Prototype, Builder, Composite, Flyweight, Decorator.

Keywords: Abstract Factory, Singleton, Factory Method, Prototype, Builder, Composite, Flyweight, Decorator. Comparative Study In Utilization Of Creational And Structural Design Patterns In Solving Design Problems K.Wseem Abrar M.Tech., Student, Dept. of CSE, Amina Institute of Technology, Shamirpet, Hyderabad

More information

Model Driven Ontology: A New Methodology for Ontology Development

Model Driven Ontology: A New Methodology for Ontology Development Model Driven Ontology: A New Methodology for Ontology Development Mohamed Keshk Sally Chambless Raytheon Company Largo, Florida Mohamed.Keshk@raytheon.com Sally.Chambless@raytheon.com Abstract Semantic

More information

An Introduction to Patterns

An Introduction to Patterns An Introduction to Patterns Robert B. France Colorado State University Robert B. France 1 What is a Pattern? - 1 Work on software development patterns stemmed from work on patterns from building architecture

More information

Towards the integration of security patterns in UML Component-based Applications

Towards the integration of security patterns in UML Component-based Applications Towards the integration of security patterns in UML Component-based Applications Anas Motii 1, Brahim Hamid 2, Agnès Lanusse 1, Jean-Michel Bruel 2 1 CEA, LIST, Laboratory of Model Driven Engineering for

More information

CSCD01 Engineering Large Software Systems. Design Patterns. Joe Bettridge. Winter With thanks to Anya Tafliovich

CSCD01 Engineering Large Software Systems. Design Patterns. Joe Bettridge. Winter With thanks to Anya Tafliovich CSCD01 Engineering Large Software Systems Design Patterns Joe Bettridge Winter 2018 With thanks to Anya Tafliovich Design Patterns Design patterns take the problems consistently found in software, and

More information

The 'Gang of Four' Companion

The 'Gang of Four' Companion The 'Gang of Four' Companion Formal specification of design patterns in LePUS3 and Class-Z Technical Report CSM-472, ISSN 1744-8050 Amnon H Eden, Jonathan Nicholson, Epameinondas Gasparis Department of

More information

Pattern-Based Architectural Design Process Model

Pattern-Based Architectural Design Process Model Pattern-Based Architectural Design Process Model N. Lévy, F. Losavio Abstract: The identification of quality requirements is crucial to develop modern software systems, especially when their underlying

More information

Topics in Object-Oriented Design Patterns

Topics in Object-Oriented Design Patterns Software design Topics in Object-Oriented Design Patterns Material mainly from the book Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides; slides originally by Spiros Mancoridis;

More information

Coordination Patterns

Coordination Patterns Coordination Patterns 1. Coordination Patterns Design Patterns and their relevance for Coordination Oscar Nierstrasz Software Composition Group Institut für Informatik (IAM) Universität Bern oscar@iam.unibe.ch

More information

Design Patterns. Hausi A. Müller University of Victoria. Software Architecture Course Spring 2000

Design Patterns. Hausi A. Müller University of Victoria. Software Architecture Course Spring 2000 Design Patterns Hausi A. Müller University of Victoria Software Architecture Course Spring 2000 1 Motivation Vehicle for reasoning about design or architecture at a higher level of abstraction (design

More information

COSC 3351 Software Design. Design Patterns Structural Patterns (I)

COSC 3351 Software Design. Design Patterns Structural Patterns (I) COSC 3351 Software Design Design Patterns Structural Patterns (I) Spring 2008 Purpose Creational Structural Behavioral Scope Class Factory Method Adaptor(class) Interpreter Template Method Object Abstract

More information

A Technique for Design Patterns Detection

A Technique for Design Patterns Detection A Technique for Design Patterns Detection Manjari Gupta Department of computer science Institute of Science Banaras Hindu University Varansi-221005, India manjari_gupta@rediffmail.com Abstract Several

More information

Semantic Web. Ontology Pattern. Gerd Gröner, Matthias Thimm. Institute for Web Science and Technologies (WeST) University of Koblenz-Landau

Semantic Web. Ontology Pattern. Gerd Gröner, Matthias Thimm. Institute for Web Science and Technologies (WeST) University of Koblenz-Landau Semantic Web Ontology Pattern Gerd Gröner, Matthias Thimm {groener,thimm}@uni-koblenz.de Institute for Web Science and Technologies (WeST) University of Koblenz-Landau July 18, 2013 Gerd Gröner, Matthias

More information

TOWARDS ONTOLOGY DEVELOPMENT BASED ON RELATIONAL DATABASE

TOWARDS ONTOLOGY DEVELOPMENT BASED ON RELATIONAL DATABASE TOWARDS ONTOLOGY DEVELOPMENT BASED ON RELATIONAL DATABASE L. Ravi, N.Sivaranjini Department of Computer Science, Sacred Heart College (Autonomous), Tirupattur. { raviatshc@yahoo.com, ssk.siva4@gmail.com

More information

A component-centric UML based approach for modeling the architecture of web applications.

A component-centric UML based approach for modeling the architecture of web applications. International Journal of Recent Research and Review, Vol. V, March 2013 ISSN 2277 8322 A component-centric UML based approach for modeling the architecture of web applications. Mukesh Kataria 1 1 Affiliated

More information

Design Patterns V Structural Design Patterns, 2

Design Patterns V Structural Design Patterns, 2 Structural Design Patterns, 2 COMP2110/2510 Software Design Software Design for SE September 17, 2008 Department of Computer Science The Australian National University 19.1 1 2 Formal 3 Formal 4 Formal

More information

Object Oriented Methods with UML. Introduction to Design Patterns- Lecture 8

Object Oriented Methods with UML. Introduction to Design Patterns- Lecture 8 Object Oriented Methods with UML Introduction to Design Patterns- Lecture 8 Topics(03/05/16) Design Patterns Design Pattern In software engineering, a design pattern is a general repeatable solution to

More information

Validation of UML Design Model

Validation of UML Design Model Validation of UML Design Model Ashish Kumar Mishra, Dharmendra K. Yadav* The Department of Computer Science and Engineering, MNNIT Allahabad, Allahabad. * Corresponding author. Tel.: 08004486303; email:

More information

VARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS

VARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS VARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS ABSTRACT Ashraf A. Shahin 1, 2 1 College of Computer and Information Sciences, Al Imam Mohammad Ibn Saud Islamic University (IMSIU) Riyadh, Kingdom

More information

Slide 1. Design Patterns. Prof. Mirco Tribastone, Ph.D

Slide 1. Design Patterns. Prof. Mirco Tribastone, Ph.D Slide 1 Design Patterns Prof. Mirco Tribastone, Ph.D. 22.11.2011 Introduction Slide 2 Basic Idea The same (well-established) schema can be reused as a solution to similar problems. Muster Abstraktion Anwendung

More information

Design Patterns. Gunnar Gotshalks A4-1

Design Patterns. Gunnar Gotshalks A4-1 Design Patterns A4-1 On Design Patterns A design pattern systematically names, explains and evaluates an important and recurring design problem and its solution Good designers know not to solve every problem

More information

Applying Design Patterns to accelerate development of reusable, configurable and portable UVCs. Accellera Systems Initiative 1

Applying Design Patterns to accelerate development of reusable, configurable and portable UVCs. Accellera Systems Initiative 1 Applying Design Patterns to accelerate development of reusable, configurable and portable UVCs. Accellera Systems Initiative 1 About the presenter Paul Kaunds Paul Kaunds is a Verification Consultant at

More information

THOMAS LATOZA SWE 621 FALL 2018 DESIGN PATTERNS

THOMAS LATOZA SWE 621 FALL 2018 DESIGN PATTERNS THOMAS LATOZA SWE 621 FALL 2018 DESIGN PATTERNS LOGISTICS HW3 due today HW4 due in two weeks 2 IN CLASS EXERCISE What's a software design problem you've solved from an idea you learned from someone else?

More information

SDC Design patterns GoF

SDC Design patterns GoF SDC Design patterns GoF Design Patterns The design pattern concept can be viewed as an abstraction of imitating useful parts of other software products. The design pattern is a description of communicating

More information

Meta Architecting: Towered a New Generation of Architecture Description Languages

Meta Architecting: Towered a New Generation of Architecture Description Languages Journal of Computer Science 1 (4): 454-460, 2005 ISSN 1549-3636 Science Publications, 2005 Meta Architecting: Towered a New Generation of Architecture Description Languages Adel Smeda, Tahar Khammaci and

More information

SYLLABUS CHAPTER - 1 [SOFTWARE REUSE SUCCESS FACTORS] Reuse Driven Software Engineering is a Business

SYLLABUS CHAPTER - 1 [SOFTWARE REUSE SUCCESS FACTORS] Reuse Driven Software Engineering is a Business Contents i UNIT - I UNIT - II UNIT - III CHAPTER - 1 [SOFTWARE REUSE SUCCESS FACTORS] Software Reuse Success Factors. CHAPTER - 2 [REUSE-DRIVEN SOFTWARE ENGINEERING IS A BUSINESS] Reuse Driven Software

More information

Lectures 24 and 25 Introduction to Architectural Styles and Design Patterns

Lectures 24 and 25 Introduction to Architectural Styles and Design Patterns Lectures 24 and 25 Introduction to Architectural Styles and Design Patterns Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte

More information

Facade and Adapter. Comp-303 : Programming Techniques Lecture 19. Alexandre Denault Computer Science McGill University Winter 2004

Facade and Adapter. Comp-303 : Programming Techniques Lecture 19. Alexandre Denault Computer Science McGill University Winter 2004 Facade and Adapter Comp-303 : Programming Techniques Lecture 19 Alexandre Denault Computer Science McGill University Winter 2004 March 23, 2004 Lecture 19 Comp 303 : Facade and Adapter Page 1 Last lecture...

More information

Guiding System Modelers in Multi View Environments: A Domain Engineering Approach

Guiding System Modelers in Multi View Environments: A Domain Engineering Approach Guiding System Modelers in Multi View Environments: A Domain Engineering Approach Arnon Sturm Department of Information Systems Engineering Ben-Gurion University of the Negev, Beer Sheva 84105, Israel

More information

Software Language Engineering of Architectural Viewpoints

Software Language Engineering of Architectural Viewpoints Software Language Engineering of Architectural Viewpoints Elif Demirli and Bedir Tekinerdogan Department of Computer Engineering, Bilkent University, Ankara 06800, Turkey {demirli,bedir}@cs.bilkent.edu.tr

More information

A Metric of the Relative Abstraction Level of Software Patterns

A Metric of the Relative Abstraction Level of Software Patterns A Metric of the Relative Abstraction Level of Software Patterns Atsuto Kubo 1, Hironori Washizaki 2, and Yoshiaki Fukazawa 1 1 Department of Computer Science, Waseda University, 3-4-1 Okubo, Shinjuku-ku,

More information

Last Lecture. Lecture 26: Design Patterns (part 2) State. Goals of Lecture. Design Patterns

Last Lecture. Lecture 26: Design Patterns (part 2) State. Goals of Lecture. Design Patterns Lecture 26: Design Patterns (part 2) Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2003 Last Lecture Design Patterns Background and Core Concepts Examples Singleton,

More information

Ontology-driven Translators: The new generation

Ontology-driven Translators: The new generation Ontology-driven Translators: The new generation Francisco-Edgar Castillo-Barrera Engineering Faculty, Universidad Autónoma de San Luis Potosí, México ecastillo@uaslp.mx Abstract. In this paper we describe

More information

Object Design II: Design Patterns

Object Design II: Design Patterns Object-Oriented Software Engineering Using UML, Patterns, and Java Object Design II: Design Patterns Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen A Game: Get-15 The game

More information

Canica: An IDE for the Java Modeling Language

Canica: An IDE for the Java Modeling Language Canica: An IDE for the Java Modeling Language Angelica B. Perez, Yoonsik Cheon, and Ann Q. Gates TR #06-36 August 2006 Keywords: Integrated development environment, specification tool, programming tool,

More information

Last Lecture. Lecture 17: Design Patterns (part 2) Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 4448/ Spring Semester, 2005

Last Lecture. Lecture 17: Design Patterns (part 2) Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 4448/ Spring Semester, 2005 1 Lecture 17: Design Patterns (part 2) Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 4448/6448 - Spring Semester, 2005 2 Last Lecture Design Patterns Background and Core Concepts Examples

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2007 Vol. 6, No. 4, May-June 2007 Pattern-Oriented Design for Multi-Agent System: A

More information

The Strategy Pattern Design Principle: Design Principle: Design Principle:

The Strategy Pattern Design Principle: Design Principle: Design Principle: Strategy Pattern The Strategy Pattern defines a family of algorithms, encapsulates each one, and makes them interchangeable. Strategy lets the algorithm vary independently from clients that use it. Design

More information

Design Patterns. Observations. Electrical Engineering Patterns. Mechanical Engineering Patterns

Design Patterns. Observations. Electrical Engineering Patterns. Mechanical Engineering Patterns Introduction o to Patterns and Design Patterns Dept. of Computer Science Baylor University Some slides adapted from slides by R. France and B. Tekinerdogan Observations Engineering=Problem Solving Many

More information

Transition from EBNF to Xtext

Transition from EBNF to Xtext Transition from EBNF to Xtext Jianan Yue State Key Laboratory for Novel Software Technology, Nanjing University Department of Computer Science & Technology, Nanjing University 210023 Nanjing, China b111220168@smail.nju.edu.cn

More information

Design Pattern. CMPSC 487 Lecture 10 Topics: Design Patterns: Elements of Reusable Object-Oriented Software (Gamma, et al.)

Design Pattern. CMPSC 487 Lecture 10 Topics: Design Patterns: Elements of Reusable Object-Oriented Software (Gamma, et al.) Design Pattern CMPSC 487 Lecture 10 Topics: Design Patterns: Elements of Reusable Object-Oriented Software (Gamma, et al.) A. Design Pattern Design patterns represent the best practices used by experienced

More information

Ontology Creation and Development Model

Ontology Creation and Development Model Ontology Creation and Development Model Pallavi Grover, Sonal Chawla Research Scholar, Department of Computer Science & Applications, Panjab University, Chandigarh, India Associate. Professor, Department

More information

Application Architectures, Design Patterns

Application Architectures, Design Patterns Application Architectures, Design Patterns Martin Ledvinka martin.ledvinka@fel.cvut.cz Winter Term 2017 Martin Ledvinka (martin.ledvinka@fel.cvut.cz) Application Architectures, Design Patterns Winter Term

More information

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently. Gang of Four Software Design Patterns with examples STRUCTURAL 1) Adapter Convert the interface of a class into another interface clients expect. It lets the classes work together that couldn't otherwise

More information

Summary of the course lectures

Summary of the course lectures Summary of the course lectures 1 Components and Interfaces Components: Compile-time: Packages, Classes, Methods, Run-time: Objects, Invocations, Interfaces: What the client needs to know: Syntactic and

More information

Reuse at Design Level: Design Patterns

Reuse at Design Level: Design Patterns Reuse at Design Level: Design Patterns CS 617- Lecture 17 Mon. 17 March 2008 3:30-5:00 pm Rushikesh K. Joshi Department of Computer Sc. & Engg. Indian Institute of Technology, Bombay Mumbai - 400 076 Reuse

More information

Egon Borger (Pisa) Capturing Design Pattern Abstractions by ASMs

Egon Borger (Pisa) Capturing Design Pattern Abstractions by ASMs Egon Borger (Pisa) Capturing Design Pattern Abstractions by ASMs Universita di Pisa, Dipartimento di Informatica, I-56127 Pisa, Italy boerger@di.unipi.it visiting SAP Research, Karlsruhe, Germany egon.boerger@sap.com

More information

Recovery of Design Pattern from source code

Recovery of Design Pattern from source code Recovery of Design Pattern from source code Amit Kumar Gautam and T.Gayen Software Engineering, IIIT Allahabad tgayen@iiita.ac.in, Ise2008004@iiita.ac.in Abstract. The approach for detecting design pattern

More information

Using Design Patterns in Java Application Development

Using Design Patterns in Java Application Development Using Design Patterns in Java Application Development ExxonMobil Research & Engineering Co. Clinton, New Jersey Michael P. Redlich (908) 730-3416 michael.p.redlich@exxonmobil.com About Myself Degree B.S.

More information

Software Engineering Prof. Rushikesh K.Joshi IIT Bombay Lecture-15 Design Patterns

Software Engineering Prof. Rushikesh K.Joshi IIT Bombay Lecture-15 Design Patterns Software Engineering Prof. Rushikesh K.Joshi IIT Bombay Lecture-15 Design Patterns Today we are going to talk about an important aspect of design that is reusability of design. How much our old design

More information

1 Software Architecture

1 Software Architecture Some buzzwords and acronyms for today Software architecture Design pattern Separation of concerns Single responsibility principle Keep it simple, stupid (KISS) Don t repeat yourself (DRY) Don t talk to

More information

DESIGN PATTERN - INTERVIEW QUESTIONS

DESIGN PATTERN - INTERVIEW QUESTIONS DESIGN PATTERN - INTERVIEW QUESTIONS http://www.tutorialspoint.com/design_pattern/design_pattern_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Design Pattern Interview Questions

More information

A Rapid Overview of UML

A Rapid Overview of UML A Rapid Overview of UML The Unified dmodeling Language (UML) Emerged in the mid 90s as the de facto standard for softwareengineering engineering design Use case diagram depicts user interaction with system

More information

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 8 OO modeling Design Patterns Introduction Creational Patterns Software

More information

Concurrent Object-Oriented Development with Behavioral Design Patterns

Concurrent Object-Oriented Development with Behavioral Design Patterns Concurrent Object-Oriented Development with Behavioral Design Patterns Benjamin Morandi 1, Scott West 1, Sebastian Nanz 1, and Hassan Gomaa 2 1 ETH Zurich, Switzerland 2 George Mason University, USA firstname.lastname@inf.ethz.ch

More information

Extracting knowledge from Ontology using Jena for Semantic Web

Extracting knowledge from Ontology using Jena for Semantic Web Extracting knowledge from Ontology using Jena for Semantic Web Ayesha Ameen I.T Department Deccan College of Engineering and Technology Hyderabad A.P, India ameenayesha@gmail.com Khaleel Ur Rahman Khan

More information

Behavioral patterns. Command Iterator Observer Strategy Template method

Behavioral patterns. Command Iterator Observer Strategy Template method Designpatterns Behavioral patterns Command Iterator Observer Strategy Template method Command Invoker: asks the command to carry out the request @CommandPattern.Invoker Command: defines an interface for

More information

Sequence Diagram Generation with Model Transformation Technology

Sequence Diagram Generation with Model Transformation Technology , March 12-14, 2014, Hong Kong Sequence Diagram Generation with Model Transformation Technology Photchana Sawprakhon, Yachai Limpiyakorn Abstract Creating Sequence diagrams with UML tools can be incomplete,

More information

Spemmet - A Tool for Modeling Software Processes with SPEM

Spemmet - A Tool for Modeling Software Processes with SPEM Spemmet - A Tool for Modeling Software Processes with SPEM Tuomas Mäkilä tuomas.makila@it.utu.fi Antero Järvi antero.jarvi@it.utu.fi Abstract: The software development process has many unique attributes

More information

Meta-Modeling Communication and Interaction inside MASs with Ontologies

Meta-Modeling Communication and Interaction inside MASs with Ontologies Meta-Modeling Communication and Interaction inside MASs with Ontologies Valentina Cordì, Viviana Mascardi DISI, Università di Genova, Via Dodecaneso 35, 16146, Genova, Italy. Abstract. The need of a unifying

More information

Lecture 13: Design Patterns

Lecture 13: Design Patterns 1 Lecture 13: Design Patterns Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2005 2 Pattern Resources Pattern Languages of Programming Technical conference on Patterns

More information

Design Patterns for Description-Driven Systems

Design Patterns for Description-Driven Systems Design Patterns for Description-Driven Systems N. Baker 3, A. Bazan 1, G. Chevenier 2, Z. Kovacs 3, T Le Flour 1, J-M Le Goff 4, R. McClatchey 3 & S Murray 1 1 LAPP, IN2P3, Annecy-le-Vieux, France 2 HEP

More information

Pattern Resources. Lecture 25: Design Patterns. What are Patterns? Design Patterns. Pattern Languages of Programming. The Portland Pattern Repository

Pattern Resources. Lecture 25: Design Patterns. What are Patterns? Design Patterns. Pattern Languages of Programming. The Portland Pattern Repository Pattern Resources Lecture 25: Design Patterns Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2003 Pattern Languages of Programming Technical conference on Patterns

More information

A Generic Visual Language Technique for DSVL Model Refactoring to Patterns

A Generic Visual Language Technique for DSVL Model Refactoring to Patterns ECEASST A Generic Visual Language Technique for DSVL Model Refactoring to Patterns Karen Li 1, John Hosking 1, and John Grundy 2 1 {k.li, j.hosking}@auckland.ac.nz Departments of Computer Science, University

More information

UML-Based Conceptual Modeling of Pattern-Bases

UML-Based Conceptual Modeling of Pattern-Bases UML-Based Conceptual Modeling of Pattern-Bases Stefano Rizzi DEIS - University of Bologna Viale Risorgimento, 2 40136 Bologna - Italy srizzi@deis.unibo.it Abstract. The concept of pattern, meant as an

More information

3 Product Management Anti-Patterns by Thomas Schranz

3 Product Management Anti-Patterns by Thomas Schranz 3 Product Management Anti-Patterns by Thomas Schranz News Read above article, it s good and short! October 30, 2014 2 / 3 News Read above article, it s good and short! Grading: Added explanation about

More information

DEVELOPMENT OF ONTOLOGY-BASED INTELLIGENT SYSTEM FOR SOFTWARE TESTING

DEVELOPMENT OF ONTOLOGY-BASED INTELLIGENT SYSTEM FOR SOFTWARE TESTING Abstract DEVELOPMENT OF ONTOLOGY-BASED INTELLIGENT SYSTEM FOR SOFTWARE TESTING A. Anandaraj 1 P. Kalaivani 2 V. Rameshkumar 3 1 &2 Department of Computer Science and Engineering, Narasu s Sarathy Institute

More information

Second Midterm Review

Second Midterm Review Second Midterm Review Comp-303 : Programming Techniques Lecture 24 Alexandre Denault Computer Science McGill University Winter 2004 April 5, 2004 Lecture 24 Comp 303 : Second Midterm Review Page 1 Announcements

More information

2.1 Design Patterns and Architecture (continued)

2.1 Design Patterns and Architecture (continued) MBSE - 2.1 Design Patterns and Architecture 1 2.1 Design Patterns and Architecture (continued) 1. Introduction 2. Model Construction 2.1 Design Patterns and Architecture 2.2 State Machines 2.3 Timed Automata

More information

Appendix-A. A.1 Catalogues of Design Patterns. Below is the definition for each design pattern using the FINDER notation, followed

Appendix-A. A.1 Catalogues of Design Patterns. Below is the definition for each design pattern using the FINDER notation, followed A Appendix-A A.1 Catalogues of Design Patterns Below is the definition for each design pattern using the FINDER notation, followed by a description of the rules. These definitions have been created using

More information

An Introduction to Patterns

An Introduction to Patterns An Introduction to Patterns Robert B. France Colorado State University Robert B. France 1 What is a Pattern? Patterns are intended to capture the best available software development experiences in the

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecturer: Raman Ramsin Lecture 20: GoF Design Patterns Creational 1 Software Patterns Software Patterns support reuse of software architecture and design. Patterns capture the static

More information

2.1 Design Patterns and Architecture (continued)

2.1 Design Patterns and Architecture (continued) MBSE - 2.1 Design Patterns and Architecture 1 2.1 Design Patterns and Architecture (continued) 1. Introduction 2. Model Construction 2.1 Design Patterns and Architecture 2.2 State Machines 2.3 Abstract

More information

Use of Domain Ontologies to Improve Requirements Quality

Use of Domain Ontologies to Improve Requirements Quality Use of Domain Ontologies to Improve Requirements Quality Christian Kücherer Institute of Computer Science, University of Heidelberg Im Neuenheimer Feld 205, 69120 Heidelberg, Germany kuecherer@informatik.uni-heidelberg.de

More information

Trust4All: a Trustworthy Middleware Platform for Component Software

Trust4All: a Trustworthy Middleware Platform for Component Software Proceedings of the 7th WSEAS International Conference on Applied Informatics and Communications, Athens, Greece, August 24-26, 2007 124 Trust4All: a Trustworthy Middleware Platform for Component Software

More information

Chapter 8: Enhanced ER Model

Chapter 8: Enhanced ER Model Chapter 8: Enhanced ER Model Subclasses, Superclasses, and Inheritance Specialization and Generalization Constraints and Characteristics of Specialization and Generalization Hierarchies Modeling of UNION

More information

<is web> Information Systems & Semantic Web University of Koblenz Landau, Germany

<is web> Information Systems & Semantic Web University of Koblenz Landau, Germany Information Systems University of Koblenz Landau, Germany Joint Metamodels for UML and OWL Ontologies & Software Tech: Starting Point @Koblenz IST Institute for Software Technology @Koblenz OWL Model theory

More information

Web Services Annotation and Reasoning

Web Services Annotation and Reasoning Web Services Annotation and Reasoning, W3C Workshop on Frameworks for Semantics in Web Services Web Services Annotation and Reasoning Peter Graubmann, Evelyn Pfeuffer, Mikhail Roshchin Siemens AG, Corporate

More information

Software Design COSC 4353/6353 D R. R A J S I N G H

Software Design COSC 4353/6353 D R. R A J S I N G H Software Design COSC 4353/6353 D R. R A J S I N G H Design Patterns What are design patterns? Why design patterns? Example DP Types Toolkit, Framework, and Design Pattern A toolkit is a library of reusable

More information

CSCD01 Engineering Large Software Systems. Design Patterns. Joe Bettridge. Winter With thanks to Anya Tafliovich

CSCD01 Engineering Large Software Systems. Design Patterns. Joe Bettridge. Winter With thanks to Anya Tafliovich CSCD01 Engineering Large Software Systems Design Patterns Joe Bettridge Winter 2018 With thanks to Anya Tafliovich Design Patterns Design patterns take the problems consistently found in software, and

More information

Design concepts for data-intensive applications

Design concepts for data-intensive applications 6 th International Conference on Applied Informatics Eger, Hungary, January 27 31, 2004. Design concepts for data-intensive applications Attila Adamkó Department of Information Technology, Institute of

More information

Using Formal Concept Analysis for discovering knowledge patterns

Using Formal Concept Analysis for discovering knowledge patterns Using Formal Concept Analysis for discovering knowledge patterns Mohamed Rouane-Hacene 1, Marianne Huchard 2, Amedeo Napoli 3, and Petko Valtchev 1 1 Dépt. informatique, UQAM, C.P. 8888, Succ. CV, Montréal,

More information

Idioms and Design Patterns. Martin Skogevall IDE, Mälardalen University

Idioms and Design Patterns. Martin Skogevall IDE, Mälardalen University Idioms and Design Patterns Martin Skogevall IDE, Mälardalen University 2005-04-07 Acronyms Object Oriented Analysis and Design (OOAD) Object Oriented Programming (OOD Software Design Patterns (SDP) Gang

More information