View
216
Download
2
Category
Tags:
Preview:
Citation preview
An algebra of Connectors for
modeling CommUnity with Tiles
joint work withRoberto BruniUgo MontanariDipartimento di Informatica Università di Pisa
Ivan LaneseDipartimento di Informatica Università di Pisa
Workshop AGILE, Munich, 4-5 December 2003
Ongoing
Work
!
An algebra of Connectors for modeling
CommUnity with Tiles
Roadmap Goals Tile Logic Decomposition for CommUnity
designs Mapping of CommUnity into the Tile
Model Axiomatization of colimits Ongoing and future work
An algebra of Connectors for modeling
CommUnity with Tiles
Roadmap Goals Tile Logic Decomposition for CommUnity
designs Mapping of CommUnity into the Tile
Model Axiomatization of colimits Ongoing and future work
An algebra of Connectors for modeling
CommUnity with Tiles
Goals: categorical vs algebraic approach
Relations between categorical and algebraic approach
Categorical approach: objects are system specifications related by
morphisms compositionality via universal constructions colimits as denotational semantics
Algebraic approach constants are basic programs, composition via
algebraic operations semantics via labelled transition systems abstract semantics via observational equivalences
An algebra of Connectors for modeling
CommUnity with Tiles
Specific goals & other results
We analyze in particular CommUnity vs Tile Model
Operational and behavioural semanitcs for CommUnity
Cross-fertilization between the two approaches: decomposition for CommUnity designs algebra for CommUnity synchronization equivalence between diagram and colimit via
normalization bisimilarity results “separation of concerns” in tile configurations
An algebra of Connectors for modeling
CommUnity with Tiles
Roadmap Goals Tile Logic Decomposition for CommUnity
designs Mapping of CommUnity into the Tile
Model Axiomatization of colimits Ongoing and future work
An algebra of Connectors for modeling
CommUnity with Tiles
Tile Logic Operational and Abstract Semantics of
Open Concurrent Systems Compositional in Space and Time Specification Formats
Depending on chosen connectors Congruence results
Category based, but with an algebraic approach to compositionality
An algebra of Connectors for modeling
CommUnity with Tiles
Configurations
inputinterface
outputinterface
An algebra of Connectors for modeling
CommUnity with Tiles
Observationsinitial
interface
finalinterface
concurrent
computation
also more complex observations...
An algebra of Connectors for modeling
CommUnity with Tiles
Roadmap Goals Tile Logic Decomposition for CommUnity
designs Mapping of CommUnity into the Tile
Model Axiomatization of colimits Ongoing and future work
An algebra of Connectors for modeling
CommUnity with Tiles
Decomposition for CommUnity designs:aims
Find the basic components of a CommUnity design:
understanding the algebraic structure helping the translation
Decomposition in the glue-channels-roles style
An algebra of Connectors for modeling
CommUnity with Tiles
Correctness The colimit of the decomposition is
(isomorphic to) the starting design Extension: decompose all the roles in
a diagram The decomposition and the starting
diagram have the “same” colimit
An algebra of Connectors for modeling
CommUnity with Tiles
Roadmap Goals Tile Logic Decomposition for CommUnity
designs Mapping of CommUnity into the Tile
Model Axiomatization of colimits Ongoing and future work
An algebra of Connectors for modeling
CommUnity with Tiles
Which mapping? Mapping diagrams One diagram defines a configuration
(with state iff the diagram is anchored)
Tile system depends on the designs used and on the algebra for functions and predicates
Finite tile systems for finite diagrams
An algebra of Connectors for modeling
CommUnity with Tiles
Building the configuration: the strategy
We consider connected decomposed systems
Mapping of non-channel modules variable managers guard managers glues
Mapping of the operation “composition via one channel”
Connecting the state
An algebra of Connectors for modeling
CommUnity with Tiles
Objects Three kinds of objects:
variables: typed with type and modality (input / output)
special boolean objects: the results of the execution conditions
synchronization objects: correspond to actions
An algebra of Connectors for modeling
CommUnity with Tiles
Variable managers Fully identified by a multiset of
assignments One constructor for each variable
manager Left interface: one variable object for
each variable Right interface: one synchronization
object for each action
An algebra of Connectors for modeling
CommUnity with Tiles
Guard managers Guard managers are predicates One constructor for each guard
manager Algebra of predicates needed for
simplification Left interface: one variable object for
each variable Right interface: exactly one
synchronization object
An algebra of Connectors for modeling
CommUnity with Tiles
Glues Two functions:
collecting variables enforcing mutual exclusion on actions
Build out of simpler connectors
An algebra of Connectors for modeling
CommUnity with Tiles
Composition via one channel(1)
Composing variables we use trees of (typed) binary
connectors (duplicators) we merge all the variables in the image
of the same channel variable we merge special boolean objects
An algebra of Connectors for modeling
CommUnity with Tiles
Composition via one channel(2)
Composing actions we keep a copy of any action for later
use actions in two groups mapped to the
same channel action must be combined in all possible ways
combined actions are closed
An algebra of Connectors for modeling
CommUnity with Tiles
Adding state The state is a basic constructor
defined by: a tuple of types a tuple of values of these types
Closed to the left One variable object for each variable
An algebra of Connectors for modeling
CommUnity with Tiles
Vertical structure In the data part:
observations composed by a predicate and a tuple of assignments
can be expressed as terms with a special constructor (*) for input (input is out of the control of the design)
In the action part: either tick (action done) or untick (action
not done)
An algebra of Connectors for modeling
CommUnity with Tiles
Tiles (1) For variable managers:
one tile for each action the assignment on the left tick on the chosen action, untick on the other
ones on the right For guard managers
two tiles action taken: predicate on the left, tick on the right action not taken: true on the left, untick on the right
An algebra of Connectors for modeling
CommUnity with Tiles
Tiles (2) For variable sharing:
* disappears when merged with other observations
no merges between outputs merging special boolean objects gives the and
of the predicates For state:
tile from s1 to s2 with observation (p,f) if s1 satisfies p f(s1)=s2
An algebra of Connectors for modeling
CommUnity with Tiles
Tiles (3) For connectors:
the allowed combinations of tick and untick
An example: the co-me connector
and symmetric
An algebra of Connectors for modeling
CommUnity with Tiles
Correspondence theorem CONF[s] translation of a diagram DG
with state s Tile with initial state CONF[s1] and
final state CONF[s2] iff there is a computation on diagram DG from state s1 to state s2
An algebra of Connectors for modeling
CommUnity with Tiles
Roadmap Goals Tile Logic Decomposition for CommUnity
designs Mapping of CommUnity into the Tile
Model Axiomatization of colimits Ongoing and future work
An algebra of Connectors for modeling
CommUnity with Tiles
Computing colimit Variable part already ok Guard managers normalized via
algebra of predicates Variable managers normalized by
duplicating their actions when required
Needed: normal form for the (closed) synchronization structure
An algebra of Connectors for modeling
CommUnity with Tiles
Algebra of connectors Powerful algebra is needed
representing sets of sets Already seen connectors are not
enough for proving normalization We consider an extended algebra
An algebra of Connectors for modeling
CommUnity with Tiles
Semantics of connectors Semantics corresponds to the
accepted input/output configurations Semantics of a connector :mn is a
table 2nx2m with 1 if the corresponding configuration is acceptable
Sequential composition of connectors corresponds to matrix multiplication
An algebra of Connectors for modeling
CommUnity with Tiles
Axiomatization of connectors
Duplicator, coduplicator, discharger and codischarger form a p-monoidal category
Mutual exclusion connectors, 0 and co 0 form an r-monoidal category
New axioms to make the two structures interact
Axioms for 1 and co 1
An algebra of Connectors for modeling
CommUnity with Tiles
Results Correctness: equivalent arrows
bisimulate Completeness: each table with at least
one marked entry can be represented Normalization: the configuration
associated to a CommUnity diagram is isomorphic up-to the axioms to the configuration associated to (the decomposition of) its colimit
An algebra of Connectors for modeling
CommUnity with Tiles
Roadmap Goals Tile Logic Decomposition for CommUnity
designs Mapping of CommUnity into the Tile
Model Axiomatization of colimits Ongoing and future work
An algebra of Connectors for modeling
CommUnity with Tiles
Ongoing and future work All you have seen IS ongoing work Extending the translation to other
features of CommUnity (may require adding dimensions to tiles)
reconfiguration refinement localities
Applying the approach to other categorical and algebraic models
Recommended