CS5204 Operating Systems
Summary of Thursday, February 6
- CCS (Calculus of Communication Systems)
- Terminologies
- Operator Set
- The Vending Machine Example
CCS (Calculus of communication systems)
- an algebra for specifying and reasoning about concurrent systems
- a way for precisely modeling concurrent systems and a powerful tool for the concurrent programming
Terminologies
- Agent: a component of the system with unique identity, which persists through time, and its own specified behavior. An agent may be atomic or composite.
- Action: also called event, which is either the interaction of an agent with its neighbors or an occurrence independently of them.
- Behavior: the set of events or actions an agent can perform. As for a system, it is its entire capability of communication
- Port: site on an agent through which it communicates with other agents
- Handshake: a set of indivisible acts through which agents communicate with each other, and experienced simultaneously by both participants.
- Representation: Usually the structure of an agent is represented graphically and its behavior is in equations. Here is an example.
Operator Set
The following five operators are used in the CCS.
- Sequence operator ".": defines the sequence of actions an agent can take
- Selection operator "+": either of these actions can be undertaken nonderteministically
- Composition operator "|": defines the communications between agents and implies agents may proceed independently but may also interact through complementary ports
- Relaballing operator "[ / ]": a label overwrites another label
- Restriction operator "\{}": defines allowable actions within the system
Vending Machine Example
System
- Suppose there is a system composed of a vending machine and two boys who work together to get the candy bar.
Vending machine
Behaviors of the machine and boys are defined as follows:
Resultss
- Whether the restriction is applied or not will affect the system behavior.
CS5204
Chengliang Yang
Friday 14, 1997