Download presentation
Presentation is loading. Please wait.
Published byHarold Gardner Modified over 9 years ago
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 ?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.