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.
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.
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.
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.
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.
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.
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.
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.
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.
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.