Despite the rapid progress of the previous decades, information system engineering is still not as mature as many other engineering disciplines like electronics. A prominent aspect in which this can be observed is the toolset an engineer has to his disposal for design and development. For example, an electronics engineer can perform advanced analyses on a schematic circuit design to predict the behaviour of the circuit in time. Tools developed for information system engineering have not yet arrived at a comparable level of maturity. One of the causes of the inability to develop such tools is that the specification languages used to decribe a design fall short on several aspects compared to the circuit diagrams: (1) the specifications are in some circumstances susceptible to multiple interpretations, i.e., their meaning is not clear with the mathematical precision needed for advanced analysis, and (2) an overall well-suited combination of modelling primitives has not been found yet resulting in some system properties being described with too much detail, while others cannot be described accurately enough or not at all. Although researchers roughly agree on the concepts needed for modelling in an object-oriented way (this thesis follows the object-oriented the approach), these concepts are not understood well enough to come to a precisely defined common object-oriented modelling language. One of the central topics of the database group at the University of Twente is the specification of database schemas in an object-oriented way. The specification language TM was developed for this purpose. It was given a formal semantics to achieve an unambiguous meaning for all specifications and to pave the way for the development of advanced tool support in the sense mentioned above. In the IMPRESS project (see Chapter 6), the Database Design Tool (DDT) was developed, a CASE-like specification environment based on TM, which includes a number of verification and validation tools that allow specifications to be analysed for important properties. Experiences with the DDT have revealed that TM can be improved on several aspects. For a large part, these aspects are related to the topic of operation definition. First, support for more polymorphism is desired, heterogeneous collections and type-dependent queries, in particular. Secondly, a more satisfactory way for specifying update operations is needed. This thesis reports on an investigation of these aspects of operation definition in this context. In Chapter 2, we present relevant results of progress made on the subject of object-orientation in both the database and programming language community. In this thesis, we attempt to apply a few promising results related to the aspects of operation definition mentioned above into one specification language for object-oriented databases. The goal of this is twofold: to contribute to the general understanding of object-orientation at a formal level, and to investigate the interaction between the various aspects of object-orientation which are often researched in isolation. The first goal is mainly addressed in Chapter 3. It provides a formal investigation of the fundamental aspects underlying the desired polymorphism: a general form of heterogeneity, run-time type information, and late-binding. This investigation is presented as a step-wise enhancement of a 'core' language called Corine. The eventually resulting `most enhanced' language is called Florence, which is used as a formal foundation for the subsequent chapters. Chapters 4 and 5 focus on the second goal. The former chapter defines the syntax, typing, and semantics of a language called Tamara, and the latter provides argumentations for important design decisions to supplement the comments in the preceding chapter. Tamara is a redefinition of TM that incorporates the desired polymorphism. By defining the semantics of Tamara in terms of Florence, a similar general form of heterogeneity is supported in combination with advanced support for method overloading and overriding. A striking achievement of this research is the ability to deduce the typing rules of method overloading and overriding from its semantics and the typing rules of Florence (see Section 5.2). Tamara is also used to study the specification of update operations. This is investigated on both the level of semantics paying special attention to ambiguity of specifications, and the level of typing with respect to type-safety of the language (see Section 5.3).
|Award date||7 Nov 1997|
|Place of Publication||Enschede|
|Publication status||Published - 7 Nov 1997|
- DB-OODB: OBJECT-ORIENTED DATABASES