Modeling Role-Based Systems with Exogenous Coordination

  • Philipp ChrszonEmail author
  • Clemens Dubslaff
  • Christel Baier
  • Joachim Klein
  • Sascha Klüppelholz
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9660)


The concept of roles is a promising approach to cope with context dependency and adaptivity of modern software systems. While roles have been investigated in conceptual modeling, programming languages and multi-agent systems, they have been given little consideration within component-based systems.

In this paper, we propose a hierarchical role-based approach for modeling relationships and collaborations between components. In particular, we consider the channel-based, exogenous coordination language Reo and discuss possible realizations of roles and related concepts. The static requirements on the binding of roles are modeled by rule sets expressed in many-sorted second-order logic and annotations on the Reo networks for role binding, context and collaborations, while Reo connectors are used to model the coordination of runtime role playing. The ideas presented in this paper may serve as a basis for the formalization and formal analysis of role-based software systems.


Soccer Player Role Player Operational Semantic Atomic Component Router Node 
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.
    Arbab, F.: Abstract behavior types: a foundation model for components and their composition. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2002. LNCS, vol. 2852, pp. 33–70. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  2. 2.
    Arbab, F.: Reo: a channel-based coordination model for component composition. Math. Struct. Comput. Sci. 14, 329–366 (2004)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Arbab, F., Baier, C., de Boer, F.S., Rutten, J., Sirjani, M.: Synthesis of Reo circuits for implementation of component-connector automata specifications. In: Jacquet, J.-M., Picco, G.P. (eds.) COORDINATION 2005. LNCS, vol. 3454, pp. 236–251. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  4. 4.
    Arbab, F., Rutten, J.J.M.M.: A coinductive calculus of component connectors. In: Wirsing, M., Pattinson, D., Hennicker, R. (eds.) WADT 2003. LNCS, vol. 2755, pp. 34–55. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  5. 5.
    Arbab, F., Baier, C., de Boer, F.S., Rutten, J.M.M., Sirjani, M.: Models and temporal logical specifications for timed component connectors. Softw. Syst. Model. 6(1), 59–82 (2007)CrossRefGoogle Scholar
  6. 6.
    Arbab, F., Meng, S., Moon, Y.-J., Kwiatkowska, M.Z., Hongyang, Q.: Reo2MC: a tool chain for performance analysis of coordination models. In: 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 287–288. ACM (2009)Google Scholar
  7. 7.
    Baier, C., Blechmann, T., Klein, J., Klüppelholz, S.: Formal verification for components and connectors. In: de Boer, F.S., Bonsangue, M.M., Madelaine, E. (eds.) FMCO 2008. LNCS, vol. 5751, pp. 82–101. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  8. 8.
    Baier, C., Blechmann, T., Klein, J., Klüppelholz, S.: A uniform framework for modeling and verifying components and connectors. In: Field, J., Vasconcelos, V.T. (eds.) COORDINATION 2009. LNCS, vol. 5521, pp. 247–267. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  9. 9.
    Baier, C., Klein, J., Klüppelholz, S.: Synthesis of Reo connectors for strategies and controllers. Fundamenta Informaticae 130(1), 1–20 (2014)MathSciNetzbMATHGoogle Scholar
  10. 10.
    Baier, C., Sirjani, M., Arbab, F., Rutten, J.J.M.M.: Modeling component connectors in Reo by constraint automata. Sci. Comput. Program. 61(2), 75–113 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Becht, M., Gurzki, T., Klarmann, J., Muscholl, M.: ROPE: role oriented programming environment for multiagent systems. In: Cooperative Information Systems (CoopIS 1999), pp. 325–333 (1999)Google Scholar
  12. 12.
    Cabri, G., Ferrari, L., Leonardo, L.: Rethinking agent roles: extending the role definition in the brain framework. In: Systems, Man and Cybernetics (SMC 2004), vol. 6, pp. 5455–5460. IEEE (2004)Google Scholar
  13. 13.
    Cabri, G., Leonardi, L., Ferrari, L., Zambonelli, F.: Role-based software agent interaction models: a survey. Knowl. Eng. Rev. 25(04), 397–419 (2010)CrossRefGoogle Scholar
  14. 14.
    Cabri, G., Leonardi, L., Zambonelli, F.: BRAIN: a framework for flexible role-based interactions in multiagent systems. In: Meersman, R., Schmidt, D.C. (eds.) CoopIS 2003, DOA 2003, and ODBASE 2003. LNCS, vol. 2888, pp. 145–161. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  15. 15.
    Clarke, D., Costa, D., Arbab, F.: Connector colouring I: synchronisation and context dependency. Sci. Comput. Program. 66(3), 205–225 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Clarke, D.: A basic logic for reasoning about connector reconfiguration. Fundamenta Informaticae 82(4), 361–390 (2008)MathSciNetzbMATHGoogle Scholar
  17. 17.
    de Alfaro, L., da Silva, L.D., Faella, M., Legay, A., Roy, P., Sorea, M.: Sociable interfaces. In: Gramlich, B. (ed.) FroCos 2005. LNCS (LNAI), vol. 3717, pp. 81–105. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  18. 18.
    de Alfaro, L., Henzinger, T.A.: Interface theories for component-based design. In: Henzinger, T.A., Kirsch, C.M. (eds.) EMSOFT 2001. LNCS, vol. 2211, pp. 148–165. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  19. 19.
    Dijkstra, E.W.: On the role of scientific thought. In: Selected Writings on Computing: A Personal Perspective, pp. 60–66. Springer, New York (1982). Transcribed 1974Google Scholar
  20. 20.
    Fasli, M.: Social interactions in multi-agent systems: a formal approach. In: Intelligent Agent Technology (IAT 2003), pp. 240–246. IEEE (2003)Google Scholar
  21. 21.
    Ferber, J., Gutknecht, O.: A meta-model for the analysis and design of organizations in multi-agent systems. In: Multi Agent Systems (ICMAS 1998), pp. 128–135. IEEE (1998)Google Scholar
  22. 22.
    Ferber, J., Gutknecht, O., Michel, F.: From agents to organizations: an organizational view of multi-agent systems. In: Giorgini, P., Müller, J.P., Odell, J.J. (eds.) AOSE 2003. LNCS, vol. 2935, pp. 214–230. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  23. 23.
    Guarino, N., Welty, C.A.: A formal ontology of properties. In: Dieng, R., Corby, O. (eds.) EKAW 2000. LNCS (LNAI), vol. 1937, pp. 97–112. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  24. 24.
    Hennicker, R., Klarl, A.: Foundations for ensemble modeling – the Helena approach. In: Iida, S., Meseguer, J., Ogata, K. (eds.) Specification, Algebra, and Software. LNCS, vol. 8373, pp. 359–381. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  25. 25.
    Izadi, M., Movaghar, A., Arbab, F.: Model checking of component connectors. In: 31st Annual International Computer Software and Applications Conference, (COMPSAC), pp. 673–675. IEEE Computer Society (2007)Google Scholar
  26. 26.
    Jongmans, S.-S.T.Q., Arbab, F.: Overview of thirty semantic formalisms for Reo. Sci. Ann. Comput. Sci. 22(1), 201–251 (2012)MathSciNetGoogle Scholar
  27. 27.
    Klarman, S., Gutiérrez-Basulto, V.: Two-dimensional description logics of context. In: Description Logics (DL 2011), vol. 745. CEUR Workshop Proceedings (2011)Google Scholar
  28. 28.
    Klein, J.: Compositional synthesis and most general controllers. Ph.D. thesis, Technische Universität Dresden (2013)Google Scholar
  29. 29.
    Klein, J., Baier, C., Klüppelholz, S.: Compositional construction of most general controllers. Acta Informatica, Spec. Issue: Combining Compositionality Concurrency: Part 2 52(4–5), 443–482 (2015)MathSciNetzbMATHGoogle Scholar
  30. 30.
    Klüppelholz, S.: Verification of branching-time and alternating-time properties for exogenous coordination models. Ph.D. thesis, Technische Universität Dresden (2012)Google Scholar
  31. 31.
    Klüppelholz, S., Baier, C.: Alternating-time stream logic for multi-agent systems. Sci. Comput. Program. 75(6), 398–425 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
  32. 32.
    Kokash, N., Krause, C., de Vink, E.P.: Data-aware design and verification of service compositions with Reo and mCRL2. In: Symposium on Applied Computing (SAC 2010), pp. 2406–2413. ACM (2010)Google Scholar
  33. 33.
    Kokash, N., Krause, C., de Vink, E.P.: Reo + mCRL2: a framework for model-checking dataflow in service compositions. Formal Aspects Comput. 24(2), 187–216 (2012)MathSciNetCrossRefzbMATHGoogle Scholar
  34. 34.
    Krause, C., Maraikar, Z., Lazovik, A., Arbab, F.: Modeling dynamic reconfigurations in Reo using high-level replacement systems. Sci. Comput. Program. 76(1), 23–36 (2011)CrossRefzbMATHGoogle Scholar
  35. 35.
    Kühn, T., Böhme, S., Götz, S., Aßmann, U.: A combined formal model for relational context-dependent roles. In: Software Language Engineering (SLE 2015) (2015, to appear)Google Scholar
  36. 36.
    Kühn, T., Leuthäuser, M., Götz, S., Seidl, C., Aßmann, U.: A metamodel family for role-based modeling and programming languages. In: Combemale, B., Pearce, D.J., Barais, O., Vinju, J.J. (eds.) SLE 2014. LNCS, vol. 8706, pp. 141–160. Springer, Heidelberg (2014)Google Scholar
  37. 37.
    Moon, Y.-J., Silva, A., Krause, C., Arbab, F.: A compositional model to reason about end-to-end QoS in stochastic Reo connectors. Sci. Comput. Program. 80, 3–24 (2014)CrossRefGoogle Scholar
  38. 38.
    Papadopoulos, G.A., Arbab, F.: Coordination models and languages. Adv. Comput. 46, 329–400 (1998)CrossRefGoogle Scholar
  39. 39.
    Pourvatan, B., Sirjani, M., Hojjat, H., Arbab, F.: Symbolic execution of Reo circuits using constraint automata. Sci. Comput. Program. 77(7–8), 848–869 (2012)CrossRefzbMATHGoogle Scholar
  40. 40.
    Proença, J., Clarke, D.: Data abstraction in coordination constraints. In: Canal, C., Villari, M. (eds.) ESOCC 2013. CCIS, vol. 393, pp. 159–173. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  41. 41.
    Reenskaug, T., Wold, P., Lehne, O.A.: Working with Objects: The Ooram Software Engineering Method. Manning, Greenwich (1996)zbMATHGoogle Scholar
  42. 42.
    Ren, S., Yu, Y., Chen, N., Marth, K., Poirot, P.-E., Shen, L.: Actors, roles and coordinators — a coordination model for open distributed and embedded systems. In: Ciancarini, P., Wiklicky, H. (eds.) COORDINATION 2006. LNCS, vol. 4038, pp. 247–265. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  43. 43.
    Steimann, F.: On the representation of roles in object-oriented and conceptual modelling. Data Knowl. Eng. 35(1), 83–106 (2000)CrossRefzbMATHGoogle Scholar
  44. 44.
    Talcott, C., Sirjani, M., Ren, S.: Comparing three coordination models: Reo, ARC, and RRD. In: Foundations of Coordination Languages and Software Architectures (FOCLASA 2007). Electronic Notes in Theoretical Computer Science, vol. 194, no. 4, pp. 39–55. Elsevier (2008)Google Scholar
  45. 45.
    Zhu, H., Zhou, M.: Roles in information systems: a survey. IEEE Trans. Syst. Man Cybern. Part C 38(3), 377–396 (2008)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Philipp Chrszon
    • 1
    Email author
  • Clemens Dubslaff
    • 1
  • Christel Baier
    • 1
  • Joachim Klein
    • 1
  • Sascha Klüppelholz
    • 1
  1. 1.Faculty of Computer ScienceTechnische Universität DresdenDresdenGermany

Personalised recommendations