Executable program code is often considered as the fundamental formalism of software-intensive systems. For using facilities usually associated with code in the specification of systems obtained by integrating hardware and software components, intended conceptual abstractions must be rigorously addressed. Further, the option of distributed implementations for core abstractions need to be offered without risking rigorousness. These abstractions form a conceptual framework for the complete system, not for individual component subsystems only. Design, validation, and verification of conceptual abstractions enhances understanding of the system whereas inadequately designed abstractions make system specifications incomprehensible. The need for such facilities is emphasized when managing system evolution.
展开▼