Lecture #15: Specification of Embedded Systems

Prof. Brian L. Evans

Prof. Brian L. Evans, Dept. of Electrical and Computer Engineering, The University of Texas at Austin, System specification using words and schematic drawings is ambiguous and has many interpretations. Instead, we would prefer to use an executable specification with well-defined meaning. The executable specification should support a wide variety of models of computation and architectures at different levels of abstraction.

Models of Computation

State-oriented models represent a system as a set of states and a set of transitions between states, e.g. a finite state machine. They are well-suited for control systems, such as protocols and controllers.

Activity-oriented models describes a set of activities related by data or execution dependencies, such as dataflow graphs. They are well-suited for transformational systems, such as modems and codecs.

Structure-oriented models describe the system's physical modules and the interconnections between them. They are well-suited at describing a particular architecture, such as a four-processor implementation with shared memory and an eight-processor implementation with cross-bar communication.

Data-oriented models represent systems as collections of data related by their attributes, class membership, and so forth. These models are well-suited for information systems, such as databases and graphical representations of object class hierarchies.

Heterogeneous models represent a composition of models previously listed since one model is generally insufficient to describe an entire complex system. Models of computation are often not formally composed, but instead combined in an ad hoc manner. Improper mixing of models of computation can lead to unpredictable behavior by the system.

Models of Architectures

Updated 12/23/99.