ActiveFacts is a semantic modeling toolkit that revolutionises the processes of software specification, design, and implementation. It incorporates the Constellation Query Language (CQL) and the Constellation API, which together enable your data to be designed, expressed and queried in a completely natural form for the first time. The language is so easy to learn and use because of the way it incorporates natural language expressions into a formal framework. This allows the business user (in conjunction with the programmer and database experts) to use the language to express the rules and behaviour of the business domain, in the process formulating efficient database designs without needing specialist database skills.
Constellation Query Language
CQL achieves the seemingly impossible task of combining the precision of a formal language with the intuitive feel of natural language. It can be used both to define and query semantic models. You can write CQL models directly, use APRIMO, or import ORM2 models from NORMA. See some example models, or read the specification.
The Constellation API goes beyond object-oriented to fact-oriented programming, introducing a new way to code transactional applications. A Constellation of related facts derived from a query can be modified only by assert and retract operations. The result is translated back to relational form and saved on demand.
In the preferred case, each user action results in a single query, which can span deeply into and across the whole database (more than just a relational join), returning only the data required to respond to that action. Any required changes are made to the result Constellation, and a single save operation pushes all the changes resulting from the user's action back into the database in a single atomic action.
The ActiveFacts code generation framework reads CQL and emits extensible and effective object models for use with the Constellation API, and efficient SQL for whatever relational database product you're using. Learn to write CQL and have a play with the open source Ruby code generator.
APRIMO is a semantic model development environment, incorporating a Flash-based graphical designer that implements ORM2 diagrams, with direct CQL entry and even reverse engineering tools for existing databases. APRIMO is not yet publicly available.