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.

Communication, Component, Connector, Formalization, Meta-modeling, Reuse
Lecture Notes in Computer Science
Department of Systems and Computer Engineering

Rouland, Q. (Quentin), Hamid, B. (Brahim), & Jaskolka, J. (2018). Formalizing reusable communication models for distributed systems architecture. In Lecture Notes in Computer Science. doi:10.1007/978-3-030-00856-7_13