Download presentation
Presentation is loading. Please wait.
Published byElijah Chandler Modified over 8 years ago
1
An approach for Integration of Aspect Orientation and Model- Driven Engineering using Aspect- Oriented Code Generation Presenter: Abid Mehmood Advisor: Assoc. Prof. Dr. Dayang N.A. Jawawi INSPIRING CREATIVE AND INNOVATIVE MINDS
2
Outline Introduction Existing Literature Research Phases & Framework Towards Integration of MDE & AOSD
3
Introduction Model-Driven Engineering (MDE): subjects models to refinement through automatic transformations until a running system is obtained Aspect-Oriented Software Development (AOSD) –Software dev approach to solve problems of scattering and tangling Scattering: requirements crosscut components Tangling: components have parts of many different requirements –Based around a new type of abstraction – an Aspect –Used in conjunction with other approaches – usually OOSD –Improves software quality factors: maintainability, extensibility, reusability –Achieved through Early Aspects during analysis, Aspect-Oriented Modeling during design, and AOP at implementation time.
4
Introduction Integration of AOSD and MDE –May increase benefits of both –Excellent abstraction mechanisms of MDE will become available to AOSD –MDE will be augmented by the capabilities of AOSD with regards to modularity and composition of concerns 2 approaches for integration –Weave a model and generate Object-Oriented code (WTG 1 ) –Transform a model directly into Aspect-Oriented code (GTW 2 ) 1 Weave-Then-Generate (approaches) 2 Generate-Then-Weave (approaches)
5
Introduction WTG approaches –Work well for tasks related to model analysis and simulation –Do not retain clear separation of concerns after generation of code –Make the (manual) maintenance of code more difficult! GTW approaches –Benefit from features of AOSD at design as well as code level –Result in compact, smaller, less complex and more modular implementation Direct AO code generation (GTW): the basis of method proposed in this research
6
Problem statement Main research question: –“How can we generate accurate, fully executable, and production-standard aspect-oriented code from the input aspect-oriented models, in line with the goals of model-driven development?“
7
Objectives Objective 1: To determine an effective aspect-oriented modeling approach that can lead to maximum amount of generated code Objective 2: To elaborate an approach to generate application code from aspect-oriented models representing complete structure and behavior in an aspect-oriented language such as AspectJ Objective 3: To implement the proposed approach and develop a system for automatic generation of AspectJ code from extended behavior diagrams Objective 4: To extend the approach and the code generation system to support full code generation i.e. to generate non- aspect-oriented code as well
8
Outline Introduction Existing Literature Research Phases & Framework Towards Integration of MDE & AOSD
9
Existing literature – structure
10
AO Code Gen. approaches No.No. ApproachApproach Transform techTransform tech Source NotationSource Notation Target NotationTarget Notation Models coveredModels covered Extent of code generationExtent of code generation Req of Impl KnowledgeReq of Impl Knowledge Tool supportTool support No. Approach Transform tech Source Notation Target Notation Models covered Extent of code generation Req of Impl Knowledge Tool support 1(Bennett et al. 2010)Bennett et al. 2010GBTFDAFAspectJCDSkeletonNoYes 2(Evermann 2007)Evermann 2007XSLT(TB)AspectJ MMAspectJCDSkeletonYes 3(Hecht et al. 2005)Hecht et al. 2005XSLT(TB)Theme/UMLAspectJCDSkeletonYes 4(Groher 2003)Groher 2003DMUMLEAspectJCDSkeletonNoYes 5 (Kramer and Kienzle 2011)Kramer and Kienzle 2011 DMRAMAspectJ CD, SD N/ANo 6(Jackson et al. 2008)Jackson et al. 2008TUATheme/UMLAspectJCDN/ANoYes
11
Comparison results Transformation approach Perspective No. Question ( Bennett et al. 2010 ) Bennett et al. 2010 ( Evermann 2007 ) Evermann 2007 ( Hecht et al. 2005 ) Hecht et al. 2005 ( Groher 2003 ) Groher 2003 ( Kramer and Kienzle 2011 ) Kramer and Kienzle 2011 ( Jackson et al. 2008 ) Jackson et al. 2008 Transforma tion approach Q1 Are advantages of transformation approach clearly identified comparative to other approaches? ~ Q2 Does the approach clearly provide support for static view of system? Q3 Does the approach clearly provide support for dynamic view of system? ~ Q4 Are advantages of the code generation approach clearly identified comparative to other approaches? ~ Q5 Does it generate full code? i.e. both base as well as aspects. Q6 Are interaction mechanisms (between base class elements and aspects) other than pointcuts supported? ~ ~ Q7 Are format and syntax decisions supported? Q8 Are ADTs, Collections and Arrays supported? ~ Q9 Does the approach explicitly address the algorithm correctness and performance? ~ ~ ~ All CG approaches support transformation of structural models only Correctness and performance of transf. approach not explored explicitly by any work
12
Comparison results Source notation, Target notation & Models covered Perspective No. Question ( Bennett et al. 2010 ) Bennett et al. 2010 ( Evermann 2007 ) Evermann 2007 ( Hecht et al. 2005 ) Hecht et al. 2005 ( Groher 2003 ) Groher 2003 ( Kramer and Kienzle 2011 ) Kramer and Kienzle 2011 ( Jackson et al. 2008 ) Jackson et al. 2008 Source notation Q1 Is it a standard, visual modeling language? ~ Q2 Are standard UML extension mechanisms used to model aspect-oriented elements? ~ ~ Target notation Q1 Are languages other than AspectJ discussed as target notations? Q2 Are different standards of target language supported? Models covered Q1 Is code generation from class diagrams addressed? Q2 Is code generation from behavior diagrams addressed? All approaches use standard visual models developed in some AO extension of UML as input None of the approaches propose any solution for code generation from behavioral diagrams such as UML sequence, activity and statechart diagrams
13
Comparison results Extent of code generation Perspective No. Question ( Bennett et al. 2010 ) Bennett et al. 2010 ( Evermann 2007 ) Evermann 2007 ( Hecht et al. 2005 ) Hecht et al. 2005 ( Groher 2003 ) Groher 2003 ( Kramer and Kienzle 2011 ) Kramer and Kienzle 2011 ( Jackson et al. 2008 ) Jackson et al. 2008 Extent of code generation Q1 Is full code generation supported for class diagrams? Q2 Is skeleton code generation fully implemented? Q3 Is full code generation supported for behavior diagrams? Q4 Is code generation for both base as well as aspect model elements addressed? Q5 Does the approach provide clear path towards implementation of behavior diagrams, thus full code generation? Q6 Is the trade-off between amount of code generated and extent of implementation details at design level considered? None of the approaches generate full code for classes in the class diagram. Could not find any proposal that discusses generation of even the skeleton code from behavioral diagrams.
14
Implementation knowledge & Tool support PerspectiveNo.Question ( Bennett et al. 2010 ) Bennett et al. 2010 ( Evermann 2007 ) Evermann 2007 ( Hecht et al. 2005 ) Hecht et al. 2005 ( Groher 2003 ) Groher 2003 ( Kramer and Kienzle 2011 ) Kramer and Kienzle 2011 ( Jackson et al. 2008 ) Jackson et al. 2008 Implementation knowledge Q1Is modeler required to have implementation knowledge in order to use the approach effectively? Tool supportQ1Is sufficient tool support provided to apply and validate the approach? ~~~ Q2Are the tools considerably reliable (not prototypes) to be used to the purpose? ~ Q3Are the tools developed using standard development frameworks? ~ Q4Are the tools extendable and allow integration with some IDE/ other tools? ~ Q5Are the tools capable of generating both base and aspect model code? Q6Are different types of pointcuts supported by tools? Q7Is the inheritance between aspects supported by tools? Most approaches lack in maturity of tool support
15
Comparison results Adaptability & Validation Most works do not address adaptability at all, neither for input nor for output Validation has not been considered mostly PerspectiveNo.Question ( Bennett et al. 2010 ) Bennett et al. 2010 ( Evermann 2007 ) Evermann 2007 ( Hecht et al. 2005 ) Hecht et al. 2005 ( Groher 2003 ) Groher 2003 ( Kramer and Kienzle 2011 ) Kramer and Kienzle 2011 ( Jackson et al. 2008 ) Jackson et al. 2008 AdaptabilityQ1Is the approach adaptable to changing standards of input notation e.g. a new standard of UML? ~ ~~ Q2Is the approach adaptable to other AO languages? ~~ Q3Is it adaptable to other versions/ implementations of the selected target language? ~ ~~~ ValidationQ1Is the validation done using a reliable, mature technique taken from literature (opposite to a self-defined, proof-of- concept mechanism)? ~ ~~ Q2Are standard inputs applied? Q3Are the outputs determined to be standard? Q4Are the results compared using standard and open mechanism?
16
Outline Introduction Existing Literature Research phases & framework Towards Integration of MDE & AOSD
17
Research phases
18
Research framework
20
Outline Introduction Existing Literature Research Phases & Framework Towards Integration of MDE & AOSD
21
Towards integration… A number of research questions need to be answered: –Which AOM approach is to be used? –How will visual model be transformed into text-based model? –How will the code generation be applied?
22
Modeling approach No standard approach for AO modeling There is need for assessing all existing approaches with respect to their suitability & likelihood to serve as input to an AO code generation process Selected 14 well-published, UML-based approaches to thoroughly evaluate Defined an evaluation framework and employed it to all approaches
23
Evaluation framework
24
Results Notation Balance in extension mechanisms and UML versions Inclination to AspectJ Missing model- to- code mapping details Only 2 approaches provide these details Dearth of support for behavioural diagrams Lacking in traceability support Insufficient scalability Composition Prevalence of Element Asymmetry for representation of concerns Moderate support for composition at modelling level Popularity of UML as complete model Maturity Moderate application of complicated example scenarios Lack of real-world applications Tool support Lack of tool-support for composition Nonexistence of support for aspect-oriented code generation
25
Reusable Aspect Models (RAM) and Theme/UML score high against most criteria Conducted an in-depth comparison of RAM & Theme/UML –Designed an Online Book Store System (OBSS) using both –Mapped the design to AspectJ code –Conclusion: Both resemble in many aspects, but RAM has several advantages over Theme/UML Selection of approach
26
Text-based implementation model Developed on the basis of RAM’s Conceptual Reference Model Developed in the form of XML schemas Covers the Core, Structural and State View parts of RAM models Provides a general-purpose representation of RAM models in textual form
27
Code generation approach Combining the Class and Statechart diagrams in our approach Code generation algorithms iterates over structure and behavior representation to generate code from XML representation Structure and behavior present in Structural and State Views of RAM aspect is fully implemented
28
Expected contributions of research Elaboration of AOM approaches in context of code generation –Impact of various approaches to be investigated through mapping experiments A textual representation of selected modelling approach A Graph-based transformation approach to generate fully executable code in AspectJ –Behavioral diagrams to be implemented A code generation system that integrates Aspect and Base codes to generate fully executable code –Includes both AO and OO code
29
Publications from thesis work Journal: 1.Mehmood, A. and Dayang N. A. Jawawi (2013). Aspect-oriented model-driven code generation: A systematic mapping study. Information and Software Technology 55(2): 395-411. 2.Mehmood, A. and Dayang N. A. Jawawi (2013). Aspect-Oriented Code Generation for Integration of Aspect Orientation and Model-Driven Engineering. International Journal of Software Engineering and Its Applications 7(2): 207-218. 3.Mehmood, A. and Dayang N. A. Jawawi (2013). A Text-based Implementation Model for Reusable Aspect Models. Journal of Theoretical and Applied Information Technology 55(2 ): 209-224. 4.Mehmood, A. and Dayang N. A. Jawawi (2013). Aspect-Oriented Modeling Approaches and Aspect Code Generation. International Review on Computers and Software (IRECOS) 8(4): 983-995. 5.Mehmood, A. and Dayang N. A. Jawawi. Reusable Aspect Models versus Theme/UML: the Aspect-Oriented Code Generation Perspective. International Journal of Software Engineering and Its Applications. (To appear in November 2013)
30
Publications from thesis work Journal: 6. Mehmood, A. and Dayang N. A. Jawawi An Approach for Mapping Aspect-Oriented State Diagrams to Aspect-Oriented Code. Journal of Universal Computer Science. (Submitted April 2013) 7. Mehmood, A. and Dayang N. A. Jawawi. An approach for model-driven aspect-oriented skeleton code generation from Reusable Aspect Models. Journal of Theoretical and Applied Information Technology. (Submitted October 2013) Conferences: 1.Mehmood, A. and D. N. A. Jawawi (2012). A systematic map of integration of aspect orientation and model-driven engineering. Open Source Systems and Technologies (ICOSST), 2012 International Conference on, Lahore, Pakistan. 2.Mehmood, A. and D. N. A. Jawawi (2011). A comparative survey of aspect-oriented code generation approaches. 5th Malaysian Conference in Software Engineering (MySEC), 2011 3.Mehmood, A. and D. N. A. Jawawi (2011). Model-Driven Aspect-Oriented Code Generation from UML Models. 3rd Software Engineering Postgraduates Workshop SEPoW 2011, 5th Malaysian Software Engineering Conference MySEC2011, Malaysia: 84-89.
31
Q & A
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.