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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
McNeile, A.: Protocol Contracts with application to Choreographed Multiparty Collaborations. In: Service Oriented Computing and Applications (in Publication, 2010)
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)
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)
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)
McNeile, A., Simons, N.: http://www.metamaxim.com/
McNeile, A., Simons, N.: Protocol Modelling. A Modelling Approach that Supports Reusable Behavioural Abstractions. Software and System Modeling 5(1), 91–107 (2006)
McNeile, A., Simons, N.: A Typing Scheme for Behavioural Models. Journal of Object Technology 6(10), 81–94 (2007)
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)
Hoare, C.: Communicating Sequential Processes. Prentice-Hall International, Englewood Cliffs (1985)
Hoare, C.: Why ever CSP? Electronic Notes in Theoretical Computer Science 162, 209–215 (2006)
Harel, D., Gery, E.: Executable Object Modelling with Statecharts. IEEE Computer 30(7), 31–42 (1997)
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)
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)
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)
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)
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)
Ebert, J., Engels, G.: Observable or invocable behaviour - You have to choose. Technical report. Universität Koblenz, Koblenz, Germany (1994)
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)
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)
Jackson, M.: System Development. Prentice Hall, Englewood Cliffs (1983)
Jackson, M.: Problem Frames: Analyzing and Structuring Software Development Problems. Addison-Wesley Longman Publishing Co., Inc., Boston (2001)
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)
OMG. Unified Modeling Language, Superstructure, v2.2. OMG Document formal/09-02-02 (2009)
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)
Milner, R.: A Calculus of Communicating Systems, vol. 92. Springer, Heidelberg (1980)
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)
Apel, S., Leich, T., Saake, G.: Mixin-Based Aspect Inheritance. Technical Report No. 10/2005, University of Magdeburg, Germany (2005)
Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design: The Theme Approach. Addison Wesley, Reading (2005)
Cook, S., Daniels, J.: Designing Object Systems. Object-Oriented Modelling with Syntropy. Prentice Hall, Englewood Cliffs (1994)
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)
Mellor, S., Balcer, M.: Executable UML: A Foundation for Model Driven Architecture. Addison Wesely, London (2002)
Shlaer, S., Mellor, S.: Object Life Cycles - Modeling the World in States. Yourdon Press/Prentice Hall (1992)
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)
Santen, T., Seifert, D.: Executing UML State Machines. Technical Report 2006-04,Fakultät für Elektrotechnik und Informatik, Technische Universität Berlin (2006)
Drey, Z., Faucher, C., Fleurey, F., Mahé, V., Vojtisek, D.: Kermeta language (2009), http://kermeta.org/documents/manual/htm_chunked
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)