*************************************************************** C O N C E P T B A S E RWTH Aachen, Informatik V Prof.Dr. Matthias Jarke Ahornstr. 55 52056 Aachen, Germany Tel.: ++49+241 80 21 501 Fax ++49+241 8888 321 email: CB@picasso.informatik.rwth-aachen.de *************************************************************** *** What is ConceptBase? *** Manfred A. Jeusfeld, ConceptBase Team RWTH Aachen, Germany April, 1994 *************************************************************** The main features of ConceptBase *************************************************************** ConceptBase is a multi-user deductive object manager mainly intended for conceptual modeling and the coordination of design environments. The system implements a dialect of Telos which amalgamates properties of deductive and object-oriented languages. Key features are - hybrid representation with frame-like objects, semantic nets and logical specifications - extensibility by metaclass hierarchies (useful for IRDS,schema evolution etc.) - deductive rules & integrity constraints - queries as classes with membership constraints - persistent object management with the ability to interrogate past states of the database ConceptBase follows a client-server architecture. Client programs can connect to the ConceptBase server and exchange data via interprocess communication. The ConceptBase programming interface allows the users to create their own client programs in C or Prolog. The X11-based ConceptBase offers a palette of graphical, tabular and textual tools for editing and browsing the object base. ******************************************************************* Applications for ConceptBase ******************************************************************* ConceptBase means "base of concepts" which suggests that one can use it to store and query collections of conceptual descriptions. This is true, however we refer to ConceptBase as a deductive object base manager because it inherited features from both object-oriented databases and deductive databases. One may also associate ConceptBase with so-called concept languages (KL-One-like languages). There are strong similarities but they are certainly not the same. Concept languages are mainly for reasoning on all possible models of a logical theory. ConceptBase only reasons on its current database (i.e., the currently stored objects). This text is aimed at potential users of ConceptBase and intends to answer the following questions: 1. For what applications is ConceptBase not a good tool? 2. For what applications is ConceptBase a good tool? 3. For what applications has ConceptBase been used? *** 0. Historical remarks We started development of ConceptBase in 1987 at the University of Passau. Version 1.0 was available in early 1988. Thus, ConceptBase was one of the first deductive object managers. Version 2.0 appeared in November 1989 and added deductive integrity checking, plus the client server architecture. A few months later an interval-based time calculus was included. Version 3.0 was released in 1991 to provide query classes for information retrieval and a X11-based user interface. In 1992 the development team moved to the RWTH Technical University of Aachen. *** 1. Applications where ConceptBase should not be used ConceptBase does not combine all features from object-oriented and deductive databases. Especially, it fails to handle very large amounts of information. Object bases exceeding about 1 megabyte are currently too big to be handled efficiently. This prohibits to use ConceptBase for mass storage. Object-oriented databases are strong in integrating operations ("methods") into the database. ConceptBase has no general methods except integrity constraints and deductive rules. It does have a programming interface but this cannot be compared to what one gets from systems like ODE or O2. We refuse to term ConceptBase a database system since it currently has only primitive provisions for multi-user support, recovery, and mass storage. Thus, if you need a system which is strong in these points then you probably need a commercial database system. *** 2. Applications where ConceptBase is strong The most powerful feature of ConceptBase is its arbitralily high class hierarchy, i.e., O-Telos allows to describe objects, classes, meta-classes, meta-meta-classes etc. within the same framework. Thereby, the modeling capabilities of ConceptBase can be adapted to the application by defining appropriate meta-classes. This feature is accompanied by a query facility which has the expressive power of deductive databases and which is seamlessly integrated into the frame language. Consequently, ConceptBase is strong in applications where concepts (classes, objects, situations, entities etc.) have to be modelled and manipulated. The user interface supports this by textual and graphical browsers and editors. The graphical browser can be adapted to the application by assigning graphical representations to the concepts (e.g., each instance of class RelationShip is displayed as a romboid). The object model, O-Telos, already contains the well-known Knowledge representation paradigms for specialization, aggregation, and classification. The designer can augment them by user-defined deductive rules (e.g., closing certain attributes transitively) and integrity constraints (e.g., forbidding certain attributes to be cyclic). *** 3. Applications where ConceptBase was successful ConceptBase has first been used in the DAIDA project [JARK93] as a repository for design objects, design decisions, and environment tools for developing database applications. For that purpose, three meta-classes DesignObject, DesignDecision, and DesignTool (the so-called software process data model) have been defined to adapt ConceptBase for this application. ConceptBase was also the tool which integrated the heterogeneous tools in the design environment. In the Canadian network of Excellence, ConceptBase was chosen to implement a more sophisticated software repository [RJM92] which supports versioning and configuration of software items (specifications, designs, implemenations, documents etc.). Another area of application is representation, maintenance, and discussion of process knowledge [RL93]. There, ConceptBase serves as a tool for capturing and reasoning with such knowledge. The goal of the system is to help software engineers in rapidly constructing prototypes of proposed software systems. ConceptBase is also used for teaching, e.g. at the Aalborg University in Denmark, University of Lausanne, University of Hamburg, and University of Muenster. Furthermore, it is curently used in several ESPRIT and national projects for applications like semantic query optimization (project COMPULOG), industrial quality management (project WIBQUS), retrieval of reusable software components (project KORSO), hypermedia authoring systems (project MULTIWORKS), and requirements engineering and process modelling (project NATURE). *** 4. References [JARK93] M. Jarke (ed.,1993). Database application engineering with DAIDA. Springer-Verlag, 1993. [RJM92] T. Rose, M. Jarke, J. Mylopoulos (1992). Organizing software repositories - modeling requirements and implementation experiences. Proc. 16th Intl. Computer Software & Applications Conf., Chicago, Ill., Sept. 23-25, 1992. [RL93] B. Ramesh, Luqi (1993). Process knowledge based rapid prototyping for requirements engineering. Proc. IEEE Intl. Symp. Requirements Engineering (RE'93), San Diego, Ca., Jan. 4-6, 1993. [NIX94] B.A. Nixon (1994): Representing and using performance requirements during the development of information systems. Proc. 4th Intl. Conf. EDBT'94, LNCS, 779, Springer-Verlag, 1994. [GHS94] S. Gastinger, R. Hennicker, R. Stabl (1994): Reusing software components with polymorphic signatures. Technical report (KORSO project), LMU Muenchen, Institut Informatik, D-80802 Muenchen, Germany, 1994.