
SOS 2007 Preliminary Proceedings of the 4th Workshop on Structural Operational Semantics Wrocław, Poland, 9th July 2007 Editors: Rob van Glabbeek and Matthew Hennessy Contents Preface ..................................................................... 1 Pawe lSobocinski´ (Invited Speaker) A well-behaved LTS for the Pi-calculus (abstract) . 3 Traian Serbanuta, Grigore Rosu & Jose Meseguer A Rewriting Logic Approach to Operational Semantics (extended abstract) 10 Patrick Cousot & Radhia Cousot Bi-inductive Structural Semantics . 25 David Frutos Escrig & Carlos Gregorio Rodrguez Simulations up-to and Canonical Preorders (extended abstract) . 40 Harald Fecher & Heiko Schmidt Process Algebra Having Inherent Choice: Revised Semantics for Concurrent Systems . 55 Astrid Kiehn An operational semantics for shared messaging communication . 70 Iain Phillips & Irek Ulidowski Reversibility and models for concurrency . 85 MohammadReza Mousavi & Michel Reniers A Congruence Rule Format with Universal Quantification . 100 Jesper Bengtson & Joachim Parrow A completeness proof for bisimulation in the pi-calculus using Isabelle . 115 Front cover design: Anna Tito SOS 2007 Preliminary Version Preface This volume contains the preliminary proceedings of SOS 2007, the Fourth Work- shop on Structural Operational Semantics, held on the 9th of July 2007 in Wroc law, Poland, as a affiliated workshop of LICS 2007, the Twenty-Second Annual IEEE Symposium on Logic in Computer Science, and ICALP 2007, the 34th International Colloquium on Automata, Languages and Programming. Structural operational semantics (SOS) provides a framework for giving opera- tional semantics to programming and specification languages. A growing number of programming languages from commercial and academic spheres have been given us- able semantic descriptions by means of structural operational semantics. Because of its intuitive appeal and flexibility, structural operational semantics has found consid- erable application in the study of the semantics of concurrent processes. Moreover, it is becoming a viable alternative to denotational semantics in the static analysis of programs, and in proving compiler correctness. Recently, structural operational semantics has been successfully applied as a formal tool to establish results that hold for classes of process description languages. This has allowed for the generalisation of well-known results in the field of process algebra, and for the development of a meta-theory for process calculi based on the realization that many of the results in this field only depend upon general semantic properties of language constructs. The SOS workshop series aims at being a forum for researchers, students and practitioners interested in new developments, and directions for future investigation, in the field of structural operational semantics. One of the specific goals of the series is to establish synergies between the concurrency and programming language communities working on the theory and practice of SOS. It also aims at widening the knowledge of SOS among postgraduate students and young researchers worldwide. The first SOS workshop took place on the 30th of August 2004 in London (UK) as a satellite event of CONCUR 2004, the Fifteenth International Conference on Concurrency Theory, and marked the publication of two special volumes (60–61) of the Journal of Logic and Algebraic Programming devoted to SOS; the proceedings appeared as ENTCS volume 128, issue 1. The second SOS workshop took place on the 10th of July 2005 in Lisbon (Portugal) as a satellite event of ICALP 2005, the The 32nd International Colloquium on Automata, Languages and Programming; its proceedings appeared as ENTCS volume 156, issue 1, and a special issue of The- This is a preliminary version. The final version will be published in Electronic Notes in Theoretical Computer Science oretical Computer Science based on selected papers appeared in 2007. The third SOS Workshop occurred on the 26th of August 2006 in Bonn as a satellite workshop of CONCUR 2006, the Seventeenth International Conference on Concurrency The- ory, and its proceedings appeared as ENTCS volume 175, issue 1. A special issue of Information and Computation on Structural Operational Semantics inspired by SOS 2006 is in preparation. Programme committee: • Luca Aceto (Aalborg, DK; Reykjav´ık, IS) • Rocco De Nicola (Florence, IT) • Rob van Glabbeek (NICTA, AU, co-chair) • Reiko Heckel (Leicester, UK) • Matthew Hennessy (Sussex, UK, co-chair) • Bartek Klin (Warsaw, PL) • Ugo Montanari (Pisa, IT) • MohammadReza Mousavi (Eindhoven, NL) • Prakash Panangaden (Montreal, CA) • Grigore Rosu (Urbana-Champaign IL, USA) • Simone Tini (Insubria, I) • Shoji Yuen (Nagoya, JP) The submitted papers were carefully refereed by the programme committee and by several outside referees, whose help is gratefully acknowledged. Invited speaker: Pawel Sobocinski (Southampton, UK) will address SOS 2007 on A well-behaved LTS for the Pi-calculus. Publication: The final versions of the papers in these preliminary proceedings will be published in ENTCS, Electronic Notes in Theoretical Computer Science. ENTCS is published electronically through the facilities of Elsevier Science B.V. and under its auspices. We are grateful to ENTCS for their continuing support, and in particular to Mike Mislove, Managing Editor of the series. Organisation: We are grateful to Marcin Bie´nkowski for taking care of the local organisation, and for mediating in the printing of these preliminary proceedings. Support from National ICT Australia and the University of Sussex is also gratefully acknowledged. Rob van Glabbeek (National ICT Australia) Matthew Hennessy (University of Sussex) 2 SOS 2007 Preliminary Version A well-behaved LTS for the Pi-calculus (Abstract) Pawe lSoboci´nski1 ecs, University of Southampton, UK The Pi-calculus [2,10] is one of the most well-known and widely-studied process calculi – roughly, it extends the binary synchronisations along a channel/name, familiar from ccs, with the ability to pass names as arguments. Thus, the input prefix becomes a binder and the synchronisation itself results in a substitution of the communicated name for the bound variable. The Pi-calculus inherits another binder from ccs – the restriction operator. The ability to pass names as part of a synchronous communication means that it behaves rather differently in this setting - in particular, the scope of a restriction, static in ccs, becomes dynamic essentially because restricted names can be communicated along public channels. Additionally, it behaves somewhat like a global generator of new-names - since α-conversion ensures that whichever concrete name is chosen for a restricted name, it is different from all other names in the term – in fact, the global nature of new names is also enforced in the definition of bisimulation as we shall recall below. See also [12]. The (reduction) semantics of the Pi-calculus is very similar to that of css, in fact, in the sum-free fragment we can express it essentially as the axiom a!b.P k a?x.Q → P k Q[b/x] (1) closed under evaluation contexts: parallel composition and restriction – reduction is not allowed under prefix. The reduction semantics naturally leads to a contextually defined equivalence: the barbed congruence. While canonical, contextually defined equivalences are difficult to reason about directly and for this reason it is helpful to define another “semantics”: the so-called early labelled transition system (lts). The labels of the transition system aim at classifying the possible interactions with the environment. Early congruence coincides with barbed congruence, but the lts 1 Research partially supported by EPSRC grant EP/D066565/1. This is a preliminary version. The final version will be published in Electronic Notes in Theoretical Computer Science P. Sobocinski´ is much easier to use because of the power of coinduction. a!b a?b (In) (Out) P −−→ P ′ Q −−→ Q′ a?b a!b (Comm) a?xP −−→ P [b/x] a!bP −−→ P τ P kQ −→ P ′kQ′ a!b a!(b) P P a6=b a?b −−→ ′ P −−−→ P ′ Q −−→ Q′ b/∈fn(Q) (Open) (Close) a!(b) τ P kQ −→ νb(P ′kQ′) νbP −−−→P ′ α α P −→ P ′ bn(α)∩fn(Q)=∅ P −→ P ′ b/∈n(α) (Par) α α (Res) P kQ −→ P ′kQ νbP −→ νbP ′ The so-called early lts, presented above for the finite, sum-free fragment without match or mismatch, is widely known and can be presented and used by humans in a fairly simple way provided that a number of conventions is followed – we shall discuss these in more detail below. In order to save space we omitted the symmetric versions of (Comm), (Close) and (Par); one normally works with an abstract syntax in which k is associative and commutative – such an equivalence relation on syntax is usually referred to as structural congruence. It is worth mentioning that rules (Open) and (Close) perform two roles: scope extrusion and generation of new name observable (the bound output label a!(b)). The side-conditions on the derivation rules deserve some further consideration. The requirements on (Res) and (Open) are fairly obvious and inherited from ccs – they ensure that ν behaves like ccs restriction in that one cannot communicate on a restricted channel from outside its scope. The conditions required of (Close) and (Par) merit more attention – in particular they make sure that the (Open)/(Close) mechanism for scope extrusion functions correctly. Indeed, consider the process P = (νb a!b) k b?x where the scope of the restriction encompasses only the left component. If the side-condition on (LPar) was lifted one a!(b) would be able to derive
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages132 Page
-
File Size-