The need for traceability
Traceability is a time-consuming activity, and yet mandatory in any aeronautic domain project, as requested by numerous international standards such as ISO/IEC/IEEE 29148 and 15288, or ARP4754A. Therefore, at Safran Aircraft Engines (SAE), we are studying how to optimize the task by applying semantic technologies to suggest automatically to engineers relevant links between requirements based on the use of ontologies.
In the present paper, we extend the use of basic semantic similarity algorithms [3], with help based on models to solve cases of “complex” traces when the requirements are not sharing the same meaning.
NLP to help this tedious task
The application of Natural Language Processing techniques (NLP), together with Artificial Intelligence, and also the possibility of retrieving relevant information from models (i.e. SysML models) makes that traceability tools could better “understand” the actual meaning of the requirements (among other types of textual artifacts), and this opens a wide range of automatization possibilities. Among these possibilities, and together with the idea of automatizing the process of requirements quality assessment (based on the INCOSE Guide for Writing Requirements or other similar guidelines), traceability management can be massively impacted through the automatic identification of missing traces or the consistency checking of the existing ones.
For the understanding of textual engineering items, ontologies play a vital role. Ontologies are multi-layer artifacts. The structure of a typical ontology, based on the evolution of controlled vocabularies, taxonomies, and thesaurus, starts with the definition of the controlled vocabulary, i.e. concepts relevant to a specific domain (layer 1). Furthermore, both humans and computers hate “isolated” items, which is why layer 2 focuses on connecting elements of layer 1 together. Elements from the controlled vocabulary can be connected either by means of semantic relationships (hierarchical/taxonomical, associations, compositions, synonyms, functional flows, state transitions, PBSs…), or by means of clustering or classifying them together into semantic classes (aka upper ontologies) such as System Elements, Actors, Signals, States, or even using those clusters to group together different verbs with similar meanings…
On top of this “typical” ontology, a system aimed at understanding requirements shall include the concept of grammar (aka template, pattern, or boilerplate [1][2]). This defines the structure for a well-formed requirement. Furthermore, these patterns also enable the means to transform natural text into a semantic graph formalization. This represents layers 3 and 4 of the ontology and is depicted in this figure (first a natural text requirement, then the pattern whose structure is matching with the text, and finally the formal representation obtained as the result of the semantic indexing process).
The use of patterns facilitates the identification of the meaningful blocks of the requirements. That is:
- The element performing the main action described by the requirement (i.e. the subject of the main sentence)
- The condition: based on an event in this pattern, but similarly based on a state or a complex condition
- The other entities involved in the requirement
The fifth and final layer of the ontology proposed in this paper represents the inference, a typical layer in every ontology. We could think of inference to check the consistency of a model, inference to automatically assess the quality of requirements, or inference to suggest missing traces or to detect inconsistent traces. These last two goals represent the core of the remaining of the presentation.
Previous works on the application of a semantic search engine to automatically generate missing traces have been already proposed by the authors of this presentation [3]. However, this presentation shows a deeper research case where other methods have been implemented and analyzed. All these new cases will be taking advantage, not only of the information stored in the ontology but also of information from MBSE such as PBSs, FBSs…
Implementation
Therefore, the following traceability methods have been studied and implemented into a traceability management tool (the ENGINEERING Studio [4], by The REUSE Company) to automatically suggest different types of traces:
- Flow-down: using “basic” semantic retrieval to find similar requirements into the specification of a SOI (level N) and the one of its subsystems (level N+1). For example, if a system shall comply with a given environmental regulation, this compliancy shall also be applied to every subsystem.
- Property allocation: considering information from a PBS, detection of requirements assigning values for the same physical property for 2 elements connected in the PBS (in 2 different documents).
- Functional allocation: linking requirements of level N invoking a given function with requirements of level N+1 invoking any of the sub-functions in an FBS.
- State-based derivation: to connect two state-driven requirements of levels N and N+1 whose state name in the condition is the same.
- Action-based derivation: suggesting traces for 2 requirements where:
1. the subjects are at two consecutive levels in the PBS,
2. the main verb (the one after the “shall”) is the same, and
3. the object of the action is also the same.
- Realization: suggesting traces between requirements and model elements where the text of the requirement mentions the name of any of the model elements.
Results
For the evaluation of the previous methods, we have created a simple MBSE (with IBM Rhapsody) including a PBS, and a FBS.
The results (traces suggested automatically) obtained with the ENGINEERING Studio that was used to implement the methods will be shown in the presentation.
Future work
All the previous methods aim at the identification of mission traces. But what about checking whether the ones provided by the engineer are consistent? Similar methods might also help here.
References
[1]. https://www.researchgate.net/publication/313599554_Using_statement-level_templates_to_improve_the_quality_of_requirements
[2]. https://alistairmavin.com/ears/
[3]. https://www.researchgate.net/publication/347423726_Automatic_Traceability_with_Semantic_Technologies_Used_in_Industrial_Environments
[4] https://www.reusecompany.com/traceability-management