Skip to main content
Log in

Contextual nets

  • Published:
Acta Informatica Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. H. Ehrig: Tutorial introduction to the algebraic theory of graph grammars. InProc. 3rd International Workshop on Graph Grammars. Springer Verlag, LNCS 291, 1987.

  2. N. De Francesco, U. Montanari, G. Ristori: Modelling serializability via process equivalence in Petri nets. Technical Report HPL-92-89, HP Laboratoires, 1992.

  3. 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.

  4. R. Janicki, M. Koutny: Invariant semantics of nets with inhibitor arcs. InProc. CONCUR. Springer-Verlag, LNCS 527, 1991.

  5. R. Janicki, M. Koutny: Structure of concurrency.Theoretical Computer Science, 112:5–52, 1993.

    Google Scholar 

  6. J. W. Lloyd:Foundations of Logic Programming. Springer Verlag, 1987.

  7. T. Agerwala, M. Flynn: Comments on capabilities, limitations and “correctness” of petri nets. Computer Architecture News, 2(4), 1973.

  8. U. Montanari, F. Rossi: True concurrency in concurrent constraint programming. InProc. ILPS91. MIT Press, 1991.

  9. U. Montanari, F. Rossi: Graph grammars as context-dependent rewriting systems. InProc. CAAP92. Springer-Verlag, LNCS, 1992.

  10. 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.

  11. U. Montanari, F. Rossi: Contextual occurrence nets and concurrent constraint programming. InProc. Dagstuhl Seminar on Graph Transformations in Computer Science. Springer-Verlag, LNCS, 1993.

  12. J.L. Peterson:Petri Nets and the Modelling of Systems. Prentice Hall, 1981.

  13. W. Reisig:Petri Nets: An Introduction. EATCS Monographs on Theoretical Computer Science. Springer Verlag, 1985.

  14. G. Ristori:Modelling Systems with Shared Resources via Petri Nets. PhD thesis, University of Pisa, TD-5/94, 1994.

  15. V.A. Saraswat:Concurrent Constraint Programming. MIT Press, 1993.

  16. G. Winskel: Event structures. InPetri nets: applications and relationships to other models of concurrency. Springer-Verlag, LNCS 255, 1986.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01178907

Keywords

Navigation