March 2003
Intermediate to advanced
912 pages
27h 17m
English
We need a way to think about complex software systems. The basic functionality of a system can be described in terms of modular software structure. By distinguishing between the interface and implementation of a module it is possible to create abstractions, that is, to focus on what a module does rather than how it does it. A specification of the modules of a system does not tell us how it is executed dynamically, a computational model is also needed.
The concept of process was introduced as the means by which dynamic execution of software is achieved. A process performs its computation by invoking the interface operations of modules. A protocol defines the correct orderings of operation invocations. An outline of some typical operating ...