Holarch

SysMLSystems Modeling Language A graphical modeling language for systems engineering, based on UML, with block, activity, state machine and parametric diagrams. v2 Projects

Simulate Action Flows

The Simulator runs the action flows of the model: the same page, results, timeline, Monte Carlo study and Check Against Requirement as for LMLLifecycle Modeling Language An open modeling language with a small set of classes and relationships that covers a system's whole lifecycle. Holarch models are LML models. Action Diagrams.

Run a simulation

  • Open an Action Flow View and choose ▶ Simulate ▾ → Discrete Event or Monte Carlo, or open Behavior → Simulator and choose the root action (an action definition or usage with its own actions).
  • The settings are those of the LML Simulator: Decisions, Speed, Vary fixed durations and ± %, Random seed (empty: a new seed each run), Calendar Dates and Start paused (step through) for Discrete Event; Runs for Monte Carlo. They are saved with the root action. When fixed durations vary, a note above the results says by how much.
  • Press ▶ Play, ⏭ Step or ⏩ Run to End. The timeline shows each step as it runs; Action flow as it runs highlights the steps in the Action Flow View that shows the action.

How the model runs

  • Each action usage is a step; successions give the order; a fork, several successions out of one step, or several first steps run in parallel until the join; a decision (or guarded successions) takes one branch; while and for loops and a succession back to an earlier step repeat; if actions run their body or skip it. Assignments change values and take no time.
  • A step takes the time of its attribute duration (or one typed DurationValue or TimeValue), its own or its definition’s, for example attribute duration : DurationValue = 5 [s];. Select the step to set a duration in the simulator instead, also as a distribution; it takes precedence over the model’s.
  • Guards, if and loop conditions the model can evaluate decide on their own. Otherwise select the decision (or the succession) and set the branch probabilities, or select the loop and set its iterations. These settings are stored with the project, not in the text.
  • Parts that perform a step are its performers: the Resources tab shows how busy each part is. A succession flow makes its target wait for the item; other flows do not.

Check a requirement

  • After a Monte Carlo study, choose Check Against Requirement… and a requirement. Its require constraint, such as tripTime <= 120 [s], gives the criterion: the model evaluates the limit, and the constraint at the mean.
  • Record Result… sets the status and result of a verification case that verifies the requirement, or creates one, in one undo step.