Joinpoint Inference from Behavioral Specification to Implementation

  • Thomas Cottenier
  • Aswin van den Berg
  • Tzilla Elrad
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4609)

Abstract

Aspect-Oriented Programming languages allow pointcut descriptors to quantify over the implementation points of a system. Such pointcuts are problematic with respect to independent development because they introduce strong mutual coupling between base modules and aspects. This paper introduces a new joinpoint selection mechanism based on state machine specifications. Module interfaces include behavioral specifications defined as protocol state machines. These specifications are not defined with respect to potential aspects, but are used to model and simulate the architecture of a system and act as behavioral contracts between the modules of the system. We show how a smart joinpoint selection mechanism is able to infer points that might be located deep inside the implementation of a module, given pointcuts that are expressed entirely in terms of behavioral specification elements. We present a tool, the Motorola WEAVR, which implements this technique in a Model-Driven Engineering environment.

Keywords

Aspect-Oriented Software Development Model-Driven Software Engineering Modules and Interfaces 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aldrich, J.: Open Modules: Modular Reasoning about Advice. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 144–168. Springer, Heidelberg (2005)Google Scholar
  2. 2.
    Griswold, W.G., Shonle, M., Sullivan, K., Song, T.N., Cai, Y., Rajan, H.: Modular Software Design with Crosscutting Interfaces. IEEE Software 23(1), 51–60 (2006)CrossRefGoogle Scholar
  3. 3.
    Gybels, K., Brichau, J.: Arranging Language Features for More Robust Pattern-Based Crosscuts. In: proceedings of the International Conference on Aspect-Oriented Software Development, Boston, USA, pp. 60–69. ACM Press, New York (2003)CrossRefGoogle Scholar
  4. 4.
    Kiczales, G., Mezini, M.: Aspect-Oriented Programming and Modular Reasoning. In: proceedings of the International Conference on Software Engineering, St. Louis, USA, pp. 49–58. ACM Press, New York (2005)Google Scholar
  5. 5.
    Ostermann, K., Mezini, M., Bockisch, C.: Expressive Pointcuts for Increased Modularity. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 214–240. Springer, Heidelberg (2005)Google Scholar
  6. 6.
    DeLine, R., Fähndrich, M.: Typestates for Objects. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086, pp. 465–490. Springer, Heidelberg (2004)Google Scholar
  7. 7.
    Kienzle, J., Gelineau, S.: AO challenge - implementing the ACID properties for transactional objects. In: proceedings of the International Conference on Aspect-Oriented Software Development, Bohn, Germany, pp. 202–213. ACM Press, New York (2006)CrossRefGoogle Scholar
  8. 8.
    Mellor, S.J., Balcer, M.J.: Executable UML: A Foundation for Model Driven Architecture. Addison-Wesley, Reading (2002)Google Scholar
  9. 9.
    ITU, Z. 100: Specification and Description Language (SDL), International Telecommunication Union (2000)Google Scholar
  10. 10.
    Telelogic. TAU G2 homepage (2005), http://www.telelogic.com/products/tau/index.cfm
  11. 11.
    Baker, P., Weil, F., Liou, S.: Model-Driven Engineering in a Large Industrial Context. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 100–109. Springer, Heidelberg (2006)Google Scholar
  12. 12.
    ETSI: Test and Test Conformance Notation, version 3, TTCN-3 Homepage (2005), http://www.ttcn-3.org
  13. 13.
    Cottenier, T., van den Berg, A., Elrad, T.: Modeling Aspect-Oriented Compositions. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 100–109. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  14. 14.
    Cottenier, T., van den Berg, A., Elrad, T.: Model Weaving: Bridging the Divide between Translationists and Elaborationists. In: Workshop on Aspect-Oriented Modeling at the 9th International Conference on Model Driven Engineering Languages and Systems, Milan, Italy (2006)Google Scholar
  15. 15.
    Gray, J., Bapty, T., Neema, S., Tuck, J.: Handling crosscutting constraints in domain-specific modeling. Communications of the ACM 44(10), 87–93 (2001)CrossRefGoogle Scholar
  16. 16.
    Bast, W., Kleppe, A., Warmer, J.: MDA Explained: The Model Driven Architecture: Practice and Promise. Addison-Wesley, Reading (2003)Google Scholar
  17. 17.
    Frankel, D.S.: Model Driven Architecture: Applying MDA to Enterprise Computing. John Wiley & Sons, Chichester (2003)Google Scholar
  18. 18.
    OMG: MOF QVT Final Adopted Specification, Specification ptc/05-11-01, Object Management Group (2005)Google Scholar
  19. 19.
    Bézivin, J., Jouault, F., Valduriez, P.: First Experiments with a ModelWeaver. In: Workshop on Best Practices for Model Driven Software Development held in conjunction with the 19th Conference on Object-Oriented Programming, Systems, Languages, and Applications, Vancouver, Canada (2004)Google Scholar
  20. 20.
    Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design. Addison-Wesley, Reading (2005)Google Scholar
  21. 21.
    Jacobson, I., Ng, P.-W.: Aspect-Oriented Software Development with Use Cases. Addison-Wesley, Reading (2004)Google Scholar
  22. 22.
    Elrad, T., Aldawud, O., Bader, A.: Aspect-Oriented Modeling - Bridging the Gap Between Design and Implementation. In: Batory, D., Consel, C., Taha, W. (eds.) GPCE 2002. LNCS, vol. 2487, pp. 189–201. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  23. 23.
    Mahoney, M., Bader, A., Aldawud, O., Elrad, T.: Using Aspects to Abstract and Modularize Statecharts. In: The 5th Internation Workshop on Aspect-Oriented Modeling, in Conjunction with the UML Conference (2004)Google Scholar
  24. 24.
    Harel, D.: Statecharts: A Visual Formalism for Complex Systems. Science of Computer Programming 8, 231–274 (1987)MATHCrossRefMathSciNetGoogle Scholar
  25. 25.
    Vanderperren, W., Suvee, D., Cibrán, M.A., De Fraine, B.: Stateful Aspects in JAsCo. In: Gschwind, T., Aßmann, U., Nierstrasz, O. (eds.) SC 2005. LNCS, vol. 3628, pp. 167–181. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  26. 26.
    Douence, R., Fradet, P., Sudholt, M.: Composition, Reuse and Interaction Analysis of Stateful Aspects. In: proceedings of the 3rd International Conference on Aspect-Oriented Software Development, Lancaster, UK, pp. 141–150. ACM Press, New York (2004)CrossRefGoogle Scholar
  27. 27.
    Kiczales, G.: Keynote talk at the 2d International Conference on Aspect-Oriented Software Development (2003)Google Scholar
  28. 28.
    Cottenier, T., van den Berg, A., Elrad, T.: The Motorola WEAVR: Model Weaving in a Large Industrial Context. In: Proceedings of the Industry Track of the 6th International Conference on Aspect-Oriented Software Development, Vancouver, Canada (2006)Google Scholar
  29. 29.
    Zhang, J., Cottenier, T., van den Berg, A., Gray, J.: Aspect Interference and Composition in the Motorola Aspect-Oriented Modeling Weaver. In: Proceedings of the 9th International Workshop on Aspect-Oriented Modeling at the 9th International Conference on Model Driven Engineering Languages and Systems, Milan, Italy (2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Thomas Cottenier
    • 1
    • 2
  • Aswin van den Berg
    • 1
  • Tzilla Elrad
    • 2
  1. 1.Motorola Software Group, Motorola, 1303 E. Algonquin Rd, 60196 Schaumburg, ILUSA
  2. 2.Concurrent Programming Research Group, Illinois Institute of Technology, 3100 S. Federal Street, 60696 Chicago, ILUSA

Personalised recommendations