An industry of interchangeable and widely marketable software components in Europe is only possible if the functionality of a component can be precisely specified and the implementation (which should remain hidden) can be relied upon to implement this specification correctly.
The aims of the COMPASS working group were to:
-provide a comprehensive algebraic approach to the specification of systems and their components
-provide a formal basis for their correct development
-consolidate the theoretical background
-lay the basis for an increased power of support tools
-encompass new programming methodologies and application areas
-make progress towards the development of a uniform mathematical framework for logic and semantics within computer science.
The project brought together leading experts in the area of algebraic specification methods in an effort to consolidate and integrate the theoretical basis and apply it to software technology. The algebraic approach treats not only the syntactic aspects of interfaces but also supports the precise specifications of the semantics of generic reusable system components, providing the formal conceptual basis for their stepwise and correct development.
APPROACH AND METHODS
It is highly desirable to be able to specify only the necessary properties of a component or system in a requirement specification. This is the interface seen by the user that serves as a guideline for the implementor. It should be as precise as necessary, but also as loose as possible, avoiding over-specification of details: thus it leaves freedom for different design decisions by the implementor and is therefore likely to decrease cost and increase efficiency.
The particular design remains hidden for proprietary reasons; an implementation can be replaced by another one for the same requirement specification. Thus, a high level of abstraction from subsequently introduced design detail can be achieved. The COMPAS S working group studied the possibility of supporting the stepwise development of more detailed versions by semi-automatic tools, which should allow the verification of correctness of each step. The development process itself can be formalised as a basis for a library of generally applicable development methods.
The flourishing activities in the area of algebraic specification in the past 15 years have led to an abundance of technically different approaches, theories, and concepts. This seeming diversity is only superficial; all approaches share a common framework and mathematical basis.
PROGRESS AND RESULTS
Algebraic techniques, stimulated by COMPASS members, have already played a dominant role in several national and international research projects, among them various ESPRIT projects such as DRAGON, FOR-ME-TOO, GRASPIN, LOTOSPHERE, METEOR, PEACOCK, PROSPECTRA, RAISE and SEDOS.
During the first two years, about 300 research papers have been published by project members (not counting those of associated scientific correspondents). Consolidation of different approaches and extensions into new areas is being attempted in several focal areas, with emphasis so far on the structure of systems (modularisation, re-usability), structure of developments and proofs, and concurrency.
Other fruitful areas of work include logical foundations, development concepts (methodology, specification languages), environments and tools (prototyping, theorem-proving, term rewriting), and applications.
Group members have significantly contributed to the development of specification languages and methodologies for development, and also to semi-automatic tools and even complete development environments based on algebraic specifications. For example, the ESPRIT project PROSPECTRA, in which six COMPASS members have been involved; The ASSPEGIQUE system has been used in METEOR; the ACT set of tools is integrated into the systems developed in SEDOS and LOTOSPHERE.
COMPASS members have initiated a new Working Group 14.3 "Foundations of Systems Specification" of the International Federation of Information Processing (IFIP). Its first meeting will be at the next COMPASS/AOT Workshop near Barcelona in October 1992. Members are also actively involved in a German joint project KORSO (Korrekte Software) funded by the BMFT since 1991.
COMPASS work will be continued in COMPASS II (6112).
Industry has a growing interest in using formal methods and tools to increase reliability (based on correctness relative to a formal requirements specification) and productivity (through abstraction and reuse).
Government institutions and private industry are starting to require adherence to formal development methodologies in security and safety-critical areas. The economic impact of reliability, reusability and the potential for early prototyping is increasingly recognised in industry, influenced by a traditionally stronger awareness in the hardware area.
6525 ED Nijmegen