In
computer science
Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to Applied science, practical discipli ...
, the ambient calculus is a
process calculus
In computer science, the process calculi (or process algebras) are a diverse family of related approaches for formally modelling concurrent systems. Process calculi provide a tool for the high-level description of interactions, communications, and ...
devised by
Luca Cardelli
Luca Andrea Cardelli, Fellow of the Royal Society (FRS), is an Italian computer scientist who is a research professor at the University of Oxford in Oxford, UK. Cardelli is well known for his research in type theory and operational semantics. A ...
and
Andrew D. Gordon
Andrew D. Gordon is a British computer scientist employed by Microsoft Research. His research interests include programming language design, formal methods, concurrency, cryptography, and access control.
Biography
Gordon earned a Ph.D. from ...
in 1998, and used to describe and theorise about
concurrent systems
In computer science, concurrency is the ability of different parts or units of a program, algorithm, or problem to be executed out-of-order or in partial order, without affecting the outcome. This allows for parallel execution of the concurr ...
that include ''mobility''. Here ''mobility'' means both computation carried out on mobile devices (''i.e.'' networks that have a dynamic topology), and mobile computation (''i.e.'' executable code that is able to move around the network). The ambient calculus provides a unified framework for modeling both kinds of mobility.
It is used to model interactions in such
concurrent systems
In computer science, concurrency is the ability of different parts or units of a program, algorithm, or problem to be executed out-of-order or in partial order, without affecting the outcome. This allows for parallel execution of the concurr ...
as the
Internet
The Internet (or internet) is the global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a '' network of networks'' that consists of private, pub ...
.
Since its inception, the ambient calculus has grown into a family of closely related ambient calculi.
Informal description
Ambients
The fundamental primitive of the ambient calculus is the ambient. An ambient is informally defined as a ''bounded'' place in which computation can occur. The notion of boundaries is considered key to representing mobility, since a boundary defines a contained computational agent that can be moved in its entirety.
Examples of ambients include:
* a web page (bounded by a file)
* a virtual address space (bounded by an addressing range)
* a Unix file system (bounded within a physical volume)
* a single data object (bounded by “
self
The self is an individual as the object of that individual’s own reflective consciousness. Since the ''self'' is a reference by a subject to the same subject, this reference is necessarily subjective. The sense of having a self—or ''selfhood ...
”)
* a laptop (bounded by its case and data ports)
The key properties of ambients within the Ambient calculus are:
* Ambients have names, which are used to control access to the ambient.
* Ambients can be nested inside other ambients (representing, for example, administrative domains)
* Ambients can be moved as a whole.
Operations
Computation is represented as the crossing of boundaries, ''i.e.'' the movement of ambients. There are four basic operations (or capabilities) on ambients:
*
instructs the surrounding ambient to enter some sibling ambient
, and then proceed as
*
instructs the surrounding ambient to exit its parent ambient
*
instructs the surrounding ambient to dissolve the boundary of an ambient
located at the same level
*
makes any number of copies of something
The ambient calculus provides a reduction semantics that formally defines what the results of these operations are.
Communication ''within'' (''i.e.'' local to) an ambient is anonymous and asynchronous. Output actions release names or capabilities into the surrounding ambient. Input actions capture a value from the ambient, and bind it to a variable. ''Non-local'' I/O can be represented in terms of these local communications actions by a variety of means. One approach is to use mobile “messenger” agents that carry a message from one ambient to another (using the capabilities described above). Another approach is to emulate channel-based communications by modeling a channel in terms of ambients and operations on those ambients.
The three basic ambient primitives, namely in, out, and open are expressive enough to simulate name-passing channels in the
π-calculus
In theoretical computer science, the -calculus (or pi-calculus) is a process calculus. The -calculus allows channel names to be communicated along the channels themselves, and in this way it is able to describe concurrent computations whose networ ...
.
See also
*
Lambda calculus
Lambda calculus (also written as ''λ''-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. It is a universal model of computation ...
*
Mobile membranes
Membrane systems have been inspired from the structure and the functioning of the living cells. They were introduced and studied by Gh.Paun under the name of P systems 4 some applications of the membrane systems are presented in 5 Membrane sy ...
*
Type theory
In mathematics, logic, and computer science, a type theory is the formal presentation of a specific type system, and in general type theory is the academic study of type systems. Some type theories serve as alternatives to set theory as a foundat ...
*
API-Calculus
API Calculus is a program that solves calculus problems using operating systems within a device that solves calculus problems. In 1989 the PI- Calculus was created by Robin Milner and was very successful throughout the years. The PI Calculus is an ...
References
External links
Mobile Computational Ambientsby
Luca Cardelli
Luca Andrea Cardelli, Fellow of the Royal Society (FRS), is an Italian computer scientist who is a research professor at the University of Oxford in Oxford, UK. Cardelli is well known for his research in type theory and operational semantics. A ...
{{DEFAULTSORT:Ambient calculus
Process calculi
Theoretical computer science