Concern-Oriented Behaviour Modelling with Sequence Diagrams and Protocol Models

  • Wisam Al Abed
  • Matthias SchöttleEmail author
  • Abir Ayed
  • Jörg Kienzle
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6368)


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.


State Machine Unify Modelling Language Sequence Diagram State View Software Product Line 
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.


  1. 1.
  2. 2.
    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) CrossRefGoogle Scholar
  3. 3.
    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) CrossRefGoogle Scholar
  4. 4.
    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)Google Scholar
  5. 5.
    Hoare, C.: Communicating Sequential Processes. Prentice-Hall International, London (1985) Google Scholar
  6. 6.
    International Telecommunication Union (ITU-T). Recommendation Z.151 (10/12): User Requirements Notation (URN) - Language Definition, October 2012Google Scholar
  7. 7.
    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)Google Scholar
  8. 8.
    Kienzle, J.: Open Multithreaded Transactions – A Transaction Model for Concurrent Object-Oriented Programming. Kluwer Academic Publishers, Dordrecht (2003) Google Scholar
  9. 9.
    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 2009Google Scholar
  10. 10.
    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) CrossRefGoogle Scholar
  11. 11.
    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 2006Google Scholar
  12. 12.
    Klein, J., Kienzle, J.: Reusable aspect models. In: 11th Aspect-Oriented Modeling Workshop, Nashville, TN, USA, 30 September 2007, September 2007Google Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    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) CrossRefGoogle Scholar
  15. 15.
    McNeile, A., Simons, N.: Protocol modelling: a modelling approach that supports reusable behavioural abstractions. Softw. Syst. Model. 5(1), 91–107 (2006)CrossRefGoogle Scholar
  16. 16.
    Miller, G.: The magical number seven, plus or minus two: some limits on our capacity for processing information. Psycholog. Rev. 63(2), 81 (1956)CrossRefGoogle Scholar
  17. 17.
    Object Management Group. Unified Modeling Language: Superstructure (v 2.4.1), December 2011Google Scholar
  18. 18.
    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 Google Scholar
  19. 19.
    Rossi, M., Brinkkemper, S.: Complexity metrics for systems development methods and techniques. Inf. Syst. 21(2), 209–227 (1996)CrossRefGoogle Scholar
  20. 20.
    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)Google Scholar
  21. 21.
    Schmidt, D.C.: Model-driven engineering. IEEE Comput. 39, 41–47 (2006)CrossRefGoogle Scholar
  22. 22.
    Schöttle, M.: Aspect-Oriented Behavior Modeling in Practice. M.Sc. Thesis, Department of Computer Science, Karlsruhe University of Applied Sciences, September 2012Google Scholar
  23. 23.
    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 2013Google Scholar
  24. 24.
    Sweller, J.: Cognitive load during problem solving: effects on learning. Cogn. Sci. 12(2), 257–285 (1988)CrossRefGoogle Scholar
  25. 25.
    Whittle, J.: The truth about model-driven development in industry - and why researchers should care (2012).
  26. 26.
    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) CrossRefGoogle Scholar
  27. 27.
    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) CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Wisam Al Abed
    • 1
  • Matthias Schöttle
    • 1
    Email author
  • Abir Ayed
    • 1
  • Jörg Kienzle
    • 1
  1. 1.School of Computer ScienceMcGill UniversityMontrealCanada

Personalised recommendations