Prev Next

How it Works

Enterprise Architect has been built on open standards and the product teams are ever-aware of the power and efficiency of utilizing existing solutions and not reinventing the wheel. The tool uses these standards to allow the visualization to take place:

  • Systems Modeling Language (SysML) - managed by the Object Management Group (OMG)
  • OpenModelica - managed by the Open Source Modelica Consortium (OSMC)
  • Modelica - managed by the Modelica Association

We have spent a deal of time in earlier topics learning about the SysML; in fact we have already learnt most of what we require to create the Block Definition and Parametric examples for these visualizations. In addition we will learn how to add some extra information that OpenModelica needs; this will be discussed in the next section.

Modelica is an open and object-oriented language based on equations, allowing the modeling of cyber-mechanical systems utilizing sub-components. Like its mathematical cousins, Modelica is a cross-domain language that has a wide variety of applications, including in mechanical, electrical, electronic, hydraulic, thermal, control, electric power and process-oriented domains, to name the possible sub-components of a Modelica model and the types of system that can be modeled using the tool.

Enterprise Architect is capable of performing basic simulations for process diagrams and StateMachines, but for modeling complex cyber-mechanical systems it makes use of the power of OpenModelica, underpinned by the Modelica language itself to do the heavy lifting. Enterprise Architect allows these cyber-mechanical models to be related to a wide range of other systems and software engineering artifacts, including missions, stakeholder requirements, StateMachines, programming code, Decision Tables, architectures, trade off analysis and much more.

An overview of how it works can best be provided by way of a simplified example. To create a simple visualization of Newton's Second Law - 'The rate of change of momentum is proportional to the force acting and takes place in the direction of that force.' (F = m*a), an engineer using Enterprise Architect will:

1. Create a Block diagram describing the equations using Constraints and Values.

Block Constraint in Modelica SysML System Simulation in Sparx Systems Enterprise Architect

2. Configure the SysMLSim Configuration Artifact (used to define the information needed by OpenModelica).

3. Run the Simulation by selecting the Solve button on the window.

A chart will be plotted with f = 98.1 (which is the product of the Mass (10) and Acceleration (9.81) expressed in the equation  [f = m * a]  with the value in place 98.1 = 10 * 9.81). This is a simplistic example aimed at showing the fundamental ingredients to create the visualization; we will look at more advanced examples in later sections showing the use of Constraint Properties and User Defined Data Sets.