400 likes | 486 Views
Workshop AGILE, Munich, 4-5 December 2003. An algebra of Connectors for modeling CommUnity with Tiles. Ivan Lanese Dipartimento di Informatica Università di Pisa. Ongoing Work!. joint work with Roberto Bruni Ugo Montanari Dipartimento di Informatica Università di Pisa. Roadmap. Goals
E N D
Workshop AGILE, Munich, 4-5 December 2003 An algebra of Connectors for modeling CommUnity with Tiles Ivan Lanese Dipartimento di Informatica Università di Pisa Ongoing Work! joint work with Roberto Bruni Ugo Montanari Dipartimento di Informatica Università di Pisa
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
Tiles An algebra of Connectors for modeling CommUnity with Tiles
Configurations input interface output interface An algebra of Connectors for modeling CommUnity with Tiles
concurrent computation Observations initial interface also more complex observations... final interface 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
Example of decomposition 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
Structure of the configuration 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
Composition via one channel(3) 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
and symmetric Tiles (3) • For connectors: • the allowed combinations of tick and untick • An example: the co-me connector 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
Syntax of connectors 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 An algebra of Connectors for modeling CommUnity with Tiles