Executable Specs: What Makes One, and How are They Used?

Abstract

Model-based systems development relies upon the concept of an executable specification. A survey of published literature shows a wide range of definitions for executable specifications [1-10]. In this paper, we attempt to codify the essential starting elements for a complete executable specification-based design flow. A complete executable specification that includes a functional model as well as test cases, in addition to a traditional prose document, is needed to transfer requirements from a customer to a supplier, or from a systems engineer to electrical hardware and software engineers. In the complete form demonstrated here, sub-components of a functionally-decomposed system manifest as modular reuse blocks suitable for publication in functional libraries. The overarching definition provided by product architecture and by software architecture must also be harmoniously integrated with design and implementation. Using seven specific automotive examples, we illustrate effective ways in which executable specifications have been used in production-ready applications. Benefits of model-based development are captured, including earlier and more thorough testing, automatic document generation, and autocode generation

    Similar works