Composition Approaches Summary
|
|
- Tamsyn Stewart
- 5 years ago
- Views:
Transcription
1 Composition Approaches Summary Related Work Several successful experiences have reported on the advantages of using patterns in designing applications. For instance, Srinivasan et. al. [26] discuss their experience in using design patterns to develop highly interactive software systems for speech recognition. Garlow et. al. [9] describe another experience in applying analysis, architecture, and design patterns to design and implement OO cellular communication software. These experiences, among others, do not follow a systematic method to develop applications using patterns. Systematic development using patterns utilizes a composition mechanism to glue patterns together at the design level. Generally, we categorize composition mechanisms as behavioral and structural compositions. 1.1 Behavioral Composition Sherif Yacoub Hewlett-Packard Laboratories 1501 Page Mill Rd., MS1126 Palo Alto, CA4304, USA sherif_yacoub@hp.com Behavioral composition approaches are concerned with objects as elements that play several roles in various patterns. These approaches are also known in the OO literature as interaction-oriented or responsibility-driven design [29]. Our composition approach uses notation and composition techniques that are based on the structure of a pattern, which is a different line of research. For the sake of completeness, we summarize behavioral approaches in modeling and composing patterns and identify their limitations Object Oriented Role Analysis and Software Synthesis Hany Ammar Department of CSEE, West Virginia University Morgantown, WV26506, USA x2514 ammar@csee.wvu.edu Reenskaug [19,20] developed the Object Oriented Role Analysis and Software Synthesis method (OORASS, later called OOram). The method uses a role model that abstracts the traditional object model. The notion of roles focuses on the responsibilities of an object within the overall group of objects. "A role is an architectural representation of the objects occupying the corresponding positions in the object system" [20]. In role modeling, we suppress irrelevant objects, aspects, and details and generalize object identities. In role synthesis, a new role model is derived that is every role in the composition of one or more roles. The derived role combines several roles to be treated as a single role. Role models used by Reenskaug differ from object structures defined as design patterns in the pattern community. Modeling a design pattern using roles integrates both the static and dynamic aspects of the pattern in one diagram. The Unified Modeling Language (UML) avoids such integration. Static models are used for composition and interface purposes while dynamic models are used for behavioral analysis and interaction purposes. Therefore, it is always better to keep separate models for each while maintaining their relationship and consistencies. Moreover, the model synthesis approach in OOram suffers from a traceability problem. The diagrams of 1
2 synthesized role models are overloaded with directed arrows synthesizing the roles from several role models. A tabular presentation of role models is suggested in [20], however a tabular representation is less illustrative than visual models Composing Design Patterns using Roles Riehle [21] uses role diagrams for pattern composition. The role-based approach to document a pattern considers a pattern as a collaboration of objects. Riehle focuses mainly on developing composite patterns, which are compositions of patterns whose integration shows a synergy that makes the composition more than just the sum of its parts. Riehle introduces the concept of a role relationship matrix. A class may play multiple roles in several patterns. This approach integrates patterns based on the roles of their classes, which is mainly based on interaction between pattern participants. The main drawbacks in modeling composite design patterns as composition of role diagrams are: "Choosing role diagrams as the primary means for describing patterns ignores class inheritance based patterns for which further techniques have to be developed" [21]. Our approach deals with patterns as structures of related classes and addresses inheritance issues. Some patterns tend to be more complex when represented by role diagrams, specifically patterns with recursive structure like Chain of Responsibility pattern [21]. There is no consensus on a unique role diagram for a design pattern. For instance the disagreement between the representation of Chain of Responsibility and Composite patterns [20,22]. Patterns are usually documented using class diagrams or object collaboration diagrams. Pattern authors do not use role models to document patterns Contracts Helm et. al. [10] describe another form of behavioral composition using contracts. Contracts describe a formal semantics of behavioral composition of objects. Contracts focus on collaboration of several objects. They can possibly be used as a behavioral composition technique to compose design patterns. Gluing patterns together using contracts is a topic of current research work [36] Superimposition The approach by Jan Bosch [5] uses design patterns and frameworks as architectural fragments. Each fragment is composed of roles and components that are merged with other roles to produce application designs. The approach uses a superimposition mechanism that allows a class to play several roles in architecture fragments. The approach is useful for combining patterns and frameworks. It assumes the existence of application-specific classes to which we want to assign roles (i.e. merging process). It is a behavioral composition approach of roles. Our approach is a structural composition approach that uses pattern-level views. These views allow tracing pattern participants to classes that are merged at lower design level. 2
3 1.1.5 Role/Type/Class modeling Lauder et. al. [14] take a visual specification approach to design patterns. They utilize constraint diagrams that are developed by Kent [12] together with UML diagrams. Their work is concerned with purifying design patterns from textual details that cause ambiguity. They propose three-model representation of a pattern, "role, type, and class" representations. This approach is more concerned with visualizing individual patterns than composing patterns. Their technique seems visually complex even for simple patterns as Observer pattern [Figures in 17]. 1.2 Structural Composition Structural composition approaches build a design by gluing pattern structures that are modeled as class diagrams. Structural composition focuses more on the actual realization of the design rather than abstractions as role models. Behavioral composition techniques such as roles [20,21] leave several choices to the designer with less guidelines on how to continue to the class design phase. We advocate a structural composition approach with pattern class diagrams. In the following, we summarize composition approaches that use the structure of a pattern Software Composition using Design Components Keller and Schauer [11,23] address the problem of software composition at the design level using design components. Their approach and ours share the same objective of creating software designs that are based on well-defined and proven design patterns packaged into tangible, customizable, and composable design components. Keller defines the evolution of a pattern in a design composition environment along four dimensions: concreteness, specificity, scope, and revision. In addition, Keller also identifies limitations in modeling a design component in UML. Patterns in UML are defined as dotted ellipses (collaborations); he proposes extensions to UML package diagrams. The structural composition approach proposed by Keller does not define a design process to compose patterns together and does not define a notion for pattern interfaces. Keller uses a package diagram to represent a design pattern as a component. Package representation has several syntax and semantic limitations as discussed in [33]. The approach in [11], though concerned with a similar problem as ours, focuses on what needs to be placed on a pattern as a design component and little about the composition procedure. Another major concern about this approach is that it integrates two patterns to form a part of the design, then it integrates another pattern to the design and so on. This approach loses some benefits of a design component. First, the abstract view of the design is lost; there is no visual view to reflect the high level structure of the application in terms of patterns. Second, the approach does not use interfaces, which is expected by the user of a component to glue pattern structures together. The pattern visualization tool supporting Keller's approach does not support distinct pattern views that are traceable to class diagrams. Instead, the tool supports covering a class diagram with boundaries around pattern participants. Such a technique, also used in [17], is cumbersome and does not support a high-level view of the design. 3
4 1.2.2 Component-Based Frameworks using patterns Larsen [13] takes a structural approach to glue patterns by mapping the participants of a pattern into implementation components. A component can implement many patterns and frameworks, and a pattern or a framework can be implemented across many components. The focus of his work is designing and delivering frameworks using the concepts of patterns at the design phase and components at the implementation phase. At the design phase, Larsen uses UML interface classes to model interfaces for patterns. The pattern solution structure, as a class diagram, is thus augmented with additional classes as interfaces. These class diagrams of patterns (with additional interface classes) are used to define the framework in one class diagram model. At the delivery phase of a framework, Larsen uses UML component diagrams to represent the framework as composition of physical components that are not a one-to-one mapping to patterns. Our approach shares the same concept of defining interfaces for patterns. However, Larsen's approach is different from ours in several aspects: Larsen uses class diagrams to represent the composition of patterns' classes. He shows a class diagram for each pattern (with their interface classes added) and then a class diagram for the framework. Our approach uses hierarchical logical models that hide details that are not utilized directly at a given design level abstraction. Larsen's approach does not support hierarchical views of the design. In our approach we use a pattern as a black box and then zoom into internal details. Larsen uses class diagrams only. The traceability problem is not solved in Larsen's approach. Pattern participants are lost in the framework design diagrams. Our models can trace pattern participants bottom-up and top-down as discussed later Composition using Macro Components Xavier Castellani and Stephan Y. Liao [37] propose an application development process that focuses on the reuse of object-oriented application design. Their work presents a process that allows the system designer to create generic applications and reuse them in other application designs in the same problem domain. The approach starts with an existing application then abstracts design macro-components through the abstraction of application specifics. However, the authors use a general definition of macro-components (frameworks or patterns) which allows any group of related classes to be considered a pattern. An application, in the context of their development process, is split into macro-components which are filled later on with classes The Catalysis approach D'Souza et. al. [38,39] define a component-based approach to develop software that is heavily based on interfaces at both the design and implementation level. The approach is called Catalysis which is used to build object and component-based systems using UML and some extensions made to UML constructs. At the design phases, D'Souza advocates using frameworks as building components where a framework is "a pattern of model or code that can be applied to different problems" and object oriented frameworks are " collaborations with a default, skeletal implementation." We take a similar approach for designing software as composition of constructional 4
5 design patterns, however we distinguish patterns from frameworks. Our approach addresses a more specific problem (composition of patterns) and can be used to build such frameworks. However, D'Souza's approach addressed other issues in developing software such as composing physical components, distribution of components, business driven solutions, etc. REFERENCES [1] E. Addy, A. Mili, and S. Yacoub. A Case Study in Software Reuse. Software Quality Journal, to appear in Also available as Technical Report, NASA IV&V, Fairmont, West Virginia, TR# NASA-IVV , [2] C. Alexander, S. Inshikawa, M. Silverstiein, M. Jacobson, I. Fiksdahl-king, and S. Angel. A Pattern Language. Oxford University Press, New York, [3] E. Anderson and T. Reenskaug. System Design by Composing Structures of Interacting Objects. Proceedings of the 6 th European Conference on Object Oriented Programming, ECOOP'92, Springer LNCS 615, pp , Netherlands, June/July [4] G. Booch, J. Rumbaugh, and I. Jacobson. The Unified Modeling Language User Guide. ISBN: , Addison Wesley, [5] J. Bosch. Specifying Frameworks and Design Patterns as Architecture Fragments. Proceedings of Technology of Object-Oriented Languages and Systems, China, Sept [6] F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal. Pattern-Oriented Software Architecture - A Pattern System. Addison-Wesley, [7] M. Fayad and D. Schmidt. Object-Oriented Application Frameworks. Communications of the ACM, 40(10):32-38, October [8] E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Object-Oriented Software. Addison Wesley, [9] J. Garlow, C. Holmes, and T. Mowbary. Applying Design Patterns in UML. Rose Architect, 1(2) Winter [10] R. Helm, I. Holland, and D. Gangopadhyay. Contracts: Specifying Behavioral Compositions in Object Oriented Systems. Proceedings of Object Oriented Programming Systems, Languages, and Applications, joint ECOOP/OOPSLA conference, SIGPLAN Notices, pages , Ottowa, [11] R. Keller and R. Schauer. Design Components: Towards Software Composition at the Design Level. Proceedings of 20 th International Conference on Software Engineering, ICSE'98, pp , Kyoto, Japan, April 19-25, [12] S. Kent. Constraint Diagrams: Visualizing Invariants in Object-Oriented Models. Proceedings of Object-Oriented Programming, Systems, Languages and Applications, OOPSLA'97, Atlanta Georgia USA, October [13] G. Larsen. Designing Component-Based Frameworks using Patterns in the UML. Communications of the ACM, 42(10):38:45, October [14] A. Lauder and S. Kent. Precise Visual Specification of Design Patterns. Proceedings of the 12 th European Conference on Object Oriented Programming, ECOOP'98, pp , Brussels, Belgium, July [15] R. Martin, D. Riehle, and F. Buschmann (eds.). Pattern Language of Program Design 3. Addison-Wesley, [16] A. Mili, R. Mili, and R. Mittermeir. A Survey of Software Reuse Libraries. Annals of Software Engineering, Volume 5, [17] G. Odenthal and K. Quibeldey-Cirkel. Using Patterns for Design and Documentation. Proceedings of the European Conference of Object Oriented Programming, ECOOP'97, LNCS #1241, pp , Jyvaskyla, Finland, June [18] D. Parnas. On the Criteria to be used in Decomposing Systems into Modules. Communications of the ACM, 15(2): , [19] T. Reenskaug. OORASS: Seamless Support for the Creation and Maintenance of Object Oriented Systems. Journal of Object Oriented Programming, 5(6):27-41, October [20] T. Reenskaug. Working with Objects: The OOram Software Engineering Method. Manning Publishing Co., ISBN , [21] D. Riehle. Composite Design Patterns. Proceedings of Object-Oriented Programming, Systems, Languages and Applications, OOPSLA'97, pp , Atlanta Georgia USA, October [22] D. Riehle. Describing and Composing Patterns Using Role Diagrams. In K. Mätzel and H. Frei (eds.), Computer Science Research at Ubilab, Research Projects 1995/96, Proceedings of the Ubilab Conference, pp , Universitätsverlag Konstanz, Konstanz, Germany, [23] R. Schauer and R. Keller. Pattern Visualization for Software Comprehension. Proceedings of the 6 th International Workshop on Program Comprehension, (IWPC'98), pages 4-12, Ischia, Italy, June [24] D. Schmidt. Reactor: An Object Behavioral Pattern for Concurrent Event Demultiplexing and Event Handler Dispatching. In Pattern Languages of Program Design, J. Coplien and D. Schmidt (eds.), 1995, Chapter 29, pp [25] B. Selic, G. Gullekson, and P. Ward. Real-Time Object Oriented Modeling. John Wiley & Sons, Inc [26] S. Sirinivasan and J. Vergo. Object-Oriented Reuse: Experience in Developing a Framework for Speech Recognition Applications. Proceedings of 20 th International Conference on Software Engineering, ICSE'98, pp , Kyoto, Japan, April 19-25,
6 [27] J. Soukup. Implementing Patterns. Chapter 20, pp , in Pattern Language of Program Design, Addison-Wesley, [28] J. Vlissides. Pattern Hatching, Design Patterns Applied. Addison-Wesley, [29] R. Wirfs-Brock and B. Wilkerson. Object-Oriented Design: A Responsibility-Driven Approach. Proceedings of Object-Oriented Programming, Systems, Languages and Applications, OOPSLA'89, pp71-75, October [30] S. Yacoub and H. Ammar. An Object-oriented Framework for Feedback Control Applications. Proceedings of Application Specific Software Engineering and Technology, ASSET'98, pp , Dallas, Texas, March [31] S. Yacoub and H. Ammar. Tool Support for Developing Pattern-Oriented Architectures. Proceedings of the 1 st Symposium on Reusable Architectures and Components for Developing Distributed Information Systems, RACDIS'99, Orlando, Florida, August 2-3, 1999, pp [32] S. Yacoub and H. Ammar. Towards Pattern Oriented Frameworks. Journal of Object Oriented Programming, JOOP, January [33] S. Yacoub. Pattern-Oriented Analysis and Design. Ph.D. Dissertation, West Virginia University, December [34] S. Yacoub, H. Xue, and H. Ammar. Automating the Development of Pattern-Oriented Designs for Application Specific Software Systems. Proceedings of the 3rd IEEE Symposium on Application-Specific Systems and Software Engineering Technology, ASSET 2000, Richardson, Texas USA, March 24-25, 2000 [35] S. Yacoub, H. Ammar, and A. Mili. Constructional Design Patterns as Reusable Components. Proceedings of the Sixth International Conference on Software Reuse, ICSR 2000, Vienna, Austria, June 27-29, 2000 [36] J. Jezequel, M. Train, and C. Mingins. Design Patterns and Contracts. Addison Wesley, [37] X. Castellani and S. Liao. Development Process for the Creation and Reuse of Object-Oriented Generic Applications and Components. Journal of Object Oriented Programming, June 1998, Vol 11, No.3, pp [38] D. D'Souza and A. Wills. Objects, Components, and Frameworks with UML. Addison Wesley [39] D. D'Souza. Interface Specification, Refinement, and Design with UML/Catalysis. Journal of Object Oriented Programming, June 1998, pp [40] S. Yacoub and H. Ammar. Pattern-Oriented Analysis and Design: Composing Patterns to Design Software Systems. To Appear. Addison Wesley, Summer
Index. aspects, 38 SOC (separation of concerns), 38 SOD (Subject-Oriented Design) model, 38 Trace pattern example, 39 40
Index Abbyy FineReader, 238 Abstract Factory pattern, 30 31, 348 Abstract instances compartments, 30 Abstract interfaces, 57 Access relationships, 65 Acquaintance, 95, 110 13 Adaptive Communication Environment
More informationObject-Oriented Software Development Goal and Scope
Object-Oriented Software Development Goal and Scope Koichiro Ochimizu Japan Advanced Institute of Science and Technologies School of Information Science Scope and Goal Goal enable you to understand basic
More informationModeling 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 informationQuality-Driven Architecture Design Method
Quality-Driven Architecture Design Method Matinlassi Mari, Niemelä Eila P.O. Box 1100, 90571 Oulu Tel. +358 8 551 2111 Fax +358 8 551 2320 {Mari.Matinlassi, Eila.Niemela}@vtt.fi Abstract: In this paper
More informationTowards 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 informationJOURNAL OF OBJECT TECHNOLOGY Online at Published by ETH Zurich, Chair of Software Engineering. JOT, 2002
JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering. JOT, 2002 Vol. 1, No. 2, July-August 2002 Representing Design Patterns and Frameworks in UML Towards
More informationScenario-based Synthesis of Annotated Class Diagrams in UML
Scenario-based Synthesis of Annotated Class Diagrams in UML Petri Selonen and Tarja Systä Tampere University of Technology, Software Systems Laboratory, P.O.Box 553, FIN-33101 Tampere, Finland {pselonen,tsysta}@cs.tut.fi
More informationPattern-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 informationA Meta-Model for Composition Techniques in Object-Oriented Software Development
A Meta-Model for Composition Techniques in Object-Oriented Software Development Bedir Tekinerdogan Department of Computer Science University of Twente P.O. Box 217, 7500 AE Enschede, The Netherlands E-Mail:
More informationA 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 informationDomain Engineering And Variability In The Reuse-Driven Software Engineering Business.
OBM 7 -draft 09/02/00 1 Domain Engineering And Variability In The Reuse-Driven Software Engineering Business. Martin L. Griss, Laboratory Scientist, Hewlett-Packard Laboratories, Palo Alto, CA. Effective
More informationA System of Patterns for Web Navigation
A System of Patterns for Web Navigation Mohammed Abul Khayes Akanda and Daniel M. German Department of Computer Science, University of Victoria, Canada maka@alumni.uvic.ca, dmgerman@uvic.ca Abstract. In
More informationDESIGN 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 informationApproaches of using UML for Embedded System Design
Approaches of using UML for Embedded System Design Sudeep D. Thepade Lecturer, Dept. of Information Technology, Thadomal Shahani Engg. College, Bandra, Mumbai sudeepthepade@gmail.com Abstract New approaches
More informationPattern Density and Role Modeling of an Object Transport Service
Pattern Density and Role Modeling of an Object Transport Service Dirk Riehle. SKYVA International. 25 First Street, Cambridge, MA 02129, U.S.A. E-mail: driehle@skyva.com or riehle@acm.org Roger Brudermann.
More informationUniversal Communication Component on Symbian Series60 Platform
Universal Communication Component on Symbian Series60 Platform Róbert Kereskényi, Bertalan Forstner, Hassan Charaf Department of Automation and Applied Informatics Budapest University of Technology and
More informationObject-Oriented Theories for Model Driven Architecture
Object-Oriented Theories for Model Driven Architecture Tony Clark 1, Andy Evans 2, Robert France 3 1 King s College London, UK, anclark@dcs.kcl.ac.uk, 2 University of York, UK, andye@cs.york.ac.uk, 3 University
More informationUsing the UML to Describe Design Patterns
Proceedings of the 16 th Annual NACCQ, Palmerston North New Zealand July, 2003 (eds) Mann, S. and Williamson, A. www.naccq.ac.nz Using the UML to Describe Design Patterns ABSTRACT to describe patterns
More informationReflective Design Patterns to Implement Fault Tolerance
Reflective Design Patterns to Implement Fault Tolerance Luciane Lamour Ferreira Cecília Mary Fischer Rubira Institute of Computing - IC State University of Campinas UNICAMP P.O. Box 676, Campinas, SP 3083-970
More informationPattern-Oriented Development with Rational Rose
Pattern-Oriented Development with Rational Rose Professor Peter Forbrig, Department of Computer Science, University of Rostock, Germany; Dr. Ralf Laemmel, Department of Information Management and Software
More informationConcurrency Control with Java and Relational Databases
Concurrency Control with Java and Relational Databases Sérgio Soares and Paulo Borba Informatics Center Federal University of Pernambuco Recife, PE, Brazil scbs,phmb @cin.ufpe.br Abstract As web based
More informationA Metric for Measuring the Abstraction Level of Design Patterns
A Metric for Measuring the Abstraction Level of Design 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 informationGeneric Modeling using UML extensions for variability
Generic Modeling using UML extensions for variability Intershop Research Intershop, Jena Matthias Clauß Software Engineering Group Dresden University of Technology M.Clauss@intershop.com September 14,
More informationJUnit A Study on Applying JUnit Framework to Document Knowledge of Object-Oriented Software Systems
JUnit A Study on Applying JUnit Framework to Document Knowledge of Object-Oriented Software Systems Email: {hsieh, s1669021}@ntut.edu.tw JUnit SyncFree 92 [16] SyncFree 1.0 [17] bug fixmerge CVS SyncFree
More informationConcurrent 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 informationDesign Patterns and Frameworks 1) Introduction
Design Patterns and Frameworks 1) Introduction Dr. Sebastian Götz Software Technology Group Department of Computer Science Technische Universität Dresden WS 16/17, Oct 11, 2016 Slides from Prof. Dr. U.
More informationEvolution Support by Homogeneously Documenting Patterns, Aspects and Traces
Evolution Support by Homogeneously Documenting Patterns, Aspects and Traces Johannes Sametinger Johannes Kepler University Linz, Austria sametinger@acm.org Matthias Riebisch Technical University of Ilmenau,
More informationUsing AOP to build complex data centric component frameworks
Using AOP to build complex data centric component frameworks Tom Mahieu, Bart Vanhaute, Karel De Vlaminck, Gerda Janssens, Wouter Joosen Katholieke Universiteit Leuven Computer Science Dept. - Distrinet
More informationWS01/02 - Design Pattern and Software Architecture
Design Pattern and Software Architecture: VIII. Conclusion AG Softwaretechnik Raum E 3.165 Tele. 60-3321 hg@upb.de VIII. Conclusion VIII.1 Classifications VIII.2 Common Misconceptions VIII.3 Open Questions
More informationMining Relationships Between the Participants of Architectural Patterns
Mining Relationships Between the Participants of Architectural Patterns Ahmad Waqas Kamal and Paris Avgeriou Department of Mathematics and Computing Science, University of Groningen, The Netherlands a.w.kamal@rug.nl,
More informationExtending UML To Visualize Design Patterns In Class Diagrams
Extending UML To Visualize Design Patterns In Class Diagrams Jing Dong and Sheng Yang School of Engineering and Computer Science University of Texas at Dallas, Richardson, TX 75083, USA fjdong,syangg@utdallas.edu
More informationSoftware Development Methodologies
Software Development Methodologies Lecturer: Raman Ramsin Lecture 3 Seminal Object-Oriented Methodologies: A Feature-Focused Review 1 Responsibility-Driven Design (RDD) Introduced in 1990; a UML-based
More informationA MULTI-LEVEL DESIGN PATTERN FOR EMBEDDED SOFTWARE *
A MULTI-LEVEL DESIGN PATTERN FOR EMBEDDED SOFTWARE * Ricardo J. Machado and João M. Fernandes Dept. Sistemas de Informação & Dept. Informática, Universidade do Minho, Portugal Abstract: It is a common
More informationSolution: Reuse Design Patterns Design patterns support reuse of software architecture Patterns embody successful solutions to problems that arise whe
Introduction Experience Using Design Patterns to Evolve Communication Software Across Diverse Platforms Developing portable, reuseable, and ecient communication software is hard OS platforms are often
More informationArchitecture-Centric Evolution in Software Product Lines:
Architecture-Centric Evolution in Software Product Lines: Position Paper Hassan Gomaa Department of Information and Software Engineering George Mason University Fairfax, Virginia 22030, USA hgomaa@gmu.edu
More informationCS/CE 2336 Computer Science II
CS/CE 2336 Computer Science II UT D Session 20 Design Patterns An Overview 2 History Architect Christopher Alexander coined the term "pattern" circa 1977-1979 Kent Beck and Ward Cunningham, OOPSLA'87 used
More informationDesign and Evolution of an Agent-Based CASE System for OOAD
Proceedings of ATS 2003 206 Design and Evolution of an -Based CASE System for OOAD Dong Liu, Kalaivani Subramaniam, Behrouz H. Far, and Armin Eberlein Department of Electrical and Computer Engineering
More informationGuiding 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 informationDomain-Driven Development with Ontologies and Aspects
Domain-Driven Development with Ontologies and Aspects Submitted for Domain-Specific Modeling workshop at OOPSLA 2005 Latest version of this paper can be downloaded from http://phruby.com Pavel Hruby Microsoft
More information1. Introduction. Product-Line Architectures
Product-Line Architectures Martin L. Griss, Ph.D. Laboratory Scientist Software Technology Laboratory Hewlett-Packard Company, Laboratories Palo Alto, CA, USA (Chapter 22 in Component-Based Software Engineering:
More informationDesign 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 informationPartial Acquisition Prashant Jain and Michael Kircher
1 Partial Acquisition Prashant Jain and Michael Kircher {Prashant.Jain,Michael.Kircher}@mchp.siemens.de Siemens AG, Corporate Technology Munich, Germany Partial Acquisition 2 Partial Acquisition The Partial
More informationextrinsic members RoleB RoleA
ASPECT- ORIENTED PROGRAMMING FOR ROLE MODELS Elizabeth A. Kendall Department of Computer Science, Royal Melbourne Institute of Technology GPO Box 2476V, Melbourne, VIC 3001, AUSTRALIA email: kendall@rmit.edu.au
More informationPattern for Structuring UML-Compatible Software Project Repositories
Pattern for Structuring UML-Compatible Software Project Repositories Pavel Hruby Navision Software a/s Frydenlunds Allé 6 2950 Vedbaek, Denmark E-mail: ph@navision.com Web site: www.navision.com/services/methodology/default.asp
More informationA Safety Mechanism Using Software Patterns
URL: http://www.elsevier.nl/locate/entcs/volume82.html 11 pages A Safety Mechanism Using Software Patterns Kiyohito Itoh, Hiromi Kobayashi 1 Department of Management Engineering Tokai University Hiratsuka,
More informationAn Approach to the Specification of Software Security Patterns
An Approach to the Specification of Software Security Patterns Spyros HALKIDIS, Alexander CHATZIGEORGIOU, George STEPHANIDES Department of Applied Informatics University of Macedonia, Thessaloniki, Greece
More informationSynthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures
Synthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures Dietmar Schreiner 1,2 and Karl M. Göschka 1 1 Vienna University of Technology Institute of Information
More informationCoordination 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 informationSyncFree SyncFree: The Development of an Open Source Personal Data Synchronization Software
SyncFree SyncFree: The Development of an Open Source Personal Data Synchronization Software {s1669021, s1598011, yccheng, hsieh}@ntut.edu.tw SyncFree Abstract People who use different computers at different
More informationPatterns for Decoupling
Patterns for Decoupling Ingolf H. Krueger Department of Computer Science & Engineering University of California, San Diego La Jolla, CA 92093-0114, USA California Institute for Telecommunications and Information
More informationPatterns for Asynchronous Invocations in Distributed Object Frameworks
Patterns for Asynchronous Invocations in Distributed Object Frameworks Patterns for Asynchronous Invocations in Distributed Object Frameworks Markus Voelter Michael Kircher Siemens AG, Corporate Technology,
More informationKeywords: 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 informationState Pattern supporting both composite States and extension/specialization of State Machines
Pattern supporting both composite s and extension/specialization of Machines BIRGER MØLLER-PEDERSEN, RAGNHILD KOBRO RUNDE, University of Oslo, Norway Most modelling languages support full state machine
More informationOn Built-in Test Reuse in Object-Oriented Framework Design
On Built-in Test Reuse in Object-Oriented Framework Design ACMCS115 Yingxu Wang 1 Graham King 2 Mohamed Fayad 3 Dilip Patel 1 Ian Court 2 Geoff Staples 2 Margaret Ross 2 1 School of Computing, Information
More informationAspect Design Pattern for Non Functional Requirements
Aspect Design Pattern for Non Functional Requirements FAZAL-E-AMIN¹, ANSAR SIDDIQ², HAFIZ FAROOQ AHMAD³ ¹ ²International Islamic University Islamabad, Pakistan ³NUST Institute of Information Technology,
More informationModeling variability with UML
Modeling variability with UML Matthias Clauß Intershop Research Software Engineering Group Intershop, Jena Dresden University of Technology Matthias.Clauss@gmx.de Keywords: product families, domain modeling,
More informationInheritance. EEC 521: Software Engineering. Dealing with Change. Polymorphism. Software Design. Changing requirements Code needs to be flexible
Inheritance EEC 521: Software Engineering Software Design Design Patterns: Decoupling Dependencies 10/15/09 EEC 521: Software Engineering 1 Inheritance is the mechanism by which one class can acquire properties/responsibilities
More informationImplementing Product-Line Features with Component Reuse
Implementing Product-Line Features with Component Reuse Martin L. Griss Software Technology Laboratory Hewlett-Packard Company, Laboratories Palo Alto, CA, USA +1 650 857 8715 martin_griss@hp.com (Submitted
More informationBehavioral Design Patterns Used in Data Structures Implementation
Behavioral Design Patterns Used in Data Structures Implementation Niculescu Virginia Department of Computer Science Babeş-Bolyai University, Cluj-Napoca email address: vniculescu@cs.ubbcluj.ro November,
More informationA Lightweight Language for Software Product Lines Architecture Description
A Lightweight Language for Software Product Lines Architecture Description Eduardo Silva, Ana Luisa Medeiros, Everton Cavalcante, Thais Batista DIMAp Department of Informatics and Applied Mathematics UFRN
More informationComposite Design Patterns
Composite Design Patterns Dirk Riehle Ubilab, Union Bank of Switzerland, Bahnhofstrasse 45, CH-8021 Zurich Phone: +41-1-234-2702, fax: +41-1-236-4671 E-mail: Dirk.Riehle@ubs.com or riehle@acm.org WWW:
More informationJOURNAL 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 informationRepresenting System Architecture
Representing System Architecture Logical View Implementation View End-user Functionality Programmers Software management Use Case View System integrators Performance Scalability Throughput Process View
More informationOpen Reuse of Component Designs in OPM/Web
Open Reuse of Component Designs in OPM/Web Iris Reinhartz-Berger Technion - Israel Institute of Technology ieiris@tx.technion.ac.il Dov Dori Technion - Israel Institute of Technology dori@ie.technion.ac.il
More informationDistributed Proxy: A Design Pattern for Distributed Object Communication
Distributed Proxy: A Design Pattern for Distributed Object Communication António Rito Silva, Francisco Assis Rosa, Teresa Gonçalves INESC/IST Technical University of Lisbon, Rua Alves Redol n o 9, 1000
More informationDesign 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 informationTransparent Remote Access
Abstract Transparent Remote Access Klaus Marquardt Käthe-Kollwitz-Weg 14, D-23558 Lübeck, Germany Email: marquardt@acm.org In distributed systems, the different processors communicate via network messages.
More informationComposition and Separation of Concerns in the Object-Oriented Model
ACM Computing Surveys 28A(4), December 1996, http://www.acm.org/surveys/1996/. Copyright 1996 by the Association for Computing Machinery, Inc. See the permissions statement below. Composition and Separation
More informationOBJECT-ORIENTED MODELING AND DESIGN. Introduction
OBJECT-ORIENTED MODELING AND DESIGN Introduction Contents: Introduction. Course Relevance Learning Outcomes Overview of the syllabus Introduction to Object Orientation Introduction Object Oriented Approach
More informationObject-Oriented Systems Development: Using the Unified Modeling Language
Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 4: Object-Oriented Methodologies Goals Object-Oriented Methodologies The Rumbaugh et al. OMT The Booch methodology Jacobson's
More informationComponent Interface Pattern
Component Interface Pattern Ricardo Pereira e Silva Eng., M.Sc., D.Sc. Roberto Tom Price Eng., M.Sc., D.Phil* Federal University of Santa Catarina - Computer Science Department Postbox 476 Florianópolis
More informationEuroPLoP 2003 Focus Group: Patterns for Component Composition and Adaptation
EuroPLoP 2003 Focus Group: Patterns for Component Composition and Adaptation Uwe Zdun Department of Information Systems, Vienna University of Economics, Austria zdun@acm.org Markus Voelter voelter - Ingenieurbüro
More informationSoftware 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 informationOpen Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA
Open Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA Oksana Nikiforova and Natalja Pavlova Department of Applied Computer Science, Riga Technical University,
More informationProceedings of. The Three-Tier Architecture Pattern Language Design Fest
Proceedings of The Three-Tier Architecture Pattern Language Design Fest Introduction Three-tier applications have gained increasing acceptance and popularity in the software industry. Three-tier applications
More informationThe use of pattern participants relationships for integrating patterns: a controlled experiment
SOFTWARE PRACTICE AND EXPERIENCE Softw. Pract. Exper. 2013; 43:807 833 Published online 20 October 2011 in Wiley Online Library (wileyonlinelibrary.com)..1121 The use of pattern participants relationships
More informationTowards 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 informationModeling the Evolution of Aspect Configurations using Model Transformations
Modeling the Evolution of Aspect Configurations using Model Transformations Uwe Zdun, Mark Strembeck Institute of Information Systems, New Media Lab Vienna University of Economics, Austria {uwe.zdun mark.strembeck}@wu-wien.ac.at
More informationKnowledge maturing as a process model for describing software reuse
Knowledge maturing as a process model for describing software reuse Hans-Jörg Happel, Andreas Schmidt FZI Research Center for Information Technologies, Karlsruhe {happel, andreas.schmidt}@fzi.de Abstract.
More informationAPPLYING DESIGN PATTERNS TO SCA IMPLEMENTATIONS
APPLYING DESIGN PATTERNS TO SCA IMPLEMENTATIONS Adem Zumbul (TUBITAK-UEKAE, Kocaeli, Turkey, ademz@uekae.tubitak.gov.tr); Tuna Tugcu (Bogazici University, Istanbul, Turkey, tugcu@boun.edu.tr) ABSTRACT
More informationRAMSES: a Reflective Middleware for Software Evolution
RAMSES: a Reflective Middleware for Software Evolution Walter Cazzola 1, Ahmed Ghoneim 2, and Gunter Saake 2 1 Department of Informatics and Communication, Università degli Studi di Milano, Italy cazzola@dico.unimi.it
More informationAPICES - Rapid Application Development with Graph Pattern
APICES - Rapid Application Development with Graph Pattern Ansgar Bredenfeld GMD Institute for System Design Technology D-53754 Sankt Augustin, Germany bredenfeld@gmd.de Abstract In this paper, we present
More informationPATTERNS AND SOFTWARE DESIGN
This article first appeared in Dr. Dobb s Sourcebook, March/April, 1995. Copyright 1995, Dr. Dobb's Journal. PATTERNS AND SOFTWARE DESIGN Patterns for Reusable Object-Oriented Software Richard Helm and
More informationComparative Analysis of Architectural Views Based on UML
Electronic Notes in Theoretical Computer Science 65 No. 4 (2002) URL: http://www.elsevier.nl/locate/entcs/volume65.html 12 pages Comparative Analysis of Architectural Views Based on UML Lyrene Fernandes
More informationSoftware Architecture
Software Architecture Prof. R K Joshi Department of Computer Science and Engineering IIT Bombay What is Architecture? Software Architecture? Is this an Architecture? Is this an Architecture? Is this an
More informationScenarios, Quality Attributes, and Patterns: Capturing and Using their Synergistic Relationships for Product Line Architectures
Scenarios, Quality Attributes, and Patterns: Capturing and Using their Synergistic Relationships for Product Line Architectures Muhammad Ali Babar National ICT Australia Ltd. and University of New South
More informationAutomation 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 informationPatterns Generate Architectures
Abstract Patterns Generate Architectures Kent Beck -- First Class Software, Inc. Ralph Johnson -- University of Illinois at Urbana-Champaign We need ways to describe designs that communicate the reasons
More informationDesign 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 informationA Prototype for Guideline Checking and Model Transformation in Matlab/Simulink
A Prototype for Guideline Checking and Model Transformation in Matlab/Simulink Holger Giese, Matthias Meyer, Robert Wagner Software Engineering Group Department of Computer Science University of Paderborn
More informationConcurrency Patterns in SCOOP
Concurrency Patterns in SCOOP Master Thesis Project Plan Project period: 10. March to 8. September 2014 Student name: Roman Schmocker, 09-911-215 Status: 4. semester, Msc in Computer Science Email address:
More informationUML-based Tool Support for Separating Application and Architectural Evolution
UML-based Tool Support for Separating Application and Architectural Evolution Tommi Mikkonen and Mika Pussinen Institute of Software Systems Tampere University of Technology P.O. Box 553, FIN-33101 Tampere,
More informationExtending UML to Improve the Representation of Design Patterns
Extending UML to Improve the Representation of Design Patterns Marcus Fontoura and Carlos Lucena Software Engineering Laboratory (LES) Computer Science Department, Pontifical Catholic University of Rio
More informationUsing Dynamic Information for the Iterative Recovery of Collaborations and Roles
Using Dynamic Information for the Iterative Recovery of Collaborations and Roles Tamar Richner and Stéphane Ducasse Software Composition Group, Institut für Informatik (IAM) Universität Bern, Neubrückstrasse
More informationResponsibilities and rewards: Reasoning about design patterns
Responsibilities and rewards: Reasoning about design patterns Neelam Soundarajan and Jason Hallstrom Computer and Information Science Ohio State University, Columbus, OH 43210 e-mail: {neelam, hallstro}@cis.ohio-state.edu
More informationGeneration Rules in POMA Architecture
J. Software Engineering & Applications, 2010, 3, 1040-1046 doi:10.4236/jsea.2010.311122 Published Online November 2010 (http://www.scirp.org/journal/jsea) Mohamed Taleb 1, Ahmed Seffah 2, Alain Abran 1
More informationL02.1 Introduction... 2
Department of Computer Science COS121 Lecture Notes: L02 Introduction to UML and DP 25 July 2014 Copyright c 2012 by Linda Marshall and Vreda Pieterse. All rights reserved. Contents L02.1 Introduction.................................
More informationReuse Contracts As Component Interface. Descriptions. Koen De Hondt, Carine Lucas, and Patrick Steyaert. Programming Technology Lab
Reuse Contracts As Component Interface Descriptions Koen De Hondt, Carine Lucas, and Patrick Steyaert Programming Technology Lab Computer Science Department Vrije Universiteit Brussel Pleinlaan 2, B-1050
More informationChallenges in Model Refactoring
Challenges in Model Refactoring Tom Mens, University of Mons-Hainaut, Belgium tom.mens@umh.ac.be Gabriele Taentzer, Dirk Müller, Philipps-Universität Marburg, Germany {taentzer,dmueller}@mathematik.uni-marburg.de
More informationThe TTC 2011 Reengineering Challenge Using MOLA and Higher-Order Transformations
The TTC 2011 Reengineering Challenge Using MOLA and Higher-Order Transformations Agris Sostaks, Elina Kalnina, Audris Kalnins, Edgars Celms, and Janis Iraids Institute of Computer Science and Mathematics,
More information