Abstract
Darwin is a general purpose structuring tool of use in building complex distributed systems from diverse components and diverse component interaction mechanisms. It is in essence a declarative binding language which can be used to define hierarchic compositions of interconnected components. Distribution is dealt with orthogonally to system structuring. The language allows the specification of both static structures and dynamic structures which evolve during execution. The central abstractions managed by Darwin are components and services. Bindings are formed by manipulating references to services.
The paper describes the operational semantics of Darwin in terms of the π-calculus, Milner's calculus of mobile processes. The correspondence between the treatment of names in the π-calculus and the management of service references in Darwin leads to an elegant and concise π-calculus model of Darwin's operational semantics. The model has proved useful in arguing the correctness of Darwin implementations and in designing extensions to Darwin and reasoning about their behaviour. The paper discusses the reasons why other formalisms fail to capture elegantly the system structuring concepts on which Darwin is based.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
ANSAware 4.1: Application Programming in ANSAware, Document RM.102.02, Architecture Projects Management Agency, Poseidon House, Castle Park, Cambridge CM3 0RD, UK, Feb. 1993.
Inmos Ltd, OCCAM 2 reference manual, Prentice Hall, 1988.
M. Barbacci, C. Weinstock, D. Doubleday, M. Gardner and R Lichota, Durra: a structure description language for developing distributed applications, IEE Software Engineering Journal, Vol. 8, No. 2, March 1993, pp83–94.
S. Eisenbach and R. Paterson, π-Calculus Semantics for the Concurrent Configuration Language Darwin, Proceedings of the 26th Annual Hawaii International Conference on System Sciences, Vol 2, IEEE Computer Society Press, 1993.
A. Harter, A. Hopper, A Distributed Location System for the Active Office, IEEE Network, Jan–Feb. 1994, pp. 62–70.
C.A.R. Hoare, Communicating sequential processes, Prentice-Hall, Englewood Cliffs, N.J., 1985.
J. Kramer, J. Magee, M. Sloman, N. Dulay, Configuring Object-Based Distributed Programs in Rex, IEE Software Engineering Journal, Vol. 7, 2, March 1992, pp139–149.
J. Magee,J. Kramer, and M. Sloman, Constructing Distributed Systems in Conic, IEEE Transactions on Software Engineering, SE-15 (6), 1989.
J. Magee, N. Dulay and J. Kramer, Structuring Parallel and Distributed Programs, IEE Software Engineering Journal, Vol. 8, No. 2, March 1993, pp73–82.
J.Magee, N. Dulay, J. Kramer, Regis: A Constructive Development Environment for Distributed Programs, Distributed Systems Engineering Journal, to appear.
R. Milner, Communication and Concurrency, Prentice-Hall, Englewood Cliffs, N. J., 1989.
R. Milner, The polyadic π-calculus: a tutorial, in Logic and Algebra of Specification, ed. F.L. Bauer, W. Brauer and H. Schwichttenberg, Springer Verlag, 1993, pp203–246.
R.Milner, J. Parrow, and D.Walker, A calculus of mobile processes, Parts I and II, Journal of Information and Computation, Vol. 100, pp1–40 and pp41–77, 1992.
R. Milner, Elements of Interaction — Turing Award Lecture, CACM, Vol 36, No. 1, January 1993, pp78–79.
J. Nehmer, D. Haban, F. Mattern, D. Wybranietz, D. Rombach, Key Concepts of the INCAS Multicomputer Project, IEEE Transactions on Software Engineering, SE-13 (8), August 1987.
M. Radestock and S. Eisenbach, What Do You Get From a π-calculus Semantics?, PARLE 94, Springer-Verlag, Lecture Notes in Computer Science No. 817, pp635–647, 1994.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Magee, J., Eisenbach, S., Kramer, J. (1995). Modelling darwin in the π-calculus. In: Birman, K.P., Mattern, F., Schiper, A. (eds) Theory and Practice in Distributed Systems. Lecture Notes in Computer Science, vol 938. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60042-6_10
Download citation
DOI: https://doi.org/10.1007/3-540-60042-6_10
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60042-8
Online ISBN: 978-3-540-49409-6
eBook Packages: Springer Book Archive