project, language of languages,

Why We Built Language of Languages: Bridging the Multi-Notation Gap in System Design

Jamie Jamie Nov 20, 2008 · 1 min read
Part 1 in the Language of Languages series.

In large-scale system and software engineering, project teams rarely rely on a single notation. Systems architects model structural behaviors in AADL or SysML, software engineers write application code in C++, Java, or VHDL, and domain specialists design state machines and control logic.

While using specialized notations allows developers to choose the most expressive tool for the task, it introduces two major challenges:

  • Communication: Ensuring different stakeholders understand the intent across distinct notations.
  • Correctness and consistency: Verifying that disparate representations remain consistent with one another as the system evolves.

The Language of Languages (LoLs) project was conceived to address this fragmentation. Rather than forcing all disciplines into a single monolithic model or writing fragile N x M translators, LoLs adopts a language-agnostic view.

By decoupling underlying domain Concepts (such as State, Action, or Addition) from their concrete Language Definitions (textual, numerical, or graphical), LoLs unifies different representations under a shared Language Element Tree. This concept-centric integration enables early and continuous Virtual Integration, a core principle of initiatives like System Architecture Virtual Integration (SAVI), allowing teams to detect interface mismatches promptly and lower system lifecycle costs.

Next in the series: Under the Hood: Building the First LoLs Prototype in Squeak Smalltalk and OMeta.

Jamie
Written by Jamie
Jamie Douglass is Principal Scientist Emeritus at Research on Knowing LLC. He guides foundational research, scientific methodology, and conceptual frameworks—exploring how shifted perspectives reveal unseen structures in how we learn, reason, and work.