Skip to main content


As safety-critical systems grows in complexity, so does also the task of performing dependability analyses of them. Dependability of safety-critical systems is however essential in arguing about their level of safety.

SMP-tool (Semi-Markov Process-tool) is a Matlab app, developed on Matlab version R2021b, for dependability analyses of safety-critical systems using SMPs (Semi-Markov Processes). By modelling the system of interest as a Stochastic StateFlow (SSF) model, SMP-tool can analyze the system in several manners:

  • Steady state analysis
  • Dependability analysis
  • Sensitivity analysis

For more information about each functionality of SMP-tool as well as how to install the app, consult the manual downloadable below. Moreover, the quick-start guide provides a concise description on how to open and perform a transient analysis of an SSF model. The .zip-folder SMP-tool contains the tool itself as well as, the manual, example models which are followed in the manual, and a start-up script which should be run once the tool has been installed before using the tool the first time. The tool depend on the Matlab toolboxes: symbolic toolbox, statistics and machine learning toolbox, Simulink, and Stateflow.

SMP-tool v3.4 (zip 9.2 MB)

SMP-tool v3.3.1 (zip 9.2 MB)

SMP-tool v3.3 (zip 9.2 MB)

SMP-tool v3.2.2 (zip 9.1 MB)

SMP-tool v3.2.1 (zip 9.1 MB)

SMP-tool v3.2 (zip 9.1 MB)

SMP-tool v3.1 (zip 9.0 MB)

SMP-tool v2.3 (zip 8.9 MB)

Quick-start guides:

Quick-start guide v3.4 (pdf 298 kB)

Tool manuals:

Manual for v3.4 (pdf 1.5 MB)

Manual for v3.3 (pdf 1.5 MB)

Manual for v3.2 (pdf 1.5 MB)

Manual for v3.1 (pdf 1.5 MB)

Manual for v2.3 (pdf 1.1 MB)


Release notes


Beta v3.4 (2022-09-07)

- 64-bit Windows is no longer required but GSMS simulation will be significantly slower on other plattforms
- OR states without default transition are allowed if it has no sinked transitions
- ... is allowed in guard expressions for multi line guards
- Commented out objects are allowed in SSF models and are ignored
- SSF sanity checker is improved and allows SSF models without top level AND state
- A configurable confidence level is added to settings
- Memory usage for GSMS simulation is reduced
- SSF to GSMS transformation is optimised
- Simulation cache file size is reduced
- Some bugs and GUI issues are fixed

Beta v3.3.1 (2022-06-03)

-The version only works for windows 64-bit

-Upload updated så that all files are contained

Beta v3.3 (2022-06-02)
- SSF parser used for GSMS simulation backend is optimised (5x speedup)
- GSMS simulator used for GSMS simulation backend is compiled (30x speedup)
- Initial state for OR states with one child is automatically set
- Some bugs are fixed

Beta v3.2.2 (2022-04-08)

-Error messages improved

Beta v3.2.1 (2022-04-08)

-Bugfixes for edge-case models

Beta v3.2 (2022-04-08)

- Support for older version than MATLAB R2021b ends
- Add new parallel model GSMS simulation backend (SSF parser, transformation and GSMS simulator)
- Add button for reverting to v3.1 parallel model simulation backend
- Improve MC sensitivity analysis caching
- Add new parallel model button
- Some bugfixes

Beta v3.1 (2021-12-06)

- Bug fix resolving issues for the sensitivity analysis when using Monte Carlo simulation.
- Bug fix resolving that new models were saved in the incorrect directory.
- The plot for sensitivity analysis using Monte Carlo simulation has been improved and is now also showing the confidence intervals.
- The naming convention for the numerical solver has been changed to numerical/symbolic.
- The progress bar has now been updated for the sensitivity analysis using Monte Carlo simulation so it is cancellable over all simulations.
- A progress bar is now showing for loading and creating new models.
- It is now possible to use earlier saved simulations for transient analysis to add more simulations to the final result, without having to recalculate the earlier simulations.
- A GUI switch has been added to inform about what model type is being used in the tool, and in turn which analysis that are possible to use.
- Improved sanity checks for model parsing and when performing sensitivity analysis, for example checks for whether the parameters are valid or not.
- The x-axis for the sensitivity analysis is now fixed to the specific ranges of the parameters.
- The user will now receive a confirmation message if starting multiple analysis at the same time.
- General backend improvements and fixes.

Beta v3.0 (2021-10-27)

- Introducing support for SSF models including:

  -Syntax and semantics closer to the syntax of Stateflow

  -Support for transient and sensitivity analysis through simulation if the model has parallel components

Beta v2.3 (2021-10-06)

-Support for Matlab version 2020b added

  -Progressbar fixed for simulations.

  -Compare button fixed (for comparing several results)

-When creating a new model through the SMP-gui the model is directly loaded into the tool.

Beta v2.2 (2021-09-06)

-License file added

-Sensitivity analysis have gotten a designated button in the “run analysis” tab of the gui.

-The choice “no” has been removed from the “parameter and sensitivity analysis” tab

-The user can in the general settings choose whether to utilize previous simulations or not when performing a Monte Carlo simulation of a model

-In the resulting plots of comparing a result from the numerical and the Monte Carlo method the visualization of the confidence interval has been improved for readability.

-The user can now under the “transient analysis” tab choose between using “serial simulation” (slower but cancelable) or “parallel simulation” (faster but not cancelable and requires “parallel computing toolbox” for Matlab)

Beta v2.1.1 (2021-07-09)
-GUI window scaling reworked.
-Bug fixes:
-Error and warning messages been made more distinct for different errors.
-The settings windows now lock the main gui until they have been closed.
-Parameters created in the model can now be read without errors
-Other GUI related bugs fixed.
-Error handling has been expanded for some edge cases.

Beta v2.1 (2021-06-28):

-Button for comparison of results from different analyses added.

-Support for sensitivity analysis of hierarchical SMP-models added.

-Support for steady-state analysis of hierarchical SMP-models added.

-Bug fixed which caused problem when simulating a sample path for a model with non-absorbing down-states.

Beta v2.0.1 (2021-05-10):

-Support for transient analysis of hierarchical SMP-models added 

Beta v2.0 (2021-04-01):

-GUI reworked

-Support for general expolynomial distributions added

-Parameters in models updated to be more consistent with Stateflow

Beta v1.4.1 (2021-01-07):

-Manual file updated.

Beta v1.4 (2020-10-30):

-Speed for dependability- and sensitivity-analysis majorly increased.

-Support for specifying matlab expressions such as "logspace(1,2,10)" in the analysis time field.

-Different algorithms for inverse Laplace transform added which makes the analysis quicker and more accurate.

-The visualization of the Monte-Carlo simulation updated, e.g. plots showing confindence interval now added.

-Sanity check updated so that a branching transition where the probability adds up to more than 1 cannot be created.

-Old simulation alternative removed in favor of the newer ones.

-Loading bars for branching and non-branching transitions in the sensitivity analysis reduced to one common loading bar.

-"cancel"-option added for dependability analysis

-Error handling for when non-acceptable values are specified in the user-defined fields of the main-gui.

-Possibility to specify parameters that can be used in specifying transition timers has been added.

-A new sensitivity analysis for only chosen parameters has been added.

-Format changed for tables showing result of dependability analysis.

-Minor bug fixes for corner cases.

-Units for transition timer-distribution changed to Matlab units.

-Support for functions of parameters added for transition timer-distributions.

Beta v1.3.1 (2020-09-22):

-Bug fixed which caused the translation from seconds to hours for the model parameters to be wrong

Beta v1.3 (2020-09-07):

-Support for branching transitions has been added.

-Bug that sometimes would give the wrong expected sojourn in "table of transitions" has been fixed.

-Bug that sometimes would give the wrong holding time in "table of transitions" has been fixed.

-Visuals of "table of transition" has been updated.

-Support for naming models something else than "S1"and "S2" etc. has been added.

-The method for performing the steady-state analysis has been changed for higher accuracy.

-Additional fields has been added to the sensitivity analysis when branching transitions are present.

-Update button added "table of transitions" for if the model is changed while the window is open.

-Bug giving error for when opening a model without annotations has been fixed.

-Bug giving error when right-clicking in an empty stateflow chart has been fixed.

-The previous simulation functino has been replaced with two new simulation alternatives.

-It is now possible to comment off "down_state" without the tool still interpreting the state as a down state.

Beta v1.2 (2020-07-02):

 -User can now specify which units to give the parameters in when creating models

 -There is now a possibility to run the analyses of the tool from the Matlab command prompt

 -Bug in dependability and sensitivity analysis for when there are several uniform transitions from the same state fixed

 -Bug fixes in the display table of transitions window

 -Sanity check of models added which is run before performing analyses

 -The states of models are no longer required to be sequentially numbered

 -Start-up script for adding some modelling support tools into Stateflow added

 -"const" has been changed to "deg" to describe degenerate distributions

 -Possiblity to perform dependability analysis for several times as once added

 -Visual results from the dependability analysis changed

 -Support for branching transitions added

 -Bugs for steady-state analysis fixed

Beta v1.1:

  -User can now specify what relative error to calculate the dependability quantities with

  -The number of digits shown for the dependability quantities is now depending on the user specified error

  -Version name of the tool has been added to the top left corner of the main gui

Beta v1.0:

  -First release of SMP-tool


The creators acknowledge the following agencies and
projects for financial support: FFI, the Swedish strategic vehicle research and innovation programme through the AVerT project (reference number
2018-02727), and the European H2020 - ECSEL PRYSTINE (grant agreement number 783190).

Page responsible:Infomaster at ITM
Belongs to: Machine Design
Last changed: Nov 28, 2022
IRIS: Novel Mechatronic Systems and Soft Robotics enabled by 4D Printing and Machine Learning
Excellence in production research (XPRES)
Internet of DevOps (IoD)
StorAIge: Embedded storage elements on next MCU generation ready for AI on the edge
BOAUT - Boundaries Of AUTonomy
Susan's Ride on Campus 2030
WASP: AD-EYE – an Open Modular Testbed
CAMPUS 2030 – Enabling systemic solutions for smart roads
ATRIUM: ArchiTectural RefInement using Uncertainty Management
InSecTT – Intelligent Secure Trustable Things
Rigorous Systems Engineering