Abstract
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.
Preview
Unable to display preview. Download preview PDF.
References
Aalbersberg, IJ. J. and G. Rozenberg “Theory of Traces” Theoretical Computer Science Vol. 60, 1–82, 1988.
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.
Fishbum, P. C. Interval Orders and Interval Graphs, John Wiley and Sons, 1985.
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.
Gischer, J. Partial Orders and the Axiomatic Theory of Shuffle, Ph.D. Thesis, CS, Stanford University, 1984.
Grabowski, J. “On Partial Languages” Fundamenta Informaticae IV.2, 427–498, 1981.
Hoar, C. A. R. Communicating Sequential Processes, Prentice Hall, 1985.
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.
Lamport, L. “The Mutual Exclusion Problem, Parts I, II”, J. of the ACM, Vol 33, No. 2 313–384, 1986.
Mazurkiewicz, A. “Traces, histories, graphs: instances of a process monoid”, Lecture Notes in Computer Science 188, 353–375, 1984.
Milner, R. “Calculi for Synchrony and Asynchrony”, Theoretical Computer Science, Vol. 25, 267–310, 1983.
Myhill, J. “Finite Automata and the Representation of Trees”, WADD Technical Report 57-624, Wright-Patterson Air Force Base, 1960.
Petri, C. A. Interpretations of Net Theory, Gesellschaft fur Mathematik und Datenverarbeitung, Interner Bericht ISF-75-07, Second Edition, 1976.
Pratt, V. “Modeling Concurrency with Partial Orders”, International Journal of Parallel Programming, Vol. 15 No. 1 33–71, 1986.
Reisig, W. Petri Nets, An Introduction, EATC Monographs in Computer Science, vol 4. Springer Verlag, 1985.
Rozenberg, B. and P.S. Thiagarajan “Petri Nets: Basic Notions, Structure and Behavior”, Lecture Notes in Computer Science 224, 585–668, 1986.
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.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1989 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Gaifman, H. (1989). Modeling concurrency by partial orders and nonlinear transition systems. In: de Bakker, J.W., de Roever, W.P., Rozenberg, G. (eds) Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency. REX 1988. Lecture Notes in Computer Science, vol 354. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0013031
Download citation
DOI: https://doi.org/10.1007/BFb0013031
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-51080-2
Online ISBN: 978-3-540-46147-0
eBook Packages: Springer Book Archive