Download Φ License Φ Forum Φ Books&Manuals Φ Channel Φ #ConceptBase Φ Team
ConceptBase.cc is a multi-user deductive database system with an object-oriented (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. There are no fixed hierarchies but rather the notion of instantiation between two objects, one being the instance, the other the class. There are also classes whose instances span over several metaclass hierarchies. For example, the class Proposition has all objects as instances, regardless of their abstraction level.
Uniform object representation. All objects are represented in a uniform quadruple data structure called P-facts (or "propositions") 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. Deductive rules, integrity 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 class of objects 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). ConceptBase.cc is available for Linux, Windows, and Mac OS-X. There is also a pre-configured virtual appliance that contains the executable system plus its sources plus the tools to compile them. 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