Rewriting logic is naturally concurrent: several subterms of the state term can be rewritten simultaneously. But state terms are global, which makes compositionality difficult to achieve. Compositionality here means being able to decompose a complex system into its functional components and code each as an isolated and encapsulated system. Our goal is to help bringing compositionality to system specification in rewriting logic. The base of our proposal is the operation that we call synchronous composition. We discuss the motivations and implications of our proposal, formalize it for rewriting logic and also for transition structures, to be used as semantics, and show the power of our approach with some examples. This paper is under consideration in Theory and Practice of Logic Programming (TPLP).
BIP stands for , , ---the three of a composed specification, as proposed by the authors. The behaviour of atomic components is specified by automata (of a special kind) some of whose actions are also taken as port names for communication. These automata are a specification of requirements on the component, whose real implementation can be made using any language or tool. Interaction is performed through connectors linking ports in potentially complex ways. Among the interactions that are allowed at any given time, the one with the highest priority is chosen and performed. Interaction and priority together implement control. The paper @cite_17 has a good overview. Several implementations exist that allow to use the BIP framework within programming languages like Java and C++.
@cite_17
2133038101
We present a methodology for modeling heterogeneous real-time components. Components are obtained as the superposition of three layers : Behavior, specified as a set of transitions; Interactions between transitions of the behavior; Priorities, used to choose amongst possible interactions. A parameterized binary composition operator is used to compose components layer by layer. We present the BIP language for the description and composition of layered components as well as associated tools for executing and analyzing components on a dedicated platform. The language provides a powerful mechanism for structuring interactions involving rendezvous and broadcast. We show that synchronous and timed systems are particular classes of components. Finally, we provide examples and compare the BIP framework to existing ones for heterogeneous component-based modeling.