Wolfgang Emmerich
PhD Dissertation
Dept. of Mathematics and Computer Science,
University of Paderborn,
Warburger Str. 100,
33095 Paderborn,
Germany
Abstract:
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.
|
Updated on: 05/02/96
|
|