Transition Systems with Algebraic Structure as Models of Computations

This paper is a tutorial introduction to a general methodology, consisting of categorical constructions, for the definition of new algebraic semantics for transition-based formalisms. The methodology individuates three levels of semantic description: programs, structured transition systems, and models. The various formalisms differ for the structure on states and transitions, with respect to which all the categorical constructions of the methodology are parametric. These constructions generate in an automatic way the induced transition system and the free model of a program. One characterizing issue of the methodology is that structured transition systems have a (usually algebraic) structure on both the states and the transitions, while for example in Plotkin's SOS approach just the structure of states is relevant. The advantage of considering transition systems with an algebraic structure on transitions, too, resides in the fact that often the same structure can be automatically extended to the computations of the system. This yields to categories whose arrows are not simple sequences of elementary transitions, but are instead abstract computations, equipped with a rich algebraic structure. The methodology generalizes the algebraic treatment of Petri nets proposed in [MM88], and includes the main ideas of the algebraic semantics for Horn Clause Logic presented in [Co90, CM90], and of the algebraic treatment of Milner's CCS, reported in [Fe90, FM90].

[1]  Amir Pnueli,et al.  The temporal logic of programs , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[2]  Ugo Montanari,et al.  An Algebraic Representation of Logic-Program Computations , 1991, Computational Logic - Essays in Honor of Alan Robinson.

[3]  Fred Krögr Temporal Logic Of Programs , 1987 .

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

[5]  F. W. Lawvere,et al.  FUNCTORIAL SEMANTICS OF ALGEBRAIC THEORIES. , 1963, Proceedings of the National Academy of Sciences of the United States of America.

[6]  José Meseguer,et al.  Petri nets are monoids: a new algebraic foundation for net theory , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[7]  Wolfgang Reisig,et al.  The Non-sequential Behavior of Petri Nets , 1983, Inf. Control..

[8]  Raymond R. Devillers,et al.  Sequential and Concurrent Behaviour in Petri Net Theory , 1987, Theor. Comput. Sci..

[9]  Giorgio Levi,et al.  A Synchronization Logic: Axiomatics and Formal Semantics of Generalized Horn Clauses , 1984, Inf. Control..

[10]  José Meseguer,et al.  Temporal Structures , 1989, Mathematical Structures in Computer Science.

[11]  Ugo Montanari,et al.  Axiomatizing net computations and processes , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[12]  Ugo Montanari,et al.  Towards a Process Semantics in the Logic Programming Style , 1990, STACS.

[13]  Gian Luigi Ferrari,et al.  Towards the Unification of Models for Concurrency , 1990, CAAP.

[14]  S. Lane Categories for the Working Mathematician , 1971 .

[15]  Andrea Asperti,et al.  Projections Instead of Variables: A Category Theoretic Interpretation of Logic Programs , 1989, ICLP.

[16]  Glynn Winskel,et al.  An introduction to event structures , 1988, REX Workshop.

[17]  J. Meseguer Rewriting as a unified model of concurrency , 1990, OOPSLA/ECOOP '90.

[18]  Ugo Montanari,et al.  Concurrent Histories: A Basis for Observing Distributed Systems , 1987, J. Comput. Syst. Sci..

[19]  P. T. Johnstone,et al.  TOPOSES, TRIPLES AND THEORIES (Grundlehren der mathematischen Wissenschaften 278) , 1986 .

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

[21]  Jan A. Bergstra,et al.  Process Algebra for Synchronous Communication , 1984, Inf. Control..

[22]  Gian Luigi Ferrari,et al.  Unifying models of concurrency , 1990 .

[23]  Robert M. Keller,et al.  Formal verification of parallel programs , 1976, CACM.

[24]  Ilaria Castellani,et al.  Concurrency and Atomicity , 1988, Theor. Comput. Sci..

[25]  Glynn Winskel,et al.  Petri Nets, Event Structures and Domains , 1979, Semantics of Concurrent Computation.

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

[27]  Ugo Montanari,et al.  An Algebraic View of Interleaving and Distributed Operational Semantics for CCS , 1989, Category Theory and Computer Science.

[28]  Roberto Gorrieri,et al.  A2CCKS: Atomic Actions for CCS , 1990, Theor. Comput. Sci..

[29]  Joseph A. Goguen,et al.  What Is Unification?: A Categorical View of Substitution, Equation and Solution , 1989 .

[30]  Wolfgang Reisig Petri Nets: An Introduction , 1985, EATCS Monographs on Theoretical Computer Science.

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

[32]  Eugene W. Stark,et al.  Concurrent Transition Systems , 1989, Theor. Comput. Sci..

[33]  Rocco De Nicola,et al.  A Partial Ordering Semantics for CCS , 1990, Theor. Comput. Sci..

[34]  David B. Benson,et al.  Bisimulation of Automata , 1988, Inf. Comput..

[35]  Manfred Droste Event Structures and Domains , 1989, Theor. Comput. Sci..

[36]  Ilaria Castellani,et al.  Permutation of transitions: An event structure semantics for CCS and SCCS , 1988, REX Workshop.

[37]  John Wylie Lloyd,et al.  Foundations of Logic Programming , 1987, Symbolic Computation.

[38]  Rocco De Nicola,et al.  Partial orderings descriptions and observations of nondeterministic concurrent processes , 1988, REX Workshop.

[39]  S. Maclane,et al.  Categories for the Working Mathematician , 1971 .

[40]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.