Download Φ License Φ Forum Φ Books&Manuals Φ Team
ConceptBase.cc is a multi-user deductive database system with an object-centered data model. Its ability to represent information at any abstraction level (data, class, metaclass, meta-metaclass, etc.) makes it a powerful tool for metamodeling and engineering of customized modeling languages. The system is accompanied by a highly configurable graphical user interface that builds upon the logic-based features of the ConceptBase.cc server.
Unlimited metaclass hierarchies. ConceptBase.cc can represent information at the data level (example data, traces of process executions etc.), the class level (schemas, process definitions etc.), the metaclass level (constructs of modeling languages), the meta-metaclass level (constructs for defining modeling languages), and so forth.
Uniform object representation. All objects are represented in a uniform quadruple data structure called P-facts pioneered by the developers of the Telos language. Objects, their attributes, specializations, and instantiations are all represented as P-facts. By this, for example, attributes of objects can have attributes and are instances of other attributes. Even specialization between attributes is fully supported.
Logical expressions. Rules, constraints, and queries are expressed in first-order logic formulas. Internally, the system transforms them into Horn clauses interpreted by a Datalog-based evaluation machine. Logical expressions in ConceptBase.cc can range over any object regardless of its type (node vs. link) and its abstraction level. Datalog is known for being the most robust computational system for evaluating logical expressions.
Active rules. Active rules update the database or call external routines as a reaction to events. The execution follows the Event-Condition-Action scheme (ECA). Updates to the database are formulated via Tell/Untell/Retell commands. External routines (e.g. for invoking a script to send an email) can be incrementally added to the database using a simple Prolog-based programming interface.
Functional expressions. ConceptBase.cc supports functional and arithmetic expressions to define computation within models. Functions can be recursively defined much like in Functional Programming. For example, the length of the shortest path between two nodes is defined as the minimum of the lengths of the shortest path between the successors of the start node and the end node. Functional expressions are particularily useful for defining complex metrics on models. Aggregation functions such as SUM and AVG are predefined.
ConceptBase.cc is developed by the ConceptBase Team at University of Skövde (HIS) and University of Aachen (RWTH). Pre-compiled binaries are available for Linux, Solaris, and Windows. The system is distributed under a FreeBSD-style license. If you need further assistance, you are welcome to contact us. A FAQ section is provided via the CB-Forum.
University of Skövde, Box 408, S-54128 Skövde, Sweden