Upload
duongkhanh
View
249
Download
0
Embed Size (px)
Citation preview
Growth Through Dynamically Reconfigurable Coordination
Farhad ArbabCenter for Mathematics and Computer Science (CWI), AmsterdamLeiden Institute of Advanced Computer Science, Leiden University
9 October 2009
Complex Systems
Sources of complexityo Algorithm or computation Complex composition of sequential steps
o Interaction among concurrent constituents Multitudes of possible interaction patterns Large system state spaces Complex coordination Complexity increases exponentially with more
components
© F. Arbab 2009 2
Growth and Evolution
Growth is a special form of evolutionTwo intertwined aspects
o Change of structure New components New connections restructuring
o Change of behavior Modification of interaction and coordination
© F. Arbab 2009 3
Formal Models for Growth
Study of growth/evolution in complex systems requires formal models foro Structureo Interaction and coordination protocols
Both aspects subject to transformation rules that express growth/evolutiono Model must include explicit, first class
representation of Structure Coordination and interaction protocols
© F. Arbab 2009 4
Models of Concurrency
Traditional models are action basedo Petri netso Work flow / Data flowo Process algebra / calculio Actor models / Agentso …
A system composed of building blocks that represent actions/processes
Interaction becomes an implicit side-effecto Makes coordination of interaction more difficult to
Specify Verify Manipulate Reuse
© F. Arbab 2009 5
Interaction Based Concurrency
Start with a set of primitive interactions as binary constraints
Define (constraint) composition operators to combine interactions into more complex interactions
As constraints, interaction protocols can be manifested independently of the processes that they engageo Connectors
Imposing an interaction on actors exogenously coordinates their activities
© F. Arbab 2009 6
Reo
Reo is an exogenous coordination language for compositional construction of interaction protocols.
Interaction is the only first-class concept in Reo:o Explicit constructs representing interactiono Composition operators over interaction constructs
A (coordination or interaction) protocol:o manifests as a connectoro gets imposed on its engaged components/services from outsideo remains mutually oblivious to its engaged components/services
Reo offers:o Loose(st) couplingo Arbitrary mix of asynchrony, synchrony, and exclusiono Open-ended user-defined primitive channelso Distribution and mobilityo Dynamically reconfigurable connectors
© F. Arbab 2009 7
http://reo.project.cwi.nl
Concurrency in Reo
Reo embodies a non-conventional model of concurrency:
Reo is more expressive than Petri nets, workflow, and dataflow models.
© F. Arbab 2009 8
Conventionalo action basedo process as primitiveo imperativeo functionalo imperative programmingo protocol implicit in processes
Reoo interaction basedo Protocol as primitiveo declarativeo relationalo constraint programmingo Tangible explicit protocols
Reo Connectors
© F. Arbab 2009 9
=A
B
C
FIFO1 channel synchronous channel
lossy synchronous channel
filter channel≤
P-producer
synchronous drain asynchronous drainsynchronous spout asynchronous spout timer channel
A
B
C
Exclusive choice (deffered XOR)
closeopen
A B
Valve connector: controls flow from A to B
A
CB
Alternator
© F. Arbab 2009 10
Semantics
Reo allows:o Arbitrary user-defined channels as primitives.o Arbitrary mix of synchrony and asynchrony.o Relational constraints between input and output.
Reo is more expressive than, e.g., dataflow models, Kahn networks, workflow models, stream processing models, Petri nets, and synchronous languages.
Formal semantics:o Coalgebraic semantics based on timed-data streams.o Constraint automata.o SOS semantics (in Maude).o Constraint propagation (connector coloring scheme).o Intuitionistic linear logic
Eclipse Coordination Tools
A set of Eclipse plug-ins provide the ECT visual programming environment.
Protocols can be designed by composing Reo circuits in a graphical editor.
The Reo circuit can be animated in ECT. ECT can automatically generate the CA for a Reo circuit. Model-checkers integrated in ECT can be used to verify the
correctness properties of a protocol using its CA. ECT can generate executable (Java/C) code from a CA as a
single sequential thread.
© F. Arbab 2009 11
http://reo.project.cwi.nl
© F. Arbab 2009 12
Tool supportTool Description
Reo graphical editor Drag and drop editing of Reo circuits
Reo animation plug-in Flash animation of data-flow in Reo circuits
Extensible Automata editor and tools Graphical editor and other automata tools
Reo to constraint automata converter Conversion of Reo to Constraint Automata
Verification tools•Vereofy model checker (www.vereofy.de)•mCRL model checking•Bounded model checking of Timed Constraint Automata
Java code generation plug-inState machine based coordinator code(Java, C, and CA interpreter for Tomcat servlets)
Distributed Reo middleware Distributed Reo code generated in Scala (Actor-based Java)(UML / BPMN / BPEL) GMT to Reo converter Automatic translation of UML SD / BPMN / BPEL to Reo
Reo Services platform Web service wrappers and Mash-ups
Markov chain generatorCompositional QoS model based on ReoAnalysis using, e.g., probabilistic symbolic model checker Prism (http://www.prismmodelchecker.org)
Algebraic Graph Transformation Dynamic reconfiguration of Reo circuits
© F. Arbab 2009 13
Tool snapshots
Reo to constraint automata converter
Reo graphical editor
Reo simulation plug-inhttp://reo.project.cwi.nl
Snapshot of Reo Editor
© F. Arbab 2009 14
Model Checking
Constraint automata are used for model checking of Reo circuits
Model checker for Reo built in Dresden:o Symbolic model, LTL, and CTL-like logic for specificationo Can also verify properties such as deadlock-freeness and
behavioral equivalence SAT-based bounded model checking of Timed
Constraint Automata Translation of Reo to mCRL for model checking
© F. Arbab 2009 15
Performance Analysis
Quantitative Intentional Automata (QIA) extend CA with quantitative properties:o arrival rates at portso average delays of data-flows between ports
Quantified Reo circuits are converted to QIAMarkov Chain models are derived from QIA
o Resulting Markov Chains are very compact: efficient model checking
PRISM is used for analysis of MC modelso average response times o meetings of deadlineso worst/best case scenarios
© F. Arbab 2009 16
Reo Primitives with Delays
© F. Arbab 2009 17
Markov Chain for Alternator
© F. Arbab 2009 18
Connector Reconfiguration
Ordinary data-flow can change the state of a connector, but not its topology.
(Dynamic) reconfiguration means to change the topology of a connector at (run-time).
Reconfiguration by graph transformationo Perform complex (global) reconfigurations in an atomic step.o Definition and validation of reconfigurations as graph grammars
using visual tools. Reconfiguration model and engine for Reo accessible in ECT
through a basic reconfiguration view.o Reconfiguration rules used inside the editor for dynamic creation
of connectors from templates.o Self-reconfiguring connectors triggered by data flow.
© F. Arbab 2009 19
Create a Barrier Synchronizer
© F. Arbab 2009 20
Growing an Exclusive Router
© F. Arbab 2009 21
Growing a Discriminator
© F. Arbab 2009 22
Negative Rules and Regions
© F. Arbab 2009 23
Reconfiguration rules can be assigned to disjoint reconfiguration regions (sub-graphs) of
a connector
Analysis and Verification
© F. Arbab 2009 24
Formal analysis and verification of the properties of rules and consequences of their applications
Add/Delete Worker
© F. Arbab 2009 25
DelWorker is defined as the inverse rule
Add/Delete Resource
© F. Arbab 2009 26
DelResource is defined as the inverse rule
Export to AGG
© F. Arbab 2009 27
Analysis in AGG
© F. Arbab 2009 28
Model Checking in GROOVE
© F. Arbab 2009 29
© F. Arbab 2009 30
Conclusion
Making interaction explicit in concurrency allows its directo Specificationo compositiono Analysiso Verificationo reuse
Reo is a simple, rich, versatile, and surprisingly expressive language for compositional construction of pure (coordination orconcurrency) protocols.o Looser interdependencies and strict separation of concerns.o Unique emphasis on interaction, as (the only) first-class concept.o Free combination of synchrony, exclusion, and asynchrony, as
relational constraints simplifies definition of interaction protocols and atomic transactions.
o Exogenous interaction/coordination
http://reo.project.cwi.nl