Formalizing Reusable Communication Models for Distributed Systems Architecture

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11163)


Building distributed computing systems involves complex concerns integrating a multitude of communication styles, technologies (IoT, cloud and big data...), stakeholders (architects, developers, integrators, etc.) and addressing a multitude of application domains (smart cities, health, mobility, etc.). Existing architectural description languages fail to rigorously bridge the gap between the abstract representation of communication styles and those supported by existing execution infrastructures. In this paper, we aim at specifying software architecture of distributed systems using an approach combining semi-formal and formal languages to build reusable model libraries to represent communication solutions. Our contribution is two fold. First, we propose a metamodel to describe high level concepts of architecture in a component- port- connector fashion focusing on communication styles. Second, we attempt to formalize those concepts and their semantics following some properties (specifications) to check architectural conformance. To validate our work, we provide a set of reusable connector libraries within a set of properties to define architectures for systems with explicit communications models like message passing and remote procedure calls, that are common to most distributed systems.


Component Connector Communication Reuse Meta-modeling Formalization 


  1. 1.
    Alloy Analyzer. Accessed June 2017
  2. 2.
    Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Trans. Softw. Eng. Methodol. 6(3), 213–249 (1997)CrossRefGoogle Scholar
  3. 3.
    Coulouris, G., Dollimore, J., Kindberg, T., Blair, G.: Distributed Systems: Concepts and Design, 5th edn. Addison-Wesley Publishing Company, Boston (2011)zbMATHGoogle Scholar
  4. 4.
    Crnkovic, I.: Component-based software engineering for embedded systems. In: Proceedings of the 27th International Conference on Software Engineering, ICSE 2005, pp. 712–713. ACM (2005)Google Scholar
  5. 5.
    Garlan, D.: Formal modeling and analysis of software architecture: components, connectors, and events. In: Bernardo, M., Inverardi, P. (eds.) SFM 2003. LNCS, vol. 2804, pp. 1–24. Springer, Heidelberg (2003). Scholar
  6. 6.
    Hamid, B., Gürgens, S., Fuchs, A.: Security patterns modeling and formalization for pattern-based development of secure software systems. Innov. Syst. Softw. Eng. 12(2), 109–140 (2016)CrossRefGoogle Scholar
  7. 7.
    Hamid, B., Perez, J.: Supporting pattern-based dependability engineering via model-driven development: approach, tool-support and empirical validation. J. Syst. Softw. 122, 239–273 (2016)CrossRefGoogle Scholar
  8. 8.
    Heyman, T., Scandariato, R., Joosen, W.: Reusable formal models for secure software architectures. In: Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture, pp. 41–50 (2012)Google Scholar
  9. 9.
    Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666–677 (1978)CrossRefGoogle Scholar
  10. 10.
    Jackson, D.: Software Abstractions: Logic, Language, and Analysis. The MIT Press, Cambridge (2006)Google Scholar
  11. 11.
    Khosravi, R., Sirjani, M., Asoudeh, N., Sahebi, S., Iravanchi, H.: Modeling and analysis of Reo connectors using alloy. In: Lea, D., Zavattaro, G. (eds.) COORDINATION 2008. LNCS, vol. 5052, pp. 169–183. Springer, Heidelberg (2008). Scholar
  12. 12.
    Kruchten, P.: Architectural blueprints - the “4+1” view model of software architecture. IEEE Softw. 12(6), 42–50 (1995)CrossRefGoogle Scholar
  13. 13.
    OMG: CORBA Specification, Version 3.1. Part 3: CORBA Component Model (2008). Accessed Nov 2009
  14. 14.
    OMG. OMG Systems Modeling Language (OMG SysML), Version 1.1 (2008).,. Accessed Jan 2013
  15. 15.
    OMG: Object Constraint Language (OCL), Version 2.2 (2010). Accessed Jan 2013
  16. 16.
    OMG: UML profile for Modeling and Analysis of Real-Time and Embedded Systems (MARTE), Version 1.1 (2011). Accessed Jan 2013
  17. 17.
    OMG: Unified Modeling Language (UML), Version 2.4.1 (2011). Accessed Jan 2013
  18. 18.
    OMG: Unified Component Model for Distributed, Real-Time And Embedded Systems, Version 1.0 (2017). Accessed Jan 2018
  19. 19.
    OWASP: Application threat modeling (2017). Accessed Dec 2017
  20. 20.
    Alur, R., Dill, D.: The theory of timed automata. In: de Bakker, J.W., Huizing, C., de Roever, W.P., Rozenberg, G. (eds.) REX 1991. LNCS, vol. 600, pp. 45–73. Springer, Heidelberg (1992). Scholar
  21. 21.
    Ravi, S., Raghunathan, A., Kocher, P., Hattangady, S.: Security in embedded systems: design challenges. ACM Trans. Embed. Comput. Syst. 3(3), 461–491 (2004)CrossRefGoogle Scholar
  22. 22.
    Taylor, R.N., Medvidovic, N.: Software Architecture: Foundation, Theory, and Practice. Wiley, Hoboken (2010)Google Scholar
  23. 23.
    Rodano, M., Giammarc, K.: A formal method for evaluation of a modeled system architecture. Procedia Comput. Sci. 20, 210–215 (2013)CrossRefGoogle Scholar
  24. 24.
    SAE: Architecture Analysis & Design Language (AADL) (2009). Accessed Jan 2011
  25. 25.
    Selic, B.: The pragmatics of model-driven development. IEEE Softw. 20(5), 19–25 (2003)CrossRefGoogle Scholar
  26. 26.
    Zurawski, R.: Embedded systems in industrial applications - challenges and trends. In: International Symposium on Industrial Embedded Systems (SIES). IEEE (2007)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  1. 1.IRIT, University of ToulouseToulouseFrance
  2. 2.Systems and Computer Engineering Carleton University OttawaOntarioCanada

Personalised recommendations