Source code as the key artifact in requirement-based development: the case of ada 2012

  • Authors:
  • José F. Ruiz;Cyrille Comar;Yannick Moy

  • Affiliations:
  • AdaCore, Paris, France;AdaCore, Paris, France;AdaCore, Paris, France

  • Venue:
  • Ada-Europe'12 Proceedings of the 17th Ada-Europe international conference on Reliable Software Technologies
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Developing high-integrity software requires the production of many interrelated collections of artifacts which must be kept up-to-date and in synchrony; traceability in particular must be captured to ensure coherence across the various development and verification phases. This paper proposes a new approach to the development of high-integrity systems, in which various artifacts (low-level requirements, modules, relationships among modules, test case obligations, etc.) are represented directly in the source code. Package specs in general, and Ada 2012 aspects in particular, are very well suited for expressing some of these artifacts, facilitating reuse and maintainability, and obtaining traceability automatically. Review activities are made more effective and efficient because the context of the reviewed artifact is in full view, and when something is modified it is easy to know which other artifacts need to be re-verified. The software architecture derived from the design activity consists in the definition of software components, their interfaces and their relationships. All those elements are well represented by Ada package specs and the "with" clauses between packages. Low-level requirements, which define the detailed functionality, can in part be formally expressed through Ada 2012 contracts. Test cases associated with low-level requirements can then be described using Test_Case aspects. Test procedure skeletons can be automatically generated from the test cases.