Support of AI Applications through Object Bases
In the area of data bases the development of object bases allows far-reaching improvements of conventional systems. In the area of AI powerful and comprehensive expert systems become more and more realistic. With growing complexity of expert system applications the data base content to be managed becomes more complex as well as more comprehensive. At the same time the need for a multi-user capability of expert systems increases. This led to demands to couple expert and object base systems as tight as possible to enable a fruitful and profitable symbiosis. Our chair investigates some of the central problems concerning the support of AI applications by object bases.
Distributed Artificial Intelligence
Many business applications require access to knowledge spread over different divisions of a corporation. This knowledge increasingly is provided by software systems and has to be combined to satisfy customer demands. This has to be done in dependence on the actual conditions of the market and the corporate strategies. This is mainly important for areas where the availability of competence for the customer constitutes one of the decisive aspects of competition. Techniques from distributed artificial intelligence (DAI) offer promising approaches for enabling cooperative work among decentralized software systems ("agents"). Thus, tasks exceeding the potential of a single component are made solvable in a flexible manner. This leads to questions with respect to the combination of human and artificial problem solving capabilities that have been addressed by our chair since the beginning of 1994. The work is founded by the DFG as project "Verbundintelligenz kooperativer Software-Systeme".
XML Databases and Query Laungages
The Extensible Markup Language (XML) is the standard of the universal format for structured documents and data released by the World Wide Web Consortium (W3C).
It comprises a Document Type Definition -- a meta-description used to define application specific formats and protocols. The work at our chair is focused on different kinds of XML data storage. We concern both Native XML Databases (NXD) which maintain full XML structure and meta data and provide access based on XML related standards (e.g. Tamino) and XML Enabled Databases (XEDB) providing XML storage and retrieval using mapping modules, like relational database DB2 with XML Extender. Another focal research area is querying, searching and information retrieval of semi-structured mark-up formatted data.
Non-Standard Data Bases, especially Object-Oriented Data Bases
The first generation of data base systems (Hierarchical and Network Data Bases) meanwhile is superseded quite successfully by the second data base system generation (Relational Data Bases). The third generation of data base systems currently investigated and developed tries to extend the applicability to more complex application areas (e.g., CAD/CAM, CIM, Robotics, Software Development, AI, etc.).Our chair is concerned with various questions within the area of data modelling for non-standard data base systems (esp. Object-Oriented Data Bases).
Transaction Management for Non-Standard Applications
The traditional transaction management usually aims at isolating users working at the same time on one and the same data base in order to simulate a serial single-user operation. The basic idea of this philosophy is the assumption that users usually work for a very short time but in a competitive manner during this time on the data base. Non-standard applications imply much more far-reaching requirements. Tasks are often very complex so that the process of finding a solution may take a long time. Additionally, an effective solution can often be derived only by working cooperatively (i.e., on the same data). Modelling such applications on the basis of a data base management system results in highly demanding requirements on the transaction management. At our chair powerful transaction management models for such non-standard applications are developed and implemented.
Our chair is working on the conception an development of internet based information systems, designed to support both organisational and teaching processes common at universities and other educational facilities. Those systems should provide both process automation and cooperation support, hence they are analogous to workflow management resp. CSCW systems. Another basic requirement is the provision and integration of heterogeneous data.
Object-oriented Frameworks allow the reusability of design and implementation. The main aspects of frameworks are: 1) how to design frameworks 2) how to document frameworks 3) how to adapt frameworks to the developers needs. These problems have been addressed by our chair since the beginning of 1997. At that time the foundation of the DNAP project was built up, which used current framework technologies like the SanFrancisco frameworks by IBM and Enterprise JavaBeans.
Component based Software Engineering (CBSE)
Component-based Software Engineering (CBSE) will become one of the main software engineering paradigms in the future. This paradigm intends to use pre-built components for buildung new software. CBSE leads to a lot of changes within the traditional software engineering discipline, e.g. how to compose pre-built components and integrate them into new software. Another unsoluted question is, how specify (and find) components.
Aspect-Oriented Software Development (AOSD)
Conventional programming techniques - like functional or object-oriented programming - suffer from their very strict, since one-dimensional, mechanisms of composition and decomposition. Aspect-Oriented Software Development (AOSD) seeks to improve those programming paradigms to make them more suitable to the users' needs. Its major focus is to allow composition and decomposition of programs along multiple dimensions, that is in whatever way is most appropriate to a given concern. The challenge of the future is to provide next generation software developers with a full-featured software development process for Aspect-Oriented Software Development - just as have them in the object-oriented world.
Our chair is doing research in the area of Aspect-Oriented Programming, i.e., Aspect-Oriented Software Development at the implementation level, since 2000. Our research focuses on new ways to modularize code of crosscutting concerns in most reusable ways. In 2001, we started working on Aspect-Oriented Modeling, i.e., Aspect-Oriented Software Development at the modeling level. Our research is concerned with exemplifying graphical yet well-defined means to assist the design of crosscutting in aspect-oriented settings.