Behavioural semantics for asynchronous components

R. Ameur-Boulifa, L. Henrio, O. Kulankhina, E. Madelaine, A. Savu
2017 Journal of Logical and Algebraic Methods in Programming  
Software components are a valuable programming abstraction that enables a compositional design of complex applications. In distributed systems, components can also be used to provide an abstraction of locations: each component is a unit of deployment that can be placed on a dierent machine. In this article, we consider this kind of distributed components that are additionally loosely coupled and communicate by asynchronous invocations. Components also provide a convenient abstraction for
more » ... ng the correct behaviour of systems: they provide structuring entities easing the correctness verication. This article aims at providing a formal background for the generation of behavioural semantics for asynchronous components. We use the pNet intermediate language to express the semantics of hierarchical distributed components communicating asynchronously by a request-reply mechanism. We also formalise two crucial aspects of distributed components: reconguration and one-to-many communications. This article both demonstrates the expressiveness of the pNet model and formally species the complete process of the generation of a behavioural model for a distributed component system. The behavioural models we build are precise enough to allow verication by nite instantiation and model-checking, but also to use verication techniques for innite systems.
doi:10.1016/j.jlamp.2017.02.003 fatcat:d75p3am4krbo5fepxdzrcjp4dm