Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

A model for distributed systems based on graph rewriting

Published: 01 April 1987 Publication History

Abstract

In our model, a graph describes a net of processes communicating through ports and, at the same time, its computation history consisting of a partial ordering of events. Stand-alone evolution of processes is specified by context-free productions. From productions and a basic synchronization mechanism, a set of context-sensitive rewriting rules that models the evolution of processes connected to the same ports can be derived. A computation is a sequence of graphs obtained by successive rewritings. The result of a finite computation is its last graph, whereas the result of an infinite computation is the limit, infinite graph defined through a completion technique based on metric spaces. A result characterizes a concurrent computation, since it abstracts from any particular interleaving of concurrent events, while in the meantime providing information about termination, partial or complete deadlocks, and fairness. Not every result is acceptable, however, but only the computations that produce a result no longer rewritable are successful. Infinite successful computations are shown to coincide with weakly fair computations, and a scheduler yielding all and only such computations is defined.

References

[1]
ASTESIANO, E., MASCAra, G. F., REGGIO, G., ANt> WmSING, M. On the parametrized algebraic specification of concurrent systems. In Proceedings of the Joint Conference on Theory and Practice of Software Development 1985 (Berlin, Mar. 25-29). Lecture Notes on Computer Science, vol. 185. Springer-Verlag, Berlin, 1985, pp. 342-358.
[2]
ASTESlANO, E., MAZZANTI, F., REGGIO, G., AND ZUCCA, E. Formal specification of a concurrent architecture in a real project. In Proceedings of the 8th A CM International Symposium on Computing (Firenze, Italy, Mar. 27-29), G. Valle and G. Bucci, Eds. North-Holland, Amsterdam, 1985.
[3]
BOEHM, P., FONIO, H., ANt> HABEL, A. Amalgamation of graph transformations with applications to synchronization. J. Comput. Syst. Sci., to appear.
[4]
BRAMS, G.W. R~seaux de Petri: Th~orie et Pratique, vol. I and II. Masson, Paris, 1983.
[5]
BROOKES, S. D., HOARE, C. A. R., ANt> ROSCOE, A.W. A theory of communicating sequential processes. ~ ACM 31, 3 (July 1984), 560-599.
[6]
CASTELLANi, I., AND MONTANARI, U. Graph grammars for distributed systems. In Proceedings of the 2nd International Workshhop on Graph-Grammars and Their Applications to Computer Science, H. Ehrig, M. A. Nagel, and G. Rozenberg, Eds. (Osnabriik, West Germany, Oct. 1982). Lecture Notes on Computer Science, vol. 153. Springer-Verlag, Berlin, 1983, pp. 20-38.
[7]
CASTELLANI, I., FRANCESCHI, P., ANt> MONTANARI, O. Labeled event structures: A model for observable concurrency. In Proceedings of IFIP TC 2m Working Conference: Formal Description of Programming Concepts II, D. Bjcmer, Ed. Garmisch-Partenkirchen, 1982; North-Holland, Amsterdam, 1983, pp. 383-400.
[8]
CHANDRA, A. K. Computable nondeterministic functions. In Proceedings of the 19th Annual ACM SIGACT Symposium on Theory of Computing. ACM, New York, 1978, pp. 127-131.
[9]
CLINGER, W.D. Foundations of actor semantics, MIT AI-TR-633. MIT, Cambridge, Mass., 1981.
[10]
CORRADINI, A. Aspetti Modellistici ed implementativi di GDS, un Formalismo per la Specifica di Sistemi Distribuiti. Master's dissertation. Computer Science Dept., Univ. of Pisa, Pisa, Italy, Apr. 1984.
[11]
CORRADINI, A., DEGANO, e., ANt> MONTANARI, U. Specifying highly concurrent data structure manipulation. In Proceedings of the 8th ACM International Symposium on Computing (Firenze, Italy, Mar. 27-29), G. Valle and G. Bucci, Eds. North-Holland, Amsterdam, 1985, pp. 93-103.
[12]
DE BAKKER, J. W., ANt> ZUCKER, J.i. Processes and the denotational semantics of concurrency. Inf. Cont. 54, 1/2 (1982), 70-121.
[13]
DEGANO, P., AND MONTANARI, U. A model for distributed systems based on graph rewriting. Note Cnet 111. Computer Science Dept., Univ. of Pisa, Pisa, Italy, 1983.
[14]
DEGANO, P., AND MONTANARI, U. Liveness properties as convergence in metric spaces. In Proceedings of the 16th Annual ACM SIGACT Symposium on Theory of Computing (Washington, D.C., Apr. 30-May 2). ACM, New York, 1984, pp. 31-38.
[15]
DEGANO, P., AND MONTANARI, U. Distributed systems, partial orderings of events, and event structures. In Control Flow and Data FlowmConcepts of Distributed Programming, M. Broy, Ed. NATO ASI Series F, 14. Springer-Verlag, Berlin, 1985, pp. 7-106.
[16]
DEGANO, P., AND MONTANARI, U. Specification languages for distributed systems. In Proceedings of the Joint Conference on Theory and Practice of Software Development (Berlin, Mar. 25-29) (invited paper). Lecture Notes on Computer Science, vol. 185. Springer-Verlag, Berlin, 1985, pp. 29-51.
[17]
DEGANO, P., AND MONTANARI, O. Concurrent histories--A basis for observing distributed systems. Y. Comput. Syst. Sci., to appear.
[18]
DEGANO, P., DE NICOLA, R., AND MONTANARI, U. Partial ordering derivations for CCS. In Proceedings of the 5th International Conference on Fundamentals of Computation Theory (Cottbus, East Germany, Sept. 9-13), L. Budach, Ed. Lecture Notes on Computer Science, vol. 199. Springer- Verlag, Berlin, 1984, pp. 520-533.
[19]
DEGANO, e., DE NICOLA, R., AND MONTANARI, U. Observational congruences for concurrency models. In Proceedings of the 3rd IFIP Working Conference on the Formal Description of Programming Concepts, M. Wirsing Ed. North-Holland, Amsterdam, 1986.
[20]
DUGUNDJI, J. Topology. Allyn and Bacon, Boston, Mass., 1966.
[21]
EHRIG, H. Aspects of concurrency in graph grammars. In Proceedings of the 2nd international Workshop on Graph-Grammars and Their Application to Computer Science, H. Ehrig, M. A. Nagel, and G. Rozenberg, Eds. (Osnabriik, West Germany, 1982). Lecture Notes in Computer Science, vol. 153. Springer-Verlag, Berlin, 1983, pp. 58-81.
[22]
HOARE, C. A. R. Communicating sequential processes. Commun. ACM 21, 8 (Aug. 1978), 666-677.
[23]
LAUER, P. E., TORRIGIANI, P. R., AND SHIELDS, M.W. COSY: A system specification language based on paths and processes. Acta Inf. 12 (1979), 109-158.
[24]
MILNER, R. FIowgraphs and flow algebras. J. ACM 26, 4 (Oct. 1979), 794-818.
[25]
MILNVR, R. A Calculus of Communicating Systems. Lecture Notes on Computer Science, vol. 92. Springer-Verlag, Berlin, 1980.
[26]
MILNER, R. Calculi for synchrony and asynchrony. Theoret. Comput. Sci. 25 (1983), 267-310.
[27]
MONTANAm, U., AND SIMONELLI, C. On distinguishing concurrency from nondeterminism, R6seaux de Petri et parall61ism (Colleville sur mer, 1980). Note Cnet 7. Computer Science Dept., Univ. of Pisa, Pisa, Italy, 1980.
[28]
N^GEL, M. A. Tutorial and bibliographic survey on graph gammars. In Proceedings of the International Workshop on Graph-Grammars and Their Application to Computer Science and Biology, V. Claus, H. Ehrig, and G. Rozenberg, Eds. (Bad Honnef, West Germany, Oct. 1978). Lecture Notes on Computer Science, vol. 73. Springer-Verlag, Berlin, 1979, pp. 70-126.
[29]
NmLSFN, M., PLOTKIN, G. D., AND WlNSKEL, G. Petri nets, event structures and domains, Part 1. Theoret, Comput. Sci. 13 (1981), 85-108.
[30]
NIVAT, M. Infinite words, infinite trees, infinite computations. In Foundations of Computer Science III, J. W. de Bakker, and J. van Leeuwen, Eds. vol. II. Mathematical Centre Tracts, vol. 109. Amsterdam, 1979, pp. 1-52.
[31]
NlVAT, M. Behaviours of processes and synchronized systems of processes. In Theoretical Foundations of Programming Methodology, M. Broy, and G. Schmidt, Eds. Reidel, Dordrecht, 1982, pp. 473-550.
[32]
PETRI, C. A. Concurrency. In Proceedings of Net Theory and Applications. Lecture Notes in Computer Science, vol. 84. Springer-Vedag, Berlin, 1980, pp. 251-260.
[33]
PLOrKIN, G.D. An operational semantics for CSP. In Proceedings of the IFIP TC 2--Working Conference: Formal Description of Programming Concepts II, D. Bjcrner, Ed. (Garmisch-Partenkirchen, West Germany, June 1982) North-Holland, Amsterdam, 1983, pp. 199-223.
[34]
SCOTT, D.S. Data types as latfices. SIAMJ. on Comp. 5 (1976), 522-587.
[35]
WILEDEN, J.C. Relationships between graph grammars and the design and analysis of concurrent software. In Proceedings of the International Workshop on Graph-Grammars and Their Application to Computer Science and Biology, V. Claus, H. Ehrig, and G. Rozenberg, Eds. (Bad Honnef, West Germany, Oct. 1978). Lecture Notes in Computer Science, vol. 73. Springer-Verlag, Berlin, 1979, pp. 456--463.
[36]
WINKOWSKI, J. Behaviours of concurrent systems. Theoret. Comput. Sci. 12 (1980), 39-60.
[37]
WINSKEL, G. Event structure semantics for CCS and related languages. In Proceedings of the 9th ICALP, M. Nielsen, and E. M. Schmidt, Eds. Lecture Notes in Computer Science, vol. 140. Springer-Vedag, Berlin, 1982, pp. 561-576.

Cited By

View all

Recommendations

Reviews

D. John Cooke

In this lengthy paper the authors develop a graphical model to represent the activity of a certain type of distributed system, in which communication is via ports and no more than two processes are required to synchronize at any time via a common port. (This second restriction is introduced in order to keep matters simple but is not inherent in the underlying mathematics.) Basically, the primitive processes and the events to which they relate (the terminology used here is exactly the same as that found in the similarly named variant of Petri nets) give rise to a graph grammar that reflects both causal and communication links. Rewrite rules which ensure synchronization of appropriate events and processes are derived from the productions of the grammar. Execution of the distributed system is then mirrored by applications of these rules to give a sequence of expanding graphs. These represent events that happened in the past and processes that may be executed in the future. The initial configuration of a distributed system thus gives rise to sequences of possible behaviors which may be either finite or infinite. Moreover, the set of such sequences can be endowed with a metric derived from the length of the common truncation of two sequences, and the resulting space is complete. Several other interesting results and characterizations involving deadlocks, fairness, and the locally defined notion of success are derived. In its current form the work is mainly of theoretical interest, and then only to part of the computing community. Applying the work to temporal logic formalisms would seem to be a reasonable next move and should make it more approachable and applicable to both the development and the verification of distributed systems. The paper is logically structured. Aside from its informal second section, which is perhaps not as helpful as the authors believe, and some confusion in the diagrams (it is not always readily apparent which features and labels are mandatory or arbitrary), it reads well. The problem area is complex, and the constructions presented here reflect that complexity. Nevertheless, reading this paper will provide an extra perspective on distributed systems for those who study them.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Information & Contributors

Information

Published In

cover image Journal of the ACM
Journal of the ACM  Volume 34, Issue 2
April 1987
286 pages
ISSN:0004-5411
EISSN:1557-735X
DOI:10.1145/23005
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 April 1987
Published in JACM Volume 34, Issue 2

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)100
  • Downloads (Last 6 weeks)13
Reflects downloads up to 11 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2021)Bialgebraic foundations for the operational semantics of string diagramsInformation and Computation10.1016/j.ic.2021.104767281:COnline publication date: 1-Dec-2021
  • (2020)Parallel rewriting of attributed graphsTheoretical Computer Science10.1016/j.tcs.2020.09.025848(106-132)Online publication date: Dec-2020
  • (2018)Semantics of global view of choreographiesJournal of Logical and Algebraic Methods in Programming10.1016/j.jlamp.2017.11.00295(17-40)Online publication date: Feb-2018
  • (2016)Specifying and executing optimizations for generalized control flow graphsScience of Computer Programming10.1016/j.scico.2016.06.003130:C(2-23)Online publication date: 15-Nov-2016
  • (2015)Pierpaolo DeganoEssays Dedicated to Pierpaolo Degano on Programming Languages with Applications to Biology and Security - Volume 946510.5555/2963891.2963892(1-6)Online publication date: 1-Aug-2015
  • (2015)Pierpaolo DeganoProgramming Languages with Applications to Biology and Security10.1007/978-3-319-25527-9_1(1-6)Online publication date: 20-Nov-2015
  • (2014)Graph Based Property Representation for the Function DecompositionApplied Mechanics and Materials10.4028/www.scientific.net/AMM.490-491.528490-491(528-532)Online publication date: Jan-2014
  • (2014)-adhesive transformation systems with nested application conditions. Part 1: parallelism, concurrency and amalgamationMathematical Structures in Computer Science10.1017/S096012951200035724:04Online publication date: 26-Jun-2014
  • (2014)Multi-amalgamation of rules with application conditions in -adhesive categoriesMathematical Structures in Computer Science10.1017/S096012951200034524:04Online publication date: 26-Jun-2014
  • (2013)Reconfiguration Mechanisms for Service CoordinationWeb Services and Formal Methods10.1007/978-3-642-38230-7_9(134-149)Online publication date: 2013
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media