Synchronous Coordination of Distributed Components

This work contributes to the field of coordination, in particular to Reo, by improving existing approaches to execute synchronisation models in three major ways. First, this work supports decoupled execution and lightweight reconfiguration. We developed a prototype Dreams engine to test our distributed protocol, using an actor library for the Scala language. Reconfiguration of a small part of the system is independent of the execution or behaviour of unrelated parts of the same system. Second, Dreams outperforms previous Reo engines by using constraint satisfaction techniques. In each round of the execution of the Dreams framework, descriptions of the behaviour of all building blocks are combined and a coordination pattern for the current round is chosen using constraint satisfaction techniques. This approach requiring less time than previous attempts that collect all patterns before selecting one. Third, our work improves scalability by identifying synchronous regions. We statically discover regions of the coordination layer that can execute independently, thus achieving a truly decoupled execution of connectors. Consequently, the constraint problem representing the behaviour at each round is smaller and more easily solved.

[1]  Thomas Bäck,et al.  Mixed-integer evolution strategies for parameter optimization and their applications to medical image analysis , 2005 .

[2]  Gul A. Agha,et al.  An Algebraic Theory of Actors and Its Application to a Simple Object-Based Language , 2004, Essays in Memory of Ole-Johan Dahl.

[3]  Dave Clarke,et al.  Decomposing port automata , 2009, SAC '09.

[4]  D. Costa Formal models for component connectors , 2010 .

[5]  Rachid Guerraoui,et al.  Introduction to reliable distributed programming , 2006 .

[6]  Mohammad Mahdi Jaghoori,et al.  Modere: the model-checking engine of Rebeca , 2006, SAC.

[7]  A. Rodriguez Yakushev,et al.  Towards Getting Generic Programming Ready for Prime Time , 2009 .

[8]  Peter Verbaan,et al.  The Computational Complexity of Evolving Systems , 2006 .

[9]  Christel Baier,et al.  Synthesis of Reo Circuits from Scenario-based Specifications , 2009, FOCLASA@ICALP.

[10]  Marco Aiello,et al.  Choreographies: using Constraints to Satisfy Service Requests , 2006, Advanced Int'l Conference on Telecommunications and Int'l Conference on Internet and Web Applications and Services (AICT-ICIW'06).

[11]  Anton Wijs,et al.  Silent steps in transition systems and Markov chains , 2007 .

[12]  H. Hansen Coalgebraic Modelling : Applications in Automata theory and Modal logic , 2009 .

[13]  Jean-Marc Andreoli,et al.  Linear objects: Logical processes with built-in inheritance , 1990, New Generation Computing.

[14]  Cheun Ngen Chong Experiments in rights control : expression and enforcement , 2005 .

[15]  Hugo Jonker,et al.  Security matters : privacy in voting and fairness in digital exchange , 2009 .

[16]  Erika Ábrahám,et al.  An Assertional Proof System for Multithreaded Java - Theory and Tool Support , 2005 .

[17]  Paolo Ciancarini,et al.  On the Operational Sematics of a Coordination Language , 1994, ECOOP Workshop.

[18]  Farhad Arbab,et al.  A transition system semantics for the control-driven coordination language MANIFOLD , 2000, Theor. Comput. Sci..

[19]  Jayadev Misra,et al.  A Language for Task Orchestration and Its Semantic Properties , 2006, CONCUR.

[20]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[21]  Victoria Ungureanu,et al.  Law-governed interaction: a coordination and control mechanism for heterogeneous distributed systems , 2000, TSEM.

[22]  van Mj Muck Weerdenburg,et al.  Efficient rewriting techniques , 2009 .

[23]  K. N. Venkataraman,et al.  Decidability of the purely existential fragment of the theory of term algebras , 1987, JACM.

[24]  Sebastiaan Gijsbert Marinus Cornelissen,et al.  Evaluating Dynamic Analysis Techniques for Program Comprehension , 2009 .

[25]  Geoff Sutcliffe,et al.  Prolog-D-Linda v2: A New Embedding of Linda in SICStus Prolog , 1993, ICLP Workshop on Blackboard-Based Logic Programming.

[26]  Farhad Arbab,et al.  Channel-based coordination via constraint satisfaction , 2011, Sci. Comput. Program..

[27]  Farhad Arbab,et al.  Modeling dynamic reconfigurations in Reo using high-level replacement systems , 2011, Sci. Comput. Program..

[28]  Aad Mathssen,et al.  Logical Calculi for Reasoning with Binding , 2008 .

[29]  Pascal Eugene Alois Dürr Resource-based verification for robust composition of aspects , 2008 .

[30]  Francesca,et al.  MODELING PROCESS COORDINATION VIA TILES , GRAPHS , ANDCONSTRAINTSUgo Montanari , 1998 .

[31]  Magiel Bruntink,et al.  Renovation of idiomatic crosscutting concerns in embedded systems , 2005 .

[32]  Farhad Arbab,et al.  A Coinductive Calculus of Component Connectors , 2002, WADT.

[33]  A. J. Markvoort Towards hybrid molecular simulations , 2006 .

[34]  Gürcan Gülesir,et al.  Evolvable Behavior Specifications Using Context-Sensitive Wildcards , 2008 .

[35]  Ivan S. Zapreev Model checking Markov chains : techniques and tools , 2008 .

[36]  Farhad Arbab,et al.  Tiles for Reo , 2009, WADT.

[37]  Mohammad Ali Abam New data structures and algorithms for mobile data , 2007 .

[38]  Farhad Arbab,et al.  Modelling Coordination in Biological Systems , 2004, ISoLA.

[39]  EM Elena Bortnik,et al.  Formal methods in support of SMC design , 2008 .

[40]  Dave Clarke,et al.  A Basic Logic for Reasoning about Connector Reconfiguration , 2008, Fundam. Informaticae.

[41]  Farhad Arbab,et al.  Building Mashups for the Enterprise with SABRE , 2008, ICSOC.

[42]  Edward Joseph Segall Tuple space operations: multiple-key search, on-line matching and wait-free synchronization , 1993 .

[43]  David Harel,et al.  Reactive animation: realistic modeling of complex dynamic systems , 2005, Computer.

[44]  Shaghayegh Sahebi,et al.  Modeling and Analysis of Reo Connectors Using Alloy , 2008, COORDINATION.

[45]  Radha Jagadeesan,et al.  Timed Default Concurrent Constraint Programming , 1996, J. Symb. Comput..

[46]  Jeroen Eggermont,et al.  Data Mining using Genetic Programming : Classification and Symbolic Regression , 2005 .

[47]  Robert D. Bjornson Linda on distributed memory multiprocessors , 1993 .

[48]  Joost N. Kok Denotational Semantics of Nets with Nondeterminism , 1986, ESOP.

[49]  Farhad Arbab,et al.  Composition of Interacting Computations , 2006 .

[50]  Tomas Krilavicius,et al.  Hybrid Techniques for Hybrid Systems , 2006 .

[51]  Mohammad Mahdi Jaghoori,et al.  Symmetry and partial order reduction techniques in model checking Rebeca , 2010, Acta Informatica.

[52]  M. T. Ionita,et al.  Scenario-based system architecting : a systematic approach to developing future-proof system architectures , 2005 .

[53]  R.S.S. O'Connor,et al.  Incompleteness & completeness : formalizing logic and analysis in type theory , 2005 .

[54]  Ricardo Corin,et al.  Analysis Models for Security Protocols , 2006 .

[55]  Marcel Verhoef,et al.  Modeling and validating distributed embedded real-time control systems , 2009 .

[56]  David Harel,et al.  On visual formalisms , 1988, CACM.

[57]  Eelco Dolstra,et al.  The purely functional software deployment model , 2006 .

[58]  Yee Wei Law Key management and link-layer security of wireless sensor networks: Energy-efficient attack and defense , 2005 .

[59]  Cfj Christian Lange,et al.  Assessing and improving the quality of modeling : a series of empirical studies about the UML , 2007 .

[60]  Emmanuele Zambon,et al.  Towards optimal IT availability planning: methods and tools , 2011 .

[61]  Farhad Arbab,et al.  Coordination of heterogeneous distributed cooperative constraint solving , 1998, SIAP.

[62]  Jasen Markovski,et al.  Real and stochastic time in process algebras for performance evaluation , 2008 .

[63]  Raluca Marin-Perianu,et al.  Wireless Sensor Networks in Motion - Clustering Algorithms for Service Discovery and Provisioning , 2008 .

[64]  Laura Brandán Briones,et al.  Theories for Model-based Testing: Real-time and Coverage , 2007 .

[65]  Christel Baier,et al.  Symbolic Model Checking for Channel-based Component Connectors , 2007, FOCLASA.

[66]  Marcin Czenko,et al.  TuLiP : reshaping trust management , 2009 .

[67]  Dave Clarke,et al.  Coordination via Interaction Constraints I: Local Logic , 2009, ICE.

[68]  Ka Lok Man,et al.  Formal specification and analysis of hybrid systems , 2006 .

[69]  C. J. Boogerd,et al.  Focusing Automatic Code Inspections , 2010 .

[70]  Atze Dijkstra Stepping through Haskell , 2000 .

[71]  Joost N. Kok,et al.  A Fully Abstract Semantics for Data Flow Nets , 1987, PARLE.

[72]  Peter Wegner,et al.  Coordination as Comstrainted Interaction (Extended Abstract) , 1996, International Conference on Coordination Models and Languages.

[73]  J. Kwisthout,et al.  The Computational Complexity of Probabilistic Networks , 2009 .

[74]  de Hayco Jong Flexible heterogeneous software systems , 2007 .

[75]  Ali Mesbah,et al.  Analysis and Testing of Ajax-based Single-page Web Applications , 2009 .

[76]  Emilio Tuosto,et al.  The Klaim Project: Theory and Practice , 2003, Global Computing.

[77]  Marius Adrian Marin,et al.  An Integrated System to Manage Crosscutting Concerns in Source Code , 2008 .

[78]  Hui Gao,et al.  Design and verification of lock-free parallel algorithms , 2005 .

[79]  Siegfried Nijssen Mining Structured Data , 2006 .

[80]  A Adam Koprowski,et al.  Termination of rewriting and its certification , 2004 .

[81]  Christian Krause,et al.  Reconfigurable Component Connectors , 2011 .

[82]  Roberto Bruni,et al.  Prototype Platforms for Distributed Agreements , 2007, Electron. Notes Theor. Comput. Sci..

[83]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[84]  Bastiaan Heeren,et al.  Top quality type error Messages , 2005 .

[85]  A. Mazurkiewicz Concurrent Program Schemes and their Interpretations , 1977 .

[86]  Farhad Arbab,et al.  Reconfiguration of Reo Connectors Triggered by Dataflow , 2008, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[87]  Christel Baier,et al.  Probabilistic Models for Reo Connector Circuits , 2005, J. Univers. Comput. Sci..

[88]  Philippe Massonet,et al.  Goal-oriented requirements animation , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[89]  Mari Antonius Cornelis Dekker,et al.  Flexible Access Control for Dynamic Collaborative Environments , 2009 .

[90]  Dave Clarke,et al.  Coordination: Reo, Nets, and Logic , 2007, FMCO.

[91]  Mohammad Mahdi Jaghoori,et al.  Time At Your Service: Schedulability Analysis of Real-Time and Distributed Services , 2010 .

[92]  Farhad Arbab Coordination of Mobile Components , 2001, Electron. Notes Theor. Comput. Sci..

[93]  H.M.A. van Beek,et al.  Specification and analysis of Internet applications , 2005 .

[94]  J. K. Berendsen,et al.  Abstraction, prices and probability in model checking timed automata , 2010 .

[95]  Martijn Hendriks,et al.  Model checking timed automata : techniques and applications , 2006 .

[96]  Robin Milner,et al.  Calculi for Synchrony and Asynchrony , 1983, Theor. Comput. Sci..

[97]  Martin Odersky,et al.  Scala Actors: Unifying thread-based and event-based programming , 2009, Theor. Comput. Sci..

[98]  Ken Arnold,et al.  JavaSpaces¿ Principles, Patterns, and Practice , 1999 .

[99]  Roberto Bruni,et al.  Orchestrating Transactions in Join Calculus , 2002, CONCUR.

[100]  D. Graaf,et al.  Mining semi-structured data, theoretical and experimental aspects of pattern evaluation , 2008 .

[101]  Christel Baier,et al.  Stochastic Reasoning About Channel-Based Component Connectors , 2006, COORDINATION.

[102]  Farhad Arbab,et al.  Towards Using Reo for Compliance-Aware Business Process Modeling , 2008, ISoLA.

[103]  Jurgen Vinju,et al.  Analysis and transformation of source code by parsing and rewriting , 2005 .

[104]  RH Rudolf Mak,et al.  Design and performance analysis of data-independent stream processing systems , 2008 .

[105]  Svend Frølund Coordinating distributed objects - an actor-based approach to synchronization , 1996 .

[106]  Ichiro Hasuo,et al.  Tracing Anonymity with Coalgebras , 2008 .

[107]  Nikolay Kavaldjiev,et al.  A run-time reconfigurable Network-on-Chip for streaming DSP applications , 2006 .

[108]  Karem A. Sakallah,et al.  From Propositional Satisfiability to Satisfiability Modulo Theories , 2006, SAT.

[109]  Yanjing Wang,et al.  Epistemic Modelling and Protocol Dynamics , 2010 .

[110]  Farhad Arbab,et al.  Reo Connectors as Coordination Artifacts in 2APL Systems , 2008, PRIMA.

[111]  Farhad Arbab,et al.  A Compositional Semantics for Stochastic Reo Connectors , 2010, FOCLASA.

[112]  de Ism Ivo Jong Integration and test strategies for complex manufacturing machines , 2008 .

[113]  Cédric Fournet,et al.  The Join Calculus: A Language for Distributed Mobile Programming , 2000, APPSEM.

[114]  Bastiaan Stephan Graaf,et al.  Model-Driven Evolution of Software Architectures , 2007, 11th European Conference on Software Maintenance and Reengineering (CSMR'07).

[115]  Harmen Kastenberg Graph-based software specification and verification , 2008 .

[116]  M. T. de Berg,et al.  Multi-functional geometric data structures , 2003 .

[117]  Farhad Arbab,et al.  Elements of Interaction , 2010, CSDM.

[118]  M. G. van der Horst,et al.  Scalable block processing algorithms , 2008 .

[119]  Dmitri Jarnikov,et al.  QoS framework for video streaming in home networks , 2007 .

[120]  Dave Clarke,et al.  Coordination Models Orc and Reo Compared , 2008, FOCLASA.

[121]  Goran Frehse,et al.  Compositional verification of hybrid systems using simulation relations , 2005 .

[122]  Iris Loeb Natural Deduction, Sharing By Presentation , 2007 .

[123]  P. S. Thiagarajan,et al.  Message Sequence Charts , 2003, UML for Real.

[124]  A. L. de Groot,et al.  Practical Automaton proofs in PVS , 2000 .

[125]  Cjf Cas Cremers Scyther : semantics and verification of security protocols , 2006 .

[126]  Farhad Arbab,et al.  Reo: A Channel-based Coordination Model for Component Composition , 2005 .

[127]  R. Bakhshi Gossiping Models : Formal Analysis of Epidemic Protocols , 2011 .

[128]  Tim K. Cocx,et al.  Metrics and visualisation for crime analysis and genomics , 2005 .

[129]  Farhad Arbab,et al.  A distributed computational model for Reo. , 2006 .

[130]  P. Zoeteweij,et al.  Composing constraint solvers , 2005 .

[131]  Farhad Arbab,et al.  Connector Colouring I: Synchronisation and Context Dependency , 2006, Electron. Notes Theor. Comput. Sci..

[132]  Ivan Kurtev Ivanov,et al.  Adaptability of model transformations , 2005 .

[133]  Christel Baier,et al.  Modeling component connectors in Reo by constraint automata , 2004, Sci. Comput. Program..

[134]  Farhad Arbab,et al.  On Resource-Sensitive Timed Component Connectors , 2007, FMOODS.

[135]  Martin R. Neuhäußer,et al.  Model checking nondeterministic and randomly timed systems , 2010 .

[136]  Farhad Arbab,et al.  Abstract Behavior Types: a foundation model for components and their composition , 2002, Sci. Comput. Program..

[137]  M. A. Valero Espada,et al.  Modal Abstraction and Replication of Processes with Data , 2005 .

[138]  Eric Goubault,et al.  Semantics and Analysis of Linda-Based Languages , 1993, WSA.

[139]  Flavio D. Garcia Formal and Computational Cryptography: Protocols, Hashes and Commitments , 2008 .

[140]  de A. Bruin,et al.  Service-oriented discovery of knowledge : foundations, implementations and applications , 2010 .

[141]  Farhad Arbab,et al.  Formal Semantics and Analysis of Component Connectors in Reo , 2006, FOCLASA.

[142]  Martijn Warnier,et al.  Language based security for Java and JML , 2006 .

[143]  Ncwm Niels Braspenning Model-based integration and testing of high-tech multi-disciplinary systems , 2008 .

[144]  E Elena Mumford,et al.  Drawing graphs for cartographic applications , 2008 .

[145]  Ana Sokolova,et al.  Coalgebraic analysis of probabilistic systems , 2005 .

[146]  Erik P. de Vink,et al.  Data-aware design and verification of service compositions with Reo and mCRL2 , 2010, SAC '10.

[147]  Christel Baier,et al.  Models and temporal logical specifications for timed component connectors , 2007, Software & Systems Modeling.

[148]  U Uzma Khadim,et al.  Process algebras for hybrid systems : comparison and development , 2008 .

[149]  Bahareh Badban,et al.  Verification Techniques for Extensions of Equality Logic , 2006 .

[150]  Allen B. Downey,et al.  The Little Book of Semaphores , 2009 .

[151]  Mohammed G. Khatib MEMS-Based Storage Devices : Integration in Energy-Constrained Mobile Systems , 2009 .

[152]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[153]  Olga Tveretina,et al.  A Decision Procedure for Equality Logic with Uninterpreted Functions , 2004, AISC.

[154]  Lacramioara Astefanoaei,et al.  An executable theory of multi-agent systems refinement , 2011 .

[155]  Alexandra Silva,et al.  Automata for Context-Dependent Connectors , 2009, COORDINATION.

[156]  Arjen van Weelden,et al.  Putting Types To Good Use , 2007 .

[157]  M. Xie Specification of e-business process model for PayPal online payment process using Reo , 2005 .

[158]  Ling Cheung,et al.  Reconciling nondeterministic and probabilistic choices , 2006 .

[159]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[160]  Farhad Arbab,et al.  Modeling, Testing and Executing Reo Connectors with the Eclipse Coordination Tools , 2008 .

[161]  Vijay A. Saraswat,et al.  Concurrent constraint programming , 1989, POPL '90.

[162]  B. J. Arnoldus,et al.  An illumination of the template enigma : software code generation with templates , 2011 .

[163]  Thomas Wolle,et al.  Computational aspects of treewidth : Lower bounds and network reliability , 2005 .

[164]  Mohammad Reza Mousavi,et al.  Structuring structural operational semantics , 2005 .

[165]  V. Sundramoorthy,et al.  At Home in Service Discovery , 2006 .

[166]  Robin Milner,et al.  Communicating and mobile systems - the Pi-calculus , 1999 .

[167]  Farhad Arbab,et al.  Coordination Models and Languages , 1998, Adv. Comput..

[168]  Carl Hewitt,et al.  A Universal Modular ACTOR Formalism for Artificial Intelligence , 1973, IJCAI.

[169]  Jeroen Doumen,et al.  Searching in encrypted data , 2004 .

[170]  Anton Wijs,et al.  What to do next? Analysing and optimising system behaviour in time , 2007 .

[171]  Scw Bas Ploeger,et al.  Improved verification methods for concurrent systems , 2009 .

[172]  David Lorge Parnas,et al.  Concurrent control with “readers” and “writers” , 1971, CACM.

[173]  Hasan Sözer,et al.  Architecting Fault-Tolerant Software Systems , 2009 .

[174]  Ileana Buhan,et al.  Cryptographic keys from noisy data, theory and applications , 2008 .

[175]  Laura Bocchi,et al.  A Formal Approach to Service Component Architecture , 2006, WS-FM.

[176]  William B. Ackerman,et al.  Scenarios: A Model of Non-Determinate Computation , 1981, ICFPC.

[177]  Tingting Han,et al.  Diagnosis, Synthesis and Analysis of Probabilistic Models , 2009, Ausgezeichnete Informatikdissertationen.

[178]  Juan Visente Guillen Scholten,et al.  Mobile Channels for Exogenous Coordination of Distributed Systems: Semantics, Implementation and Composition , 2007 .

[179]  Jens R. Calamé,et al.  Testing reactive systems with data: enumerative methods and constraint solving , 2008 .

[180]  Robert Brijder,et al.  Models of natural computation : gene assembly and membrane systems , 2008 .

[181]  Jean-Marc Andreoli,et al.  The Coordination Language Facility: Coordination of Distributed Objects , 1996, Theory Pract. Object Syst..

[182]  Krzysztof R. Apt,et al.  Principles of constraint programming , 2003 .

[183]  Farhad Arbab,et al.  Component Connectors with QoS Guarantees , 2007, COORDINATION.

[184]  Richard D. Schlichting,et al.  Supporting Fault-Tolerant Parallel Programming in Linda , 1995, IEEE Trans. Parallel Distributed Syst..

[185]  David Harel,et al.  The Rhapsody Semantics of Statecharts (or, On the Executable Core of the UML) - Preliminary Version , 2004, SoftSpez Final Report.

[186]  T. D. Vu,et al.  Semantics and applications of process and program algebra , 2007 .

[187]  G Giovanni Russello,et al.  Separation and adaptation of concerns in a shared data space , 2006 .

[188]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[189]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[190]  M. Torabi Dashti,et al.  Keeping Fairness Alive : Design and formal verification of optimistic fair exchange protocols , 2008 .

[191]  Farhad Arbab,et al.  Web services choreography and orchestration in Reo and constraint automata , 2007, SAC '07.

[192]  Tom Staijen,et al.  Graph-based Specification and Verification for Aspect-Oriented Languages , 2010 .

[193]  Farhad Arbab,et al.  Connector Rewriting with High-Level Replacement Systems , 2008, FOCLASA.

[194]  M. T. de Berg,et al.  Algorithms for Fat Objects: Decompositions and Applications , 2004 .

[195]  Michael Westergaard,et al.  The BRITNeY Suite Animation Tool , 2006, ICATPN.

[196]  AJ Arjan Mooij,et al.  Constructive formal methods and protocol standardization , 2006 .