Knowledge Based Transactional Behavior

Component-based systems (including distributed programs and multiagent systems) involve a lot of coordination. This coordination is done in the background, and is transparent to the operation of the system. The reason for this overhead is the interplay between concurrency and non-deterministic choice: processes alternate between progressing independently and coordinating with other processes, where coordination can involve multiple choices of the participating components. This kind of interactions appeared as early as some of the main communication-based programming languages, where overhead effort often causes a restriction on the possible coordination. With the goal of enhancing the efficiency of coordination for component-based systems, we propose here a method for coordination-based on the precalculation of the knowledge of processes and coordination agents. This knowledge can be used to lift part of the communication or synchronization that appears in the background of the execution to support the interaction. Our knowledge-based method is orthogonal to the actual algorithms or primitives that are used to guarantee the synchronization: it only removes messages conveying information that knowledge can infer.

[1]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

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

[3]  Joseph Sifakis,et al.  Priority Scheduling of Distributed Systems Based on Model Checking , 2009, CAV.

[4]  Yuh-Jzer Joung,et al.  Strong interaction fairness via randomization , 1996, Proceedings of 16th International Conference on Distributed Computing Systems.

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

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

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

[8]  Yuh-Jzer Joung,et al.  Strong Interaction Fairness Via Randomization , 1998, IEEE Trans. Parallel Distributed Syst..

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

[10]  Abraham Silberschatz,et al.  An Effective Implementation for the Generalized Input-Output Construct of CSP , 1983, TOPL.

[11]  David Lee,et al.  Formal Techniques for Distributed Systems, Joint 11th IFIP WG 6.1 International Conference FMOODS 2009 and 29th IFIP WG 6.1 International Conference FORTE 2009, Lisboa, Portugal, June 9-12, 2009. Proceedings , 2009, FMOODS/FORTE.

[12]  Joseph Sifakis,et al.  Knowledge-Based Distributed Conflict Resolution for Multiparty Interactions and Priorities , 2012, FMOODS/FORTE.

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

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

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

[16]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

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

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

[19]  Paul Gastin,et al.  Asynchronous Cellular Automata for Infinite Traces , 1992, ICALP.

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

[21]  Daniel Lehmann,et al.  On the advantages of free choice: a symmetric and fully distributed solution to the dining philosophers problem , 1981, POPL '81.