Structuring structural operational semantics

Defining a formal (i.e., mathematical) semantics for computer languages is the first step towards developing rigorous techniques for reasoning about computerprograms and specifications in such a language. Structural Operational Semantics (SOS), introduced by Plotkin in 1981, has become a popular technique for defining formal semantics. In this thesis, we first review the basic concepts of SOS and the existing meta-results. Subsequently, we enhance the state of the art in this field by offering the following contributions:• developing a syntactic format guaranteeing a language construct to be commutative;• extending the existing congruence and well-definedness meta-results to the setting with equational specifications;• defining a more liberal notion of operational conservativity, called orthogonality,and formulating meta-theorems for it;• prototyping a framework for checking the premises of congruence and conservativity meta-theorems and animating programs according to their SOS specification;• defining notions of bisimulation with data and formulating syntactic rule formats guaranteeing congruence for these notions;• proposing syntactic rule formats for guaranteeing congruence of strong bisimilarity and higher-order bisimilarity in the setting of higher order processes.

[1]  Simone Tini,et al.  Probabilistic Congruence for Semistochastic Generative Processes , 2005, FoSSaCS.

[2]  Daniel R. Tauritz,et al.  Adaptive Information Filtering: Concepts and Algorithms , 2002 .

[3]  Guy Leduc,et al.  A timed LOTOS supporting a dense time domain and including new timed operators , 1992, FORTE.

[4]  Frits W. Vaandrager,et al.  SOS Rule Formats for Parameterized and State-Bearing Processes , 1995 .

[5]  Peter D. Mosses Exploiting labels in Structural Operational Semantics , 2004, SAC '04.

[6]  James J. Leifer,et al.  Operational congruences for reactive systems , 2001 .

[7]  Stefan Blom,et al.  Term Graph Rewriting. Syntax and semantics , 2001 .

[8]  Peter Achten,et al.  Interactive functional programs: models, methods, and implementation , 1996 .

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

[10]  N.J.M. van den Nieuwelaar,et al.  Supervisory machine control by predictive-reactive scheduling , 2004 .

[11]  Wan Fokkink,et al.  Ntyft/Ntyxt Rules Reduce to Ntree Rules , 1996, Inf. Comput..

[12]  J. Meseguer,et al.  Security Policies and Security Models , 1982, 1982 IEEE Symposium on Security and Privacy.

[13]  Jos C. M. Baeten,et al.  Process Algebra , 2007, Handbook of Dynamic System Modeling.

[14]  J. Wessels,et al.  Faculty of Mathematics and Computing Science , 1988 .

[15]  Wan Fokkink,et al.  Compositionality of Hennessy-Milner Logic through Structural Operational Semantics , 2003, FCT.

[16]  A. G. Engels,et al.  Languages for analysis and testing of event sequences , 2001 .

[17]  D Dmitri Chkliaev,et al.  Mechanical verification of concurrency control and recovery protocols , 2001 .

[18]  Michel Roger Vincent Chaudron Separating computation and coordination in the design of parallel and distributed programs , 1998 .

[19]  Rob J. van Glabbeek,et al.  The Linear Time - Branching Time Spectrum II , 1993, CONCUR.

[20]  Robin Milner,et al.  The Polyadic π-Calculus: a Tutorial , 1993 .

[21]  R. S. Venema,et al.  Aspects of an integrated neural prediction system , 1999 .

[22]  Peter Sewell,et al.  From rewrite rules to bisimulation congruences , 2002, Theor. Comput. Sci..

[23]  Dennis Dams,et al.  Abstract interpretation and partition refinement for model checking , 1996 .

[24]  Jjd Joep Aerts Random redundant storage for video on demand , 2003 .

[25]  Simona Orzan,et al.  On Distributed Verification and Verified Distribution , 2004 .

[26]  Robert de Simone,et al.  Higher-Level Synchronising Devices in Meije-SCCS , 1985, Theor. Comput. Sci..

[27]  Jos C. M. Baeten,et al.  A Congruence Theorem for Structured Operational Semantics with Predicates , 1993, CONCUR.

[28]  EO Esko Dijk Indoor ultrasonic position estimation using a single base station , 2004 .

[29]  Jean-Marie Jacquet,et al.  On Timed Coordination Languages , 2000, COORDINATION.

[30]  Gianna Reggio,et al.  Generalized Bisimulation in Relational Specifications , 1988, STACS.

[31]  Patrick Borras,et al.  Centaur: the system , 1988, Software Development Environments.

[32]  J. P. Postgate,et al.  Semantics: studies in the science of meaning , 1900 .

[33]  M. Franssen Cocktail : a tool for deriving correct programs , 2000 .

[34]  Wan Fokkink The Tyft/Tyxt Format Reduces to Tree Rules , 1994, TACS.

[35]  David Park,et al.  Concurrency and Automata on Infinite Sequences , 1981, Theoretical Computer Science.

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

[37]  Cj Roel Bloo,et al.  Preservation of termination for explicit substitution , 1997 .

[38]  K. Leeuw Cryptology and statecraft in the Dutch Republic , 2000 .

[39]  Jan Friso Groote,et al.  A syntactic commutativity format for SOS , 2005, Inf. Process. Lett..

[40]  Mohammad Reza Mousavi,et al.  SOS for Higher Order Processes , 2005, CONCUR.

[41]  Marieke Huisman,et al.  Reasoning about Java programs in higher order logic using PVS and Isabelle , 2001 .

[42]  Chris Verhoef,et al.  A Congruence Theorem for Structured Operational Semantics with Predicates and Negative Premises , 1994, Nord. J. Comput..

[43]  José Meseguer,et al.  Mapping Modular SOS to Rewriting Logic , 2002, LOPSTR.

[44]  Iain Phillips,et al.  Ordered Sos Rules And Weak Bisimulation , 1996 .

[45]  Robert E. Tarjan,et al.  Three Partition Refinement Algorithms , 1987, SIAM J. Comput..

[46]  Jan Friso Groote,et al.  Process algebra with guards: Combining Hoare logic with process algebra , 1994, Formal Aspects of Computing.

[47]  Erik P. de Vink,et al.  Axiomatizing GSOS with termination , 2002, J. Log. Algebraic Methods Program..

[48]  Simone Tini,et al.  Rule formats for compositional non-interference properties , 2004, J. Log. Algebraic Methods Program..

[49]  Lex Heerink,et al.  Ins and Outs in Refusal Testing , 1998 .

[50]  Alberto Verdejo,et al.  Implementing CCS in Maude , 2000, FORTE.

[51]  Tac Tim Willemse Semantics and verification in process algebras with data and timing , 2003 .

[52]  James Cheney,et al.  A sequent calculus for nominal logic , 2004, Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science, 2004..

[53]  Irek Ulidowski,et al.  Ordered SOS process languages for branching and Eager bisimulation , 2002 .

[54]  M. Oostdijk Generation and presentation of formal mathematical documents , 2001 .

[55]  Mohammad Reza Mousavi,et al.  Structural congruences and structural operational semantics , 2004 .

[56]  D. Walker,et al.  A Calculus of Mobile Processes, Part Ii , 1989 .

[57]  Emilia I. Barakova,et al.  Learning reliability : a study on dindecisiveness in sample selection , 1999 .

[58]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[59]  Cruz Filipe,et al.  Constructive real analysis : a type-theoretical formalization and applications , 2004 .

[60]  Arend Rensink,et al.  Bisimilarity of open terms , 1999, EXPRESS.

[61]  Robin Milner,et al.  Functions as processes , 1990, Mathematical Structures in Computer Science.

[62]  A. Salomaa,et al.  Current Trends in Theoretical Computer Science, Entering the 21th Century , 2001 .

[63]  Victor Bos,et al.  Redesign of a Systems Engineering Language: Formalisation of χ , 2003, Formal Aspects of Computing.

[64]  P. Severi Normalisation in lambda calculus and its relation to type inference , 1996 .

[65]  José Meseguer,et al.  Maude Action Tool: Using Reflection to Map Action Semantics to Rewriting Logic , 2000, AMAST.

[66]  Bent Thomsen,et al.  Plain CHOCS A second generation calculus for higher order processes , 2005, Acta Informatica.

[67]  Frits W. Vaandrager,et al.  Expressiveness results for process algebras , 1993 .

[68]  Karen L. Bernstein A congruence theorem for structured operational semantics of higher-order languages , 1998, Proceedings. Thirteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.98CB36226).

[69]  Wan Fokkink,et al.  A Conservative Look at Operational Semantics with Variable Binding , 1998, Inf. Comput..

[70]  Dominique Clément,et al.  CENTAUR: Towards a "Software Tool Box" for Programming Environments , 1989, SEE.

[71]  Alberto Verdejo,et al.  Executable structural operational semantics in Maude , 2006, J. Log. Algebraic Methods Program..

[72]  Andrew C. Myers,et al.  Language-based information-flow security , 2003, IEEE J. Sel. Areas Commun..

[73]  Jos C. M. Baeten,et al.  Embedding Untimed into Timed Process Algebra; the Case for Explicit Termination , 2003, EXPRESS.

[74]  Bard Bloom,et al.  Structural Operational Semantics for Weak Bisimulations , 1995, Theor. Comput. Sci..

[75]  V Victor Bos,et al.  Formal specification and analysis of industrial systems , 2002 .

[76]  G Goce Naumoski,et al.  A discrete-event simulator for systems engineering , 1998 .

[77]  Roberto Bruni,et al.  Observational congruences for dynamically reconfigurable tile systems , 2005, Theor. Comput. Sci..

[78]  R Ronald Ruimerman,et al.  Modeling and remodeling in bone tissue , 2005 .

[79]  J. Meseguer,et al.  Rewriting Logic as a Logical and Semantic Framework , 1996 .

[80]  Rob J. van Glabbeek,et al.  The meaning of negative premises in transition system specifications II , 1996, J. Log. Algebraic Methods Program..

[81]  Wpaj Wil Michiels Performance ratios for the differencing method , 2004 .

[82]  Joost Visser,et al.  Generic traversal over typed source code representations , 2003 .

[83]  David Sands From SOS rules to proof principles: an operational metatheory for functional languages , 1997, POPL '97.

[84]  Albert R. Meyer,et al.  Bisimulation can't be traced , 1988, POPL '88.

[85]  Gérard Boudol Towards a Lambda-Calculus for Concurrent and Communicating Systems , 1989, TAPSOFT, Vol.1.

[86]  Jan Friso Groote,et al.  Structured Operational Semantics and Bisimulation as a Congruence , 1992, Inf. Comput..

[87]  Joost Engelfriet,et al.  Multisets and structutal congruence of pi-calculus with replication , 2004 .

[88]  Chris Verhoef,et al.  A General Conservative Extension Theorem in Process Algebra , 1994, PROCOMET.

[89]  Irek Ulidowski,et al.  Finite axiom systems for testing preorder and De Simone process languages , 1996, Theor. Comput. Sci..

[90]  Nobuko Yoshida,et al.  On Reduction-Based Process Semantics , 1995, Theor. Comput. Sci..

[91]  Luca Cardelli,et al.  Mobile Ambients , 1998, FoSSaCS.

[92]  Mariëlle Stoelinga,et al.  Alea jacta est : verification of probabilistic, real-time and parametric systems , 2002 .

[93]  Y Yuechen Qian,et al.  Data synchronization and browsing for home environments , 2004 .

[94]  Gabriele Lenzini,et al.  Integration of Analysis Techniques in Security and Fault-Tolerance , 2005 .

[95]  Bengt Jonsson,et al.  Probabilistic Process Algebra , 2001 .

[96]  Robin Milner,et al.  Deriving Bisimulation Congruences for Reactive Systems , 2000, CONCUR.

[97]  Vladimiro Sassone,et al.  Deriving Bisimulation Congruences: 2-Categories Vs Precategories , 2003, FoSSaCS.

[98]  Jan Friso Groote,et al.  Transition System Specifications with Negative Premises , 1993, Theor. Comput. Sci..

[99]  Robin Milner,et al.  Flowgraphs and Flow Algebras , 1979, JACM.

[100]  José Meseguer,et al.  Modular Rewriting Semantics of Programming Languages , 2004, AMAST.

[101]  Simone Tini,et al.  Rule Formats for Non Interference , 2003, ESOP.

[102]  Gordon D. Plotkin,et al.  Towards a mathematical operational semantics , 1997, Proceedings of Twelfth Annual IEEE Symposium on Logic in Computer Science.

[103]  Andrew M. Pitts,et al.  Nominal Logic: A First Order Theory of Names and Binding , 2001, TACS.

[104]  G Georgina Fabian,et al.  A language and simulator for hybrid systems , 1999 .

[105]  Christiano Braga,et al.  Rewriting Logic as a Semantic Framework for Modular Structural Op-erational Semantics , 2001 .

[106]  Douglas J. Howe Proving Congruence of Bisimulation in Functional Programming Languages , 1996, Inf. Comput..

[107]  Jan Friso Groote,et al.  The meaning of negative premises in transition system specifications , 1991, JACM.

[108]  A. T. Hofkamp,et al.  Reactive machine control : a simulation approach using chi , 2001 .

[109]  Luca Aceto,et al.  Structural Operational Semantics , 1999, Handbook of Process Algebra.

[110]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[111]  J.J.H. Fey,et al.  Design of a fruit juice blending and packaging plant , 2000 .

[112]  Isabelle Reymen,et al.  Improving Design Processes through Structured Reflection: Feedback , 2001 .

[113]  Kees Middelburg An alternative formulation of operational conservativity with binding terms , 2003, J. Log. Algebraic Methods Program..

[114]  Jos C. M. Baeten,et al.  Process Algebra with Timing , 2002, Monographs in Theoretical Computer Science. An EATCS Series.

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

[116]  Iain C. C. Phillips,et al.  Ordered SOS Process Languages for Branching and Eager Bisimulations , 2002, Inf. Comput..

[117]  J. F. Groote The Syntax and Semantics of timed μ CRL , 1997 .

[118]  M. de Jonge,et al.  To reuse or to be reused. Techniques for component composition and construction , 2003 .

[119]  Frits W. Vaandrager,et al.  On the relationship between process algebra and input/output automata , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[120]  José Alberto Verdejo López,et al.  Executable Structural Operational Semantics in Maude , 2003 .

[121]  Pedro R. D'Argenio,et al.  Algebras and Automata for Timed and Stochastic Systems , 1999 .

[122]  Xinxin Liu,et al.  Compositionality through an Operational Semantics of Contexts , 1990, J. Log. Comput..

[123]  M.H.G. Kesseler,et al.  The implementation of functional languages on parallel machines with distributed memory , 1996 .

[124]  Jan A. Bergstra,et al.  Discrete time process algebra , 1992, Formal Aspects of Computing.

[125]  Falk Bartels,et al.  GSOS for Probabilistic Transition Systems , 2002, CMCS.

[126]  Michel A. Reniers,et al.  Hybrid process algebra , 2005, J. Log. Algebraic Methods Program..

[127]  Gérard Berry,et al.  The chemical abstract machine , 1989, POPL '90.

[128]  D. A. Turner,et al.  Miranda: A Non-Strict Functional language with Polymorphic Types , 1985, FPCA.

[129]  Judi Maria Tirza Romijn,et al.  Analysing Industrial Protocols with Formal Methods , 1999 .

[130]  Jpl John Segers Algorithms for the simulation of surface processes , 1999 .

[131]  Martijn M. Schrage,et al.  Proxima: a presentation-oriented editor for structured documents , 2000 .

[132]  José Meseguer,et al.  Conditioned Rewriting Logic as a United Model of Concurrency , 1992, Theor. Comput. Sci..

[133]  Jan Friso Groote,et al.  Completeness of Timed μCRL , 2002 .

[134]  Narciso Martí-Oliet,et al.  Rewriting Logic as a Logical and Semantic Framework , 1996 .

[135]  Fabio Gadducci,et al.  The tile model , 2000, Proof, Language, and Interaction.

[136]  Scott A. Smolka,et al.  CCS expressions, finite state processes, and three problems of equivalence , 1983, PODC '83.

[137]  Edwin D. de Jong,et al.  Schedules for multiset transformer programs , 1996 .

[138]  D. Turi,et al.  Functional Operational Semantics and its Denotational Dual , 1996 .

[139]  Pascal Fradet,et al.  Gamma and the Chemical Reaction Model: Fifteen Years After , 2000, WMP.

[140]  K. Larsen Context-dependent bisimulation between processes , 1986 .

[141]  Maurice H. ter Beek,et al.  Team Automata: A Formal Approach to the Modeling of Collaboration Between System Components , 2003 .

[142]  Gordon D. Plotkin,et al.  An operational semantics for CSO , 1980, Logic of Programs.

[143]  Peter D. Mosses,et al.  Modular structural operational semantics , 2004, J. Log. Algebraic Methods Program..

[144]  D. Bosnacki Enhancing state space reduction techniques for model checking , 2001 .

[145]  Alberto Verdejo,et al.  Building Tools for LOTOS Symbolic Semantics in Maude , 2002, FORTE.

[146]  Jan J. M. M. Rutten,et al.  Universal coalgebra: a theory of systems , 2000, Theor. Comput. Sci..

[147]  Mrv Michel Chaudron,et al.  Separating functionality, behavior and timing in the design of reactive systems : (GAMMA + coordination) + time , 2002 .

[148]  Rob van Glabbeek On Cool Congruence Formats for Weak Bisimulations (Extended Abstract) , 2005 .

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

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

[151]  Rob J. van Glabbeek,et al.  Bounded Nondeterminism and the Approximation Induction Principle in Process Algebra , 1987, STACS.

[152]  D. Walker,et al.  A Calculus of Mobile Processes, Part I , 1989 .

[153]  Davide Sangiorgi The Lazy Lambda Calculus in a Concurrency Scenario , 1994, Inf. Comput..

[154]  F. Bartels,et al.  On Generalised Coinduction and Probabilistic Specification Formats , 2004 .

[155]  Ts Ed Voermans Inductive datatypes with laws and subtyping : a relational model , 1999 .

[156]  R. J. vanGlabbeek The linear time - branching time spectrum , 1990 .

[157]  Narciso Martí-Oliet,et al.  The Maude System , 1999, RTA.

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

[159]  Hartmut Peter Benz,et al.  Casual Multimedia Process Annotations -- CoMPAs , 2003 .

[160]  Gordon D. Plotkin,et al.  The origins of structural operational semantics , 2004, J. Log. Algebraic Methods Program..

[161]  Alberto Verdejo,et al.  Implementing CCS in Maude 2 , 2002, Electron. Notes Theor. Comput. Sci..

[162]  Gordon D. Plotkin,et al.  A structural approach to operational semantics , 2004, J. Log. Algebraic Methods Program..

[163]  Kees Middelburg,et al.  Variable binding operators in transition system specifications , 2000, J. Log. Algebraic Methods Program..

[164]  Frits W. Vaandrager,et al.  Turning SOS Rules into Equations , 1994, Inf. Comput..

[165]  Matthew Hennessy,et al.  Full Abstraction for a Simple Parallel Programming Language , 1979, MFCS.

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

[167]  Jos C. M. Baeten,et al.  Timing the Untimed: Terminating Successfully While Being Conservative , 2005, Processes, Terms and Cycles.

[168]  Robin Milner,et al.  Barbed Bisimulation , 1992, ICALP.

[169]  M. B. van der Zwaag,et al.  Models and logics for process algebra , 2002 .

[170]  Luca Aceto,et al.  Conservative Extension in Structural Operational Semantics , 1999, Bull. EATCS.

[171]  Luca Aceto,et al.  Deriving Complete Inference Systems for a Class of GSOS Languages Generation Regular Behaviours , 1994, CONCUR.

[172]  Wan Fokkink,et al.  Structural operational semantics and bounded nondeterminism , 2003, Acta Informatica.

[173]  Fabio Gadducci,et al.  A causal semantics for CCS via rewriting logic , 2002, Theor. Comput. Sci..

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

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

[176]  Jan Joris Vereijken A Process Algebra for Hybrid Systems , 1999 .

[177]  Vashti Galpin,et al.  A format for semantic equivalence comparison , 2003, Theor. Comput. Sci..

[178]  Pieter H. Hartel,et al.  LETOS – a lightweight execution tool for operational semantics , 1999, Softw. Pract. Exp..

[179]  Joseph Sifakis,et al.  The Algebra of Timed Processes, ATP: Theory and Application , 1994, Inf. Comput..

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

[181]  Chris Verhoef,et al.  Concrete process algebra , 1995, LICS 1995.

[182]  Davide Sangiorgi,et al.  Bisimulation for Higher-Order Process Calculi , 1994, Inf. Comput..

[183]  Bent Thomsen A Theory of Higher Order Communicating Systems , 1995, Inf. Comput..

[184]  J. Blanco Definability with the State Operator in Process Algebra , 1995 .

[185]  Wan Fokkink,et al.  Precongruence formats for decorated trace semantics , 2002, TOCL.

[186]  S. P. Luttik Choice quantification in process algebra , 2002 .

[187]  J. Verriet Scheduling with communication for multiprocessor computation , 1998 .

[188]  Baowen Xu,et al.  A survey of semantic description frameworks for programming languages , 2004, SIGP.

[189]  Rob J. van Glabbeek Full Abstraction in Structural Operational Semantics (Extended Abstract) , 1993, AMAST.

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