Modern system development environments usually deploy the object management facilities of a repository to store the documents created and maintained during system development. In this paper we present a pragmatic approach to express various levels of consistency for the data maintained in such a repository. The levels of consistency are achieved by means of a query language. Consistency constraints are stated as queries searching for inconsistent items in the repository. The queries are handled by a generic analyzer, which checks the defined constraints whenever appropriate. Furthermore, we present a general classification schema for consistency constraints and describe how different classes of constraints are handled by our approach.
Many new non-standard database management systems (NDBMSs) and data models have been proposed with the promise to facilitate the construction of better engineering environments and tools and to solve integration problems in environments. However, there is hardly any evidence or experience to what extent these goals are actually met. This paper summarizes experience gained in several major experiments in which different classes of tools in CASE environments (graphical editors, consistency checkers, transformators) have been built using several design approaches and architectures. It turns out that, regrettably, most NDBMSs proposed so far have quite substantial weaknesses and that their overall value for tool designers is fairly modest. The paper first shows that advantages are only possible if the tool architecture is ``redundancy-free'' and if the tools operate directly on the database. Assuming this ``DB-oriented'' architecture, we examine typical features of an NDBMS (schema management, integrity controls, transactions etc.) with respect to their usefulness in tool implementation. We discuss the resulting requirements on the performance and on the design of the API and the runtime kernel of the NDBMS. We also point out several useful new features which do not seem to exist in any NDBMS so far.
A very important class of tools within a software development environment (SDE) are graphical editors for ERA diagrams, OOA/OOD diagrams, Petri nets and many other net-like models. The construction of these editors and their integration with other tools in the SDE is a very time-consuming effort if the editors are produced from scratch. This paper presents a technique and underlying software systems which allow such editors to be constructed within hours. This is achieved by using an open framework for SDEs with very powerful components: our framework essentially consists of the UIMS ET++, a class library for user interfaces, H-PCTE, an implementation of the object management system of PCTE and a generic database interpreter. The low effort is possible because we extensively exploit functionality which is provided by the UIMS and DBMS and do not re-implement features in the tool code which are already covered by framework components: Each editor consists basically of the generic editor, a database schema and C++ code of around one page. The generic interpreter retrieves information about types and the actual document data from the database and interprets them. The tool-specific C++ code associates graphical symbols with object types in the database.
Software-Entwicklungsumgebungen (SEU) können sinnvoll auf der Basis eines OMS realisiert werden. Bestimmte Voraussetzungen wie ein komplexes Datenmodell, Verteilung und Zugriffskontrolle werden von existierenden OMSen bereits angeboten. Einige Mechanismen geh"oren aber nicht zum Funktionsumfang bekannter OMSe. Zu diesen Funktionen geh"oren das Multi-Threading und generische Nachrichtenmechanismen. In diesem Bericht werden die Anforderungen aus dem SEU-Bereich f"ur diese Funktionen beschrieben und eine prototypische Implementierung auf der Basis der speziellen OMS-Realisierung H-PCTE vorgestellt.
It is already a well-known fact that OMSs are used as a repository base of Software Engineering Environments (SEE). Some features of OMSs like complex data models, distribution or access control have been exploited by existing architectures. However, some mechanisms which are highly useful in SEEs are not supported adequately by OMSs. Some of this features are multi-threading or generic notification mechanisms. This report describes the requirements of these features from the SEE view. Finally a prototype implementation on top of an existing OMS (H-PCTE) is given.