Composition Approaches Summary

Size: px
Start display at page:

Download "Composition Approaches Summary"

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. 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 information

Object-Oriented Software Development Goal and Scope

Object-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 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

Quality-Driven Architecture Design Method

Quality-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 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

JOURNAL OF OBJECT TECHNOLOGY Online at Published by ETH Zurich, Chair of Software Engineering. JOT, 2002

JOURNAL 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 information

Scenario-based Synthesis of Annotated Class Diagrams in UML

Scenario-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 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

A Meta-Model for Composition Techniques in Object-Oriented Software Development

A 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 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

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business.

Domain 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 information

A System of Patterns for Web Navigation

A 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 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

Approaches of using UML for Embedded System Design

Approaches 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 information

Pattern Density and Role Modeling of an Object Transport Service

Pattern 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 information

Universal Communication Component on Symbian Series60 Platform

Universal 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 information

Object-Oriented Theories for Model Driven Architecture

Object-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 information

Using the UML to Describe Design Patterns

Using 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 information

Reflective Design Patterns to Implement Fault Tolerance

Reflective 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 information

Pattern-Oriented Development with Rational Rose

Pattern-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 information

Concurrency Control with Java and Relational Databases

Concurrency 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 information

A Metric for Measuring the Abstraction Level of Design Patterns

A 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 information

Generic Modeling using UML extensions for variability

Generic 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 information

JUnit 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 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 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

Design Patterns and Frameworks 1) Introduction

Design 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 information

Evolution Support by Homogeneously Documenting Patterns, Aspects and Traces

Evolution 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 information

Using AOP to build complex data centric component frameworks

Using 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 information

WS01/02 - Design Pattern and Software Architecture

WS01/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 information

Mining Relationships Between the Participants of Architectural Patterns

Mining 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 information

Extending UML To Visualize Design Patterns In Class Diagrams

Extending 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 information

Software Development Methodologies

Software 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 information

A MULTI-LEVEL DESIGN PATTERN FOR EMBEDDED SOFTWARE *

A 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 information

Solution: Reuse Design Patterns Design patterns support reuse of software architecture Patterns embody successful solutions to problems that arise whe

Solution: 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 information

Architecture-Centric Evolution in Software Product Lines:

Architecture-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 information

CS/CE 2336 Computer Science II

CS/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 information

Design and Evolution of an Agent-Based CASE System for OOAD

Design 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 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

Domain-Driven Development with Ontologies and Aspects

Domain-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 information

1. Introduction. Product-Line Architectures

1. 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 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

Partial Acquisition Prashant Jain and Michael Kircher

Partial 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 information

extrinsic members RoleB RoleA

extrinsic 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 information

Pattern for Structuring UML-Compatible Software Project Repositories

Pattern 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 information

A Safety Mechanism Using Software Patterns

A 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 information

An Approach to the Specification of Software Security Patterns

An 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 information

Synthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures

Synthesizing 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 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

SyncFree SyncFree: The Development of an Open Source Personal Data Synchronization Software

SyncFree 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 information

Patterns for Decoupling

Patterns 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 information

Patterns for Asynchronous Invocations in Distributed Object Frameworks

Patterns 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 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

State Pattern supporting both composite States and extension/specialization of State Machines

State 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 information

On Built-in Test Reuse in Object-Oriented Framework Design

On 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 information

Aspect Design Pattern for Non Functional Requirements

Aspect 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 information

Modeling variability with UML

Modeling 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 information

Inheritance. EEC 521: Software Engineering. Dealing with Change. Polymorphism. Software Design. Changing requirements Code needs to be flexible

Inheritance. 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 information

Implementing Product-Line Features with Component Reuse

Implementing 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 information

Behavioral Design Patterns Used in Data Structures Implementation

Behavioral 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 information

A Lightweight Language for Software Product Lines Architecture Description

A 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 information

Composite Design Patterns

Composite 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 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

Representing System Architecture

Representing 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 information

Open Reuse of Component Designs in OPM/Web

Open 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 information

Distributed Proxy: A Design Pattern for Distributed Object Communication

Distributed 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 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

Transparent Remote Access

Transparent 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 information

Composition and Separation of Concerns in the Object-Oriented Model

Composition 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 information

OBJECT-ORIENTED MODELING AND DESIGN. Introduction

OBJECT-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 information

Object-Oriented Systems Development: Using the Unified Modeling Language

Object-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 information

Component Interface Pattern

Component 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 information

EuroPLoP 2003 Focus Group: Patterns for Component Composition and Adaptation

EuroPLoP 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 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

Open 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 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 information

Proceedings of. The Three-Tier Architecture Pattern Language Design Fest

Proceedings 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 information

The use of pattern participants relationships for integrating patterns: a controlled experiment

The 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 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

Modeling the Evolution of Aspect Configurations using Model Transformations

Modeling 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 information

Knowledge maturing as a process model for describing software reuse

Knowledge 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 information

APPLYING DESIGN PATTERNS TO SCA IMPLEMENTATIONS

APPLYING 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 information

RAMSES: a Reflective Middleware for Software Evolution

RAMSES: 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 information

APICES - Rapid Application Development with Graph Pattern

APICES - 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 information

PATTERNS AND SOFTWARE DESIGN

PATTERNS 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 information

Comparative Analysis of Architectural Views Based on UML

Comparative 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 information

Software Architecture

Software 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 information

Scenarios, 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 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 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

Patterns Generate Architectures

Patterns 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 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

A Prototype for Guideline Checking and Model Transformation in Matlab/Simulink

A 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 information

Concurrency Patterns in SCOOP

Concurrency 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 information

UML-based Tool Support for Separating Application and Architectural Evolution

UML-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 information

Extending UML to Improve the Representation of Design Patterns

Extending 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 information

Using Dynamic Information for the Iterative Recovery of Collaborations and Roles

Using 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 information

Responsibilities and rewards: Reasoning about design patterns

Responsibilities 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 information

Generation Rules in POMA Architecture

Generation 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 information

L02.1 Introduction... 2

L02.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 information

Reuse 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 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 information

Challenges in Model Refactoring

Challenges 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 information

The TTC 2011 Reengineering Challenge Using MOLA and Higher-Order Transformations

The 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