Skip to main content

Part of the book series: Lecture Notes in Computer Science ((TAOSD,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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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. McNeile, A.: Protocol Contracts with application to Choreographed Multiparty Collaborations. In: Service Oriented Computing and Applications (in Publication, 2010)

    Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  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. McNeile, A., Simons, N.: http://www.metamaxim.com/

  7. McNeile, A., Simons, N.: Protocol Modelling. A Modelling Approach that Supports Reusable Behavioural Abstractions. Software and System Modeling 5(1), 91–107 (2006)

    Article  Google Scholar 

  8. McNeile, A., Simons, N.: A Typing Scheme for Behavioural Models. Journal of Object Technology 6(10), 81–94 (2007)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  10. Hoare, C.: Communicating Sequential Processes. Prentice-Hall International, Englewood Cliffs (1985)

    MATH  Google Scholar 

  11. Hoare, C.: Why ever CSP? Electronic Notes in Theoretical Computer Science 162, 209–215 (2006)

    Article  Google Scholar 

  12. Harel, D., Gery, E.: Executable Object Modelling with Statecharts. IEEE Computer 30(7), 31–42 (1997)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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. 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)

    Chapter  Google Scholar 

  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. Ebert, J., Engels, G.: Observable or invocable behaviour - You have to choose. Technical report. Universität Koblenz, Koblenz, Germany (1994)

    Google Scholar 

  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. 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. Jackson, M.: System Development. Prentice Hall, Englewood Cliffs (1983)

    MATH  Google Scholar 

  22. Jackson, M.: Problem Frames: Analyzing and Structuring Software Development Problems. Addison-Wesley Longman Publishing Co., Inc., Boston (2001)

    Google Scholar 

  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. OMG. Unified Modeling Language, Superstructure, v2.2. OMG Document formal/09-02-02 (2009)

    Google Scholar 

  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. Milner, R.: A Calculus of Communicating Systems, vol. 92. Springer, Heidelberg (1980)

    MATH  Google Scholar 

  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)

    Chapter  Google Scholar 

  28. Apel, S., Leich, T., Saake, G.: Mixin-Based Aspect Inheritance. Technical Report No. 10/2005, University of Magdeburg, Germany (2005)

    Google Scholar 

  29. Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design: The Theme Approach. Addison Wesley, Reading (2005)

    Google Scholar 

  30. Cook, S., Daniels, J.: Designing Object Systems. Object-Oriented Modelling with Syntropy. Prentice Hall, Englewood Cliffs (1994)

    MATH  Google Scholar 

  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)

    Chapter  Google Scholar 

  32. Mellor, S., Balcer, M.: Executable UML: A Foundation for Model Driven Architecture. Addison Wesely, London (2002)

    Google Scholar 

  33. Shlaer, S., Mellor, S.: Object Life Cycles - Modeling the World in States. Yourdon Press/Prentice Hall (1992)

    Google Scholar 

  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. 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. Drey, Z., Faucher, C., Fleurey, F., Mahé, V., Vojtisek, D.: Kermeta language (2009), http://kermeta.org/documents/manual/htm_chunked

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

McNeile, A., Roubtsova, E. (2010). Aspect-Oriented Development Using Protocol Modeling. In: Katz, S., Mezini, M., Kienzle, J. (eds) Transactions on Aspect-Oriented Software Development VII. Lecture Notes in Computer Science, vol 6210. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-16086-8_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-16086-8_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-16085-1

  • Online ISBN: 978-3-642-16086-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics