Formal specification and verification of reusable communication models for distributed systems architecture
The development of distributed computing systems involves complex concerns related to integrating numerous communication styles, technologies (Internet of Things, cloud, big data, etc.), stakeholders (architects, developers, integrators, etc.) and addressing a multitude of application domains (smart...
Saved in:
Published in | Future generation computer systems Vol. 108; pp. 178 - 197 |
---|---|
Main Authors | , , |
Format | Journal Article |
Language | English |
Published |
Elsevier B.V
01.07.2020
|
Subjects | |
Online Access | Get full text |
Cover
Loading…
Summary: | The development of distributed computing systems involves complex concerns related to integrating numerous communication styles, technologies (Internet of Things, cloud, big data, etc.), 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 propose an approach combining semi-formal and formal languages which considers modeling and formalization from both the structural and communication behavior perspectives. As a prerequisite, we build reusable model libraries to specify and verify communication styles for modeling software architectures of distributed systems. First, we propose a metamodel to describe high-level concepts of architecture in a component–port–connector fashion focusing on different communication styles. Then, we 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 communication models that are common to most distributed systems including message passing, remote procedure calls, and distributed shared memory. Through reuse of these specified and verified connectors, we demonstrate how concrete software architectures for a given application domain can be developed.
•Modeling: We define a metamodel to describe high-level concepts of component–port–connector architectures focusing on communication styles (message passing, remote procedure call, and distributed shared memory).•Specification: We describe the three communication style semantics through finite state machine formalism.•Verification: We formally specify the metamodel concepts and their semantics following some properties (specifications) using Alloy. Then, we check architectural conformance of the communication style at the model level using Alloy Analyzer. |
---|---|
ISSN: | 0167-739X 1872-7115 |
DOI: | 10.1016/j.future.2020.02.033 |