Tool Construction for Process-Centred Software Development Environments based on Object Databases

Wolfgang Emmerich
PhD Dissertation
Dept. of Mathematics and Computer Science,
University of Paderborn,
Warburger Str. 100,
33095 Paderborn,
The aim of this thesis is to discuss the construction of tools for process-centred software development environments (PSDEs). Our main contribution is the proof that object database systems are a very suitable basis for improving the functionality of software development tools and for integrating them in PSDEs. We set out to prove this hypothesis following engineering principles rather than in an analytic or empiric way. We, therefore, first discuss the functionality that software developers require from tools contained in a PSDE. Starting from these requirements, we take the position of a tool builder and delineate requirements for a database system for document management purposes. We then review how well existing database systems satisfy these requirements. This results in the selection of object database systems as the most promising systems to take. We then propose a tool architecture that is based on object databases. We classify the components of this architecture into components that are common to any tool and thus can be reused and components that vary from tool to tool. We shall see that the most important varying component is the schema of the database. We propose tool specification languages that are capable of describing the tools' schemas as well as the other varying tool components at different levels of abstraction. These different levels of abstraction will provide the tool builder with the flexibility to define arbitrary syntax-directed tools. Then we discuss the construction of tools for the various languages identified above and their integration in GENESIS, an integrated environment for tool specification. After that, we outline the design and the implementation of compilers for our languages that generate executable tools. Finally, we evaluate the approach suggested in this thesis on the basis of two scenarios. These are tools for the GENESIS environment and tools for C++ class library development and maintenance, which we developed for the reuse department of British Airways.

[ Home ] [ Profile ] [ Research ] [ Selected Publications ]

Updated on: 05/02/96
Wolfgang Emmerich