State charts as an intermediate representation of JPDDs which help developers to map them to executable artifacts

Join Point Designation Diagrams (JPDDs) give developers the ability to model their join point selections in the UML, independent of any existing aspect-oriented programming language. In order to apply JPDDs in real software projects, it is necessary to have an executable representation of them -- either in terms of generated code for the desired aspect-oriented programming language or directly as executable diagrams in an environment that permits to execute UML diagrams. While principles for translating JPDDs into a target language are already known, it turns out that developers who follow those principles still face a large number of problems due to the complex selection semantics for dynamic join point: developers need to collect all data that is necessary to detect dynamic join points, and they need to maintain that data in appropriate data structures. In order to ease this step, it is desirable to translate JPDDs into an intermediate representation that equips the developers with a more concrete understanding about what information is needed, and when it needs to be stored or updated. This paper mainly addresses the motivation for such an intermediate representation and gives a first step into that direction -- the translation of JPDDs based on sequence diagrams into executable state charts.

[1]  Stefan Hanenberg,et al.  On Relationships Between Query Models , 2005, ECMDA-FA.

[2]  Stephen J. Mellor,et al.  Executable UML - A Foundation for Model-Driven Architecture , 2002, Addison Wesley object technology series.

[3]  Hidehiko Masuhara,et al.  Dataflow Pointcut in Aspect-Oriented Programming , 2003, APLAS.

[4]  Tony Clark,et al.  Model-driven development - Guest editor's introduction , 2003 .

[5]  Ondrej Lhoták,et al.  Adding trace matching with free variables to AspectJ , 2005, OOPSLA '05.

[6]  Stefan Hanenberg,et al.  Expressing different conceptual models of join point selections in aspect-oriented design , 2006, AOSD.

[7]  Tzilla Elrad,et al.  Motorola WEAVR: Aspect Orientation and Model-Driven Engineering , 2007 .

[8]  Stefan Hanenberg,et al.  From aspect-oriented design to aspect-oriented programs: tool-supported translation of JPDDs into code , 2007, AOSD.

[9]  Lidia Fuentes,et al.  Designing and Weaving Aspect-Oriented Executable UML Models , 2007, J. Object Technol..

[10]  Stefan Hanenberg,et al.  A Graphical Notation to Specify Model Queries for MDA Transformations on UML Models , 2004, MDAFA.

[11]  Volker Gruhn,et al.  Model-Driven Software Development , 2005 .

[12]  Frank Weil,et al.  Model-Driven engineering in a large industrial context — motorola case study , 2005, MoDELS'05.

[13]  Lidia Fuentes,et al.  Execution and simulation of (profiled) UML models using pópulo , 2008, MiSE '08.

[14]  Bran Selic,et al.  The Pragmatics of Model-Driven Development , 2003, IEEE Softw..