Language, meet Logic

Streamline your processes for software specification, design, and implementation using the Constellation Query Language. See an example »

CQL helps you to understand your business and clearly express its rules and behaviour. It achieves the seemingly impossible task of combining the intuitive feel of natural language with the precision of a mathematically formal language. Because it's so natural, all your stakeholders can clearly understand what you're proposing, so you can avoid costly errors.

Never before has it been so easy to produce understandable software, or to minimize expensive mis-understandings and uncertain or incomplete project scoping. Read more »

Get started

Use a text editor

Because CQL is just plain text, you can write it using any text editor - even NotePad. You'll need to get familiar with the language first. Download the free CQL compiler, and use the examples, then read the Constellation Query Language specification. It's easy - you'll spend your effort grappling with the problems of understanding your business domain, not with CQL itself. See the examples »

Import from ORM2

ORM2 is a fact-based graphical language in the same family as NIAM, FCO-IM, DOGMA, etc. If you use Visual Studio (standard, not Express), you can create ORM2 diagrams using the free NORMA plugin and convert those to CQL using the open source ActiveFacts tools. See ORM2 examples »


APRIMO is our fact-based model development environment, incorporating an SVG-based graphical designer that implements ORM2 diagrams, with direct CQL entry and even reverse engineering tools for existing databases. APRIMO is still in early testing - talk to us if you'd like to participate. See screenshots »

Involve all your stakeholders

Business Glossary and Data Dictionary

Use our tools to generate a browsable Glossary or Data Dictionary from your CQL models, and you can publish simple HTML files (through email or on a web server) so that everyone in your organisation can understand and comment on your progress, to ensure you don't miss anything important. See an example »

Syntax Highlighting

CQL text is so similar to natural language that even smart text editors cannot correctly add syntax highlighting, but you can generate an HTML version with highlighting for publication, using the CQL compiler. See the examples »

Implement your ideas

Schemas in SQL

Generate efficient and understandable relational data models in SQL. The ActiveFacts relational schema generators automate the rules of data normalization, always producing schemas in fifth normal form. You don't even have to understand how to normalize your data to avoid duplications and other anomalies.

Powerful transformations preserve all your rules, and enforce as many as are sensible to enforce at the database, including all foreign keys and simple data validations. SQL examples »

Ruby on Rails

ActiveFacts generates source code for ActiveRecord schemas and model files, with all foreign keys, indexes and ActiveRelation associations and validations baked right in and ready for use. Rails is already quick to work with, but this approach can really turbo-charge your development efforts. Rails examples »

Constellation API

The Constellation API goes beyond object-oriented to fact-oriented programming, introducing a new way to code transactional applications. A Constellation provides the simplest description of the facts of any given situation. You don't need to know how these facts might be assembled into objects or stored in relational tables; that's all taken care of by the Constellation API. The advantage of examining and manipulating data in terms of these elementary facts introduces a radical simplification to conventional programming techniques - simply better code with fewer errors.

The Constellation API is implemented in Ruby, with other languages in the pipeline. Ruby API examples »