skip to main content
column

Debugging Embedded Systems Requirements Before The Design Begins: "The beginning is the most important part of the work" - Plato

Published:10 May 2017Publication History
Skip Abstract Section

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.

References

  1. K. Pohl: Requirements Engineering: Fundamentals, Principles, and Techniques, Springer Publishing Company, Incorporated, 2010. Google ScholarGoogle ScholarCross RefCross Ref
  2. B. Jeannet, F. Gaucher: Debugging Real-Time Systems Requirements: Simulate The "What" Before The "How", Embedded World Conference, Nürnberg, Germany, 2015.Google ScholarGoogle Scholar
  3. 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 ScholarGoogle ScholarCross RefCross Ref
  4. P. Raymond, Y. Roux and E. Jahier: Lutin: A language for Specifying and Executing Reactive Scenarios, EURASIP Journal on Embedded Systems, 2008. Google ScholarGoogle ScholarCross RefCross Ref
  5. 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 ScholarGoogle ScholarCross RefCross Ref
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle Scholar
  8. A. Mavin and al.: EARS (Easy Approach to Requirements Syntax), 17th IEEE International Requirements Engineering Conference, Atlanta, Georgia, USA, 2009.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

(auto-classified)
  1. Debugging Embedded Systems Requirements Before The Design Begins: "The beginning is the most important part of the work" - Plato

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!