Implantations distribuées de modèles à base de composants communicants par interactions multiparties avec priorités : application au langage BIP. (Distributed Implementations of Component-based Systems with Prioritized Multiparty Interactions : Application to the BIP Framework.)

Distributed software is often required for new systems, because of efficiency and physical distribution and sensors and actuators. Ensuring correctness of a distributed implementation is hard due to the interleaving of actions belonging to distinct processes. This thesis proposes a method for generating a correct and efficient distributed implementation from a high-level model of an application. The input model is described as a set of components communicating through prioritized multiparty interactions. Such primitives change the state of all components involved in an interaction during a single atomic execution step. We assume that a distributed implementation is a set of processes communicating through asynchronous message-passing. The main challenge is to produce a correct and efficient distributed implementation of prioritized multiparty interactions, relying only on message-passing. The method relies on a rigorous design flow refining the high-level model of the application into a low-level model, from which code for a given platform is generated. All intermediate models appearing in the flow are expressed using the same semantics as the input model. Complex interactions are replaced with constructs using simpler interactions at each step of the design flow. In particular, the last model obtained before code generation contains only interactions modeling asynchronous message passing. The correctness of the implementation is obtained by construction. Using multiparty interaction reduces drastically the set of reachable states, compared to an equivalent model expressed with lower level primitives. Essential properties of the system are checked at this abstraction level. Each transformation of the design flow is simple enough to be fully formalized and proved by showing observational equivalence or trace equivalence between the input and output models. The obtained implementation is correct with respect to the original model, which avoids an expensive a posteriori verification. Performance can be optimized through adequate choice of the transformation parameters, or by augmenting the knowledge of components. The latter solution requires to analyze the original model to compute the knowledge, that is reused at subsequent steps of the decentralization. The various transformations and optimizations constituting the design flow have been implemented using the BIP framework. The implementation has been used to evaluate the different possibilities, as well the influence of parameters of the design flow, on several examples. The generated code uses either Unix sockets, MPI or pthreads primitives for communication between processes.

[1]  Peter Sjödin From LOTOS specifications to distributed implementations , 1992 .

[2]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[3]  Joseph Sifakis,et al.  A Notion of Glue Expressiveness for Component-Based Systems , 2008, CONCUR.

[4]  Murali Sitaraman,et al.  Foundations of component-based systems , 2000 .

[5]  José Antonio Pérez,et al.  An order‐based algorithm for implementing multiparty synchronization , 2004, Concurr. Pract. Exp..

[6]  János Komlós,et al.  Sorting in c log n parallel sets , 1983, Comb..

[7]  Selma Saidi,et al.  Multi-criteria optimization for mapping programs to multi-processors , 2011, 2011 6th IEEE International Symposium on Industrial and Embedded Systems.

[8]  S. Laurie Ricker,et al.  Know means no: Incorporating knowledge into discrete-event control systems , 2000, IEEE Trans. Autom. Control..

[9]  Gul A. Agha,et al.  Scoped Synchronization Constraints for Large Scale Actor Systems , 2012, COORDINATION.

[10]  Andrzej Skowron,et al.  Rudiments of rough sets , 2007, Inf. Sci..

[11]  Ananda Basu Component-based Modeling of Heterogeneous Real-time Systems in BIP. (Modélisation à base de Composants de Systèmes Temps réel Hétérogènes en BIP) , 2008 .

[12]  Mohamad Jaber,et al.  Centralized and Distributed Implementations of Correct-by-construction Component-based Systems by using Source-to-source Transformations in BIP. (Implémentations Centralisée et Répartie de Systèmes Corrects par construction à base des Composants par Transformations Source-à-source dans BIP) , 2010 .

[13]  Rajive L. Bagrodia A Distributed Algorithm to Implement N-Party Rendevouz , 1987, FSTTCS.

[14]  Jacques Pulou,et al.  Using BIP for Modeling and Verification of Networked Systems -- A Case Study on TinyOS-based Networks , 2007, Sixth IEEE International Symposium on Network Computing and Applications (NCA 2007).

[15]  S Magnenat,et al.  ASEBA: A Modular Architecture for Event-Based Control of Complex Robots , 2011, IEEE/ASME Transactions on Mechatronics.

[16]  Gul A. Agha,et al.  A Language Framework for Multi-Object Coordination , 1993, ECOOP.

[17]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[18]  Joseph Sifakis,et al.  Incremental component-based construction and verification using invariants , 2010, Formal Methods in Computer Aided Design.

[19]  Joseph Sifakis,et al.  Modeling synchronous systems in BIP , 2009, EMSOFT '09.

[20]  Alois Knoll,et al.  Algorithms for Synthesizing Priorities in Component-Based Systems , 2011, ATVA.

[21]  Steven M. German,et al.  Programming in a General Model of Synchronization , 1992, CONCUR.

[22]  Joseph Sifakis,et al.  Modeling Dynamic Architectures Using Dy-BIP , 2012, SC@TOOLS.

[23]  Joseph Sifakis,et al.  Optimized distributed implementation of multiparty interactions with observation , 2012, AGERE! 2012.

[24]  Joseph Sifakis,et al.  The Algebra of Connectors—Structuring Interaction in BIP , 2007, IEEE Transactions on Computers.

[25]  José Antonio Pérez,et al.  An enablement detection algorithm for open multiparty interactions , 2002, SAC '02.

[26]  Joseph Sifakis,et al.  Compositional verification for component-based systems and application , 2010, IET Softw..

[27]  Feng Chu,et al.  Deadlock analysis of Petri nets using siphons and mathematical programming , 1997, IEEE Trans. Robotics Autom..

[28]  Yuh-Jzer Joung,et al.  A comprehensive study of the complexity of multiparty interaction , 1992, POPL '92.

[29]  George Bosilca,et al.  Open MPI: Goals, Concept, and Design of a Next Generation MPI Implementation , 2004, PVM/MPI.

[30]  K. Mani Chandy,et al.  The drinking philosophers problem , 1984, ACM Trans. Program. Lang. Syst..

[31]  Shmuel Katz,et al.  Appraising fairness in distributed languages , 1987, POPL '87.

[32]  Cyrille Jégourel,et al.  Statistical model checking QoS properties of systems with SBIP , 2012, International Journal on Software Tools for Technology Transfer.

[33]  Joseph Sifakis,et al.  Modeling Heterogeneous Real-time Components in BIP , 2006, Fourth IEEE International Conference on Software Engineering and Formal Methods (SEFM'06).

[34]  Joseph Sifakis,et al.  D-Finder: A Tool for Compositional Deadlock Detection and Verification , 2009, CAV.

[35]  Erik P. de Vink,et al.  Dreams: a framework for distributed synchronous coordination , 2012, SAC '12.

[36]  Nancy A. Lynch,et al.  An introduction to input/output automata , 1989 .

[37]  Ron van der Meyden,et al.  Common Knowledge and Update in Finite Environments , 1998, Inf. Comput..

[38]  Yuh-Jzer Joung,et al.  Coordinating first-order multiparty interactions , 1991, POPL '91.

[39]  Message Passing Interface Forum MPI: A message - passing interface standard , 1994 .

[40]  Joseph Sifakis,et al.  An Algebraic Framework for Urgency , 2000, Inf. Comput..

[41]  Yuh-Jzer Joung,et al.  Two decentralized algorithms for strong interaction fairness for systems with unbounded speed variability , 2000, Theor. Comput. Sci..

[42]  Joseph Sifakis,et al.  Model-based implementation of real-time applications , 2010, EMSOFT '10.

[43]  Joseph Sifakis,et al.  Compositional translation of simulink models into synchronous BIP , 2010, International Symposium on Industrial Embedded System (SIES).

[44]  Doron A. Peled,et al.  Knowledge Based Transactional Behavior , 2012, Haifa Verification Conference.

[45]  Joseph Y. Halpern,et al.  Knowledge and common knowledge in a distributed environment , 1984, JACM.

[46]  Sophie Quinton,et al.  Building Distributed Controllers for Systems with Priorities , 2011, J. Log. Algebraic Methods Program..

[47]  Fritz Krückeberg,et al.  Mathematical methods for calculating invariants in Petri nets , 1986, European Workshop on Applications and Theory of Petri Nets.

[48]  Joseph Sifakis,et al.  Priority scheduling of distributed systems based on model checking , 2009, Formal Methods Syst. Des..

[49]  Francesco Mondada,et al.  The marXbot, a miniature mobile robot opening new perspectives for the collective-robotic research , 2010, 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[50]  Edsger W. Dijkstra,et al.  Termination Detection for Diffusing Computations , 1980, Inf. Process. Lett..

[51]  Sergei Gorlatch,et al.  Send-receive considered harmful: Myths and realities of message passing , 2004, TOPL.

[52]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[53]  Doron A. Peled,et al.  Methods for Knowledge Based Controlling of Distributed Systems , 2010, ATVA.

[54]  Ronald Fagin,et al.  Reasoning about knowledge , 1995 .

[55]  J. Barwise,et al.  Scenes and other Situations , 1981 .

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

[57]  Doron A. Peled,et al.  Achieving distributed control through model checking , 2012, Formal Methods Syst. Des..

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

[59]  Joseph Sifakis,et al.  Translating AADL into BIP - Application to the Verification of Real-Time Systems , 2009, MoDELS.

[60]  Nancy A. Lynch,et al.  Using I/O automata for developing distributed systems , 2000 .

[61]  José Proença,et al.  Synchronous Coordination of Distributed Components , 2011 .

[62]  Joseph Sifakis,et al.  Model-Based Implementation of Parallel Real-Time Systems , 2013, FASE.

[63]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[64]  Kenneth E. Batcher,et al.  Sorting networks and their applications , 1968, AFIPS Spring Joint Computing Conference.

[65]  Nancy A. Lynch,et al.  Verifiable compilation of i/o automata without global synchronization , 2005 .

[66]  Nancy A. Lynch,et al.  Automated implementation of complex distributed algorithms specified in the IOA language , 2009, International Journal on Software Tools for Technology Transfer.

[67]  Guy Wiener,et al.  A decentralized approach for programming interactive applications with JavaScript and blockly , 2012, AGERE! 2012.

[68]  Ronald Fagin,et al.  Modelling Knowledge and Action in Distributed Systems , 1988, Concurrency.

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

[70]  Sriram K. Rajamani,et al.  GUESSTIMATE: a programming model for collaborative distributed systems , 2010, PLDI '10.

[71]  Doron A. Peled,et al.  Code Mutation in Verification and Automatic Code Correction , 2010, TACAS.

[72]  Jochen Ludewig,et al.  Models in software engineering – an introduction , 2003, Software and Systems Modeling.

[73]  Joseph Sifakis,et al.  Distributed Semantics and Implementation for Systems with Interaction and Priority , 2008, FORTE.

[74]  Joseph Sifakis,et al.  Automated conflict-free distributed implementation of component-based models , 2010, International Symposium on Industrial Embedded System (SIES).

[75]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[76]  Jie Zhou,et al.  Research on Complete Algorithms for Minimal Attribute Reduction , 2009, RSKT.

[77]  Joseph Sifakis,et al.  Rigorous system level modeling and analysis of mixed HW/SW systems , 2011, Ninth ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMPCODE2011).

[78]  Joseph Sifakis Rigorous System Design , 2013, Found. Trends Electron. Des. Autom..

[79]  Peter Sjödin,et al.  Multiway Synchronization Verified with Coupled Simulation , 1992, CONCUR.

[80]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[81]  Rajive L. Bagrodia,et al.  Process Synchronization: Design and Performance Evaluation of Distributed Algorithms , 1989, IEEE Trans. Software Eng..

[82]  D. Kumar An implementation of N-party synchronization using tokens , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[83]  Joseph Sifakis,et al.  Source-to-source architecture transformation for performance optimization in BIP , 2009, 2009 IEEE International Symposium on Industrial Embedded Systems.