A Model-Based View onto Testing 255
When building a system, in the ideal case, we carry out the following steps that we will
be able to cast in our formal framework:
1. System specification
2. Architecture design
a. Decomposition of the system into a syntactic architecture
b. Component specification (enhancing the syntactic to an interpreted architecture)
c. Architecture verification
3. Implementation of the components
a. (Ideally) code generation
b. Component (module) test and verification
4. Integration
a. System integration
b. Component entry test
c. Integration test and verification
5. System test and verification
A system specification is given by a syntactic interface (I O) and a specifying assertion S
(i.e., a set of properties), which specifies a system ...