Skip to content

MontiArc

The MontiArc Architecture Description Language

MontiArc is a textual architecture description language (ADL) for the specification and modeling of cyber-physical systems. The architecture of a cyber-physical system is described as a component and connector (C&C) system, in which autonomously acting components perform computations. Components have clear defined interfaces that consists of stable, typed, directed ports.

Each component defines a cyber-physical function, which maps streams of input messages to stream of output messages. This function is the behavior of the corresponding cyber-physical systems. Behavior can be specified through atomic behavior descriptions, such as statecharts, or through the composition of subcomponents to form larger systems.

The MontiArc infrastructure provides essential functionality for verifying the validity of component and connector models. Components can be translated into Java simulations to simulate, analyze, and validate their behavior, for example through automated tests. In addition to the basic modeling elements - components, ports, and connectors - MontiArc supports advanced modeling concepts such as component parameterization, variability, dynamic reconfiguration, and generics.

  •   Getting Started


    Is this your first time using MontiArc? Set up a project and start modeling.


    Take the Tour
    Installation & Setup

  •   Usage


    Learn how to use the tooling.


    Read more

  •   Reference


    A detailed description of how MontiArc models are defined and work.


    Read more

  •   Library


    A collection of standard components and functions included in every model.


    Read more

  •   FAQ


    Get answers to frequently asked questions.


    Read more

  •   License


    Learn about the license and how you can use the generated code.


    Read more


Found an issue?

MontiArc is actively maintained by the Chair of Software Engineering.

There are multiple ways in which you can improve MontiArc to help you and others who might encounter the same issues in the future.

Hint

Before submitting an issue, make sure to:

  • Check that no similar issue already exists here
  • You provided all information needed to understand the issue

Further Information