|
Everything starts off with some form of specification, be it
a natural language document, an informal form such as an executable
model, or a more formal form such as a mathematical specification.
Just as the specification defines the intended function and scope
of the product (i.e., the domain), the platform and architectural
requirements that go along with it define many of the operating
and nonfunctional bounds of the system. This can be anything from
its size and weight to its power consumption. This chapter describes
both the functional and nonfunctional requirements of ESL systems.
6.1 The Problem of Specification
6.1.1 The Implementation and Ambiguity
Problems
6.1.2 The Heterogeneous Technology and
Single-Source Problems
6.1.3 Architectures, Attributes, and Behavior
6.1.4 Formal and Executable Specifications
and Modeling
6.2 Requirements Management and Paper Specifications
6.2.1 Case Study: Requirements Management
Process at Vandelay Industries
6.3 ESL Domains
6.3.1 Dataflow and Control Flow
6.3.2 Protocol Stacks
6.3.3 Embedded Systems
6.4 Executable Specifications
6.4.1 Transaction-Level Modeling and Executable
Specifications
6.4.2 Executable Specifications and the
Single-Source Problem
6.5 Some ESL Languages for Specification
6.5.1 MATLAB
6.5.2 Rosetta
6.5.3 SystemC
6.5.3.1 Main Language
Features
6.5.4 SystemVerilog
6.5.5 Specification and Description Language
6.5.6 The Unified Modeling Language
6.5.7 Extensible Markup Language
6.5.8 Bluespec
6.5.9 Aspect-Oriented Languages
6.6 Provocative Thoughts: Model-Based Development
6.6.1 Model-Driven Architecture
6.6.2 Software/Hardware Co-Design
6.6.3 Hardware
6.6.4 How to Use MDD
6.7 Summary
6.8 The Prescription
|
| P.
153, Section 6.5.2, paragraph 1, line 2: "under developed" should
read "under development" |
|