Abstract
We describe an approach to modeling the dynamics of distributed systems. By distributed systems we mean systems consisting of concurrent processes communicating via shared ports and posing certain synchronization requirements, via the ports, to the adjacent processes. The basic idea is to use graphs to represent states of such systems, and graph rewriting to represent their evolution. The kind of graph rewriting we use is based on simple context-free productions which are, however, combined by means of a synchronization mechanism. This allows for a good level of expressivity in the system without sacrifying full distribution. To formally model this kind of graph rewriting, however, we do not adopt the classical graph rewriting style but a more general framework, called the tile model, which allows for a clear separation between sequential rewriting and synchronization. Then, since the problem of satisfying the synchronization requirements may be a complex combinatorial problem, we suggest exploiting existing techniques for constraint solving. This is based on the observation that the synchronization problem can be modeled as a (finite domain) constraint problem. In this respect, we propose to use both local consistency techniques, to remove the possible redundancies in a system state, and a distributed backtracking search algorithm, as used in distributed constraint solving. Our method has the following advantages: first, it provides a formal description of the way a distributed system evolves; second, it seems promising from the performance point of view, since the techniques we propose for combining productions have been proved to be very convenient in several cases; finally, the kind of system evolution we describe here is just a particular instance of what can be described by using the tile model in its most general form, thus suggesting the possibility of extending our approach to modeling more complex distributed systems.
Similar content being viewed by others
References
Barendregt, H. P., van Eekelrn, M. C. J. D., Glauert, J. R. W., Kennaway, J. R., Plasmeijer, M. J., and Sleep, M. R.: Term graph reduction, in Proc. PARLE, Lecture Notes in Comput. Sci. 259, Springer-Verlag, Berlin, 1987, pp. 141-158.
Boehm, P., Fonio, H.-R., and Habel, A.: Amalgamation of graph transformations: A synchronization mechanism, J. Comput. System Sci. 34(2/3) (1987), 377-408.
Bruni, R. and Montanari, U.: Zero-safe nets, or transition synchronization made simple, in C. Palamidessi and J. Parrow (eds.), Proc. EXPRESS'97, Electron. Notes Theor. Comput. Sci., Vol. 7, http://www.elsevier.nl/locate/entcs/volume7.html.
Bruni, R. and Montanari, U.: Zero-safe nets: The individual token approach, in F. Parisi-Presicce (ed.), Proc. 12th WADT Workshop on Algebraic Development Techniques, Lecture Notes in Comput. Sci. 1376, Springer-Verlag, Berlin, 1998, pp. 122-140.
Ciancarini, P. and Hankin, C. (eds.): Coordination Languages and Models, Proceedings, Lecture Notes in Comput. Sci. 1061, Springer-Verlag, Berlin, 1996.
Corradini, A., Degano, P., and Montanari, U.: Specifying highly concurrent data structure manipulation, in G. Bucci and G. Valle (eds.), Computing 85: A Broad Perspective of Current Developments, Elsevier, Amsterdam, 1985.
Corradini, A. and Gadducci, F.: An algebraic presentation of term graphs via Gs-monoidal categories, Appl. Categorical Structures, to appear. Available at http://www.di.unipi.it/ gadducci/papers/aptg.ps, 1997.
Corradini, A. and Gadducci, F.: A 2-categorical presentation of term graph rewriting, in Proc. CTCS'97, Lecture Notes in Comput. Sci. 1290, 1997.
Corradini, A. and Montanari, U. (eds.): Proc. SEGRAGRA95 (Joint COMPUGRAPH/SEMAGRAPH Workshop on Graph Rewriting and Computation), Electron. Notes Theor. Comput. Sci., Elsevier, Amsterdam, 1995.
Dechter, R.: From local to global consistency, Artif. Intell. 55 (1992), 87-107.
Degano, P. and Montanari, U.: A model for distributed systems based on graph rewritings, J. ACM 34(2) (1987).
Dechter, R. and Pearl, J.: Network-based heuristics for constraint-satisfaction problems, in Kanal and Kumar (eds.), Search in Artificial Intelligence, Springer-Verlag, Berlin, 1988.
Ehresmann, C.: Catégories structurées: I and II, Ann. Éc. Norm. Sup. 80, Paris (1963), 349-426; III, Topo. et Géo. Diff. V, Paris (1963).
Ehrig, H.: Introduction to the algebraic theory of graph grammars, in Proc. International Workshop on Graph Grammars, Lecture Notes in Comput. Sci. 73, Springer-Verlag, Berlin, 1978.
Ehrig, H.: Tutorial introduction to the algebraic theory of graph grammars, in Proc. 3rd International Workshop on Graph Grammars, Lecture Notes in Comput. Sci. 291, Springer-Verlag, Berlin, 1987.
Ferrari, G. and Montanari, U.: A Tile-based coordination view of π-calculus, in I. Prívara and P. Ruzicka (eds.), Mathematical Foundations of Computer Science 1997, Lecture Notes in Comput. Sci. 1295, Springer-Verlag, Berlin, 1997, pp. 52-70.
Ferrari, G. and Montanari, U.: Tiles for concurrent and located calculi, in C. Palamidessi and J. Parrow (eds.), Proc. EXPRESS'97, Electron. Notes Theor. Comput. Sci., Vol. 7, http://www.elsevier.nl/locate/entcs/volume7.html.
Ferrari, G. and Montanari, U.: Tile formats for located and mobile systems, Inform. and Comput., to appear.
Freuder, E.: Synthesizing constraint expressions, Comm. ACM 21(11) (1978).
Freuder, E.: Backtrack-free and backtrack-bounded search, in Kanal and Kumar (eds.), Search in Artificial Intelligence, Springer-Verlag, Berlin, 1988.
Gadducci, F.: On the algebraic approach to concurrent term rewriting, PhD Thesis, Università di Pisa, Pisa. Technical Report TD-96-02, Department of Computer Science, University of Pisa, 1996.
Gadducci, F. and Montanari, U.: Tiles, rewriting rules and CCS, in J. Meseguer (ed.), Proc. 1st international workshop on Rewriting Logic and Applications, Electron. Notes Theor. Comput. Sci. 4, 1996, pp. 1-19.
Gadducci, F. and Montanari, U.: The tile model, in G. Plotkin, C. Stirling and M. Tofte (eds.), Proofs, Languages and Interaction: Essays in Honour of Robin Milner, MIT Press, 1998.
Habel, A.: Hyperedge replacement: Grammars and languages, PhD Thesis, University of Bremen, 1989.
Kelly, G. M. and Street, R. H.: Review of the elements of 2-categories, Lecture Notes in Math. 420, 1974, pp. 75-103.
Klop, J. W.: Term rewriting systems, in S. Abramsky, D. Gabbay, and T. Maibaum (eds.), Handbook of Logic in Computer Science, Vol. I, Oxford University Press, 1992, pp. 1-116.
Larsen, K. G., and Xinxin, L.: Compositionality through an operational semantics of contexts, J. Logic Comput. 1(6) (1991) (conference version in Proc. ICALP'90, Lecture Notes in Comput. Sci. 443, Springer-Verlag, Berlin, 1990).
Lawvere, F. W.: Functorial semantics of algebraic theories, Proc. Nat. Acad. Sci. 50 (1963), 869-872.
Mackworth, A. K.: Consistency in networks of relations, Artif. Intell. 8(1) (1977).
Mackworth, A. K.: Encyclopedia of AI, Chapter Constraint Satisfaction, Springer-Verlag, Berlin, 1988, pp. 205-211.
Mackworth, A. K. and Freuder, E. C.: The complexity of some polynomial network consistency algorithms for constraint satisfaction problems, Artif. Intell. 25 (1985).
Meseguer, J.: Conditional rewriting logic as a unified model of concurrency, Theoret. Comput. Sci. 96 (1992), 73-155.
Meseguer, J.: Rewriting logic as a semantic framework for concurrency: A progress report, in U. Montanari and V. Sassone (eds), CONCUR'96: Concurrency Theory, Lecture Notes in Comput. Sci. 1119, Springer-Verlag, Berlin, 1996, pp. 331-372.
Meseguer, J. and Montanari, U.: Mapping tile logic into rewriting logic, in F. Parisi-Presicce (ed.), Proc. 12th WADT Workshop on Algebraic Development Techniques, Lecture Notes in Comput. Sci., Springer-Verlag, Berlin, 1998, to appear. Paper available from http://www.csl.sri.com/ugo/wadt.ps.
Montanari, U.: Networks of constraints: Fundamental properties and application to picture processing, Inform. Sci. 7 (1974).
Montanari, U. and Rossi, F.: Graph rewriting and constraint solving for modelling distributed systems with synchronization, in Proc. COORDINATION 96, Lecture Notes in Comput. Sci. 1061, Springer-Verlag, Berlin, 1996.
Nguyen, T. and Deville, Y.: A distributed arc-consistency algorithm, in Proc. of the CCP95 International Workshop, 1995.
Plotkin, G.: A structural approach to operational semantics, Technical Report DAIMI FN-19, Computer Science Department, Aarhus University, 1981.
Schneider, H. J. and Ehrig, H. (eds.): Graph Trasformations in Computer Science, Lecture Notes in Comput. Sci. 776, Springer-Verlag, Berlin, 1994.
Sleep, M. R., Plasmeijer, M. J., and van Eekelen, M. C. (eds.): Term Graph Rewriting: Theory and Practice, Wiley, New York, 1992.
van Beek, P. and Dechter, R.: Constraint tightness versus global consistency, in Proc. KR94, Morgan Kaufmann, San Mateo, CA, 1994.
Yokoo, M., Ishida, T., Durfee, E. H., and Kuwabara, K.: Distributed constraint satisfaction for formalizing distributed problem solving, in Proc. IEEE International Conference on Distributed Computing Systems, 1992.
Yokoo, M.: Asynchronous weak-committment search for solving distributed constraint satisfaction problems, in Proc. CP95 (Principles and Practice of Constraint Programming), Lecture Notes in Comput. Sci. 976, Springer-Verlag, Berlin, 1995.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Montanari, U., Rossi, F. Graph Rewriting, Constraint Solving and Tiles for Coordinating Distributed Systems. Applied Categorical Structures 7, 333–370 (1999). https://doi.org/10.1023/A:1008693303228
Issue Date:
DOI: https://doi.org/10.1023/A:1008693303228