This thesis describes the AP1 system, which serves as a platform for model-based CASE technology. AP1 is a set of libraries and tools that support different activities in the software development process. It provides different layers of reusable CASE functionality, and thus facilitates CASE tool development and integration. Some key problems of software development are addressed, such as the storage and management of artifacts, their creation and modification, and the generation of program code. The main parts of the abstract platform are a typed repository for models and model data, and a generic editor that acts as an integrated software development environment (IDE). The former enables data integration; the latter serves as a basis for presentation integration. Both parts have an extensible and customizable architecture that makes it possible for developers to adapt the system to their own individual needs. The thesis discusses different data models, explaining why the parsimonious data model was chosen for the repository. A mapping onto the relational data model is given that makes it possible to leverage a RDBMS for data management. On top of the RDBMS, the AP1 system implements new mechanisms for caching, event notification and change control, resulting in a unique architecture. The thesis introduces novel concepts of robustness and reflection for user interfaces, and delineates their implementation in the generic editor. Furthermore, a concept for code generators is presented that offers a particularly high degree of type-safety, which we call generator type-safety.
Identifer | oai:union.ndltd.org:ADTP/275232 |
Date | January 2008 |
Creators | Lutteroth, Christof |
Publisher | ResearchSpace@Auckland |
Source Sets | Australiasian Digital Theses Program |
Language | English |
Detected Language | English |
Rights | Items in ResearchSpace are protected by copyright, with all rights reserved, unless otherwise indicated., http://researchspace.auckland.ac.nz/docs/uoa-docs/rights.htm, Copyright: The author |
Page generated in 0.0021 seconds