![]() |
Operational semantics |
![]() |
There are several operational semantics that apply to CommUnity in its different aspects: computational, configuration, and mobility.
Graph-rewriting techniques have been used to give semantics to a high-level language to describe architectures and for operating changes over a configuration such as adding, removing or substituting components or interconnections. Categorical diagrams are used to represent architectures (instances) and the double-pushout graph transformation approach is used to specify reconfigurations. The diagrams are defined as enrichments of CommUnity diagrams that we call run-time or anchored configurations. These are diagrams in which each node, besides being labelled with a CommUnity design, is also labelled with its current state, i.e., with an assignment of a value to each channel. As a result, the semantics of reconfiguration captures the computational aspects as well.
The encoding of the double-pushout based approach in Rewriting Logic developed by José Meseguer was used to give semantics to the concept of transient connectors in the sense of architectural connectors with associated conditions on the states of their roles that determine the situations in which they apply. The idea is that a connector does not need to be permanently part of an architecture, but is added and removed according to its applicability condition. This can be seen as a restricted form of dynamic architectures in which the evolution of the architecture is determined by well defined operations of addition and removal of connectors that are to be performed in well determined states of the underlying system. The labels that are used for the semantics of transient connectors are pairs (P; s) with P a CommUnity program and s a state configuration for P. We caledl such graphs anchored configurations.
This is work in progress with Andrea Corradini, Dan Hirsch and Ivan Lanese at the University of Pisa. It addresses the computational and configuration aspects.
This is work in progress with Roberto Bruni and Ugo Montanari at the University of Pisa. It addresses the computational and configuration aspects.
This is work in progress with Alessandro Lapadula and Rosario Pugliese at the University of Florence. It addresses the mobility aspects.
|