Abstract
We propose a new kind of nets, called contextual nets, where events may have both preconditions and postconditions, as in the classical case, and also positive or negative context conditions. Positive context conditions are to be interpreted as elements which are needed for the event to occur, but which are not affected by the occurring of the event. Instead, negative context conditions are elements which must not be present for the event to take place.
The importance of an explicit representation of positive context elements is twofold. Firstly, it allows a faithful representation of systems where the notion of “reading without consuming” is commonly used, like database systems, concurrent constraint programming, or any computation framework based on shared memory. Secondly, it allows to specify directly and naturally a level of concurrency greater than in classical nets. In fact, two events with different preconditions but with the same positive context may occur both in any order and also simultaneously. It is important to note that no other formalism for specifying distributed systems has such feature, not even Petri nets, where the “read” operation does not exists and it is instead modelled through a “rewrite” operation (i.e., a loop), which however does not allow the simultaneous execution of two tasks which read the same resource. Of course a context situation may be simulated in classical nets by creating as many copies of the context as are the users, but this would lead to a very unrealistic (and also more costly) description of the real situation. Negative context conditions are instead very natural to use in systems or languages where negation is present.
In this paper we provide contextual nets with two process-based semantics which both are able to represent all and only the computations of a net and express the correct level of true-concurrency. Moreover, we show that contact situations, as well as negative context conditions, do not add any additional power, and we investigate the relationship between contextual nets and classical nets in terms of their processes.
Similar content being viewed by others
References
H. Ehrig: Tutorial introduction to the algebraic theory of graph grammars. InProc. 3rd International Workshop on Graph Grammars. Springer Verlag, LNCS 291, 1987.
N. De Francesco, U. Montanari, G. Ristori: Modelling serializability via process equivalence in Petri nets. Technical Report HPL-92-89, HP Laboratoires, 1992.
N. De Francesco, U. Montanari, G. Ristori: Modelling concurrent accesses to shared data via petri nets. InProc. of the IFIP Working Conference on Programming Concepts, Methods and Calculi (PROCOMET'94), 1994.
R. Janicki, M. Koutny: Invariant semantics of nets with inhibitor arcs. InProc. CONCUR. Springer-Verlag, LNCS 527, 1991.
R. Janicki, M. Koutny: Structure of concurrency.Theoretical Computer Science, 112:5–52, 1993.
J. W. Lloyd:Foundations of Logic Programming. Springer Verlag, 1987.
T. Agerwala, M. Flynn: Comments on capabilities, limitations and “correctness” of petri nets. Computer Architecture News, 2(4), 1973.
U. Montanari, F. Rossi: True concurrency in concurrent constraint programming. InProc. ILPS91. MIT Press, 1991.
U. Montanari, F. Rossi: Graph grammars as context-dependent rewriting systems. InProc. CAAP92. Springer-Verlag, LNCS, 1992.
U. Montanari, F. Rossi: Graph rewriting for a partial ordering semantics of concurrent constraint programming.Theoretical Computer Science, 1992. special issue on graph grammars, Courcelle B. and Rozenberg eds.
U. Montanari, F. Rossi: Contextual occurrence nets and concurrent constraint programming. InProc. Dagstuhl Seminar on Graph Transformations in Computer Science. Springer-Verlag, LNCS, 1993.
J.L. Peterson:Petri Nets and the Modelling of Systems. Prentice Hall, 1981.
W. Reisig:Petri Nets: An Introduction. EATCS Monographs on Theoretical Computer Science. Springer Verlag, 1985.
G. Ristori:Modelling Systems with Shared Resources via Petri Nets. PhD thesis, University of Pisa, TD-5/94, 1994.
V.A. Saraswat:Concurrent Constraint Programming. MIT Press, 1993.
G. Winskel: Event structures. InPetri nets: applications and relationships to other models of concurrency. Springer-Verlag, LNCS 255, 1986.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Montanari, U., Rossi, F. Contextual nets. Acta Informatica 32, 545–596 (1995). https://doi.org/10.1007/BF01178907
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF01178907