Academia.eduAcademia.edu

From aspect-oriented design to aspect-oriented programs

2007, Proceedings of the 6th international conference on Aspect-oriented software development - AOSD '07

Abstract

Join Point Designation Diagrams (JPDDs) permit developers to design aspect-oriented software on an abstract level. Consequently, JPDDs permit developers to communicate their software design independent of the programming language in use. However, developer face two problems. First, they need to understand the semantics of JPDDs in addition to their programming language. Second, after designing aspects using JPDDs, they need to decide how to map them into their programming language. A tool-supported translation of JPDDs into a known aspect-oriented language obviously would ease both problems. However, in order to achieve this goal, it is necessary to determine what a "good" JPDD translation looks like, i.e. it is necessary to have a number of principles that determine the characteristics of a "good" translation. This paper describes a toolsupported translation of JPDDs to aspect-oriented languages. Principles for translating JPDDs are described and a concrete mapping to the aspect-oriented language AspectJ is explained.

Key takeaways

  • Thereby, it would also help them to learn and understand the notation and semantics of JPDDs since the translation would codify/reproduce the semantics of a given JPDD in terms of the semantics of an aspect-oriented programming language that is known to the developer.
  • In case we want to translate this JPDD into the target language AspectJ, there are different possibilities how a corresponding pointcut could look like.
  • A JPDD translation should express a JPDD's join point selection semantics in terms of those language constructs of a target language that are particularly designed for the given selection task.
  • Moreover, a mapping to non side-effect free pointcuts might confuse developers trying to understand the semantics of a JPDD by studying the translated program code -because JPDDs, being mere selection patterns, should not have any side effects by default.
  • A mapping of JPDDs should make positive assumptions about the validity of a JPDD with respect to static analysis checks that need to be performed by the underlying aspect-oriented language.