Abstract
Concern-Oriented REuse (CORE) is a multi-view modelling approach that builds on the disciplines of model-driven engineering, software product lines and aspect-orientation to define broad units of reuse, so called concerns. Concerns specify the essence of a design solution and its different variations, if any, using multiple structural and behavioural views, and expose the encapsulated functionality through a three-part interface: a variation, a customization and a usage interface. Concerns can reuse other concerns, and model composition techniques are used to create complex models in which these concerns are intertwined. In such a context, specifying the composition of the models is a non-trivial task, in particular when it comes to specifying the composition of behavioural models. This is the case for CORE message views, which define behaviour using sequence diagrams. In this paper we describe how we added an additional behavioural view to CORE – the state view – that specifies the allowed invocation protocol of class instances. We discuss why Protocol Modelling, a compositional modelling approach based on state diagrams, is an appropriate notation to specify such a state view, and show how we added support for protocol modelling to the CORE metamodel. Finally, we demonstrate how to model using the new state views by means of an example, and explain how state views can be exploited to model-check the correctness of behavioural compositions.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
TouchCORE, the CORE tool, allows the reuse of existing classes provided by the programming language or frameworks being used.
- 2.
For simplicity and readability reasons, the state machine with the getters and query operations from Association \(<\) Ordered \(>\) were not added to Fig. 15. To create the actual woven model it suffices to add to each of the depicted states all self-transitions of the state Available from the state view in Association \(<\) Ordered \(>\).
- 3.
addCheckpointable and addBackupCopy are the same operation add of class |Data as it is shown in the instantiation compartment of the Fig. 17.
References
TouchCORE Tool. http://touchcore.cs.mcgill.ca
Al Abed, W., Bonnet, V., Schöttle, M., Yildirim, E., Alam, O., Kienzle, J.: TouchRAM: a multitouch-enabled tool for aspect-oriented software design. In: Czarnecki, K., Hedin, G. (eds.) SLE 2012. LNCS, vol. 7745, pp. 275–285. Springer, Heidelberg (2013)
Alam, O., Kienzle, J., Mussbacher, G.: Concern-oriented software design. In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds.) MODELS 2013. LNCS, vol. 8107, pp. 604–621. Springer, Heidelberg (2013)
Elrad, T., Bader, A., Mahoney, M., Aldawud, O.: Using aspects to abstract and modularize statecharts. In: 5th Aspect-Oriented Modeling Workshop in Conjunction with UML 2004 (2004)
Hoare, C.: Communicating Sequential Processes. Prentice-Hall International, London (1985)
International Telecommunication Union (ITU-T). Recommendation Z.151 (10/12): User Requirements Notation (URN) - Language Definition, October 2012
Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: Feature-oriented domain analysis (FODA) feasibility study. Tech. Rep. CMU/SEI-90-TR-21, Software Engineering Institute, CMU (1990)
Kienzle, J.: Open Multithreaded Transactions – A Transaction Model for Concurrent Object-Oriented Programming. Kluwer Academic Publishers, Dordrecht (2003)
Kienzle, J., Al Abed, W., Klein, J.: Aspect-oriented multi-view modeling. In: Proceedings of the 8th International Conference on Aspect-Oriented Software Development - AOSD 2009, 1–6 March 2009, pp. 87–98. ACM Press, March 2009
Kienzle, J., Duala-Ekoko, E., Gélineau, S.: AspectOPTIMA: A case study on aspect dependencies and interactions. In: Rashid, A., Ossher, H. (eds.) Transactions on AOSD V. LNCS, vol. 5490, pp. 187–234. Springer, Heidelberg (2009)
Kienzle, J., Gélineau, S.: AO challenge: implementing the ACID properties for transactional objects. In: Proceedings of the 5th International Conference on Aspect-Oriented Software Development - AOSD 2006, 20–24 March 2006. ACM Press, pp. 202–213, March 2006
Klein, J., Kienzle, J.: Reusable aspect models. In: 11th Aspect-Oriented Modeling Workshop, Nashville, TN, USA, 30 September 2007, September 2007
McNeile, A., Roubtsova, E.: Composition semantics for executable and evolvable behavioral modeling in MDA. In: BM-MDA 2009 Proceedings of the 1st Workshop on Behaviour Modelling in Model-Driven Architecture, pp. 1–8 (2009)
McNeile, A., Roubtsova, E.: Aspect-oriented development using protocol modeling. In: Katz, S., Mezini, M., Kienzle, J. (eds.) Transactions on Aspect-Oriented Software Development VII. LNCS, vol. 6210, pp. 115–150. Springer, Heidelberg (2010)
McNeile, A., Simons, N.: Protocol modelling: a modelling approach that supports reusable behavioural abstractions. Softw. Syst. Model. 5(1), 91–107 (2006)
Miller, G.: The magical number seven, plus or minus two: some limits on our capacity for processing information. Psycholog. Rev. 63(2), 81 (1956)
Object Management Group. Unified Modeling Language: Superstructure (v 2.4.1), December 2011
Rashid, A., Ossher, H. (eds.): Transactions on Aspect-Oriented Development (TAOSD VI), vol. 5490. Springer, Heidelberg (2009). Special Issue on Dependencies and Interactions with Aspects
Rossi, M., Brinkkemper, S.: Complexity metrics for systems development methods and techniques. Inf. Syst. 21(2), 209–227 (1996)
Rumpe, B.: Towards model and language composition. In: Proceedings of the First Workshop on the Globalization of Domain Specific Languages, GlobalDSL 2013, pp. 4–7. ACM, New York (2013)
Schmidt, D.C.: Model-driven engineering. IEEE Comput. 39, 41–47 (2006)
Schöttle, M.: Aspect-Oriented Behavior Modeling in Practice. M.Sc. Thesis, Department of Computer Science, Karlsruhe University of Applied Sciences, September 2012
Schöttle, M., Kienzle, J.: On the challenges of composing multi-view models. In: The GEMOC 2013 Workshop Co-located with the 16th International Conference on Model Driven Engineering Languages and Systems (MODELS 2013), October 2013
Sweller, J.: Cognitive load during problem solving: effects on learning. Cogn. Sci. 12(2), 257–285 (1988)
Whittle, J.: The truth about model-driven development in industry - and why researchers should care (2012). http://www.slideshare.net/jonathw/whittle-modeling-wizards-2012/
Whittle, J., Hutchinson, J., Rouncefield, M., Burden, H., Heldal, R.: Industrial adoption of model-driven engineering: are the tools really the problem? In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds.) MODELS 2013. LNCS, vol. 8107, pp. 1–17. Springer, Heidelberg (2013)
Zhang, G., Hölzl, M.: HiLA: high-level aspects for UML state machines. In: Ghosh, S. (ed.) MODELS 2009. LNCS, vol. 6002, pp. 104–118. Springer, Heidelberg (2010)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Al Abed, W., Schöttle, M., Ayed, A., Kienzle, J. (2015). Concern-Oriented Behaviour Modelling with Sequence Diagrams and Protocol Models. In: Roubtsova, E., McNeile, A., Kindler, E., Gerth, C. (eds) Behavior Modeling -- Foundations and Applications. Lecture Notes in Computer Science(), vol 6368. Springer, Cham. https://doi.org/10.1007/978-3-319-21912-7_10
Download citation
DOI: https://doi.org/10.1007/978-3-319-21912-7_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-21911-0
Online ISBN: 978-3-319-21912-7
eBook Packages: Computer ScienceComputer Science (R0)