University of Cambridge

Logic
&
Semantics

Practical Protocol Analysis for System Decomposition and Synthesis

By Ian Benson

The distinction between communication and processing is important in the creation of hardware and software systems. Analysts use techniques of protocol analysis to abstract recurrent patterns of communication activity in business processes. System on a Chip designers use protocols to compose designs from reusable Intellectual Property (known as "IP-cores", or "Virtual Components").

A system is factored into communicating subsystems during Requirements Specification. The process enjoys little support from formal methods. The designer's high level requirements are written in English. And, there is no agreement on how to convey the basic patterns of human action that will be composed in a software system.

Because of this ambiguity requirements are often elaborated with Diagrams. These have the advantage that they can carry a large amount of information in a concise way. For example, TransEDA captures hardware specifications in timed state transition diagrams. The Unified (Software) Modelling Language, UML(tm), is a family of diagrams that represent software structure and behaviour.

Requirements Validation is the process of ensuring that the integrated system meets its specification. To be useful for validation Requirements Diagrams need to have semantically relevant relationships between their parts that can be systematically connected to the hardware or software system that the diagram envisages.

The paper describes experience with a diagramming method developed to convey activity protocols in business systems. The method connects the linguistic structure of the domain to the software structures that will support these patterns. It is used to guide software engineers and system integrators in implementing these structures, and to validate their implementation.

The paper concludes with a discussion of research issues in extending the approach to hardware design.