AS 9100D:2015 & ISO 27001:2013
Dassault Systèmes
official partner
MEMKO Head Office
L12 303 Collins St, Melbourne, VIC
Call Us


An end-to-end requirements based validation solution
MEMKO > Software > CATIA > Stimulus


Dassault Systèmes acquisition of ARGOSIM, now known as STIMULUS reinforces the 3DEXPERIENCE platform as best-in-class for model-based systems engineering and System of Systems Engineering solution and offering.


STIMULUS is the only tool that ensures your specifications are both correct and complete. It enables users to validate detailed requirements by simulating and debugging specifications in an iterative process.  STIMULUS provides massive benefits in requirement management whether at the onset of a system design or to reduce requirement complexity in an existing system.

  • Reduce number of requirements by 50%
  • Reducing effort by 90% when performing a change in specification
  • Reduce data exchange between blocks by 20%
  • Reduce project timeline by 25%


Achieve early requirements validation

Share clear and observable requirements among engineers

Maximise functional coverage of test campaigns

Reduce costly iterations of the development process

STIMULUS For Requirements Engineering

Detect incorrect, missing and conflicting requirements before design begins

STIMULUS provides a modelling language that allows system architects to combine formalized textual requirements, state machines and block diagrams in a fully integrated simulation environment. Textual requirements can be allocated at each level of the system’s functional architecture, while state machines are typically used to describe running modes or operating sequences of atomic systems.

Textual Requirements

STIMULUS provides language template libraries that support common industry practices for writing non ambiguous and standardised systems requirements.

State Machines

STIMULUS provides hierarchical state machines that can be easily combined with textual requirements in order to specify the expected system behaviour for each running mode.

block diagrams

Block Diagrams

STIMULUS provides block diagrams that allow the description of functional or system architectures. At each system level, requirements can be refined and allocated to sub-systems.

Debug and Test System Specifications

With STIMULUS, you can simulate the complete system specification (requirements, state machines and block diagrams) as a whole and find specification errors before the design phase, adopting an effective requirement, and test-driven development process. STIMULUS generates many execution traces that satisfy system specifications and provides powerful debugging features to analyse requirements simulation results: automatic detection and diagnosis of conflicting and missing requirements, requirements coverage, highlight of active requirements, signal monitoring, etc.

conflicting requirements

Conflicting Requirements

At simulation time, the STIMULUS solver will detect conflicts between requirements. When a conflict occurs at a given time instant, the simulator stops in order to highlight the set of conflicting requirements.

missing requirements

Missing Requirements

At simulation time, STIMULUS will detect missing requirements or, more precisely, time instants when some system output is not defined by any requirement, which is represented with dashed lines in the simulation window.

Requirements coverage

Requirements Coverage

When requirements are turned into observers, STIMULUS will measure their functional coverage. A requirement is said to be covered if it has been activated at least once since the simulation has started

STIMULUS in Action

Specification debugging in ADAS

The following video shows how STIMULUS validates a specification before developing the actual system. And how once the system has been developed in a FMU, you can automatically test the system meets the verified specification.


The following article Requirements in the Loop: The Future of Model-Based Systems Engineering outlines the need for models to adequately capture and validate detailed requirements. 

STIMULUS For System Testing

Generate test vectors and test oracles automatically
Import the System under test

Import the System Under Test

The code of  the System Under Test can be easily imported as an FMI component, either fully generated by a code generation tool (Simulink, Scade, ControlBuild, etc) or partially generated by STIMULUS to embed your C code. At integration time, you can also import a CSV log file to perform a post analysis of the real system.

build test cases

Build Test Cases

Several use cases can be defined to test the system, and STIMULUS will generate numerous test vectors automatically for each use case in order to maximise the functional coverage of your test campaign. Requirements can be easily reused as test observers that will detect and report any violation of the specification.

run test campaigns

Run Test Campaigns

A test campaign automates the execution of the numerous test vectors generated from the use cases, and STIMULUS will report comprehensive metrics about requirement violations and coverage. Each failed test can be rerun in the simulation environment where requirement violations can be analysed.

Requirement-In-The-Loop Validation

Once the code has been developed, STIMULUS can check its compliance with system requirements automatically. Using block diagrams, you can build a test environment where requirements are turned into test observers, and the System Under Test is imported as a DLL using the standard FMI protocol. You can then generate and run numerous test vectors and STIMULUS will check that the behaviour of the System Under Test complies with its specification automatically. During a test campaign, STIMULUS also computes and reports comprehensive metrics about the functional coverage of requirements.

STIMULUS in Action

Generate automatically numerous test vectors

The following video shows how STIMULUS generates automatically a huge number of test vectors, many combination of inputs to test your embedded systems. Finding errors that would remain undetected without STIMULUS if you manually develop each and every functional test case.


STIMULUS in Action

Generate automatic test campaigns

The following video shows how STIMULUS allows you to test embedded systems without having to write each and every functional test case and the automatic generation of coverage reports.



How quickly can I get value from Stimulus?

In many cases you can get value from Stimulus within hours. How is this possible? Natural language leads to producing many errors, exemplified by 70% of defects introduced during the specification stage of a system. Stimulus allows you to debug your requirements without having to model complete systems nor its environment and identify erroneous requirements.  Stimulus is easy to use with drag and drop functionality and a high degree of automation.

I already use a requirement management tool (Doors, Jama, TRM, Excel). Why should I use Stimulus?

Stimulus isn’t a requirements management tool, but a requirement engineering tool. Stimulus is the only tool on the market that provides you the capabilities to test, debug and validate requirements. So that you can be absolutely confident that your requirements you are using to develop your systems are correct and complete.

Is STIMULUS a stand-alone tool? Or do I require 3DExperience?

STIMULUS is a stand-alone tool and you do not require any 3DExperience softwares to get the full benefits. STIMULUS can integrate with 3DExperience tools like CATIA Magic and the Requirements Manager (TRM) exist to achieve an end-to-end MBSE approach of full digital continuity.

I already use an MBSE tool to do my requirements V&V. Why should I use Stimulus?

Modelling in SysML with MBSE tools like CATIA magic are fantastic at the developing the System, Sub-Systems Architecture of your system. However, SysML fails to adequately capture detailed requirements, leading to them being written in natural language. Creating detailed requirements in natural language is error prone and erroneous requirements cannot be evalulated and debugged with SysML tools. It is only until the validation stage of your system that the costs of incorrect or incomplete requirements that bloat project timelines and reduce quality.

The key is to choose the appropriate abstraction level for the correct tool, and Stimulus is the only tool that gives you the capabilities to verify and validate your detailed requirements. With STIMULUS you can be absolutely confident your specifications are both correct and complete, saving you time and money in the validation activities.




Want to see how STIMULUS can be implemented in your business?

Contact us to learn more