An end-to-end requirement-based development and validation process for embedded systems
This video explains how STIMULUS can improve the validation process, from the simulation of requirements at the specification level to the automatic generation of test vectors and test observers, enabling you to validate your system (model, code, log files) automatically against its reference textual specification.
STIMULUS In Action
How to find conflicting requirements ?
Discover how STIMULUS automatically detects conficts between requirements at simulation time and how to it helps the user to identify the cause of the conflict. This video also shows how simulation helps to detect and fix faulty requirements when no conflict occurs.
How to find missing requirements ?
Discover how STIMULUS helps you to identify the situations where some requirements are missing. STIMULUS highlights where some behaviours are not specified, enabling you to rewrite your specification until you are satisfied that the behaviour of the system is as intended.
How to test your system against requirements ?
Discover how STIMULUS enables to test the actual design against its requirements. It shows how scenarios are used to generate numerous test vectors and how requirements are directly used as test objectives to check that your system meets its specification.
How to measure requirements coverage ?
Discover how STIMULUS enables you to measure the functional coverage of your test campaigns with respect to your system requirements! Using colours and coverage rates, STIMULUS will now indicate which requirements have been activated by some test scenario.
How to compare two versions of the same requirements specification?
How can you assess the impact of a change in a set of requirements? In other words, how do you compare two versions of the same specification? How do you check that no undesired behavior has been introduced? STIMULUS makes such a comparison easy, verifying that the system behaviour, as specified in one version, is equivalent – or not – to the behaviour specified in another version.
How to Refine & Validate Requirements over a System Architecture ?
One of the major challenges in Requirements Engineering is to refine system requirements and allocate them to sub-systems. This refinement process requires the definition of some system architecture, including interfaces and connections between sub-systems on one hand, and requirements of each sub-system on the other hand. STIMULUS allows you to ensure that, at each level of the system architecture, sub-system requirements satisfy upper system requirements.
How to Automate Requirements Driven Test Campaigns ? (STIMULUS 2018 feature)
The Test Campaign add-on allows test engineers to build and automate requirements-driven test campaigns quickly by reusing previous work by system architects. On one hand, system requirements that have been validated in STIMULUS can be reused as trusted test objectives. On the other hand, test environments that have been defined to validate the requirements can be reused to check the code versus the requirements.
How to Detect Errors in the Requirements stored in Doors ?
Requirements Management has become rather common, tools such as Doors manage the requirements, their traceability but do not detect errors in the requirements. This video shows how you can import requirements from Doors into STIMULUS, find the errors, the missing or conflicting requirements, and then re-import back the corrected requirements into Doors.
Railway example: connection to some external HMI
This video demonstrates the use of STIMULUS to specify the ground signaling system and the board emergency brake system. It also illustrates a connection to some external HMI that supports the generation of many different graphical tracks to be explored during a test campaign.
Connection to SCADE (proof of concept)
This video demonstrates how STIMULUS can be connected to SCADE in order to automate test campaigns. STIMULUS is used to generate SCADE test vectors in SSS format, as well as SCADE requirement observers in C code, in order to validate a SCADE design together with its SCADE Display.