TestOptimal Wiki

Model-Based Testing (MBT)

User Tools

Site Tools


Enterprise Edition

Enterprise Edition offers enhanced features which are not available for other editions. This includes concurrent modeling and model orchestration execution.

Concurrent System Modeling

Concurrent modeling is used to model concurrent systems or event/message driven systems such as embedded systems. It allows multiple transitions to be executing concurrently and complex logic to determine when a state can be activated (fired) and which of the outgoing transitions can be triggered/executed.

Click here for an example of concurrent system model.

Model Orchestration

For complex systems which involve many models to be executed concurrently and require ability to coordinate with each other through inter-model communication, model orchestration provides a facility to run models in a precise timing as required.

Load Plugin

LoadPlugin is available for building models to orchestrate multiple model executions, see a simple example of such model: Load Model Example. It depends on SvrMgr to execute and manage remote Runtime servers, an deal setup for large complex system testing that requires more than one physical servers for conducting the testing. It also provides the facility to conduct load and stress testing.

Activate State

In concurrent models, a state can be activated in several ways:

  1. number of incoming transition traversals exceeded the threshold value
  2. number of distinct incoming transition exceeded the threshold value - multiple traversals for same transition are counted once
  3. total weight of all incoming transition traversals exceeded the threshold value
  4. activated by MScript functions

Execute Transition

Once the state is activated, transitions are triggered in several ways. Only transitions without guard condition and transitions with guard conditions evaluated to true can participate this operation.

  1. all outgoing transitions
  2. random selection of one transition from the outgoing transitions
  3. the transition with name matching the value of path var _triggerTransName
  4. triggered by MScript functions

Path Variables (Messages)

Messages can be stored in path variables. Path variables are similar to user variable except that they are only visible to the transitions that are on the path. Path variables are carried along the path and merged when multiple transitions merge at the states. They can also be removed from the path anytime.

Inter-Model Communication

The inter-model communication is supported by LoadPlugin also and can be displayed in MSC by clicking on .

enterpriseedition.txt · Last modified: 2017/12/24 02:00 by admin