Abstract
Over the last two decades, there has been a real movement towards requirements engineering [1]. However, the various tools that have been developed with the aim of improving the specifications development are mostly focused on requirements management and traceability, and there was no easy-to-use requirements validation tool available for checking their functional consistency before any design or coding takes place. As a result, 40 to 60% of design bugs are caused by faulty requirements that generate costly iterations of the development process.
Argosim's ambition is to change this situation by providing STIMULUS [2], the very first requirements simulation tool for real-time embedded systems. STIMULUS combines the ability to write requirements into a formal yet simple textual language, but also and even more importantly, to simulate them by generating the possible behaviours of the specified system in the form of execution plots. The analysis of simulation results allows for the quick and early detection of ambiguous, incorrect, incomplete or even conflicting requirements.
In practice, STIMULUS integrates seamlessly into the agile development processes [3]. It allows for the concurrent development and validation of both the requirements and their test scenarios in a very incremental way.
Once validated at the specification level, both requirements and test scenarios can be reused to validate the design implementation.Test scenarios make it possible to generate many test vectors automatically, while requirements are reused as test observers, or test oracles, in order to automatically check that the system satisfies its requirements.
This paper describes the major innovation offered by STIMULUS in the field of requirements engineering. It will first present its operating principles and then briefly illustrate both the requirements validation and software validation workflows with an example from the automotive domain.
- K. Pohl: Requirements Engineering: Fundamentals, Principles, and Techniques, Springer Publishing Company, Incorporated, 2010. Google Scholar
Cross Ref
- B. Jeannet, F. Gaucher: Debugging Real-Time Systems Requirements: Simulate The "What" Before The "How", Embedded World Conference, Nürnberg, Germany, 2015.Google Scholar
- P. Abrahamsson, J. Warsta, M. T. Siponen and J. Ronkainen: New directions on agile methods: a comparative analysis, Proceedings of the 25th International Conference on Software Engineering, IEEE Computer Society, Washington, USA, 2003. Google Scholar
Cross Ref
- P. Raymond, Y. Roux and E. Jahier: Lutin: A language for Specifying and Executing Reactive Scenarios, EURASIP Journal on Embedded Systems, 2008. Google Scholar
Cross Ref
- E. Jahier, N. Halbwachs and P. Raymond: Engineering Functional Requirements of Reactive Systems using Synchronous Languages, International Symposium on Industrial Embedded Systems, IEEE, Porto, Portugal, 2013. Google Scholar
Cross Ref
- S. P. Miller, A. C. Tribble, M. W. Whalen and M. P. E. Heimdahl:, Proving the shalls: Early validation of requirements through formal methods, International Journal of Software Tools for Technology Transfer, 2006. Google Scholar
Digital Library
- J. Davis, L. Wagner, J. Hoffman, K. Gross and A. Fifarek: SpeAR v2.0: Specification and Analysis of Requirements, Safe and Secure Systems and Software Symposium (S5), 2016.Google Scholar
- A. Mavin and al.: EARS (Easy Approach to Requirements Syntax), 17th IEEE International Requirements Engineering Conference, Atlanta, Georgia, USA, 2009.Google Scholar
Digital Library
Index Terms
(auto-classified)Debugging Embedded Systems Requirements Before The Design Begins: "The beginning is the most important part of the work" - Plato
Recommendations
Optimal selection of operationalizations for non-functional requirements
APCCM '13: Proceedings of the Ninth Asia-Pacific Conference on Conceptual Modelling - Volume 143Several long-standing problems in software engineering are concerned with inadequate requirements elicitation, analysis, specification, validation, and management. This deficit is a major cause of project failure and as such several techniques and ...
Industry needs and research directions in requirements engineering for embedded systems
Special Issue on REFSQ 2011The industry has a strong demand for sophisticated requirements engineering (RE) methods in order to manage the high complexity of requirements specifications for software-intensive embedded systems and ensure a high requirements quality. RE methods and ...
Requirements engineering approach for real-time and embedded systems: a case study of android-based smart phone devices
ICUIMC '14: Proceedings of the 8th International Conference on Ubiquitous Information Management and CommunicationThe primary success of a software system is the degree it meets the purpose for which was intended. Therefore, software systems requirements engineering (RE) helps to achieve this purpose. Requirements engineering has been recognized as important in ...






Comments