Advertisement

Aspect-Oriented Development Using Protocol Modeling

  • Ashley McNeile
  • Ella Roubtsova
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6210)

Abstract

The aim of this paper is to explore the modeling of crosscutting behavioral abstractions. We argue that behavioral aspects can be seen as a particular kind of more general behavioral abstraction called a “mixin”. Mixins support a compositional style of modeling, whereby a complete class definition is constructed by composing one or more mixins each of which represents a partial definition of the class. If used as the replacement for inheritance, mixins can provide an expressive power equivalent to multiple inheritance.

In this paper we use a modeling semantics called Protocol Modeling to illustrate how mixins can be used to represent behavioral aspects. We use the Crisis Management System case to illustrate the Protocol Modeling approach, and describe how the model can be executed to give early validation of its behavior.

We discuss the extent to which the Protocol Modeling approach is scalable to large problems, is suitable for evolutionary development and supports correctness analysis and testing.

Keywords

Composition Operator Structural View Multiple Inheritance Assignment Request Mobile Employee 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bondi, A.: Characteristics of Scalability and their impact on Performance. In: Proceedings of the 2nd international workshop on Software and performance, Ottawa, Ontario, Canada, pp. 195–203 (2000)Google Scholar
  2. 2.
    McNeile, A.: Protocol Contracts with application to Choreographed Multiparty Collaborations. In: Service Oriented Computing and Applications (in Publication, 2010)Google Scholar
  3. 3.
    McNeile, A., Roubtsova, E.: CSP parallel composition of aspect models. In: AOM 2008: Proceedings of the 2008 AOSD Workshop on Aspect-Oriented Modeling, pp. 13–18. ACM DL (2008)Google Scholar
  4. 4.
    McNeile, A., Roubtsova, E.: Executable Protocol Models as a Requirements Engineering Tool. In: Proceedings of the 41st Annual Simulation Symposium (anss-41 2008), Washington, DC, USA, pp. 95–102. IEEE Computer Society, Los Alamitos (2008)CrossRefGoogle Scholar
  5. 5.
    McNeile, A., Roubtsova, E.: Composition Semantics for Executable and Evolvable Behavioural Modeling in MDA. In: BM-MDA 2009: Proceedings of the 1st Workshop on Behaviour Modelling in Model-Driven Architecture, pp. 1–8. ACM DL (2009)Google Scholar
  6. 6.
    McNeile, A., Simons, N.: http://www.metamaxim.com/
  7. 7.
    McNeile, A., Simons, N.: Protocol Modelling. A Modelling Approach that Supports Reusable Behavioural Abstractions. Software and System Modeling 5(1), 91–107 (2006)CrossRefGoogle Scholar
  8. 8.
    McNeile, A., Simons, N.: A Typing Scheme for Behavioural Models. Journal of Object Technology 6(10), 81–94 (2007)Google Scholar
  9. 9.
    Morin, B., Klein, J., Barais, O., Jézéquel, F.-M.: A Generic Weaver for Supporting Product Lines. In: EA 2008: Proceedings of the 13th international Workshop on Early Aspects, pp. 11–18. ACM, New York (2008)CrossRefGoogle Scholar
  10. 10.
    Hoare, C.: Communicating Sequential Processes. Prentice-Hall International, Englewood Cliffs (1985)zbMATHGoogle Scholar
  11. 11.
    Hoare, C.: Why ever CSP? Electronic Notes in Theoretical Computer Science 162, 209–215 (2006)CrossRefGoogle Scholar
  12. 12.
    Harel, D., Gery, E.: Executable Object Modelling with Statecharts. IEEE Computer 30(7), 31–42 (1997)Google Scholar
  13. 13.
    Baniassad, E., Clarke, S.: Theme: An Approach for Aspect-Oriented Analysis and Design. In: ICSE 2004. Proceedings. 26th International Conference on Software Engineering, pp. 158–167. IEEE, Los Alamitos (2004)CrossRefGoogle Scholar
  14. 14.
    Roubtsova, E., McNeile, A.: Abstractions, Composition and Reasoning. In: AOM 2009: Proceedings of the 13th workshop on Aspect-Oriented Modeling, Charlottesville, Virginia, USA. ACM DL (2009)Google Scholar
  15. 15.
    Bracha, G., Cook, W.: Mixin-based inheritance. In: Proc. of the ASM conference on Object-Oriented Programming, Systems, Languages, Applications, OOPSLA/ECOOP 1990, ACM SIGPLAN Notices, vol. 25(10), pp. 179–183 (1990)Google Scholar
  16. 16.
    Zhang, G., Hölzl, M., Knapp, A.: Enhancing UML State Machines with Aspects. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 529–543. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  17. 17.
    Ossher, H., Tarr, P.: Multidimentional Separation of Concerns and the Hyperspace Approach. In: Proc. Architectures and Component Technology: The State-of-the Art in Software Development (January 2000)Google Scholar
  18. 18.
    Ebert, J., Engels, G.: Observable or invocable behaviour - You have to choose. Technical report. Universität Koblenz, Koblenz, Germany (1994)Google Scholar
  19. 19.
    Kienzle, J., Al Abed, W., Klein, J.: Aspect-oriented Multi-view Modeling. In: Proceedings of the International Conference on Aspect-Oriented Software Development, AOSD 2009, Charlottesville, Virginia, USA, pp. 87–98. ACM DL (2009)Google Scholar
  20. 20.
    Kienzle, J., Guelfi, N., Mustafiz, S.: Crisis Management Systems: A Case Study for Aspect-Oriented Modeling. Transactions on Aspect-Oriented Software Development 7, 1–22 (2010)Google Scholar
  21. 21.
    Jackson, M.: System Development. Prentice Hall, Englewood Cliffs (1983)zbMATHGoogle Scholar
  22. 22.
    Jackson, M.: Problem Frames: Analyzing and Structuring Software Development Problems. Addison-Wesley Longman Publishing Co., Inc., Boston (2001)Google Scholar
  23. 23.
    Mahoney, M., Bader, A., Elrad, T., Aldawud, O.: Using Aspects to Abstract and Modularize Statecharts. In: The 5th Aspect-Oriented Modeling Workshop In Conjunction with UML 2004 (2004)Google Scholar
  24. 24.
    OMG. Unified Modeling Language, Superstructure, v2.2. OMG Document formal/09-02-02 (2009)Google Scholar
  25. 25.
    Filman, R., Friedman, D.: Aspect-Oriented Programming is Quantification and Obliviousness. In: Tarr, P., Bergmans, L., Griss, M., Ossher, H. (eds.) Proceedings of Workshop on Advanced Separation of Concerns, OOPSLA 2000. Department of Computer Science. University of Twente, The Netherlands (2000)Google Scholar
  26. 26.
    Milner, R.: A Calculus of Communicating Systems, vol. 92. Springer, Heidelberg (1980)zbMATHGoogle Scholar
  27. 27.
    Reddy, R., Ghosh, S., France, R., Straw, B.: Directives for composing aspect-oriented design class models. In: Rashid, A., Aksit, M. (eds.) Transactions on Aspect-Oriented Software Development I. LNCS, vol. 3880, pp. 75–105. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  28. 28.
    Apel, S., Leich, T., Saake, G.: Mixin-Based Aspect Inheritance. Technical Report No. 10/2005, University of Magdeburg, Germany (2005)Google Scholar
  29. 29.
    Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design: The Theme Approach. Addison Wesley, Reading (2005)Google Scholar
  30. 30.
    Cook, S., Daniels, J.: Designing Object Systems. Object-Oriented Modelling with Syntropy. Prentice Hall, Englewood Cliffs (1994)zbMATHGoogle Scholar
  31. 31.
    Katz, S.: Aspect Categories and Classes of Temporal Properties. In: Rashid, A., Aksit, M. (eds.) Transactions on Aspect-Oriented Software Development I. LNCS, vol. 3880, pp. 106–134. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  32. 32.
    Mellor, S., Balcer, M.: Executable UML: A Foundation for Model Driven Architecture. Addison Wesely, London (2002)Google Scholar
  33. 33.
    Shlaer, S., Mellor, S.: Object Life Cycles - Modeling the World in States. Yourdon Press/Prentice Hall (1992)Google Scholar
  34. 34.
    Elrad, T., Algawud, O., Baber, A.: Aspect-oriented modelling-Briging the gap Between Design and Implementation. In: Proceedings of the First ACM International Conference on Generative PRogramming and Component Engineering GPCE), Pittsburg, pp. 1189–1202 (2002)Google Scholar
  35. 35.
    Santen, T., Seifert, D.: Executing UML State Machines. Technical Report 2006-04,Fakultät für Elektrotechnik und Informatik, Technische Universität Berlin (2006)Google Scholar
  36. 36.
    Drey, Z., Faucher, C., Fleurey, F., Mahé, V., Vojtisek, D.: Kermeta language (2009), http://kermeta.org/documents/manual/htm_chunked

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Ashley McNeile
    • 1
  • Ella Roubtsova
    • 2
  1. 1.Metamaxim LtdLondonUK
  2. 2.Open University of the NetherlandsHeerlenThe Netherlands

Personalised recommendations