270 likes | 355 Views
Constraint Automata. David Costa CWI IPA Lentedagen 2007. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A. Motivation Timed Data Streams Constraint Automata Data Constraints Models of Reo connectors Automata Operators Product Hiding
E N D
Constraint Automata David Costa CWI IPA Lentedagen 2007 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
Motivation • Timed Data Streams • Constraint Automata • Data Constraints • Models of Reo connectors • Automata Operators • Product • Hiding • Behaviour equivalence and containment • Related work • Conclusions • Ongoing work Outline IPA Lentedagen 2007
Observable data flow of coordinating connectors • data flow at input/output ports (source/sink nodes) of a connector • Composition operators • facilitate the modelling of large systems • We abstain from what: • data flow direction • topology of the connector MotivationWhat do we want to model? IPA Lentedagen 2007
Non-empty set of data: Data • domain of data that can flow through the connector • The set of a data streams over the set Data, are all the infinite sequences over Data denoted by: • The set of timed streams over the set IR+, are all the infinite sequences over IR+ denoted by: Timed Data Stream (TDS) IPA Lentedagen 2007
The set of timed data streams, TDS, over the set Data, is given by: • A set of Namesto use for the input or output ports of the connector • Assigning a TDS to a connector port Aidefines the data flow behaviour of a port Ai Timed Data Stream (TDS) IPA Lentedagen 2007
Channels • assigning a binary relations R µ TDS£TDS defines the data flow behaviour of a channel. • Example • the data flow behaviour of a synchronous channel is formally described by the relation: Reference: F.Arbab and J.J.M.M.Rutten. A coinductive calculus of component connectors. WADT 2002. Connectors as TDS-tupples IPA Lentedagen 2007
Automata • as acceptors of relations on timed data streams, such automaton observes the data occurring at certain input/output ports and either fires a transition according to the observed data or rejects it if there is no corresponding transition in the automaton. • State • possible configurations (buffer contents) • Transition • one-step possible data flow satisfying some data constraints and its effect on the present configuration Constraint AutomataThe idea/Informaly IPA Lentedagen 2007
Symbolic representation of sets of data assignments (subsets of Data) • Built from the atoms: dA= dwith the grammar: • Common derived data constraints: • DC(N, Data) • N non-empty subset of Names • denotes the set of data constraintsdA= d, A 2 N Data Constraints IPA Lentedagen 2007
Constraint AutomataFormal definition IPA Lentedagen 2007
buffer FIFO1 with ports A and B buffer FIFO1 1-Bounded FIFO Channel IPA Lentedagen 2007
Channels asyncdrain/asyncspout sync syncdrain/syncspout Constraint AutomataModels of Reo connectors (I) IPA Lentedagen 2007
Merger merger Constraint AutomataModels of Reo connectors (II) IPA Lentedagen 2007
lossy (synchronous) channel lossy/lossysync Constraint AutomataModels of Reo connectors (III) IPA Lentedagen 2007
Given a TDS-tuple we inspect whether it corresponds to an accepting run of the automaton. • Accepting runs (accepting behaviour) • is given by all infinite runs of the automaton starting from an initial state • Rejecting runs (rejecting behaviour) • is given by all finite (possibly empty) run of the automaton Intuitive behaviour of a CA IPA Lentedagen 2007
Now we know how to model small connectors. • The question next is: what can we do with these models? • Combine them to build models of larger systems • Composition and abstraction operators • Check for equivalence between two models • Check for behaviour containment of one model into another model. • Adapt know model checking methods from reactive systems and !-automata for our constraint automata Operators and Analysis methods IPA Lentedagen 2007
Automata OperatorsProduct IPA Lentedagen 2007
We consider 2 FIFO1 over Data = f1gwith ports fA, Cg and fC, Bgrespectively Product of two FIFO1 IPA Lentedagen 2007
Hiding a port C in constraint automata corresponds to make unobservable the data flow at that port. • Removes all the information about port C. Hiding operation IPA Lentedagen 2007
Automata OperatorsHiding IPA Lentedagen 2007
9C [FIFO1 ./ FIFO1] Hiding C on product of two FIFO1 IPA Lentedagen 2007
An alternative characterization of language equivalence and inclusion can be given using branching time relations • they allow a simpler way to verify if two automata are language equivalent, or if the language is contained in the language of the other. Bisimulation and Simulation IPA Lentedagen 2007
Behaviour EquivalenceBisimulation vs. Language Equiv. IPA Lentedagen 2007
Behaviour ContainmentSimulation vs. Language Inclusion IPA Lentedagen 2007
Congruence result for bisimulation equivalence and the simulation preorder for the operators product and hiding What do you mean: Compositionality? IPA Lentedagen 2007
Briefly mention: • other similar automata formalism: • IO automata • labels with action names (data independent) • input enabledness • strict notion of time • timed port automata • input enabledness • strict notion of time • interface automata • based on game theory • allow automatic checking of compatibility between interfaces Related Work IPA Lentedagen 2007
CA allows to build formal models of the data flow behaviour of coordinating connectors • provides composition and abstraction operators to build larger models out of existing models • provides analysis and verification methods adapted from known methods for reactive systems or formal languages Conclusions IPA Lentedagen 2007
Extend the formalism to allow models for context sensitive connectors • two approaches • capturing intentional behaviour • embedding some notion of priority in the behaviour domain • Implementation of model checking algorithms Ongoing work IPA Lentedagen 2007