In this paper, we propose a metamodel which
explicitly captures the concepts of NFRs, FRs and
their relations throughout the software development
process, and which is independent of any
programming paradigm. The metamodel can be
enhanced to provide additional properties and
concepts, and instantiated to define a customized
traceability model with respect to the required
programming type (e.g. object-orientation, procedural
programming, etc.).
We transform the proposed metamodel into a
relational model [28] based on predicate logic and set
theory. We then use Datalog expressions to
implement queries to represent tracing information.
Query evaluation with Datalog is sound and
complete, and can be performed efficiently, even for
large databases. In addition, Datalog supports
Recursive Closure Operations which make it possible
to trace through multiple levels of refinements within
the software development process. The discussions in
this paper are illustrated through examples from an
Email Application case study.