Modeling concurrency by partial orders and nonlinear transition systems

  • Haim Gaifman
Technical Contributions
Part of the Lecture Notes in Computer Science book series (LNCS, volume 354)


In the first part we give a general analysis of concurrency. We model computations as structures over multisets of actions with two strict partial orders: causal precedence (in a wide sense of “causal”) and temporal precedence. The first is included in the second. Concurrent events are those incomparable under causal precedence, simultaneous events are those incomparable under temporal precedence. Thus, simultaneity implies concurrency but not vice versa. In this setting we can define precisely how computing devices are specified by partial orders and how pomsets express concurrency. The causal parts of the possible computations of a computing device constitute the core of the corresponding process. They turn out to be the least constrained members in the set of pomsets which specifies the device. The core of the process is insensitive to the way we model time and events, the temporal components are not. In the second part of the work we propose a generalization of linear transition systems. The nonlinear systems act like automata that spew out pomsets instead of strings. Various intuitions can be carried over from the linear to the nonlinear case without sacrificing true concurrency. Nonlinear automata can be used to generate the cores of processes associated with a great variety of computing devices. In particular, we show how they provide useful descriptions of shared resource situations (Dining Philosophers with and without Locking). The avoidance of deadlock by an implementation can be defined and proved. Similarly, we can define formally what it means for an implementation to involve loss of parallelism. Such a loss shows in the form of extra order constraints that have to be added to core members of the original process. Nonlinear transition systems appear to be natural candidates for modeling concurrency and hidden branching within a manageable framework.

Key words

concurrent computation partial order pomset process action event causal precedence simultaneous transition system automaton state shared resource dining philosophers deadlock 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AR]
    Aalbersberg, IJ. J. and G. Rozenberg “Theory of Traces” Theoretical Computer Science Vol. 60, 1–82, 1988.CrossRefGoogle Scholar
  2. [BA]
    Brock, J.D. and W.B. Ackerman “Scenarios: A Model of Non-Determinate Computation” Formalization of Programming Concepts, J. Diaz and I. Ramos, Eds, Lecture Notes in Computer Science 107, Springer-Verlag, 252–259, 1981.Google Scholar
  3. [Fi]
    Fishbum, P. C. Interval Orders and Interval Graphs, John Wiley and Sons, 1985.Google Scholar
  4. [GP]
    Gaifman, H. and V. Pratt “Partial Order Models of Concurrency and the Computation of Functions” LICS (Symposium on Logic in Computer Science), June 1987, IEEE Computer Society Press, 72–85, 1987.Google Scholar
  5. [Gi]
    Gischer, J. Partial Orders and the Axiomatic Theory of Shuffle, Ph.D. Thesis, CS, Stanford University, 1984.Google Scholar
  6. [Gr]
    Grabowski, J. “On Partial Languages” Fundamenta Informaticae IV.2, 427–498, 1981.Google Scholar
  7. [Ho]
    Hoar, C. A. R. Communicating Sequential Processes, Prentice Hall, 1985.Google Scholar
  8. [DHJW]
    Denvir, Harwood, Jackson and Wray, Editors The Analysis of Concurrent Systems, Proceedings of Workshop, Cambridge 1983, Lecture Notes in Computer Science, 207, Springer-Verlag, 1985.Google Scholar
  9. [La]
    Lamport, L. “The Mutual Exclusion Problem, Parts I, II”, J. of the ACM, Vol 33, No. 2 313–384, 1986.CrossRefGoogle Scholar
  10. [Ma]
    Mazurkiewicz, A. “Traces, histories, graphs: instances of a process monoid”, Lecture Notes in Computer Science 188, 353–375, 1984.Google Scholar
  11. [Mi]
    Milner, R. “Calculi for Synchrony and Asynchrony”, Theoretical Computer Science, Vol. 25, 267–310, 1983.CrossRefGoogle Scholar
  12. [My]
    Myhill, J. “Finite Automata and the Representation of Trees”, WADD Technical Report 57-624, Wright-Patterson Air Force Base, 1960.Google Scholar
  13. [Pe]
    Petri, C. A. Interpretations of Net Theory, Gesellschaft fur Mathematik und Datenverarbeitung, Interner Bericht ISF-75-07, Second Edition, 1976.Google Scholar
  14. [Pr]
    Pratt, V. “Modeling Concurrency with Partial Orders”, International Journal of Parallel Programming, Vol. 15 No. 1 33–71, 1986.CrossRefGoogle Scholar
  15. [Re]
    Reisig, W. Petri Nets, An Introduction, EATC Monographs in Computer Science, vol 4. Springer Verlag, 1985.Google Scholar
  16. [RT]
    Rozenberg, B. and P.S. Thiagarajan “Petri Nets: Basic Notions, Structure and Behavior”, Lecture Notes in Computer Science 224, 585–668, 1986.Google Scholar
  17. [St]
    Stark, E. W. “Concurrent Transition System Semantics of Process Networks” POPL 14 (Fourteenth Annual ACM Symposium on Principles of Programming Languages) January 1987 ACM, 199–210, 1987.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1989

Authors and Affiliations

  • Haim Gaifman
    • 1
  1. 1.Institute of Mathematics and Computer ScienceHebrew University Jerusalem IsraelIsrael

Personalised recommendations