Darwin
1. <operating system> An operating system based on the FreeBSD version of Unix, running on top of a microkernel (Mach 3.0 with darwin 1.02) that offers advanced networking, services such as the Apache web server, and support for both Macintosh and Unix file systems. Darwin was originally released in March 1999. It currently runs on PowerPC based Macintosh computers, and, in October 2000, was being ported to Intel processor-based computers and compatible systems by the Darwin community.
2. <programming, tool> A general purpose structuring tool of use in building complex distributed systems from diverse components and diverse component interaction mechanisms. Darwin is being developed by the Distributed Software Engineering Section of the Department of Computing at Imperial College. 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 operational semantics of Darwin is described in terms of the Pi-calculus, Milner's calculus of mobile processes. The correspondence between the treatment of names in the Pi-calculus and the management of service references in Darwin leads to an elegant and concise Pi-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.
Distributed Software Engineering Section. Darwin publications.
E-mail: Jeff Magee <jnm@doc.ic.ac.uk>, Naranker Dulay <nd@doc.ic.ac.uk>.
3. Core War.