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 clearly defined interfaces that consist 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. Due to the strong semantic foundations, 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.
-
Usage
Learn how to use the tooling.
-
Reference
A detailed description of how MontiArc models are defined and work.
-
Libraries
Learn about library components and start publishing your own.
-
FAQ
Get answers to frequently asked questions.
-
License
Learn about the license and how you can use the generated code.
Get Started with MontiArc Today!
Discover Component-Based Modeling
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.
-
Something is not working?
Report a bug by creating an issue with information on how to reproduce it
-
Missing information in our docs?
Report missing information or potential inconsistencies in our documentation
-
Want to submit an idea?
Propose a change, feature request, or suggest an improvement
-
Want to create a pull request?
Open an issue first and then create a comprehensive and useful pull request
Hint
Before submitting an issue, make sure to:
- Check that no similar issue already exists here
- You provided all the information needed to understand the issue
Further Information
Find more information about MontiArc and other projects and publications by the Chair of Software Engineering under the following links: