5 research outputs found

    HOOD : a Higher-Order Object-Oriented Database model and its implementation

    Get PDF
    Bibliography: pages 133-140.There is no accepted standard for the object-oriented database paradigm at present, which has led to different definitions of features and conformance requirements. HOOD is a Higher-Order Object-Oriented Database system which defines a meta-data model for specifying the requirements of an Object-Oriented Database, which provides uniformity and extensibility. From this specification and by making use of a comprehensive structure system, an exemplar or implementation model is defined. Among the constructs provided by the model are types, instances, objects, values, methods, base types, generic types and metatypes. The mechanisms of instantiation and subtyping allow for relationships between these constructs. Extensibility is provided in the model for types, base types, structures and methods. Uniformity is achieved by defining all constructs as instances and through the use of messages for all operations. There is only one form of object construct which provides persistence and identities. The complex values and extensibility of the model allow it to adapt in order to model the real world instead of adapting the real world to fit the model. We have implemented a subset of the structures and values defined in the model, provided persistence and identities for object, and included the various constructs mentioned above. The method language allows for the specification of methods, the passing of messages, and the use of complex values. The compiler performs type checking and resolution and generates instructions for an abstract machine which manipulates the database

    Contributions à la définition d'un nouveau langage d'exploitation des bases de données relationnelles

    Get PDF
    Le but du projet DOMINUS est de définir un modèle de SGBD adapté au développement de services de dépôt de données autonomes capables de maintenir un haut standard d'intégrité et de fiabilité dans un contexte applicatif contemporain.Le présent mémoire, réalisé dans le cadre du projet DOMINUS, vise à contribuer à la définition d'un premier langage conforme à ce modèle, Discipulus, et à mettre en oeuvre un premier traducteur expérimental de ce langage. Le modèle DOMINUS demeure basé sur le modèle relationnel de E. F. Codd tout d'abord parce qu'il est simple, facile à appréhender, et repose sur de solides bases théoriques qui permettent notamment de définir de façon formelle les langages de manipulation associés et, en second lieu, parce qu'il est éprouvé, comme le démontrent plus de trente années de prédominance ininterrompue. L'évolution de la gestion d'information a vu apparaître de nouvelles applications (systèmes de gestion intégrée, traitement d'images, vidéo...) nécessitant l'utilisation de bases de données complexes de plus en plus importantes. Ces nouvelles applications ont mis en évidence les insuffisances majeures des systèmes relationnels existants fondés sur le langage SQL: (1) L'inadéquation du modèle relationnel à représenter directement des données complexes, comme des dossiers médicaux structurés, des images radiographiques ou des textes annotés. (2) Les performances insuffisantes dans la manipulation de ces mêmes données. Ces lacunes ont conduit certains à vouloir remplacer le modèle relationnel par le modèle orienté objet. En effet, la notion d'objet (plus exactement de classe) permet de modéliser des éléments complexes et composites du monde réel. En 1990 sont apparus les premiers systèmes de gestion de bases de données à objets, mais, vu les performances et la maturité des systèmes de bases de données relationnelles, les systèmes à objets n'ont pas pris une place significative au sein des organisations. La voie explorée ici est plutôt celle de l'intégration du modèle objet au modèle relationnel, ce dernier demeurant prééminent. L'adoption des deux structures (la relation et la classe) semble donc nécessaire afin de répondre aux besoins et aux exigences des applications complexes tout en gardant la simplicité et la cohésion conceptuelle nécessaire à la vérification et à la validation. Le modèle DOMINUS est donc inspiré des travaux fondamentaux de E. F. Codd et de ses continuateurs, dont C. J. Date et H. Darwen [S1] ainsi que des modèles algorithmiques et de typage de B. Meyer[L13] . Au final, le langage Discipulus retient plusieurs acquis du langage SQL, s'inspire également de langage Tutorial D et emprunte la structure générale et plusieurs mécanismes syntaxiques du langage Eiffel[L13] . Notre proposition comporte également de nombreuses différences sensibles tant sur le fond que sur la forme[L1,L7] . Ces apports sont présentés au fil du mémoire. Le langage Discipulus a été conçu dans le but de permettre l'expression rigoureuse de modèles complexes (intégration complète des classes, des tuples et des relations dans un seul système de typage homogène et cohérent) tout en favorisant la réutilisation (l'utilisation d'un système de paquetage destiné à développer des modules cohérents tout en permettant leur réutilisation simple pour le développement d'autres systèmes), l'évolutivité (l'adoption de l'héritage multiple permet d'éviter la redondance de code et facilite l'extensibilité du logiciel et, par conséquent, l'évolutivité sans compromettre son intégrité et sa fiabilité) et la fiabilité (incorporation des principes de programmation par contrat et leur extension aux opérateurs relationnels, traitement cohérent de l'annulabilité)

    A wide spectrum type system for transformation theory

    Get PDF
    One of the most difficult tasks a programmer can be confronted with is the migration of a legacy system. Usually, these systems are unstructured, poorly documented and contain complex program logic. The reason for this, in most cases, is an emphasis on raw performance rather than on clean and structured code as well as a long period of applying quick fixes and enhancements rather than doing a proper software reengineering process including a full redesign during major enhancements. Nowadays, the old programming paradigms are becoming an increasingly serious problem. It has been identified that 90% of the costs of a typical software system arise in the maintenance phase. Many companies are simply too afraid of changing their software infrastructure and prefer to continue with principles like "never touch a running system". These companies experience growing pressure to migrate their legacy systems onto newer platforms because the maintenance of such systems is expensive and dangerous as the risk of losing vital parts of sources code or its documentation increases drastically over time. The FermaT transformation system has shown the ability to automatically or semi-automatically restructure and abstract legacy code within a special intermediate language called WSL (Wide Spectrum Language). Unfortunately, the current transformation process only supports the migration of assembler as WSL lacks the ability to handle data types properly. The data structures in assembler are currently directly translated into C data types which involves many assumptional “hard coded” conversions. The absence of an adequate type system for WSL caused several flaws for the whole transformation process and limits its abilities significantly. The main aim of the presented research is to tackle these problems by investigating and formulating how a type system can contribute to a safe and reliable migration of legacy systems. The described research includes the definition of key aspects of type related problems in the FermaT migration process and how to solve them with a suitable type system approach. Since software migration often includes a change in programming language the type system for WSL has to be able to support various type system approaches including the representation of all relevant details to avoid assumptions. This is especially difficult as most programming languages are designed for a special purpose which means that their possible programming constructs and data types differ significantly. This ranges from languages with simple type systems whose program sare prone to unintended side-effects, to languages with strict type systems which are constrained n their flexibility. It is important to include as many type related details as necessary to avoid making assumptions during language to language translation. The result of the investigation is a novel multi layered type system specifically designed to satisfy the needs of WSL for a sophisticated solution without imposing too many limitations on its abilities. The type system has an adjustable expressiveness, able to represent a wide spectrum of typing approaches ranging from weak typing which allows direct memory access and down casting, via very strict typing with a high diversity of data types to object oriented typing which supports encapsulation and data hiding. Looking at the majority of commercial relevant statically typed programming languages, two fundamental properties of type strictness and safety can be identified. A type system can be either weakly or strongly typed and may or may not allow unsafe features such as direct memory access. Each layer of the Wide Spectrum Type System has a different combination of these properties. The approach also includes special Type System Transformations which can be used to move a given WSL program among these layers. Other emphasised key features are explicit typing and scalability. The whole approach is based on a sound mathematical foundation which assures correctness and integrates seamlessly into the present mathematical definition of WSL. The type system is formally introduced to WSL by constructing an attribute grammar for the language. Type checking and type inference are used to annotate the Abstract Syntax Tree of a given WSL program with type derivations which can be used to reveal and indicate possible typing errors or to infer types if the program did not feature explicit type declarations in the first place. Notable in this approach is also the fact that object orientation is introduced to a procedural programming language without the introduction of new semantics. It is shown that object orientation can be introduced just by adjusting type checking rules and adding some syntactical notations. The approach was implemented and tested on two case studies. The thesis describes and discusses both cases in detail and shows how a migration which ignores type systems could accidentally introduce errors due to assumptions during translation. Both case studies use all important aspects of the approach, Including type transformations and object identification. The thesis finalises by summarising the whole work, identifying limitations, presenting future perspectives and drawing conclusion

    Design and Implementation of a Multi-Purpose Object-Orientated Spatio-Temporal (MPooST) Data Model for Cadastral and Land Information Systems (C/LIS)

    Get PDF
    The application of the object-oriented methodology in geospatial information management has significantly increased during the last 10 years and tends to gradually replace the status quo relational technology. In general, object orientation offers a flexible and adaptable modelling framework to satisfy the most demanding complex data structuring requirements. The objective of this thesis is to determine how a modern Land Information System used for cadastral purposes can benefit from an object-oriented methodology. To this aim, a Multi-Purpose, Object-Oriented Spatio-Temporal (abbreviated as MPOOST) data model has been developed. In brief, the MPOOST data model embodies spatial data and their temporal reference in the form of objects which contain their attributes as well as their behaviour. The design of the MPOOST data model has been specified in such a way that it enables other data models to exploit its functionality, therefore enabling the multi-purpose aspect. At first, the requirements of Land Information Systems are being examined. Next, the functionality that is offered by the object-oriented methodology is being analysed in detail. Even if the bibliography is quite rich in relevant research, however there seems to be no starting point regarding the application of OO in LIS. Hence, a whole chapter of this thesis has been dedicated in an extended bibliographic research. Finally, the OO methodology is applied for the design and implementation of the MPOOST data model. The outcome of the design and the implementation is the first version of the MPOOST data model written using the Java object-oriented programming language. In this way, it is proven that: the relational technology has significant drawbacks which prohibit it from being applied in conceptually demanding information systems; and that object-orientation can fully satisfy the most complex data structuring requirements posed in modern geographic information systems
    corecore