Cédric Brun bio photo

Cédric Brun

Build open-source technologies to enable mission critical tools for complex domains.

Email Twitter LinkedIn Github Youtube

AQL (Acceleo Query Language)

What is AQL?

TL;DR: AQL is a small, fast, EMF-native query language. You use it to navigate and filter models in tools like Eclipse Sirius and M2Doc—typically with expressions that start with aql:. It’s OCL-ish in spirit, but simpler and tuned for modeling tool builders.

Why AQL exists

From Acceleo 2.x with its XPath-like syntax, to a language inheriting from OCL (MTL) to check constraints, to then executing queries and constraints as part of the interpretation of a live environment (Sirius), we’ve been through a lot of distinct query languages and implementations across Obeo’s history. AQL is the culmination of everything we wanted after we’d been through hell and back with the others. Fast. Simple. Fast. Extensible. Fast. Strongly typed. Fast. Forgiving runtime. Fast. Small and embeddable. Fast.

It’s a small gem; there isn’t much out there besides the code. On this page I’ve gathered the posts related to AQL.

Where you’ll meet AQL

Want to go deeper?

2017

2016

Some news on the AQL front

What’s new in AQL for Sirius 3.1/Mars.2: for Sirius specifiers and EMF toolsmiths; why it matters—faster queries, Java‑extensible services, better validation...

2015

AQL - a new interpreter for Sirius

TL;DR: we’ve been working on a new query interpreter for Sirius which is small, simple, fast, extensible and bring richer validation. It’s been released for ...