EVORM: A conceptual modelling technique for evolving application domains

H.A Proper, Th.P van der Weide
1994 Data & Knowledge Engineering  
In this paper we present EVORM, a data modelling technique for evolving application domains. EVORM is the result of applying a general theory for the evolution of application domains to the object role modelling technique PSM, a generalisation of ER, EER, FORM and NIAM. First the general theory is presented. This theory describes a general approach to the evolution of application domains, abstracting from details of specific modelling techniques. This theory makes a distinction between the
more » ... lying information structure and its evolution on the one hand, and the description and semantics of operations on the information structure and its population on the other hand. Main issues within this theory are object typing, type relatedness and identification of objects. After a (short) introduction to PSM, this general theory is applied, resulting in EVORM. Besides having a right of its own, the usefulness of the general theory is demonstrated by interpreting its abstract results, resulting in more intuitive rules for EVORM. 0169-023X/94/$07.00 O 1994 Elsevier Science B.V. All rights reserved SSDI: 0169-023X(94)0002-V 314 H. A. Proper, Th.P. van der Weide / Data & Knowledge Engineering 12 (1994) structure, the constraints on this structure, the population conforming to this structure and the possible operations. In [49] a classification for incorporating time in information systems (databases) is presented. This classification makes a distinction between rollback, historical and temporal information systems (databases). However, all these classes do not yet take schema evolution into account. For this reason, we propose a new class: evolving information systems. We mention some examples of research regarding these first three classes. In the TEMPORA project [51, 33] , the ER model is enhanced with the notion of time, resulting in the ERT model. In TODM [3] and ERAE [15, 14] , similar strategies are followed, extending the relational model with the notion of time. This makes it possible to handle historical data, over a (nonvarying) underlying information structure. In [32, 46 and 45] the focus is on the monitoring of dynamic constraints, i.e. constraints over such historical data. Dynamic constraints restrict temporal evolutions, i.e. state sequences of databases. Historical data, however, are considered in their approach only as a means for implementing a monitor. Only the object domains may vary in the course of time. Within the class of evolving information systems, extensions of object oriented modelling techniques with a time dimension (both on instance and type level) can be seen as a first subclass. In [48] a taxonomy for type evolution in object oriented databases is provided. The ORION project [4,30] offers a more detailed taxonomy, together with a (semi formal) semantics of schema updates restricted to object oriented databases. The ORION system, together with the GemStone system [38, 7] , are among the first object oriented database systems to support schema/type evolution. In [52] and [53] an approach to the evolution of schemas in object oriented databases is followed in which schema objects (e.g. object types) are considered to be objects like others (from the application). We will do a similar thing, and consider objects of both levels as objects describing an evolution in the course of time. The second subclass of evolving information systems can be found in the field of version modelling, which can be seen as a restricted form of evolving information systems [29, 35, 28 ]. An important requirement for evolving information systems, not covered by version modelling systems, is that changes to the structure can be made on-line. In version modelling, a structural change requires the replacement of the old system by a new system, and a costly conversion of the old population into a new population conforming to the new schema. A third subclass of research regarding evolving information systems extends a manipulation language for relation models with historical operations, both on population and schema level. An example of this approach can be found in [34] , in which an algebra is presented allowing relational tables to evolve by changing their arity. This direction is similar to the ORION project [4, 30] , in that a manipulation language is extended with operations supporting schema evolution. In Fig. 1 we see a framework, based on [55] (see also [47] ), presenting a structured view on modelling methods. It makes a distinction between a way of thinking, a way of controlling, a way of modelling, a way of working, a way of communicating and a way of supporting. The way of thinking is concerned with the philosophy behind the method and contains basic assumptions and viewpoints of this method. The way of controlling deals with managerial aspects of system development, providing a mechanism to control the way of working. The way of working describes the process of system development, the (sub)tasks to be performed,
doi:10.1016/0169-023x(94)90031-0 fatcat:ca5y7o7qjjfsngl46cezv46kom