GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs



Similar documents
GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs

A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor

Generating Aspect Code from UML Models

MDE Adoption in Industry: Challenges and Success Criteria

Towards a Performance Model Management Repository for Component-based Enterprise Applications

Development of Tool Extensions with MOFLON

Using Dynatrace Monitoring Data for Generating Performance Models of Java EE Applications

Keywords Aspect-Oriented Modeling, Rule-based graph transformations, Aspect, pointcuts, crosscutting concerns.

An Overview of Challenges of Component Based Software Engineering

Foundations of Model-Driven Software Engineering

Business Process Modelling Languages, Goals and Variabilities

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *

Winery A Modeling Tool for TOSCA-based Cloud Applications

Concern Driven Software Development

Variability in Service-Oriented Systems: An Analysis of Existing Approaches

Jiří Šebek, Karel Richta. Department of Computer Science and Engineering Praha 2, Czech Republic

25.1 Translational Frameworks (MDA with transformations)

The Oracle Fusion Development Platform

ProGUM-Web: Tool Support for Model-Based Development of Web Applications

Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins

How to Model Aspect-Oriented Web Services

The ADOxx Metamodelling Platform Workshop "Methods as Plug-Ins for Meta-Modelling" in conjunction with "Modellierung 2010", Klagenfurt

Linking BPMN, ArchiMate, and BWW: Perfect Match for Complete and Lawful Business Process Models?

MDA Transformations Applied to Web Application Development 1

Capturing provenance information with a workflow monitoring extension for the Kieker framework

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Using Model-Driven Development Tools for Object-Oriented Modeling Education

Automatic Test Data Generation for TTCN-3 using CTE

This presentation will provide a brief introduction to Rational Application Developer V7.5.

Model-Driven Development - From Frontend to Code

Towards Modeling and Transformation of Security Requirements for Service-oriented Architectures

How to Build Successful DSL s. Jos Warmer Leendert Versluijs

This is an author-deposited version published in : Eprints ID : 15447

Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools

Chapter 7. UML-BASED WEB ENGINEERING An Approach Based on Standards 7.1 OVERVIEW

Revel8or: Model Driven Capacity Planning Tool Suite

mdwfs Model-driven Schema Translation for Integrating Heterogeneous Geospatial Data

A Pattern-based Approach to Business Process Modeling and Implementation in Web Services

UML-based Test Generation and Execution

Development Process Automation Experiences in Japan

Multi-objective Design Space Exploration based on UML

clooca : Web based tool for Domain Specific Modeling

Database Scheme Configuration for a Product Line of MPC-TOOLS

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB

Creating visualizations through ontology mapping

Software Engineering. Software Reuse. Based on Software Engineering, 7 th Edition by Ian Sommerville

Principles of integrated software development environments. Learning Objectives. Context: Software Process (e.g. USDP or RUP)

A Variability Viewpoint for Enterprise Software Systems

XFlash A Web Application Design Framework with Model-Driven Methodology

Requirements Exchange: From Specification Documents to Models

Automatic Extraction of Probabilistic Workload Specifications for Load Testing Session-Based Application Systems

Graph-Grammar Based Completion and Transformation of SDL/UML-Diagrams

Oracle Application Development Framework Overview

A Software Development Platform for SOA

Development of Enterprise Architecture of PPDR Organisations W. Müller, F. Reinert

i-questionnaire A Software Service Tool for Data

Use software to define silicon p. 15

Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3

Model-Driven Software Configuration Management and Environment Model

Model Based Software Development: Issues & Challenges

Modeling Approach Comparison Criteria for the CMA Workshop at MODELS 2012

An Integrated Quality Assurance Framework for Specifying Business Information Systems

Transcription:

GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs Doctoral Symposium - MODELS 2014 Reiner Jung Christian-Albrechts-University Kiel, Germany 30.09.2014

Domain-specific Languages Motivation Domain-specific Language (DSL) Text-based: meta-models and grammars Graphical: meta-models and visualization pattern Text Diagram Scanner/Parser Graphic Tooling Source Model Model to Text Model to Model Target Code Target Model Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 2 / 19

Modeling and Generator Construction Motivation Source Meta-Models ADL Workflow Monitoring Behavior Data UI Generator Target Meta-Models JavaEE AspectJ JPA Java JSF Javascript Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 3 / 19

Modeling and Generator Construction Motivation Source Meta-Models ADL Workflow Monitoring Behavior Data UI Generator Target Meta-Models JavaEE AspectJ JPA Java JSF Javascript New or altered Requirements Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 3 / 19

Modeling and Generator Construction Motivation Source Meta-Models ADL Workflow Monitoring Behavior Data UI Generator Target Meta-Models JavaEE AspectJ JPA Java JSF Javascript New or altered Requirements Every meta-model change cause a generator code change Multiple changes convery code degradation Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 3 / 19

Related Work Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 4 / 19

Aspect Oriented-Modeling Related Work Approaches Formal Design Analysis Framework [Bennett et al., 2010] Theme/UML [Clarke and Baniassad, 2005] Reusable Aspect Models [Klein and Kienzle, 2007] Characteristics UML centric Use of model weaving [Morin et al., 2008, Didonet et al., 2006] Focus on modelling, not on model generation Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 5 / 19

Code Generation Related Work Aspect Modeling Domain [Mehmood and Jawawi, 2013] Limited work on generator composition and evolution Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 6 / 19

Code Generation Related Work Aspect Modeling Domain [Mehmood and Jawawi, 2013] Limited work on generator composition and evolution Generator for product lines [Kapova et al., 2010] Activation of generator fragments based on features Goal: Support of target model variations Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 6 / 19

Code Generation Related Work Aspect Modeling Domain [Mehmood and Jawawi, 2013] Limited work on generator composition and evolution Generator for product lines [Kapova et al., 2010] Activation of generator fragments based on features Goal: Support of target model variations Genesys generator composition [Jörges, 2013] Combination proofen transformations Uses small correct transformations Goal: correct compilers Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 6 / 19

Approach Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 7 / 19

Solution Overview The GECO Approach Source Meta-Models ADL Workflow Monitoring Behavior Data UI Generator Target Meta-Models JavaEE AspectJ JPA Java JSF Javascript New or altered Requirements Key challange How to combine generator outputs? Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 8 / 19

Solution Overview The GECO Approach Source Meta-Models ADL Workflow Monitoring Behavior Data UI Generator Target Meta-Models JavaEE AspectJ JPA Java JSF Javascript New or altered Requirements Key challange How to combine generator outputs? Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 8 / 19

Solution Overview The GECO Approach Source Meta-Models ADL Workflow Monitoring Behavior Data UI Monitoring Behavior UI ADL Workflow Data Target Meta-Models JavaEE AspectJ JPA Java JSF Javascript New or altered Requirements Key challange How to combine generator outputs? Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 8 / 19

Solution Overview The GECO Approach Source Meta-Models ADL Workflow Monitoring Behavior Data UI Monitoring Behavior UI ADL Workflow Data Target Meta-Models JavaEE AspectJ JPA Java JSF Javascript New or altered Requirements Key challange How to combine generator outputs? Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 8 / 19

Different Generator Architecture Styles The GECO Approach Source Base Meta-Model Target Base Meta-Model Source Aspect Meta-Model Target Aspect Meta-Model G Transformation References Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 9 / 19

Different Generator Architecture Styles The GECO Approach Simple S1 G BM Source Base Meta-Model Target Base Meta-Model Source Aspect Meta-Model Target Aspect Meta-Model G Transformation References Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 9 / 19

Different Generator Architecture Styles The GECO Approach Simple S1 Normal Aspect S2 G BM G BM G AM Source Base Meta-Model Target Base Meta-Model Source Aspect Meta-Model Target Aspect Meta-Model G Transformation References Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 9 / 19

Different Generator Architecture Styles The GECO Approach Simple S1 Normal Aspect S2 Inverted References S3 G BM G BM G AM G BM G AM Source Base Meta-Model Target Base Meta-Model Source Aspect Meta-Model Target Aspect Meta-Model G Transformation References Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 9 / 19

Different Generator Architecture Styles The GECO Approach Simple S1 Normal Aspect S2 Inverted References S3 Model Weaving S4 G BM G BM G AM G BM G AM G Merge Source Base Meta-Model Target Base Meta-Model Source Aspect Meta-Model Target Aspect Meta-Model G Transformation References Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 9 / 19

Different Generator Architecture Styles The GECO Approach Simple S1 Normal Aspect S2 Inverted References S3 Model Weaving S4 G BM G BM G AM G BM G AM G Merge Source Base Meta-Model Target Base Meta-Model Source Aspect Meta-Model Target Aspect Meta-Model G Transformation References Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 9 / 19

Style 2: Normal Aspect The GECO Approach G BM G AM Source Base Meta-Model Source Aspect Meta-Model Target Base Meta-Model TRM Target Aspect Meta-Model Trace Meta-Model Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 10 / 19

Style 2: Normal Aspect The GECO Approach G BM G AM Source Base Meta-Model Source Aspect Meta-Model Target Base Meta-Model TRM Target Aspect Meta-Model Trace Meta-Model Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 10 / 19

Style 2: Normal Aspect The GECO Approach G BM TRM G AM Source Base Meta-Model Source Aspect Meta-Model Target Base Meta-Model TRM Target Aspect Meta-Model Trace Meta-Model Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 10 / 19

Style 2: Normal Aspect The GECO Approach Transformation with two outputs: Base model Trace model TRM G BM TRM G AM Source Base Meta-Model Source Aspect Meta-Model Target Base Meta-Model TRM Target Aspect Meta-Model Trace Meta-Model Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 10 / 19

Style 2: Normal Aspect The GECO Approach G BM TR BM TRM G AM Auxiliary transformation. Used for: legacy base model transformations API constraints hinder two output models Source Base Meta-Model Source Aspect Meta-Model Target Base Meta-Model TRM Target Aspect Meta-Model Trace Meta-Model Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 10 / 19

Computing Target Model Join Points The GECO Approach Source Models Monitoring Aspect Shopping Cart Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 11 / 19

Computing Target Model Join Points The GECO Approach Source Models Monitoring Aspect Shopping Cart Target Models call(void init (...)) call(void service(...)) AspectJ Pointcuts class Cart extends HTTPServlet { public void init (...) {... } public void service (...) {... }... } Java Servlet Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 11 / 19

Computing Target Model Join Points The GECO Approach Source Models Monitoring Aspect Shopping Cart class Cart Target Models AspectJ Pointcuts return type void method init parameter return type void..... Java Servlet method service parameter..... Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 11 / 19

Computing Target Model Join Points The GECO Approach Source Models Target Models Monitoring Aspect AspectJ Pointcuts return type void method init parameter Shopping Cart class Cart return type void..... Java Servlet method service Trace Model parameter..... Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 11 / 19

Computing Target Model Join Points The GECO Approach Source Models Target Models Monitoring Aspect AspectJ Pointcuts return type void method init parameter Shopping Cart class Cart return type void..... Java Servlet method service Trace Model parameter..... Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 11 / 19

Computing Target Model Join Points The GECO Approach Source Models Target Models Monitoring Aspect AspectJ Pointcuts return type void method init parameter Shopping Cart class Cart return type void..... Java Servlet method service Trace Model parameter..... Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 11 / 19

Computing Target Model Join Points The GECO Approach Source Models Target Models Monitoring Aspect call aspect call AspectJ Pointcuts return type void method init parameter Shopping Cart class Cart return type void..... Java Servlet method service Trace Model parameter..... Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 11 / 19

Obtaining Model Traces The GECO Approach Trace recovery (cf. [Galvao and Goknil, 2007]) Heuristic [Grammel and Kastenholz, 2010] non-predictable results Deterministic Based on node attribute matches May miss relevant traces Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 12 / 19

Obtaining Model Traces The GECO Approach Trace recovery (cf. [Galvao and Goknil, 2007]) Heuristic [Grammel and Kastenholz, 2010] non-predictable results Deterministic Based on node attribute matches May miss relevant traces Trace construction By the base model generator (fragment) Cause more complex generators Some transformations can be extended automatically [Jouault, 2005] By a separate trace model generator Simpler generators Support of legacy generators Have to be adapted separately Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 12 / 19

Evaluation Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 13 / 19

Evaluation Scenarios Planned Evaluation Information Systems Example: Common Component Modeling Example (CoCoME) 1 [Rausch et al., 2011] Source meta-model: Palladio Component Model Target platform: Java EE Users: Projects of the DFG-SPP Design for Future 2 Embedded Systems Example: Railway control center Source meta-model: MENGES DSL Target platform: PLCopen, C Users: Developers and engineers 1 http://www.cocome.org/ 2 http://www.dfg-spp1593.de Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 14 / 19

Evaluation Overview Planned Evaluation Phases A: Technique and method evaluation B: Approach evaluation with information system scenario C: Approach evaluation with embedded systems scenario Methods Controlled Experiments Simulation Expert Interviews b+m Informatik, Stefan Zeug, Thomas Stahl Scheidt & Bachmann, Hauke Fuhrmann Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 15 / 19

Phase A: Technique and Method Evaluation Planned Evaluation Experiment Setup Partial CoCoME model Source meta-model Palladio Component Model [Becker et al., 2009] Instrumentation aspect language [Jung et al., 2013a] Generators ProtoCom for Palladio Component Model [Giacinto and Lehrig, 2013] Generator for instrumentation aspect language Objectives Proof of concept Evaluation of different pointcut concepts Evaluation of model/code weaving approach Method Controlled Experiment Subjects: engineers and students Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 16 / 19

Phase B: Information System Planned Evaluation Experiment Setup Complete CoCoME model based on PCM and additional DSLs Adaptation of generators driven by CoCoME modification scenarios Objectives Integration test of method and tooling Practicability of approach and tooling (Java EE) CoCoME Collaboration Projects of the Design for Future SPP iobserve University of Duisburg-Essen Karlsruhe Institute of Technology Kiel University University of Stuttgart Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 17 / 19

Phase C: Embedded System Planned Evaluation Experiment Setup Legacy meta-model and type-system Creation of generators for different target languages Objectives Feasibility for different target model/language domains (text, XML) Comparison with existing generator ñ cost benefit Method Simulation based on DSL versions of the original project Collaboration b+m Informatik AG Scheidt & Bachmann GmbH Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 18 / 19

Conclusions Conclusions Goal A method for generator-composition for aspect-oriented DSLs Publications Published Type-Systems for DSLs [Jung et al., 2013b] Data type language (DTL) [Jung, 2013] Instrumentation aspect language [Jung et al., 2013a] Design principles for meta-models [Jung et al., 2014] In progress Survey on model join point notations Evaluation of weaver tooling Next step Realizing the first evaluation scenario Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 19 / 19

References I S. Becker, H. Koziolek, and R. Reussner. The palladio component model for model-driven performance prediction. J. Syst. Softw., 82(1):3 22, Jan. 2009. ISSN 0164-1212. doi: 10.1016/j.jss.2008.03.066. URL http://dx.doi.org/10.1016/j.jss.2008.03.066. References J. Bennett, K. Cooper, and L. Dai. Aspect-oriented model-driven skeleton code generation: A graph-based transformation approach. Science of Computer Programming, 75(8):689 725, 2010. ISSN 0167-6423. doi: http://dx.doi.org/10.1016/j.scico.2009.05.005. URL http://www.sciencedirect.com/science/article/pii/s0167642309000914. Designing high quality system/software architectures. S. Clarke and E. Baniassad. Aspect-Oriented Analysis and Design. Addison-Wesley Professional, 2005. ISBN 0321246748. M. Didonet, D. Fabro, J. Bézivin, and P. Valduriez. Weaving models with the eclipse amw plugin. In In Eclipse Modeling Symposium, Eclipse Summit Europe, 2006. I. Galvao and A. Goknil. Survey of traceability approaches in model-driven engineering. In Enterprise Distributed Object Computing Conference, 2007. EDOC 2007. 11th IEEE International, pages 313 313, 2007. doi: 10.1109/EDOC.2007.42. D. Giacinto and S. Lehrig. Towards integrating java ee into protocom. In KPDAYS, pages 69 78, 2013. Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 20 / 19

References II References B. Grammel and S. Kastenholz. A generic traceability framework for facet-based traceability data extraction in model-driven software development. In Proceedings of the 6th ECMFA Traceability Workshop, pages 7 14, New York, NY, USA, 2010. ACM. ISBN 978-1-60558-993-0. doi: 10.1145/1814392.1814394. URL http://doi.acm.org/10.1145/1814392.1814394. S. Jörges. Construction and Evolution of Code Generators - A Model-Driven and Service-Oriented Approach, volume 7747 of LNCS. Springer, 2013. ISBN 978-3-642-36126-5. F. Jouault. Loosely coupled traceability for atl. In In Proceedings of the European Conference on Model Driven Architecture workshop on traceability, pages 29 37, 2005. R. Jung. Data type language, November 2013. URL http://www.dfg-spp1593.de/wiki/index.php/model-driven_development_of_cocome. R. Jung, R. Heinrich, and E. Schmieders. Model-driven instrumentation with kieker and palladio to forecast dynamic applications. In KPDAYS, pages 99 108, 2013a. R. Jung, C. Schneider, and W. Hasselbring. Type systems for domain-specific languages. In S. Wagner and H. Lichter, editors, Software Engineering (Workshops), volume 215 of LNI, pages 139 154. GI, 2013b. ISBN 978-3-88579-609-1. R. Jung, R. Heinrich, E. Schmieders, M. Strittmatter, and W. Hasselbring. A method for aspect-oriented meta-model evolution. In Proceedings of the 2Nd Workshop on View-Based, Aspect-Oriented and Orthographic Software Modelling, VAO 14, pages 19:19 19:22, New York, NY, USA, 2014. ACM. ISBN 978-1-4503-2900-2. doi: 10.1145/2631675.2631681. URL http://doi.acm.org/10.1145/2631675.2631681. Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 21 / 19

References III References L. Kapova, T. Goldschmidt, J. Happe, and R. H. Reussner. Domain-specific templates for refinement transformations. In MDI 10: Proceedings of the First International Workshop on Model-Driven Interoperability, pages 69 78, New York, NY, USA, 2010. ACM. ISBN 978-1-4503-0292-0. doi: http://doi.acm.org/10.1145/1866272.1866282. J. Klein and J. Kienzle. Reusable aspect models. In 11th Workshop on Aspect-Oriented Modeling, AOM at Models 07,, 2007. A. Mehmood and D. N. Jawawi. Aspect-oriented model-driven code generation: A systematic mapping study. Information and Software Technology, 55(2):395 411, 2013. ISSN 0950-5849. doi: http://dx.doi.org/10.1016/j.infsof.2012.09.003. URL http://www.sciencedirect.com/science/article/pii/s0950584912001863. Special Section: Component-Based Software Engineering (CBSE), 2011. B. Morin, J. Klein, O. Barais, and J.-M. Jézéquel. A generic weaver for supporting product lines. In Proceedings of the 13th International Workshop on Early Aspects, EA 08, pages 11 18, New York, NY, USA, 2008. ACM. ISBN 978-1-60558-032-6. doi: 10.1145/1370828.1370832. URL http://doi.acm.org/10.1145/1370828.1370832. A. Rausch, R. Reussner, R. Mirandola, and F. Plasil, editors. The Common Component Modelling Example (CoCoME), volume 5153 of Lecture Notes in Computer Science. Springer Verlag Berlin Heidelberg, 2011. Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 22 / 19

Style 3: Inverted References References G BM G AM Source Base Meta-Model Source Aspect Meta-Model Target Base Meta-Model Target Aspect Meta-Model TRM JPM Trace Meta-Model Join Point Meta-Model Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 23 / 19

Style 3: Inverted References References G BM G AM Source Base Meta-Model Source Aspect Meta-Model Target Base Meta-Model Target Aspect Meta-Model TRM JPM Trace Meta-Model Join Point Meta-Model Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 23 / 19

Style 3: Inverted References References G BM TRM JPM G AM Source Base Meta-Model Source Aspect Meta-Model Target Base Meta-Model Target Aspect Meta-Model TRM JPM Trace Meta-Model Join Point Meta-Model Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 23 / 19

Style 3: Inverted References References G BM TRM JPM G AM Source Base Meta-Model Source Aspect Meta-Model Target Base Meta-Model Target Aspect Meta-Model TRM JPM Trace Meta-Model Join Point Meta-Model Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 23 / 19

Style 3: Inverted References References TR AM G BM TRM JPM G AM Source Base Meta-Model Source Aspect Meta-Model Target Base Meta-Model Target Aspect Meta-Model TRM JPM Trace Meta-Model Join Point Meta-Model Reiner Jung Automatic Generator-Composition for Aspect-oriented DSL 30.09.2014 23 / 19