Reusable Aspect Models
See Also
RAM Tool
RAM Case Study
Reusable Aspect Models (RAM) is an aspect-oriented multi-view modeling approach with the following properties:
  1. RAM is the first AOM approach that integrates class diagram, sequence diagram and state diagram AOM techniques. As a result, RAM aspect models can describe the structure and the behavior of a concern under study.

  2. Reuse of aspect models in RAM is safe and flexible. The safety is enforced by the weaver, which makes sure that compatible model elements are provided for all mandatory instantiation parameters when an aspect is instantiated. Flexibility is achieved by allowing any model element to optionally be composed or extended.

  3. RAM supports the creation of elaborate aspect dependency chains. This makes it possible to model aspects that provide complex functionality by decomposing them into aspects that provide simpler functionality. At the same time, aspects providing simpler functionality can be reused in several aspects of complex functionality. As a result, scattering and tangling of models can be prevented at all complexity levels.

  4. The RAM weaver performs extensive consistency checks during the weaving and on the final woven model to ensure that the composition directives of the state and message views are consistent.

  5. RAM defines a detailed weaving algorithm that resolves aspect dependencies recursively to generate independent aspect models and ultimately generate the final application model. Dependencies are resolved at weave-time only in order to maximize the benefits of reuse.

RAM Case Studies

We have shown that the RAM approach can handle the modeling of complex aspect frameworks by applying it to model AspectOptima, an aspect-oriented framework for the generation of transaction middleware. Click here to look at the complete set of models of the AspectOptima case study.

We also applied RAM to the modeling of a crisis management system. Click here to get more information on that.

Publications on RAM

  1. Jacques Klein, Jörg Kienzle: “Reusable Aspect Models”, 11th Workshop on Aspect-Oriented Modeling, Nashville, TN, USA, Sept. 30th, 2007.

  2. Jörg Kienzle, Wisam Al Abed, Jacques Klein: “Aspect-Oriented Multi-View Modeling”, Proceedings of the 8th International Conference on Aspect-Oriented Software Development, AOSD 2009, Charlottesville, VA, USA, ACM Press, p. 89 -98.

  3. Wisam Al Abed and Jörg Kienzle, “Information Hiding and Aspect-Oriented Modeling”, in Proceedings of the 14th Aspect-Oriented Modeling Workshop, Denver, CO, USA, Oct. 4th, 2009, pp. 1–6, October 2009.

  4. Jörg Kienzle, Wisam Al Abed, Franck Fleurey, Jean-Marc Jézéquel, and Jacques Klein, “Aspect-Oriented Design with Reusable Aspect Models”, Transactions on Aspect-Oriented Software Development, vol. 7, pp. 279 – 327, 2010.

  5. Max Kramer and Jörg Kienzle, “Mapping Aspect-Oriented Models to Aspect-Oriented Code”, in 15th Aspect-Oriented Modeling Workshop, Oslo, Norway, pp. 1–6, October 2010.

Last modified: December 3, 2013, Jörg Kienzle