Presentation is loading. Please wait.

Presentation is loading. Please wait.

Devon M. Simmonds SERP’08, July-14-17, Las Vegas 1 Aspect-oriented Approaches to Model Driven Engineering Devon M. Simmonds Computer Science Department.

Similar presentations


Presentation on theme: "Devon M. Simmonds SERP’08, July-14-17, Las Vegas 1 Aspect-oriented Approaches to Model Driven Engineering Devon M. Simmonds Computer Science Department."— Presentation transcript:

1 Devon M. Simmonds SERP’08, July-14-17, Las Vegas 1 Aspect-oriented Approaches to Model Driven Engineering Devon M. Simmonds Computer Science Department University of North Carolina, Wilmington simmondsd@uncw.edu

2 Devon M. Simmonds SERP’08, July-14-17, Las Vegas 2 Aspect-oriented Approaches to Model Driven Engineering Outline – Role of models in engineering – Challenges in model driven engineering – The role of AOSD in MDE lifecycle – Two AOMDE approaches – Summary

3 Devon M. Simmonds SERP’08, July-14-17, Las Vegas 3 3 Models in Engineering Benefits of models – Understanding and managing complex systems – Abstract representation of systems – Drive implementation – Save resources Engineering is a Model-Driven Discipline! Software Requirements Software Model AA BB CC

4 Devon M. Simmonds SERP’08, July-14-17, Las Vegas 4 Model Driven Engineering Create Model Model A AA BB CC Model B MM BB CC AA PP KK.... Challenges – Model specification – Model transformation – Model analysis – Model evolution and reuse – Model debugging Analysis Engine

5 Devon M. Simmonds SERP’08, July-14-17, Las Vegas 5 MDE Challenges Model specification, transformation, analysis, debugging and reuse are difficult in the presence of crosscutting software functionality. Model A AA BB CC Model B MM BB CC AA PP KK

6 Devon M. Simmonds SERP’08, July-14-17, Las Vegas 6 Crosscutting functionality logging in org.apache.tomcat – red shows lines of code that handle logging – not in just one place – not even in a small number of places logging is not modularized

7 Devon M. Simmonds SERP’08, July-14-17, Las Vegas 7 Aspect-Oriented Modeling Separate crosscutting features/business logic – Primary model – Aspect models Primary Model Aspect Model 1 Aspect Model 2 Aspect Model n... Aspect-oriented Design Model How does an aspect-oriented approach affect the model- driven engineering process? Lifecycle perspective AnalysisDesignCode GenerationTesting Deployment & Evolution

8 Devon M. Simmonds SERP’08, July-14-17, Las Vegas 8 Aspect-oriented Approaches to Model Driven Engineering … and therefore the title:

9 Devon M. Simmonds SERP’08, July-14-17, Las Vegas 9 Overview of AOMDE Approaches Primary Model Aspect Model-1 Aspect Model-n Aspect Model-2 Weave/Compose Generate Code/Binary Composed Model … … Primary Model Aspect Model-1 Aspect Model-n Aspect Model-2 Weave/Compose Generate Composed Model Primary Model Code/Binary Aspect Models Code/Binary Weave Then Generate Generate Then Weave

10 Devon M. Simmonds SERP’08, July-14-17, Las Vegas 10 Weave Then Generate Approach Analysis Requirements Specification Create Primary Model PIM Enhance Enhanced PIM [createError][morePM] [else] [enhanceError] [else] Weave Composed Design Model [weavePMError] Acquire Aspect Models Generic Design Aspects [aspectDesignError] [else] Enhance [moreAspects] [enhance AspError] Instantiate [else] [mapping Error] [else] Generate Code Complete Application [else] [codeAspError] [weaveAsp Error] [else] Primary Model DevelopmentPrimary Model Customization Aspect Models Development Aspect Models Customization Application Integration Code Generation [codePM Error]

11 Devon M. Simmonds SERP’08, July-14-17, Las Vegas 11 Generate Then Weave Approach Analysis Requirements Specification Create Primary Model PIM Enhance Enhanced PIM [createError][morePM] [else] [enhanceError] [else] Weave [weave PMError] Acquire Aspect Models Generic Design Aspects [aspectDesignError] [else] Enhance [more Aspects] [enhance AspError] Instantiate [mapping Error] [else] Complete Application [else] [codeAspError] [weaveAsp Error] [else] Primary Model DevelopmentPrimary Model Customization Aspect Models DevelopmentAspect Models Customization Application Integration Generate Code [codePMError] Generate Code Generation Code Generation [else]

12 Devon M. Simmonds SERP’08, July-14-17, Las Vegas 12 Comparison of Approaches Weave/Compose Generate Application Code Composed Model Primary Model Aspect Model-1 Aspect Model-n Aspect Model-2 … Weave/Compose Generate Application Code Primary Model CodeAspect Models Code Weave Then Generate Generate Then Weave Primary Model Aspect Model-1 Aspect Model-n Aspect Model-2 … Tools – Development, transformation, instantiation, debugging, analysis, execution – Model composition Tools – Development, transformation, instantiation, debugging, analysis, execution – Code composition – Aspect-oriented code generation

13 Devon M. Simmonds SERP’08, July-14-17, Las Vegas 13 Comparison of Approaches Weave/Compose Generate Application Code Composed Model Primary Model Aspect Model-1 Aspect Model-n Aspect Model-2 … Weave/Compose Generate Application Code Primary Model Code/BinaryAspect Models Code/Binary Weave Then Generate Generate Then Weave Primary Model Aspect Model-1 Aspect Model-n Aspect Model-2 … Reuse Potential – Design reuse superiority Composed design model Reuse Potential – Code reuse superiority PIM code Aspects code

14 Devon M. Simmonds SERP’08, July-14-17, Las Vegas 14 Semantic GAP Semantic GAP Comparison of Approaches Weave/Compose Generate Application Code Composed Model Primary Model Aspect Model-1 Aspect Model-n Aspect Model-2 … Weave/Compose Generate Primary Model CodeAspect Models Code Weave Then Generate Generate Then Weave Primary Model Aspect Model-1 Aspect Model-n Aspect Model-2 … Debugging – Code/execution error correction may be harder Debugging – May be easier PIM code Aspects code Semantic GAP Application Code

15 Devon M. Simmonds SERP’08, July-14-17, Las Vegas 15 Comparison of Approaches Weave/Compose Generate Application Code Composed Model Primary Model Aspect Model-1 Aspect Model-n Aspect Model-2 … Weave/Compose Generate Application Code Primary Model CodeAspect Models Code Weave Then Generate Generate Then Weave Primary Model Aspect Model-1 Aspect Model-n Aspect Model-2 … Analysis – May be easier Composed design model Analysis – May be harder Absence of composed model

16 Devon M. Simmonds SERP’08, July-14-17, Las Vegas 16 Future Work Analysis Requirements Specification Create Primary Model PIM Enhance Enhanced PIM [createError][morePM] [else] [enhanceError] [else] Weave [weave PMError] Acquire Aspect Model Generic Design Aspects [aspectDesignError] [else] Enhance [more Aspects] [enhance AspError] Instantiate [mapping Error] [else] Complete Application [else] [codeAspError] [weaveAsp Error] [else] Primary Model DevelopmentPrimary Model Customization Aspect Models DevelopmentAspect Models Customization Application Integration Generate Code [codePMError] Generate Code Generation Code Generation [else] Extending, exploring approaches – Testing, deployment evolution – Defining families of approaches, hybrids Extending, exploring approaches – Testing, deployment evolution – Defining families of approaches, hybrids

17 Devon M. Simmonds SERP’08, July-14-17, Las Vegas 17 Summary AOMDE requires an understanding of how AOSD affect MDE lifecycle. A variety of approaches are available. Optimal software evolution strategy – AOMDE approach selected – Scope of modifications PM, aspect model, both PM and aspects? – The modification approach Code based vs. model-based

18 Devon M. Simmonds SERP’08, July-14-17, Las Vegas 18 Q u e s t i o n s ?


Download ppt "Devon M. Simmonds SERP’08, July-14-17, Las Vegas 1 Aspect-oriented Approaches to Model Driven Engineering Devon M. Simmonds Computer Science Department."

Similar presentations


Ads by Google