Generation and validation of traces between requirements and architecture based on formal trace semantics
We present an approach for automatic trace generation and validation of traces between requirements and architecture.Requirements relations and architecture verification techniques are used.A trace metamodel is defined with commonly used trace types between requirements and architecture.We use the semantics of traces and requirements relations for generating and validating traces with a tool support.The tool is based on model transformation in ATL and term-rewriting logic in Maude. The size and complexity of software systems make integration of the new/modified requirements to the software system costly and time consuming. The impact of requirements changes on other requirements, design elements and source code should be traced to determine parts of the software to be changed. Considerable research has been devoted to relating requirements and design artifacts with source code. Less attention has been paid to relating requirements (R) with architecture (A) by using well-defined semantics of traces. Traces between R&A might be manually assigned. This is time-consuming, and error prone. Traces might be incomplete and invalid. In this paper, we present an approach for automatic trace generation and validation of traces between requirements (R) and architecture (A). Requirements relations and architecture verification techniques are used. A trace metamodel is defined with commonly used trace types between R&A. We use the semantics of traces and requirements relations for generating and validating traces with a tool support. The tool provides the following: (1) generation and validation of traces by using requirements relations and/or verification of architecture, (2) generation and validation of requirements relations by using traces. The tool is based on model transformation in ATL and term-rewriting logic in Maude.