Table of Contents
Fetching ...

M, Toolchain and Language for Reusable Model Compilation

Hiep Hong Trinh, Federico Ciccozzi, Abu Naser Masud, Marjan Sirjani, Mikael Sjödin

TL;DR

The paper tackles semantic drift and tooling fragmentation in model-driven engineering for complex cyber-physical systems by introducing M, a semantics-aware, grammar-driven language based on the actor model with discrete-event scheduling. The M toolchain serves as a central pivot, allowing other DSLs to map into M and enabling multi-target generation for simulation, deployment, and formal verification without re-deriving semantics. It provides a formal operational semantics, a rich type system, and transformability paths to ROS2, Timed Rebeca, and other backends, aiming to reduce semantic drift and increase reuse across life-cycle artifacts. By unifying modeling, compilation, and verification under a single, extensible framework, M aspires to accelerate development for concurrent, time-aware systems and to simplify adapters from existing DSLs. The work lays a solid foundation for future hybrid modeling and broad adapter ecosystems, with plans for open-source release and real-world case studies.

Abstract

Complex software-driven systems often interleave distributed, concurrent computation processes with physical interactions with the environment. Developing these systems more efficiently and safely can be achieved by employing actionable, software-based models. From a high-level system model, engineers often need to derive multiple specialized models for different purposes, including simulation, deployment, and formal verification. Each of these target models usually rely on its own formalism, specification language, and execution platform. Traditionally, a compiler analyzes a program written in a programming language and generates executable code. In contrast, a model compiler processes a source model written in a modeling language and should ideally support the generation of multiple heterogeneous targets. However, most existing modeling languages are designed with a narrow focus, typically targeting only simulation or implementation. Multi-target compilation, when not considered during the language's early design, becomes significantly harder to achieve. In this paper, we introduce our initiative: a toolchain and modeling language called M, designed to support system modeling and multi-target compilation for model-driven engineering of complex, concurrent, and time-aware systems. M is a textual, grammar-driven language based on the actor model and extended with discrete-event scheduling semantics. It provides constructs for modeling system entities, message-based interactions, and time- or state-triggered reactions. From such models, M enables the systematic generation of diverse target artifacts while preserving semantic conformance to the original model. Moreover, M can serve as a middle language to which other modeling languages may anchor, thereby allowing them to benefit from its compilation framework.

M, Toolchain and Language for Reusable Model Compilation

TL;DR

The paper tackles semantic drift and tooling fragmentation in model-driven engineering for complex cyber-physical systems by introducing M, a semantics-aware, grammar-driven language based on the actor model with discrete-event scheduling. The M toolchain serves as a central pivot, allowing other DSLs to map into M and enabling multi-target generation for simulation, deployment, and formal verification without re-deriving semantics. It provides a formal operational semantics, a rich type system, and transformability paths to ROS2, Timed Rebeca, and other backends, aiming to reduce semantic drift and increase reuse across life-cycle artifacts. By unifying modeling, compilation, and verification under a single, extensible framework, M aspires to accelerate development for concurrent, time-aware systems and to simplify adapters from existing DSLs. The work lays a solid foundation for future hybrid modeling and broad adapter ecosystems, with plans for open-source release and real-world case studies.

Abstract

Complex software-driven systems often interleave distributed, concurrent computation processes with physical interactions with the environment. Developing these systems more efficiently and safely can be achieved by employing actionable, software-based models. From a high-level system model, engineers often need to derive multiple specialized models for different purposes, including simulation, deployment, and formal verification. Each of these target models usually rely on its own formalism, specification language, and execution platform. Traditionally, a compiler analyzes a program written in a programming language and generates executable code. In contrast, a model compiler processes a source model written in a modeling language and should ideally support the generation of multiple heterogeneous targets. However, most existing modeling languages are designed with a narrow focus, typically targeting only simulation or implementation. Multi-target compilation, when not considered during the language's early design, becomes significantly harder to achieve. In this paper, we introduce our initiative: a toolchain and modeling language called M, designed to support system modeling and multi-target compilation for model-driven engineering of complex, concurrent, and time-aware systems. M is a textual, grammar-driven language based on the actor model and extended with discrete-event scheduling semantics. It provides constructs for modeling system entities, message-based interactions, and time- or state-triggered reactions. From such models, M enables the systematic generation of diverse target artifacts while preserving semantic conformance to the original model. Moreover, M can serve as a middle language to which other modeling languages may anchor, thereby allowing them to benefit from its compilation framework.

Paper Structure

This paper contains 47 sections, 8 equations, 4 figures, 1 table.

Figures (4)

  • Figure 1: The M toolchain for reusable model compilation
  • Figure 2: Taxonomy of M type system
  • Figure 3: Electric bicycle control panel
  • Figure :