TORUS: Tracing Complex Requirements for Large Cyber-physical Systems
Cyber-Physical Systems are embedded computers that control complex, physical processes via autonomous peripherals while cooperating as agents in distributed networks. Due to the scale and complexity of the interactions that occur within cyber-physical systems, tracing system requirements accurately and appropriately is extremely hard. The literature confirms that they are even harder to maintain and keep up-to-date during the life of the project.
However, the information that requirements traceability provides is a crucial part of determining the completeness of an application. Existing requirements management systems do not scale well and traceability is difficult in such highly heterogeneous environments.
This research presents TORUS (Traceability Of Requirements Using Splices), a novel traceability framework that operates outside of, yet connects to, diverse requirements and development environments. Our approach introduces Splices, autonomous traceability data structures that persist trace information through the inevitable changes that occur during system design and development. A Design Science research methodology was adopted to show how the TORUS framework can be applied to cyber-physical systems that employ the IEC 61499 Function Block Architecture. A mechanical item sorting machine is modeled, the requirements of which are described initially using CESAR (Cost-efficient Methods and Processes for Safety-relevant Embedded Systems) requirement templates. These templates help to formalize the pre-Requirement Specification’s free-form text into less ambiguous requirements statements. A domain ontology is defined before modeling the requirements further within the Sparx Enterprise Architect Requirements Management system. Enterprise Architect uses SysML diagrams to capture each requirement in context with its acceptance tests, non-functional and safety requirements while the model can be persisted for later use.
Formal mathematical models of requirements, function blocks and splices are presented to show how this trace information can be mined, delivering important project metrics to stakeholders. By capturing not only the current state of the system but also by preserving historic traces, TORUS allows project teams to see a much richer view of their system’s artifacts.
In parallel with the creation of these models, prototypes of TORUS were created in Java to explore the proposed splice metadata model. These demonstrated that it is possible to extract trace information directly from both Enterprise Architect models and the nxtStudio IEC 61499 object repository. Using the relationships expressed by these formalisms, the resulting metadata information model for splices is extended to demonstrate how these entities can capture the status of each requirement. We define a set of splices as being the Skein of the system; the set of traces that connect the model and application artifacts together like warp and weft of the threads in a tapestry. Information aggregated in this way is important since it provides quantifiable metrics that can be used to provide an empirically-determined overall state of the system under examination. The results indicate that the TORUS framework scales well and that the skein and splices can provide metrics that should allow us to perform code-level validation and completeness checking in the future.