IS-CORE aimed to deliver logic verification calculi as well as algebraic and categorical semantics for a broad-spectrum language and methodology. The intention was to capture the meaning of a program as a mathematically defined entity and to be able to reason about its behaviour. This language and methodology will fully support the object-oriented, transformational, and modular design of information systems. The objective was to achieve provably correct systems and higher levels of reusability. To this end, the Action addressed topics such as full integration of static and dynamic integrity checking, formal methods backed by a sound mathematical theory, and several design-in-the-large issues. .
The theoretical and methodological foundations of the formal, object oriented design of information systems were examined. An information system is viewed as a collection of interacting objects, each with its own data and interface to other objects. The concept of an object was theoretically analysed in order to achieve a mathematically sound formalization of the envisaged paradigm of information systems, which should fully support the required levels of reusability and the verifiability of their correctness.
In semantics several categorial models of objects were investigated, from the early strict interleaving models to full concurrency. A general framework formalizing objects as observed processes was developed where techniques for object composition and reification can be analysed independently of any specific model of evolution. Finally, exploration of graph theoretic semantics began for process reification.
With respect to languages both textual and visual (diagrammatic) features have been explored for supporting object specification and reification. The textual language has been directed mainly to composite objects, and to database specification and conceptual modelling. The visual one has concentrated on integrating support to reification and in the large design techniques.
Work on calculi involved theories in temporal and deontic action logics which have been explored as a semantic domain for object specification and for formalizing conceptual modelling techniques. Object interfacing and clientship were formalized in this setting. Functional relationships with model based domains were also established. Finally default logics were examined as a means of supporting incremental specification and inheritance with exceptions (overriding).
In addition, work on the comparison between the dyadic (binary) and the object oriented approaches was extended to other approaches and led to the extension of NIAM with modularisation mechanisms.
APPROACH AND METHODS
Combining the object-oriented paradigm with experiences in formal methods from software engineering, the IS-CORE Action integrated views and results from several sources. Among these are object-oriented programming, object-oriented databases, algebraic data-type theory, logical approaches to system specification and design, and algebraic theory of processes.
The basic idea is to design an information system as a collection of interacting objects (some passive, some active), implemented in successive layers by means of other objects. This perspective closely follows the principle of "data abstraction", by structuring properties and operations (methods, events or transactions) locally around each object in order to achieve high levels of reusability. Hence languages, verification techniques and methodological principles are necessary for specifying objects, their interactions and aggregations.
Formal specification techniques have been adopted in the Action in order to make precise proofs of correctness and consistency possible. Clearly, an effective mathematical theory of objects (as processes endowed with attributes and initiatives) is necessary in order to establish an appropriate semantic domain for the envisaged languages and calculi.
PROGRESS AND RESULTS
Work has been carried out along the following lines:
-Semantics. Several categorial models of objects were investigated, shifting progressively from the early strict interleaving models to full concurrency, and exploring universal constructions as a means of formalising techniques for process composition i n the presence of interaction, as well as initiative and transactional requirements. A most general framework formalising objects as observed processes was developed where techniques for object composition and reification can be analysed independently of any specific model of evolution. Finally, graph-theoretic semantics started to be explored for process reification.
-Languages. Both textual and visual (diagrammatic) language features have been explored for supporting object specification and reification. The textual language has been directed mainly to composite objects, and to database specification and conceptualmodelling. The visual one has concentrated on integrating support to reification and in-the-large design techniques. Both languages have been provided with model-theoretic semantics. Test cases have also been developed.
-Calculi. Theories in temporal and deontic-action logics have been explored as a semantic domain for object specification and for formalising conceptual modelling techniques. Object interfacing and clientship were formalised in this setting, object inter connection being captured via interpretations between theories (theory morphisms), leading to design structures that modularise specification. Functional relationships with model-based domains were also established. Finally, default logics have started tobe explored as a way of supporting incremental specification and inheritance with exceptions (overriding).
In addition, work on the comparison between the dyadic (binary) and the object-oriented approaches was extended to other approaches and led to the extension of NIAM with modularisation mechanisms.
The claimed advantages of the object-oriented computation paradigm will only become effective and of practical importance after a much better understanding has been achieved of the underlying theoretical concepts. The IS-CORE working group is providing the basic concepts needed for future development.
Funding Schemeundefined - undefined
SW7 2BZ London
5000 LE Tilburg