Process description languages, such as the picalculus [SW01], offer the possibility of formally describing system behaviour at varying levels of abstraction, and applying logical techniques to verify this behaviour.
But system behaviour often depends on environmental considerations. What a system can do depends on the current context in which it finds itself. It is this context which determines what information is available to the system, and therefore affects its future evolution. In a dual manner the current context determines the knowledge of the system which is available to its environment, and thus affects the use which can be made of the system. Moreover this interplay between a system and its environment is dynamic, changing as either or both evolve.
In this talk I will offer a survey of recent work on behavioural theories of systems in which their environments play a crucial role. We will see three instances in which environmental knowledge involves key features of
: Capabilities on resources and access rights to sites are determined by a static type system, [HRY05]; only partial knowledge of these types are available to the environment.
: Systems run on a dynamically changing network of inter-connected nodes, where both the nodes and the connections are subject to failure, [FH08]; this network is shared between the system and its environment.
: Use of resources entail a cost, which must be borne by the processes responsible, [HG08]; the environment determines the overall funds available to processes for access to resources.
The focus will be on a particular process description language called Dpi [Hen07], oriented towards distributed systems.