×

Compositional equivalences based on open pNets. (English) Zbl 1512.68161

Summary: Establishing equivalences between programs is crucial both for verifying correctness of programs and for justifying optimisations and program transformations. There exist several equivalence relations for programs, and bisimulations are among the most versatile of these equivalences. Among bisimulations one distinguishes strong bisimulation that requires that each action of a program is simulated by a single action of the equivalent program, and weak bisimulation that allows some of the actions to be invisible, and thus not simulated.
pNet is a generalisation of automata that model open systems. They feature variables and hierarchical composition. Open pNets are pNets with holes, i.e. placeholders that can be filled later by sub-systems. However, there is no standard tool for defining the semantics of an open system in this context. This article first defines open automata that are labelled transition systems with parameters and holes. Relying on open automata, it then defines bisimilarity relations for the comparison of systems specified as pNets. We first present a strong bisimilarity for open pNets called FH-bisimilarity. Next we offer an equivalence relation similar to the classical weak bisimulation equivalence, and study its properties. Among these properties we are interested in compositionality: if two systems are proven equivalent they will be indistinguishable by their context, and they will also be indistinguishable when their holes are filled with equivalent systems. We identify sufficient conditions to ensure compositionality of strong and weak bisimulation. The contributions of this article are illustrated using a transport protocol as running example.

MSC:

68Q85 Models and methods for concurrent and distributed computing (process algebras, bisimulation, transition nets, etc.)
68N30 Mathematical aspects of software engineering (specification, verification, metrics, requirements, etc.)

Software:

LOTOS

References:

[1] Abriola, Sergio; Barceló, Pablo; Figueira, Diego; Figueira, Santiago, Bisimulations on data graphs, J. Artif. Intell. Res., 61, 171-213 (2018) · Zbl 1426.68179
[2] Ameur-Boulifa, Rabéa; Henrio, Ludovic; Kulankhina, Oleksandra; Madelaine, Eric; Savu, Alexandra, Behavioural semantics for asynchronous components, J. Log. Algebraic Methods Program., 89, 1-40 (2017) · Zbl 1407.68271
[3] Arnold, André, Synchronised behaviours of processes and rational relations, Acta Inform., 17, 21-29 (1982) · Zbl 0478.68027
[4] Baldan, Paolo; Bracciali, Andrea; Bruni, Roberto, Bisimulation by unification, (AMAST 2002 - Algebraic Methodology and Software Technology, 9th International Conference. AMAST 2002 - Algebraic Methodology and Software Technology, 9th International Conference, Lecture Notes in Computer Science, vol. 2422 (2002), Springer), 254-270 · Zbl 1275.68100
[5] Baldan, Paolo; Bracciali, Andrea; Bruni, Roberto, A semantic framework for open processes, Theor. Comput. Sci., 389, 3, 446-483 (2007) · Zbl 1132.68042
[6] Barros, Tomás; Ameur-Boulifa, Rabéa; Cansado, Antonio; Henrio, Ludovic; Madelaine, Eric, Behavioural models for distributed fractal components, Ann. Télécommun., 64, 1-2, 25-43 (2009)
[7] Beohar, Harsh; König, Barbara; Küpper, Sebastian; Silva, Alexandra, Conditional transition systems with upgrades, Sci. Comput. Program., 186, Article 102320 pp. (2020)
[8] Bliudze, Simon; Henrio, Ludovic; Madelaine, Eric, Verification of concurrent design patterns with data, (Riis Nielson, Hanne; Tuosto, Emilio, COORDINATION 2019 - 21st International Conference on Coordination Models and Languages, volume LNCS-11533 of Coordination Models and Languages (2019), Springer International Publishing), 161-181
[9] Bloom, Bard; Istrail, Sorin; Meyer, Albert R., Bisimulation can’t be traced, J. ACM, 42, 1, 232-268 (1995) · Zbl 0886.68027
[10] Bolognesi, Tommaso; Brinksma, Ed, Introduction to the ISO specification language LOTOS, Comput. Netw., 14, 1, 25-59 (1987)
[11] Borgström, Johannes; Briais, Sébastien; Nestmann, Uwe, Symbolic bisimulation in the Spi calculus, (CONCUR 2004 - Concurrency Theory, 15th International Conference. CONCUR 2004 - Concurrency Theory, 15th International Conference, Lecture Notes in Computer Science, vol. 3170 (2004), Springer), 161-176 · Zbl 1099.68665
[12] Ameur Boulifa, Rabéa; Halalai, Raluca; Henrio, Ludovic; Madelaine, Eric, Verifying safety of fault-tolerant distributed components, (FACS 2011 - 8th International Symposium on Formal Aspects of Component Software. FACS 2011 - 8th International Symposium on Formal Aspects of Component Software, Lecture Notes in Computer Science (2011), Springer)
[13] Buscemi, Maria Grazia; Montanari, Ugo, Open bisimulation for the concurrent constraint Pi-calculus, (ESOP 2008 - Programming Languages and Systems, 17th European Symposium on Programming. ESOP 2008 - Programming Languages and Systems, 17th European Symposium on Programming, Lecture Notes in Computer Science, vol. 4960 (2008), Springer), 254-268 · Zbl 1133.68384
[14] Calder, Muffy; Shankland, Carron, A symbolic semantics and bisimulation for full LOTOS, (FORTE 2001 - 21st International Conference on Formal Techniques for Networked and Distributed Systems (2001), Springer), 185-200 · Zbl 0977.68608
[15] De Simone, Robert, Higher-level synchronising devices in MEIJE-SCCS, Theor. Comput. Sci., 37, 245-267 (1985) · Zbl 0598.68027
[16] Delaune, Stéphanie; Kremer, Steve; Ryan, Mark, Symbolic bisimulation for the applied Pi calculus, (FSTTCS 2007 - Foundations of Software Technology and Theoretical Computer Science, 27th International Conference. FSTTCS 2007 - Foundations of Software Technology and Theoretical Computer Science, 27th International Conference, Lecture Notes in Computer Science, vol. 4855 (2007), Springer), 133-145 · Zbl 1135.94327
[17] Dubut, Jérémy, Bisimilarity of diagrams, (RAMiCS 2020 - Relational and Algebraic Methods in Computer Science, 18th International Conference. RAMiCS 2020 - Relational and Algebraic Methods in Computer Science, 18th International Conference, Lecture Notes in Computer Science, vol. 12062 (2020), Springer), 65-81 · Zbl 07578335
[18] Feng, Yuan; Deng, Yuxin; Ying, Mingsheng, Symbolic bisimulation for quantum processes, ACM Trans. Comput. Log., 15, 2, 14 (2014) · Zbl 1291.68237
[19] Gaspar, Nuno; Henrio, Ludovic; Madelaine, Eric, Formally reasoning on a reconfigurable component-based system - a case study for the industrial world, (FACS 2013 - Formal Aspects of Component Software, 10th International Symposium. FACS 2013 - Formal Aspects of Component Software, 10th International Symposium, Lecture Notes in Computer Science, vol. 8348 (2013), Springer), 137-156
[20] Groote, Jan Friso, Transition system specifications with negative premises, Theor. Comput. Sci., 118, 2, 263-299 (1993) · Zbl 0778.68057
[21] Friso Groote, Jan; Keiren, Jeroen J. A.; Luttik, Bas; de Vink, Erik P.; Willemse, Tim A. C., Modelling and analysing software in mcrl2, (Arbab, Farhad; Jongmans, Sung-Shik, Formal Aspects of Component Software (2020), Springer International Publishing: Springer International Publishing Cham), 25-48
[22] Friso Groote, Jan; Reza Mousavi, Mohammad; Reniers, Michel A., A hierarchy of SOS rule formats, Proceedings of the Second Workshop on Structural Operational Semantics. Proceedings of the Second Workshop on Structural Operational Semantics, Electron. Notes Theor. Comput. Sci., 156, 1, 3-25 (2006) · Zbl 1273.68206
[23] Groote, Jan Friso; Vaandrager, Frits, Structured operational semantics and bisimulation as a congruence, Inf. Comput., 100, 2, 202-260 (1992) · Zbl 0752.68053
[24] Statecharts, David Harel, A visual formalism for complex systems, Sci. Comput. Program., 8, 3, 231-274 (1987) · Zbl 0637.68010
[25] Hennessy, Matthew; Lin, Huimin, Symbolic bisimulations, Theor. Comput. Sci., 138, 2, 353-389 (1995) · Zbl 0874.68187
[26] Hennessy, Matthew; Rathke, Julian, Bisimulations for a calculus of broadcasting systems, Theor. Comput. Sci., 200, 1-2, 225-260 (1998) · Zbl 0915.68065
[27] Henrio, Ludovic; Kulankhina, Oleksandra; Li, Siqi; Madelaine, Eric, Integrated environment for verifying and running distributed components, (FASE 2016 - 19th International Conference on Fundamental Approaches to Software Engineering (2016), Springer: Springer Berlin, Heidelberg), 66-83
[28] Henrio, Ludovic; Madelaine, Eric; Zhang, Min, A theory for the composition of concurrent processes, (FORTE 2016 - 36th International Conference on Formal Techniques for Distributed Objects, Components, and Systems, vol. 9688 (2016), Springer), 175-194 · Zbl 1347.68267
[29] Hou, Zechen; Madelaine, Eric, Symbolic bisimulation for open and parameterized systems, (PEPM 2020 - Workshop on Partial Evaluation and Program Manipulation (2020), ACM SIGPLAN)
[30] Hou, Zechen; Madelaine, Eric; Liu, Jing; Deng, Yuxin, Symbolic Bisimulation for Open and Parameterized Systems - Extended version (November 2019), Inria & Université Cote d’Azur, CNRS, I3S/East China Normal University: Inria & Université Cote d’Azur, CNRS, I3S/East China Normal University Sophia Antipolis, France/Shanghai, Research Report RR-9304
[31] Hüttel, Hans; Larsen, Kim Guldstrand, The use of static constructs in A modal process logic, (Logic at Botik’89, Symposium on Logical Foundations of Computer Science. Logic at Botik’89, Symposium on Logical Foundations of Computer Science, Lecture Notes in Computer Science, vol. 363 (1989), Springer), 163-180 · Zbl 0683.03014
[32] Ingólfsdóttir, Anna; Lin, Huimin, A symbolic approach to value-passing processes, (Handbook of Process Algebra (2001), North-Holland/Elsevier), 427-478 · Zbl 1027.68092
[33] Johnson, Kenneth; Calinescu, Radu, Efficient re-resolution of SMT specifications for evolving software architectures, (QoSA 2014 - 10th International ACM Sigsoft Conference on Quality of Software Architectures (2014), ACM), 93-102
[34] Johnson, Kenneth; Calinescu, Radu; Kikuchi, Shinji, An incremental verification framework for component-based software systems, (CBSE 2013 - 16th International ACM Sigsoft Symposium on Component-Based Software Engineering (2013), ACM), 33-42
[35] Larsen, Kim G., A context dependent equivalence between processes, Theor. Comput. Sci., 49, 184-215 (1987) · Zbl 0612.68027
[36] Larsen, Kim Guldstrand; Xinxin, Liu, Compositionality through an operational semantics of contexts, J. Log. Comput., 1, 6, 761-795 (1991) · Zbl 0738.68056
[37] Laveaux, Maurice; Willemse, Tim A. C., Decomposing monolithic processes in a process algebra with multi-actions, (ICE. ICE, EPTCS, vol. 347 (2021)), 57-76
[38] Lin, Huimin, Symbolic transition graph with assignment, (CONCUR’96 - Concurrency Theory, 7th International Conference, vol. 1119 (1996), Springer: Springer Berlin Heidelberg), 50-65 · Zbl 1515.68211
[39] Liu, Jia; Lin, Huimin, A complete symbolic bisimulation for full applied Pi calculus, (SOFSEM 2010 - 36th Conference on Current Trends in Theory and Practice of Computer Science, vol. 5901 (2010), Springer), 552-563 · Zbl 1274.68242
[40] Milner, Robin, A Calculus of Communicating Systems (1982), Springer-Verlag: Springer-Verlag Berlin, Heidelberg · Zbl 0452.68027
[41] Milner, Robin, Communication and Concurrency, Int. Series in Computer Science (1989), Prentice-Hall: Prentice-Hall Englewood Cliffs, New Jersey, SU Fisher Research 511/24 · Zbl 0683.68008
[42] Plotkin, Gordon D., A structural approach to operational semantics, J. Log. Algebraic Program., 60-61, 17-139 (2004) · Zbl 1082.68062
[43] Qin, Xudong; Bliudze, Simon; Madelaine, Eric; Zhang, Min, Using SMT engine to generate symbolic automata, (AVOCS 2018 - 18th International Workshop on Automated Verification of Critical Systems, vol. 076 (2018), Electronic Communications of the EASST)
[44] Qin, Xudong; Bliudze, Simon; Madelaine, Eric; Zhang, Min, Using SMT engine to generate Symbolic Automata -Extended version (June 2018), Inria & Université Cote d’Azur, CNRS, I3S: Inria & Université Cote d’Azur, CNRS, I3S Sophia Antipolis, France, Inria, Research Report RR-9177
[45] Jan Van Glabbeek, Robert, The meaning of negative premises in transition system specifications II, J. Log. Algebraic Program., 60-61, 229-258 (2004) · Zbl 1072.68075
[46] Wang, Biyang; Madelaine, Eric; Zhang, Min, New symbolic model and equivalences checking for open automata, (SMC 2021 - IEEE International Conference on Systems, Man, and Cybernetics (2021), IEEE), 2360-2367
[47] Wang, Biyang; Madelaine, Eric; Zhang, Min, Symbolic Weak Equivalences: Extension, Algorithms, and Minimization - Extended version (2021), Inria, Université Cote d’Azur, CNRS, I3S/East China Normal University: Inria, Université Cote d’Azur, CNRS, I3S/East China Normal University Sophia Antipolis, France/Shanghai, Research Report RR-9389
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.