A Formally Verified SMT Approach to True Concurrency

Many problems related to distributed and parallel systems, such as scheduling and optimisation, are computationally hard, thereby justifying the adoption of SMT solvers. The latter provide standard arithmetic as interpreted functions, naturally leading to express concurrent executions as a linearly-ordered sequentialisation (or interleaving) of events, which have an obvious correspondence with integer segments and therefore permit to take advantage of such arithmetical capabilities. However, there are alternative semantic approaches (also known as true concurrent) not imposing the extra step of interleaving events, which brings the question of how to computationally exploit SMT solvers in these approaches. This paper presents a solution to this problem, and introduces a metric, made possible by adopting a true concurrent paradigm, which relates mutually distinct solutions of a family of distributed optimisation problems. We also contribute an original, computational definition of degree of parallelism, which we compare with the existing ones. Finally, we use theorem proving to formally certify a basic correctness property of our true concurrent approach.

[1]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[2]  Lawrence Charles Paulson,et al.  Isabelle/HOL: A Proof Assistant for Higher-Order Logic , 2002 .

[3]  Christel Baier,et al.  Metric semantics for true concurrent real time , 2001, Theor. Comput. Sci..

[4]  Narciso Martí-Oliet,et al.  All About Maude - A High-Performance Logical Framework, How to Specify, Program and Verify Systems in Rewriting Logic , 2007, All About Maude.

[5]  Clark W. Barrett,et al.  The SMT-LIB Standard Version 2.0 , 2010 .

[6]  Javier Esparza,et al.  Computing the concurrency threshold of sound free-choice workflow nets , 2018, TACAS.

[7]  Vashti Galpin,et al.  Equivalence semantics for concurrency : comparison and application , 1998 .

[8]  Juliana Küster Filipe Bowles Modelling Concurrent Interactions , 2004, AMAST.

[9]  Juliana Küster Filipe Bowles,et al.  Balancing Prescriptions with Constraint Solvers , 2019, Automated Reasoning for Systems Biology and Medicine.

[10]  Juliana Küster Filipe Bowles,et al.  An Integrated Approach to a Combinatorial Optimisation Problem , 2019, IFM.

[11]  Glynn Winskel,et al.  Event Structure Semantics for CCS and Related Languages , 1982, ICALP.

[12]  Silvia Crafa,et al.  A Logic for True Concurrency , 2010, JACM.

[13]  Herman Geuvers,et al.  Proof-Assistants Using Dependent Type Systems , 2001, Handbook of Automated Reasoning.

[14]  Tero Harju,et al.  Ordered Sets , 2001 .

[15]  Glynn Winskel,et al.  Petri Nets, Event Structures and Domains, Part I , 1981, Theor. Comput. Sci..

[16]  Juliana Küster Filipe Bowles,et al.  Correct composition in the presence of behavioural conflicts and dephasing , 2020, Sci. Comput. Program..

[17]  Lawrence C. Paulson,et al.  Extending Sledgehammer with SMT Solvers , 2011, Journal of Automated Reasoning.

[18]  Francisco Durán,et al.  Computing the Parallelism Degree of Timed BPMN Processes , 2018, STAF Workshops.

[19]  Marek J. Sergot,et al.  A logic-based calculus of events , 1989, New Generation Computing.

[20]  Madhavan Mukund,et al.  Models and logics for true concurrency , 1992 .

[21]  Vladimir Yu. Sazonov Degrees of Parallelism in Computations , 1976, MFCS.

[22]  Kenneth C. Sevcik Characterizations of parallelism in applications and their use in scheduling , 1989, SIGMETRICS '89.

[23]  Mogens Nielsen,et al.  Models for Concurrency , 1992 .