MontiArc is a framework for modeling and simulation of software architectures
that is developed using MontiCore.
The domain of the architecture description language (ADL) MontiArc
are so called information-flow architectures which describe the components
of a (software) system and their message-based communication. A component is
a unit which executes computations or stores data. It may have arbitrary complexity and size being
a subsystem or a single function. A component has an explicitly defined
interface via which it communicates with its environment.
MontiArc is on the one hand an ADL that helps modeling distributed systems by
supporting the user with context condition checks and analyses. On the other
hand MontiArc serves a simulation runtime environment and a codegenerator
to generate simulation components out of MontiArc models and validate them
in a timed, event-based simulation.