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...

Full description

Saved in:
Bibliographic Details
Published inFuture generation computer systems Vol. 108; pp. 178 - 197
Main Authors Rouland, Quentin, Hamid, Brahim, Jaskolka, Jason
Format Journal Article
LanguageEnglish
Published Elsevier B.V 01.07.2020
Subjects
Online AccessGet full text

Cover

Loading…
More Information
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