Req T5
Req T5
REQUIREMENTS TRACEABILITY
Bala Ramesh
Department of Computer Information Systems, Georgia State University
Atlanta, GA 30303, USA
[email protected]
Matthias Jarke
Informatik V, RWTH Aachen
Ahornstr. 55, 52074 Aachen, Germany
[email protected]
May 1999
This work was supported in part by grants from the Office of Naval Research, the European
Commission (ESPRIT project 21.903 CREWS), the Deutsche Forschungsgemeinschaft under project Ja445/5-1
(PRIME), and by a cooperation grant on empirical and formal methods for requirements traceability, jointly
funded by the German DAAD and the US National Science Foundation.
1
1. INTRODUCTION
Reference models are prototypical models of some application domain, usually
organized according to some underlying basic metamodel. The purpose of reference models is
to reduce significantly the task of creating application-specific models and systems : the user
selects relevant parts of the reference model, adapts them to the problem at hand, and
configures an overall solution from these adapted parts. Since the analysis of a domain can
take an enormous effort when started from scratch, the use of reference models has been
reported to save up to 80% in development costs for systems in standardized domains (Scheer
1994). Not surprisingly, reference models have become highly successful in many industries,
the best-known example being the SAP approach.
Not every domain is sufficiently standardized to allow for a reference model of the final
product – the system to be built. Moreover, approaches like the one followed by SAP are not
necessarily supportive of change, especially when this change goes beyond the initially covered
domain. However, at least experience on how to get to the product should be reused (Dhar
and Jarke 1985). This leads to the idea of reference models for capturing the development
process itself, not to be confused with prescriptive software process models (Finkelstein et al.
1994).
The process of developing reference models is arduous. The traditional normative
computer science approach of imposing such models on developers is long known to have
failed in most cases. Reference models are therefore an abstraction of best practice, condensed
from numerous case studies over an extended period of time, followed by more case studies to
refine and evaluate the proposed reference model. There is nothing provably correct about
reference models; they derive their relevance from the slice of practice they cover.
Nevertheless, by formalizing a reference model in an appropriate mathematical framework, at
least a number of elementary desirable properties can be ensured.
2
Mylopoulos (1994) who use dependencies between stakeholders as a starting point for driving
and documenting requirements processes. The roles of stakeholders with respect to objects are
emphasized in Gotel’s thesis work on contribution structures (Gotel and Finkelstein 1995).
Her empirical study shows the practical value of using a rich system of stakeholder roles in
documenting the creation of requirements (Gotel and Finkelstein 1997); our longitudinal case
study (Ramesh et al. 1997) shows that also the different usage roles are important in designing
and implementing traceability systems. Summarizing, the stakeholder aspect becomes more
important as the duration and complexity of projects grow.
Despite the importance of considering physical trace management and stakeholder
roles, current practice shows that the efficiency and effectiveness of traceability support is
largely determined by the system of OBJECT types and traceability link types offered. This is
not only important for fine-grained change management, but also has repercussions for the two
other aspects, i.e. for source management and stakeholder dependencies (Pohl et al. 1997). In
this paper, we therefore focus on the analysis of object types and trace link types used in
current practice, and organize our reference models around them. However, after presenting
the models, we shall discuss their embedding with the stakeholder and source management
aspects, including the implications for tool design drawn from our studies.
2. Empirical Studies
In this section, we describe the empirical studies used for defining, validating and
applying the reference models.
7
No Area of Business Stakeholders Project Size Traceability focus
involved in (cost, number of
study requirements)
Organization system analysts change control
4 US Government systems analysts, 1400 requirements evolution,
System Development project sponsors requirements standards compliance
Organization
5 US Government test engineers, 1300 satisfaction of requirements,
System Testing manager, requirements standards compliance,
Organization contractor development of appropriate
engineers verification procedures
6 System Integration system engineers, over 100 million satisfaction of requirements,
test engineers, dollars inter-component dependencies,
maintenance development of appropriate
engineers verification procedures,
rationale
7 Pharmaceuticals system engineers, over 1000 satisfaction of requirements,
maintenance requirements rationale, quality assurance,
engineers requirements allocation
8 Utility project manager, approx. 15 satisfying requirements,
system engineers, million dollars change control,
maintenance project tracking and monitoring,
engineers compliance with regulations
9 Telecommunications project manager 6000 satisfying requirements,
system engineers, requirements quality assurance,
test engineer project tracking and monitoring
9
2.5 Main Study
The main part of the study comprised 30 focus group discussions in 26 organizations.
They were conducted in a wide variety of industries, including defense, government,
aerospace, hardware development, pharmaceuticals, utility, system integration, electronics, and
telecommunications. Table 2 gives an overview of the organizations involved. Whenever
feasible, participants representing different user and consumer perspectives were included. On
average the focus groups consisted of five participants. As in the pilot study, focus groups
were followed up with selected structured interviews.
The participants had experience in several key areas of systems development including
project management, software engineering training, requirements management, software
testing, system integration, configuration management, procurement, development support,
software quality assurance, systems analysis, maintenance, software implementation. The
participants had an average of 15.5 years experience in systems development.
2.5.1 Phase I
The focus groups were conducted in two phases. In Phase I, building on results of the pilot
study, data from five focus groups involving thirty participants were used in developing a
traceability meta-model. The meta-model defines the language in which traceability reference
models are described. It provides the primitives to represent different traceability linkages
among the various objects produced during systems development. It further represents the
agents involved in the systems development process as well as the sources in which traceability
information is captured. The meta-model is discussed in Section 4. The meta-model was
checked for plausibility and terminology by a group of experts drawn from different industries
and stakeholder groups.
An important outcome of this study is also the identification of various types of
traceability information and the development of an initial scheme for encoding reference
models from data collected in subsequent phases.
2.5.2 Phase II
The second phase involved the development of reference models of traceability practice. Data
from 23 focus groups were used in the development and classification of traceability links
representing current practice and ideal practice.
Wherever available, the participants were asked to answer these questions with specific
reference to the reports and documents produced in the organization.
The next part of each focus group was devoted to a discussion of the different types of
traceability links used in that organization:
1. How are the various traceability relationships identified in the traceability documents?
2. How are the traceability relationships created/defined and prioritized? Who are the
stakeholders involved in managing these links?
3. How are the traceability links maintained, reviewed, updated or changed, by whom and
during which activities?
4. What are the mechanisms for defining the semantics of these links and maintaining this?
5. What are the uses of each type of traceability link identified?
6. What are the issues that facilitate or impede the implementation of traceability?
Each focus group session lasted between 1.5 - 2.5 hours. All sessions were audio or
video taped for further analysis. When this was prohibited by security or confidentiality
concerns, a scribe documented the discussions.
During the focus groups, a deeper understanding of the different types of traceability
links discussed in the literature was developed. The usage of these link types in practice was
gradually encoded in reference models for the major uses of traceability, as discussed below in
section 5.
It quickly became apparent that the participants in our study could be categorized into
two distinct groups with respect to their traceability practice. We refer to them as low-end and
high-end traceability users.
11
The characteristics of both groups are summarized in Table 3. The representation of
the two groups in our empirical study is also discussed in this table. Briefly, low-end users with
just a few years of traceability experience see it simply as a mandate from the project sponsors
or for compliance with standards. In contrast, experienced high-end users are experiencing
traceability as a major opportunity for customer satisfaction and knowledge creation
throughout the systems lifecycle. The perceived importance of traceability grows with system
complexity. As the following sections will show, the reference models used for low-end and
high-end traceability users differ substantially. However, it should be noted that even an
organization with predominantly low-end practice may have "mature" traceability practice in
some areas and vice-versa.
The reference models developed from phase II were presented to two groups of experts
for comments and feedback. These two groups were composed of experienced traceability
users drawn from different industry groups. The two groups provided informal "validation" of
the models presented here and further provided suggestions on the implementation of the
models in system engineering environments.
Based on the suggestions received from the experts and our analysis of the current
traceability tools, we identified characteristics of system engineering environments for the
implementation of the traceability reference models (cf. sections 7 and 8). To develop and
adapt reference models, the software information system requires support for specialization
and instantiation, applied both to nodes and links.
12
In order to ensure formal consistency of the proposed models, and to be able to
demonstrate them to users and tool vendors, the meta model and the reference models were
first encoded in ConceptBase (Jarke et al. 1995), a knowledge-based meta database
management system based on the Telos language (Mylopoulos et al. 1990). We shall use
ConceptBase screenshots to show the reference models in Sections 4 and 5.
For initial validation, a ConceptBase prototype of an early submodel was included in
the concept demonstrator of the Knowledge-Based Software Assistant (KBSA) project.
Demonstrations of these prototypes, together with their empirical grounding, led to the
adoption of our reference models in several commercial traceability tools:
• the meta model defining the language in which traceability models can be defined
• a set of reference traceability models which can be customized within the scope defined by
the meta model
• a (possibly distributed) database of actual traces, recorded under the chosen models.
13
STAKEHOLDER
TRACES TO
DOCUMENTS
OBJECT SOURCE
Each entity and link in the meta-model can be specialized and instantiated to create
organization or project specific traceability models. The meta-model can be used to represent
the following dimensions of traceability information (cf. Table 4):
In the model, OBJECTS represent the inputs and outputs of the system development
process. Examples of various types of OBJECTS include REQUIREMENTS, ASSUMPTIONS,
DESIGNS, SYSTEM COMPONENTS, DECISIONS, RATIONALE, ALTERNATIVES, CRITICAL
SUCCESS FACTORS, etc. These represent the major conceptual elements among which
traceability is maintained during the various life cycle stages. OBJECTS are created by
various organizational tasks. Examples of tasks include systems analysis and design
activities. This information can be represented as an attribute of OBJECTS.
Traceability across various OBJECTS is represented by the TRACES-TO links. For example,
a DEPENDS-ON link between two objects (a REQUIREMENT and an ASSUMPTION) can be
represented as a specialization of this TRACES-TO link.
2. Who are the STAKEHOLDERS that play different roles in the creation, maintenance and use
of various OBJECTS and traceability links across them?
In the model, STAKEHOLDERS represent the agents involved in the system development
and maintenance life cycle activities. Examples of STAKEHOLDERS include the project
managers, systems analysts, designer etc. These STAKEHOLDERS act in different roles or
capacities in the establishment and use of the various conceptual OBJECTS and traceability
links.
All OBJECTS are documented by SOURCES, which may be physical media such as
documents or intangible things such as references to people or undocumented policies and
procedures. Examples of SOURCES include REQUIREMENT SPECIFICATION DOCUMENTS,
14
MEETING MINUTES, DESIGN DOCUMENTS, MEMORANDA, TELEPHONE CALLS AS WELL AS
REFERENCES TO VARIOUS STAKEHOLDERS USING THEIR PHONE NUMBERS, E-MAIL ADDRESS
etc. STAKEHOLDERS manage the SOURCES; i.e., they create, maintain and use them.
4. How this information is represented - both by formal and informal means and how it relates
to other components of traceability?
The sources, as mentioned above, can be physical or intangible. Further, they can be
represented at different levels of formality. Some sources such as requirements
specifications may be text documents, whereas others design documents may be
represented in multiple formats such as graphics and text.
The rationale behind the creation, modification and evolution of various conceptual
OBJECTS can be represented as a specialization of the meta-class OBJECT. Then, it can
then be linked to the conceptual object (using a specialization of the traces-to link). More
complex models of rationale, such as the Issue Based Information Systems framework
which include issues, alternatives and arguments supporting and opposing them can also be
represented as specialization of the OBJECT-TRACESTO-OBJECT relationship in our model.
Relevant temporal information about the any of the entities or links in our model can be
represented as their attributes. For example, the frequency or the time / duration at which a
requirement or design was created, reviewed, modified or justified by a specific rationale
can be represented with this scheme.
DIMENSION EXAMPLE
What? Rationale for Design Decisions
Who? Systems Designer
Where? In the design documentation library
How? Using Tool X;
Represented as the "Rationale - justifies - Design Decision
traceability link
Why? To facilitate understanding and communication with other
designers, maintainer; to avoid rework
When? At the finalization of the design
The three nodes of the meta model correspond roughly to the three dimensions of
requirements engineering proposed by (Pohl 1994) in that they cover the aspects of
understanding (objects), agreement (stakeholders), and physical representation (sources).
However, note that we are not discussing the requirements process per se, but the creation and
usage of traces.
15
4. Low-End Use of Traceability
A model of the typical low end user’s traceability efforts is provided in Figure 2. The
names of objects and links presented here are our interpretations (validated by the expert
groups) of what was observed in practice. Many organizations simply use traceability tables to
link various components of information without explicit identification of the semantics of such
relationships. Low-end users created traceability links to model requirement dependencies,
allocation of requirements to system components, compliance verification, and change control.
For the following, recall that we denote traceability linkages by italic small-caps (LINKAGES),
while components that they link are indicated with uppercase letters (OBJECTS). For every link
in the model an inverse may be defined.
1 This is a direct quote from a subject participating in a focus group or interview. Henceforth, all quotes from
a subject will be italicized and included within quotation marks, but no specific reference will be made.
16
Original and derived REQUIREMENTS are ALLOCATED TO system COMPONENTS (“We
want to track which component will take care of what requirement by creating an allocation
table”). An allocation table is the common mechanism used to maintain this information. This
simple two way mapping between requirements and system components is usually used also to
ensure that there are COMPONENTS in the system that SATISFY all REQUIREMENTS (“when you
want to know which part of the system satisfies what requirement, you can go to the
allocation table to identify it. Whether the does indeed or not is another matter - for testing to
worry about”).
By capturing which components satisfy various requirements and which requirements
are mapped to different components, the designer is able to verify that all requirements are
addressed by the system.
In the Compliance Verification phase of systems development, low end users use the
requirements database, which contains the most current version of the system's validated
requirements, to develop the system COMPLIANCE VERIFICATION PROCEDURES (CVPs) such as
tests or simulations. CVPs developed for each REQUIREMENT is usually maintained in a
REQUIREMENTS-and-TESTS traceability matrix. (“A matrix showing the tests to requirements is
very important to make sure all requirements are adequately taken care of”).
If a change should occur in the requirements then the traceability links could identify
the CVPs that must be modified or redeveloped. CVPs are PERFORMED on the system
components verifying that the component satisfies the requirements. Results of the tests are
used to verify that the system works and that it meets all of the requirements. (“Tests
performed indicate whether we indeed achieved success in implementing goals and satisfied
the requirements”). A system COMPONENT may DEPEND on others and may also INTERFACE
with EXTERNAL SYSTEMS. This information is used in evaluating how a requirement is satisfied
by a system component.
Low-end users lacked especially in the area of capturing rationale. In requirements
management, for example, information concerning requirement issues, how they are resolved,
and the rationale for the decisions are seldom captured. Likewise, similar information is absent
in the design and implementation phases (“often we have no idea who made these decisions,
and how they impact the rest of the effort. Simply trying to do these at the end of the project
or after the fact doesn’t work. Often the people who worked on it are gone without a trace of
what happened. .. not disciplined enough to document these .. with all the demands on the
team”).
High-end users of traceability employ much richer traceability schemes than low-end
users, and also use traceability information in much richer ways. We have, therefore,
segregated the high-end model into three parts for clarity: Requirements Management, Design
Allocation, and Compliance Verification. In addition, Rationale Management now takes center
stage.
17
Systems are built to primarily satisfy ORGANIZATIONAL NEEDS. These needs may either
be long term STRATEGIC NEEDS or more immediate OPERATIONAL NEEDS, as denoted by the IS-
A hierarchy (shown as thick lines in Figures 3 – 6). These two needs support each other and
are often detailed in SCENARIOS DESCRIBING the intended use or purpose of the system. (“We
build the system obviously to satisfy some long term or operational goals of our sponsors. In
our environment, these are clearly stated in the mission needs statement - MNS - operational
requirements document - ORD- two important documents to work within any effort.
Obviously, these are at a very high level .. laying out the goals”).
The objectives that the system is trying to meet, SYSTEM OBJECTIVES, must be
JUSTIFIED by ORGANIZATIONAL-NEEDS (“the system draws its legitimacy from the MNS and
18
ORD”). Stakeholders such as customer, program manager, program sponsor, etc. specify the
SYSTEM-OBJECTIVES. The REQUIREMENTS for the system are GENERATED from these SYSTEM
OBJECTIVES (“The high level goals are after all too vague to be called requirements - for
contracting. Specific, detailed requirements have to be developed to proceed further”).
Due to the large number of requirements associated with complex systems, it is
important to determine those factors that are critical to the success of the project, and to
manage requirements based on how they contribute to these factors. The stakeholders
involved in the identification of the ORGANIZATIONAL NEEDS also IDENTIFY these CRITICAL
SUCCESS FACTORS (CSF) ("Stakeholders have some issues or values like, no mistakes or system
errors, performance is the most important thing, the power requirements are the most critical
item in this area"). RESOURCES such as Cost, Time, Weight, Voltage, etc. are examples of
CSFs. ("A lot of decisions have been made...because of cost and weight, mostly cost.") ("It
will be a combination of technical and cost trades."). REQUIREMENTS for the system are
MANAGED (budgeted, monitored, tracked etc.) by these CSFs. For example, the mission
criticality (a CSF) of requirements could be used in classifying and monitoring requirements.
Similarly, CSFs such as weight in an aerospace system or the total cost of development can be
used in tracking and monitoring requirements. As part of the negotiation process among
stakeholders, many tradeoffs are made in deciding the scope and functionality of the system
depending on their impact on CSFs ("Typically we enter into a complex negotiation process of
what’s in scope, what’s out of scope, what’s affordable, what’s not affordable. And I believe
this is where traceability earns its keep"). Such decisions determine, among many things,
whether requirements identified initially are feasible, cost effective, or desirable.
Not all requirements are equal in significance or criticality; requirements may be traced
through the lifecycle at different levels of granularity or detail in order to optimize on
resources spent. It may be unnecessary or even undesirable, considering the overhead involved
in maintaining traceability, to maintain linkages between every requirement and every output
created during the systems design process. The CSFs may be used in deciding when it is
essential to trace requirements in detail and when fine grained traceability is less important
("...just try to get as much traceability information for the critical requirements, and not as
much for the requirements that may not be as important"). REQUIREMENTS can be traced
throughout the lifecycle to provide stakeholders with a view to understand and evaluate
whether the system supports these CSFs ("...the smaller subset is the driving, high risk set of
requirements that merit more visibility in the tracking of the program...we have an attribute
of a requirement that we call technical performance measure (TPM). Is it high risk, do we
want to put a TPM against this requirement? The TPMs are all programmed, tracking, giving
them higher visibility to see how we’re doing"). Further, requirements may also be based on
STANDARDS, POLICIES AND PROCEDURES. Maintaining the links between requirements and the
sources and the requirements willl help understand and correctly interpret them.
CONSTRAINTS may be treated as a type of REQUIREMENT (denoted by IS-A link). Several
focus groups stated how constraints become hard requirements because they set limits within
which the system is to be developed (“Systems are designed and decisions made with
constraints considered”).
5.1.1 Evolution
One of the biggest challenges in managing large, complex systems is due to the way
requirements are constantly evolving and changing. Each focus group noted that in order to
accurately reflect this volatility, a requirements traceability scheme should help document and
understand the evolution of requirements. Two major sources of changes are: 1) the need to
fix a deficiency in the system, identified during, say operations or testing (discussed in detail in
19
Section 6.4), and 2) changes in ORGANIZATIONAL NEEDS. Various stakeholders modify SYSTEM
OBJECTIVES based on changed ORGANIZATIONAL NEEDS, leading to changes in REQUIREMENTS.
In projects with very long life cycles, such as military applications, not only is the nature of
systems requirements dynamic, but even the ORGANIZATIONAL NEEDS (mission and
operational) and the SYSTEM OBJECTIVES keep evolving (“Systems that were considered
successful during the cold war era are no longer considered useful as strategic and mission
needs are evolving rapidly”). It is not possible, however, to abandon all investments in such
systems and develop new systems to meet current needs. The lack of comprehensive
traceability is a primary reason for the inability to identify components that are linked to
various objectives and modify them to meet the current requirements (“we can’t clearly figure
out which part of the system we can retain and which part is no longer relevant.. we don’t
have the traceability details for these systems any more”).
Traceability links are needed among REQUIREMENTS that get specified at different
levels of detail as they evolve through the various stages of the development lifecycle. The
recursive links among REQUIREMENTS shown in our model are useful in providing a historical
record of requirements evolution and in mapping a REQUIREMENT back to its sources, thereby
facilitating a complete understanding of where a requirement comes from.
21
Figure 4: Rationale Submodel
Over the lifecycle of large projects, requirements, assumptions, etc. change. Further,
such projects also experience personnel turnover. If detailed rationale is not maintained, these
changes lead to a lot of rework ("We already looked at that tradeoff, that approach, but the
person who did it - the analysis - is leaving and the person that reviewed it is gone, so we
churn the whole thing again”. "This is a lengthy look at all these issues with a lot of people
that contribute to, touch, change, add, use this information.”).
During the systems development process different stakeholders often bring different
interpretations of requirements and their origins. For example, even when two different
stakeholders review the same origins of a REQUIREMENT (say, a standard) they may interpret it
differently. Often the difference in interpretation is the cause of conflicts between stakeholders,
even in a cooperative setting. ("You can look at a given set of requirements and they might be
meaningless if you don’t really know what the customer needs because you can interpret them
wrong, or at least two or three different ways.") .
Another reason to have detailed rationale is to provide accountability. Information
about how the requirements and design have evolved, what changes have been made, why and
how they were made, and the status of their development is extremely helpful to those
22
stakeholders that were not involved in creating the requirement ("If you don’t have traceability
to the rationale, it is impossible to understand many low level requirements.. They may have
made sense to the person who evaluated the options and not for others”).
5.3 Design/Allocation
We use the term design to refer to any activity that creates artifacts, including
implementation. In Figure 5, REQUIREMENTS DRIVE DESIGN, that are often BASED ON
MANDATES such as STANDARDS OR POLICIES OR METHODS that govern the system development
activity (“we have to follow military standards and policies to make sure we are compliant”).
Mission Needs. According to this traceability model, a first step in a system development
problem is defining the MISSION NEEDS that JUSTIFY the SYSTEM OBJECTIVES. The MISSION
NEEDS are provided in a document called the Mission Needs Statement (MNS). This
document, a segment of which is shown in Figure 8, resides as a living document in the
SLATE database. The MNS document contains the “big picture” requirements for a Surface
Combatant ship, the subject of the ECS. It provides general guidelines on the mission,
capabilities, design and architecture constraints, and personnel constraints. It also provides
some operational constraints.
Each mission needs identified in the MNS is represented in SLATE as an abstraction
block. For example, Figure 9 (line 3) shows that a mission need is represented by the
abstraction block no. 7, which is also specified as a defining object. In contrast, line 5
identifies a complying object, viz. the system overview. This, in fact, represents the SYSTEM
OBJECTIVES (corresponding to the ORGANIZATIONAL NEEDS in figure 3.
The tracing of relevant parts of SYSTEM OBJECTIVES with statements in the MNS is
shown in figure 7 using the JUSTIFIES link. The project sponsors involved in the definition of
27
SYSTEM OBJECTIVES create these linkages to justify each objective based on their relation to
higher-level mission needs, i.e. provide “backward traceability” to the origins of requirements.
During discussions about the rationale for different functionalities of the system, this
traceability will be valuable. For example, the systems analyst can use this information to
initially get the “big picture” of what the customer wants the system to do and
why.
28
Figure 9 Traceability Links
The design allocation model for high-end users has been tailored for use in the ECS problem.
The model shown in Figure 12 identifies the linkages between requirements, design, system
components, and functions. Further, it identifies resources used by system components as well
as standards / policies/ methods that constrain the design. In this model, the link between
standards/ policies / methods and design has been defined as the inverse of the link4 shown
between these objects in the high-end design allocation model shown in Figure 4.
4 As mentioned earlier, for each link in our models an inverse may be defined.
30
Figure 12: Design Allocation Model
During the design phase of ECS, Data Flow Diagrams (DFD) and Entity Relationship
Diagrams (ERD) are used to capture the information flow in the system. SLATE provides an
interface with TeamWork5, a CASE tool used in ECS for this purpose. When abstraction
blocks in SLATE are linked with the DFDs in TeamWork, objects called TeamWork handles
are formed. Figure 13 illustrates abstraction blocks representing the sonar and its components
as well as the TeamWork handles for the corresponding DFDs. Here the TeamWork handles
represent the traceability link between information represented in SLATE and TeamWork. The
SLATE objects are treated by TeamWork as requirements attached to individual processes in a
DFD. SLATE provides a mechanism for synchronizing TeamWork when objects change in
SLATE. A similar mechanism can be used to link requirements represented in SLATE and
functions represented in TeamWork.
Figure 14 shows the defining objects for Requirement 3-3, namely its source document
paragraph, its rationale, and system objectives. The first complying object (line 6) is a cell
(Row 10, column 3) in a table that contains the constraints that must be satisfied by the design.
These constraints were created by the design team based on the analysis of requirements. In
fact, the value in this cell references a string in the requirements statement. Now, any changes
made to the requirement will be automatically reflected in the constraint. In our example, the
requirements statement mentions the need for BF microcode which in turn is referenced in the
cell. If the requirement 3-3 is changed from BF microcode to SC microcode, it will
automatically change the constraint on the functional design. Requirements in this project often
The next two objects shown in Figure 14 are two functions represented as abstraction blocks,
1.2.1.1 Signal Conditioner and 1.2.1.1.1 Digital Beamformer. The Requirement 3-3 has been
allocated to these blocks that depict the functional view of the passive sonar system. These
could just as easily describe any other view for instance, the physical system components to
which the requirements are allocated..
In SLATE, CRITICAL SUCCESS FACTORS (CSF) such as resources can be modeled
using budgets. In ECS, REQUIREMENTS are be managed by CSFs (as shown in Figure 7) and
resources are used by system components. These are represented by attaching budgets to
relevant objects such as REQUIREMENTS and SYSTEM COMPONENTS. Figure 15 shows that
Requirement 3-9 is linked to a component (abstraction block 1.2.1 Hydrophone) to which a
budget for hull size is attached. Budgets are used for planning as well as for performing “what
if” analyses. SLATE supports hierarchical budgets (similar to nested spreadsheets). For
example, the budget for the hull size attached to the Hydrophone can be linked hierarchically
to the budgets for its children and so on. Any allocations done at the lowest level (leaf nodes)
can be “rolled up” the hierarchy. Another potential use for budgets in complex projects such as
ECS is the ability to monitor the cost and schedule of a project.
32
Figure 14:Traceability between Requirements and Design
33
Figure 16: Rationale Capture
In this section, we have illustrated how the high-end models proposed in Section 5 can be
tailored and implemented in large-scale system design situations. This also provides a concrete
example illustrating the instantiation of the model components. By using a commercial CASE
tool, we further highlight the implementability of the reference models. In several such case
studies, the models proposed in Section 5 have been shown to be both adaptable and
implementable within currently available commercial environments..
34
7. Supporting the Traceability Links
Summarizing the differences between the low-end and the high-end uses of traceability,
we observe that the latter are characterized mostly by two extensions:
• they employ a much richer type system for the product-related object and link categories,
thus enabling easier retrieval and more precise (human or computerized) reasoning about
traces
• they have a much stronger emphasis on the process-related categories; indeed, in the long-
term case study conducted as part of this work (Ramesh et al. 1997), the step from low-
end to high-end traceability was followed by a strong increase in the SEI capability
maturity rating.
The large number of different link types precludes an individual treatment of each one.
However, as shown in section 7.1, we can group the link types found in the reference models
in a few basic categories. We then go again back to the empirical studies in order to identify
the necessary tool support for each category, and point out proposals in the commercial or
research literature that may address these issues. Conversely, this discussion then also provides
a classification of the solution proposals advanced for traceability tool services.
SATISFIES RATIONALE
DEPENDENCY EVOLVES-TO
As a starting point for classifying our empirical observations, we adopt a simple system
of just four types of traceability links, shown in figure 17. A first group of traceability links and
35
mechanisms could be called product-related because they describe properties and relationships
of design objects independent of how they were created. In figure 17.a, the high-level object
(e.g. a requirement, a standard, a policy, or complex design object) defines some kind of
constraint or goal which should be SATISFIED by one or more lower-level objects. Satisfaction
is usually just a claim that must be substantiated by compliance verification procedures (cf.
section 5). The shared constraint or goal to be satisfied also implies a DEPENDENCY between
lower-level objects. Generalization and aggregation abstractions (i.e. configuration of complex
objects) are special kinds of dependencies. Thus, we have two basic kinds of product-related
traceability links, satisfaction links and dependency links; low-end traceability users tend to be
characterized by relying mostly on these two link types.
The second group of traceability links is called process-related because it can be
captured only by looking at the history of actions taken in the process itself, and cannot be
recovered from the product relationships alone. Figure 17.b looks very similar to figure 17.a,
with the important difference that the evolution link types has a temporal direction : the left
lower-level design object EVOLVES-TO the right one through some kind of action whose
RATIONALE is captured in the higher-level object. Thus, the two kinds of process-related links
are evolution and rationale links. Advanced traceability users typically have a higher share of
link types belonging to this category.
If we enhance the traceability meta model of Figure 1 with these four traceability link
types, we get an ‘onion-shell’ meta model of traceability, as shown in Figure 18. Reflecting
back to our empirical studies, the models used by low-end traceability users tend to focus on
the inner kernel of the model, more advanced users tend to venture further out to process-
related issue and more explicit source and stakeholder management.
As evidence for these observations, Table 5 summarizes the link types of the high-end
models according to the way how and where they are used, and the link category they belong
to. The abbreviations in the right column refer to the submodels in section 5 where the link
types occur : RM for Requirements Management, R for Rationale, DA for Design/Allocation,
and CV for Compliance Verification.
requirement/
policy/ ...
Compliance
satisfies Verification
Procedure
requirement/
design/ ... depends-on
Product Objects
Rationale
evolves-to
Process Objects
Stakeholder Source
Figure 18: Traceability Meta Model Extended with Principal Link Types
36
LINK TYPE PURPOSE USES EXAMPLES
MODEL : LINK
Satisfaction To ensure that the to ensure consistency between
Links requirements are outputs of different phases of
satisfied by the the life cycle DA : Requirements-drive-design
system.
track the designs created to
Relationships satisfy requirements DA: requirements-allocated-system
between one or more Component
design, track system/subsystem/
implementation components to which
objects and requirements are allocated DA: Component-satisfies-requirement
requirement objects DA: system-performs-function &
verified by CVPs identify the system/subsystem/ functions-address-requirement
components that satisfy
requirements and that every
component satisfies some CV: CVP- developed for - requirement
requirement
track CVPs that are developed
for each requirement CV: CVP - verify - (system - satisfies -
track the results of CVPs to requirements)
ensure that the requirements
are
indeed satisfied
Evolution Document the input- Identify where do the various RM: system objectives-generate-
Links output relationships objects come from. I.e., requirements;
of actions leading identify the origins of various RM: Organizational needs - justify-
from existing objects to facilitate: system objectives
object(s) to new or a) better understanding of RM: scenarios-describe-{organizational
modified object(s) requirements (and other needs |System objectives | Requirements}
objects) RM: Change proposals-modify-
b) establishment of requirements
accountability for creation and RM: system objectives-generate-change
modifications of objects proposals
c) tracking the modification, RM: requirements-drive-design
refinement history of various RM: organizational needs-identify-CSF
objects. RM: requirements-basedon-standards
CV: CVP-generate-change proposals
CV: compliance verification
procedures-based on-standards;
R: decisions-affect-Requirements
DA: design-based-on-standards/policies/
methods
DA: change proposals-modify-design
DA: design-defines/creates-component
RM: requirements -derive-requirements
RM: requirements-elaborate-
requirements
Rationale represent the identify the reasons behind the R: requirements-basedon-rationale;
Links rationale behind creation of various object to R: Requirements-generate-issues/
objects or clearly identify conflicts;
document the a) justifications for the Alternatives-address-issues/conflicts;
reasons for creation/ arguments-support/oppose-
evolutionary steps modification of objects, alternatives;
b) important decisions and arguments-depend on-assumptions;
assumptions made
c) identify the context in R: {Requirements | Rationale | Decisions
37
LINK TYPE PURPOSE USES EXAMPLES
MODEL : LINK
which objects are created |
d) provide transparency into Arguments}- depend on-assumptions
the decision process including
discarded alternatives, in order R: decisions-select/evaluate-alternatives
to decisions-resolve-issues/conflicts
- provide clear understanding R: decision-influenced by-CSF
of the current solution,
facilitate RM: Requirements-managed by- CSF
maintenance and reuse RM: system components - use -
- manage the system resources
development with in line with
organizational needs /
objectives
Dependency help manage track the composition and RM: {requirement | constraint }-ISA-
Link dependencies among hierarchies of objects requirement
objects (typically at RM: requirement-part of - requirement
the same stage of RM: {strategic need | operational need}-
development), often ISA- organizational need
imposed by a RM: Resource-ISA-CSF
constraint (resource, CV: {Test | Inspection | Simulation |
competence, Prototype}-ISA-CVP
compatibility) RM: requirement-part of-requirement
DA: component- part of - component
Derived Links
An important use of requirements traceability is to ensure that the system meets the
38
current set of user requirements. Representing this information is considered to be critical from
a project management perspective. It is usually accomplished by creating a link between the set
of requirements and a set of system components that SATISFY them. Such links may also be
indirectly derived. An important concern of the study participants was the lack of support in
many CASE tools for the automated identification of derived links ("I don’t have the time to
link every requirement with everything produced at different stages. These links must be
automatically derived whenever possible"). For example, requirements may be linked to
designs that are intended to satisfy them. Designs, in turn, may be linked to relevant system
components. Then, a derived link is created from requirements to system components.
Mechanisms for automated inferencing incorporated in deductive or active database
environments such as ConceptBase (Jarke et al, 1995) can be used to infer "derived links" in a
traceability environment. As a critical first step, the semantics of the different linkages among
objects must be clearly represented.
Degrees of satisfaction
During systems development, project managers would like to ascertain how close they
are to satisfying critical requirements. In complex systems, many requirements (especially, non-
functional requirements) can not be said to have been “satisfied” absolutely. Often, a designer
is interested in maximizing the degree to which a requirement is satisfied. For instance, a
performance requirement to provide response time of 100 milliseconds in a missile system may
be thought to be reasonably well satisfied if the system meets the requirement within a few
milliseconds of this target. Here, 105 millisecond and 95 millisecond response times may be
considered to satisfy the requirement with different degrees. Most current tools do not provide
natural ways to represent such information. ("For compliance, I want to track how well I am
doing on a requirement based on progress in implementation. It is hard to get this
information into and out of my tools’. I need this information for trade-offs”).
Mylopolous et al (1992) suggest that goal satisficing (rather than satisfying) may be a
more appropriate way of characterizing this situation. The concept of satisficing, as defined by
Simon (1981), refers to methods that look for satisfactory rather than optimal solutions. Using
39
this framework, a system component may be thought of as contributing positively or negatively
towards satisficing a requirement. Hauser and Clausing (1992), in the House of Quality, use
four categories to relate how each development characteristic affects the customer quality
requirement: strong positive, medium positive, medium negative, and strong negative. Here,
we have a measure of not only the directionality (positive or negative) of a relationship, but
also its strength (high, medium etc.). This scheme can be incorporated in our traceability model
as follows: a system component may contribute towards satisficing a requirement along these
four (or a finer grained) categories. For example, a user interface component may have a
strong negative impact on a performance requirement..
All three issues – derived links, multiple support, and degrees of satisfaction – can also occur
in combined form. When a requirement is satisfied by a set of component, mechanisms for
combining the “evidence” for its satisfaction must be developed. For example, if all the
“evidence” is in the same direction (positive), the degree to which the requirement is satisfied
may be treated as the minimum of the support it receives. Situations in which a requirement
receives both positive and negative support at varying degrees pose a significant problem.
Requirements that rely on user perceptions (such as usability of a system) require qualitative
measures of ascertaining compliance as well as qualitative mechanisms for combining
evidence. Combining beliefs in evidence and propagating such beliefs in such an inference
network may be supported with mechanisms such as Dempster-Shafer, Bayesian Probability,
Belief Networks and Fuzzy Logic (Hau and Kashyap, 1990), (Hussain et al, 1994). Whereas
Fuzzy logic provides good mechanisms for representing and combining imprecise, qualitative
evidence, the other, more quantitative methods provide stronger methods for combining
evidence from multiple sources.
The dependencies created between objects when trying to satisfy some goals are at least
minimally supported by almost all traceability models. Issues raised by the study participants
therefore address the lack of precision in characterizing the types and strength of such
dependencies, resulting in much less automated support than would be possible.
Strength of dependency
Another problem associated with maintaining dependency information is that all
dependencies are treated as equally critical. Our studies identified the inability to precisely
identify the strength of a dependency link to be an important issue for the users of this
traceability information. ("we got two requirements in this matrix, all I know is that changing
one will affect the other. In some cases, I really need to take it serious. The impact can be
devastating. But often times it is not that serious. But I got to ask around to see which ones I
should really worry about. It’s not in the matrix").
Hauser and Clausing (1988) propose a scheme for assigning qualitative or quantitative
41
weights to links. Yu and Mylopolous (1994) adapt this scheme in their non-functional
requirements framework. Based on these, the degree to which a dependency is important to
those involved in a dependency linkage is termed the strength of the dependency. This is a
measure of how much one object affects the other. It could be measured qualitatively (e.g.,
high, medium, low etc.) or quantitatively (e.g., 1-10 on a 10 point scale). The strength of the
dependency will also very much influence the type of inference procedures and monitoring
necessary to ensure the enforcement of various types of dependencies.
A network of dependencies such as those discussed in this section can be defined at different
levels of formality (Stallman and Sussman 1977). At the most basic level, a link simply
identifies the existence of a dependency between two objects. As the only information
contained in such a representation is that one object has something to do with the other, the
potential for automated reasoning is limited, even when the type of dependency is identified.
For example, if there exists a resource dependency between say, two components in a satellite,
we can infer that whenever the weight of one changes, it will affect the other component. A
more detailed representation will also capture the direction in which the dependency affects an
object. In this example, information on whether the effect of the change is positive or negative
can be captured. Finally, a very detailed model will represent the exact nature of the influence
that one component has on the other, possibly expressed in a detailed, domain-specific
mathematical model. It may, then, be possible to compute the effect of change in the weight of
one component on the other. Obviously, the more well defined the dependencies are the more
sophisticated the inferencing capabilities.
We discuss these implications in turn. In the final subsection, the design of the KBSA ADM
tool by Andersen Consulting illustrates how some of these principles have been applied in
44
practice.
Dömges and Pohl (1998) describe a prototypical environment in which selective, model-driven
trace capture is possible. Applied to the modeling approach taken in this paper, the approach
46
works roughly as follows. Each basic element in the traceability meta model is seen as a
product, and associated with process steps that create, delete, or change this product.
In addition to these normal process steps, there are three additional kinds of trace steps.
Supplementary product steps define how to capture and maintain supplementary information
such as design rationale, process execution steps record activities in the development
environment, and dependency steps record dependencies between the artifacts created by
process steps, supplementary product steps, and process execution steps. While process
execution steps and dependency steps can often be performed largely automatically, by simply
observing the process in the development environment, the other two kinds of steps usually
require human intervention. Based on these conventions, the project manager is thus
empowered to define
• the trace information which should be captured
• the three kinds of trace steps defining how this information should be recorded
• the interleaving of the trace steps with the normal process steps, i.e., when the trace
information is to be captured.
Abstraction in Rationale Models. The design goal of KBSA-ADM was to offer a coherent
series of rationale models based on results of the REMAP project (Ramesh and Dhar 1992) for
maintaining rationale at different levels of detail.
The model sketched in Figure 19 is used for capturing rationale at a simple level of
detail. It links an OBJECT with its RATIONALE. The model in Figure 19 also provides for the
explicit representation of ASSUMPTIONS and DEPENDENCIES among them. Thus, using this
model, the assumptions providing justifications to the creation of objects can be explicitly
identified and reasoned with. As changes in such assumptions are a primary factor in the
47
evolution of complex systems, this representation will help in the development of support
mechanisms to manage such evolution.
In situations where a more detailed representation of rationale is necessary, an
intermediate rationale model may be used. In this model, the ISSUES that are GENERATED by the
OBJECT as well as DECISIONS that RESOLVE them are explicitly represented. Thus, this
intermediate model provides some elementary details of the decision process involved in
creating various objects. As before, the ISSUE and DECISION objects can be complex with
attributes of their own. Therefore, using this model, a richer context in which objects are
created can be captured.
OBJECT
GENERATES
DEPENDS ON
INFLUENCES ISSUE
RESPONDS TO
SUPPORTS/
POSITION OBJECTS TO ARGUMENT
RESOLVES DEPENDS ON
DEPENDS
ON
DECISION ASSUMPTION
DEPENDS ON
An even finer grained model for representing the detailed deliberations leading the
creation of objects may be more appropriate in critical situations. Empirical studies in the
REMAP project (Ramesh and Dhar 1992) suggest that the explicit identification of
ALTERNATIVES considered, the ARGUMENTS for and against these ALTERNATIVES, and
ASSUMPTIONS behind such ARGUMENTS themselves are part of such a deliberation. A detailed
rationale model incorporating all of these primitives is shown in Figure 20. It incorporates,
among other concepts, the Issue Based Information Systems (IBIS) framework (Conklin and
Begeman, 1988). Such models have been used successfully in large scale system development
efforts to represent complex decision situations leading to the creation of artifacts.
The components of this detailed model also closely resemble the Rationale submodel
presented in Figure 4. All the objects used in this model are represented in the Rationale
submodel and the major links across these objects are also identified in that model.
The hierarchy of simple, intermediate, and detailed rationale models have been re-
implemented in Anderson Consulting’s Knowledge Based Software Assistant environment
ADM. This implementation has the added advantage that different stakeholders may be
interested in different depth of rationale; for example, designers might use the detailed
rationale models whereas their managers will use the simple rationale view of the same model
focusing just on the decisions finally made. Two KBSA-ADM screenshots, using an example
from (Ramesh and Dhar 1992), are shown in Figures 21 and 22.
Inference Services. As the model components have been defined with formal semantics, a
system based on these components can support sophisticated reasoning with rationale
48
information. For example, a dependency network of assumptions is managed using a truth
maintenance system which propagates the effects of changes in the beliefs in assumptions to
other components of design rationale knowledge. In the detailed model, such a mechanism will
help identify the decisions that need to be reevaluated when changes in assumptions underlying
the network of rationale change. KBSA-ADM also supports truth maintenance on such
structures, using not just the simple logic-based approach, but also the Dempster-Shafer theory
of evidence to determine the belief status of the decisions made.
Thick Descriptions. KBSA-ADM provides a few facilities for integrating formal and informal
components of traceability knowledge. First, each object in a discussion can be annotated with
multimedia clips. For example, in the discussion involving the processing of orders in a utility
company shown in Figure 22, the node representing location (i.e., graphical location of various
services provided by the utility) is annotated with a map of the service area. Further, the tool
provides a hypermedia editor within which various objects in our model can be created by
simply highlighting a section of a hypermedia document. Such an integration also facilitates
easy capture of traceability information.
Model driven capture. KBSA-ADM provides mechanisms for specifying, executing and
monitoring process steps. This can be used to define the steps involved a system engineering
process and the conditions under which such steps should be executed. Such a facility can be
tailored to define the various types of traceability information that should be captured and
used. For example, the facility can prompt the user for design rationale information after major
49
design decisions. An agenda mechanism is used to monitor compliance. However, the current
implementation does not include comprehensive model-driven traceability capture.
In summary, the KBSA-ADM example illustrates that the advanced tool features discussed in
this section are indeed feasible in industrial settings. However, the example also shows that
quite a bit of creativity is required to combine these features in a practically useful manner.
10. Summary
We have conducted empirical studies in a broad range of software development
organizations to come up with reference models for the objects and traceability links to be
recorded. These models are presented at two levels of user sophisticated, which could be fairly
clearly distinguished in the organizations and mark very different understandings of the
importance of requirements traceability.
A simple meta model derived as part of the pre-studies also indicates how, in principle,
these reference models can be extended by explicit consideration of the different stakeholders
involved (contribution and usage structures, cf. (Gotel and Finkelstein 1997, Yu and
Mylopoulos 1994)). The mapping of the conceptual trace objects to technical media, sources
and documents – the third element in our basic meta model – was addressed by a discussion of
how the different traceability link categories can be supported by inference services and what
other requirements on traceability mechanisms the intended usage of the traceability link types
implies. The importance of the differentiation between conceptual objects and media is also
emphasized in other case studies of RE practice (Nissen et al. 1996).
In summary, we believe that the presented models constitute a good first step towards
50
reference models for requirements traceability. One evidence for this statement is the
surprisingly broad acceptance of early versions of several submodels in industry.
The accompanying longitudinal case study indicates that the uptake of these models, if
accompanied by appropriate management support and user attitudes, may indeed yield
substantial benefits in terms of quality as well as efficiency, leading to improved software
process maturity (Ramesh et al. 1997). Of course, this case study will have to be backed up by
others which would be greatly helped if our findings concerning the next generation of tools
will be addressed beyond the present status by vendors. We identified structured knowledge
representation, link-type related inference capabilities, the grounding of (possibly multiple)
trace models in thick multi-media descriptions, and a model-driven tool-supported trace
process as important ingredients. Our current efforts are devoted to maturing such tool
technologies and evaluating them in industrial settings.
References
M. Alford. Strengthening the systems engineering process. Proc. NCOSE, San Jose, Ca, 1991.
R.C.Anderson, C. Heath, P. Luff, and T. Moran. The social and the cognitive in human-computer interaction.
Technical Report EPC-91-126, Rank Xerox EuroPARC, Cambridge, U.K., 1991.
C.Baudin, C. Sivard, and M. Zweben. Recovering rationale for design changes: A knowledge-based approach.
Proceedings of the IEEE, Los Angeles, CA, 1990.
P.A. Bernstein, T. Bergstraesser., J. Carlson, S. Pal, P. Sanders, D. Shutt. Microsoft Repository Verison 2 and
the Open Information Model. Information Systems 24, 2 (1999).
B.J.Brown. Assurance of software quality. SEI Curriculum Model SEI-CM-7-1.1, Software Engineering
Institute, Pittsburgh, Pa, 1987.
E. Charniak and D. McDermott. Introduction to Artificial Intelligence. Addison-Wesley 1985.
Cadre Technologies. Cadre/RQT User Manual, 1992.
J. Conklin and M.L. Begeman. gIBIS: A hypertext tool for exploratory policy discussion. ACM Transactions on
Office Information Systems, 6(4):303--331, October 1988.
R. Conradi, B. Westfechtel: Version models for software configuration management. ACM Computing Surveys
30(2):232-282, 1998.
P. Constantopoulos, M. Jarke, J. Mylopoulos, Y. Vassiliou: The Software Information Base – a server for reuse.
VLDB Journal 4(1):1-43, 1995.
V. Dhar, M. Jarke: Learning from prototypes. Proc. 6th Intl. Conf. Information Systems, Indianapolis 1985,
114-133
V.Dhar, M. Jarke: Dependency-directed reasoning and learning in systems maintenance support. IEEE Trans.
Software Engineering, 17(2), February 1988.
DoD-2167a. Military Standard – Defense System Software Development. US Department of Defense, 1988.
R. Dömges, K. Pohl. Adapting traceability environments to project-specific needs. Comm. ACM 41, 12 (1998),
54-63.
M. Dorfman, R.H. Thayer. Standards, Guidelines, and Examples on System and Software Requirements
Engineering. IEEE Computer Society Press, 1990.
P. Dourish and S. Bly. Portholes: Supporting awareness in distributed work group. In Proc ACM Conference
on Human Factors in Computer Systems CHI ‘92, Monterey, CA, 1992.
M. Edwards, S. Howell. A methodology for system requirements specification and traceability for large real-
time complex systems. Technical report, Naval Surface Warfare Center, 1991.
H. Fellows. The Art and Skill of Talking with People: A New Guide to Personal and Business Success.
51
Prentice-Hall, Englewood Cliffs, N.J., 1964.
A. Finkelstein, J. Kramer, B. Nuseineh (eds.). Software Process Modeling. John Wiley RSP, 1994.
J.D. Fiksel. New requirements management software supports concurrent engineering. CimFlex Teknowledge
Corporation, Washington, DC, 1994.
G. Fischer, J. Grudin, A. Lemke, R. McCall, J. Ostwald, B. Reeves, and F. Shipman. Supporting indirect
collaborative design with integrated knowledge-based design environments. Human-Computer Interaction,
7:281--314, 1992.
C. Geertz. Thick Description: Toward an Interpretive Theory of Culture, chapter 3. Interpretation of Cultures.
Basic Books, New York, 1973.
R. Goldman-Segall. Collaborative Virtual Communities using learning constellations: a multimedia research
tool. In E. Barrett (Ed), Sociomedia: Multimedia, Hypermedia and the Social Construction of Knowledge. MIT
press, Cambridge, Ma, 1992.
A. Finkelstein: An analysis of the requirements traceability problem. Proc. First Intl. Conf. Requirements
Engineering, Colorado Springs, Co, 1994, 94-101.
O. Gotel, A.Finkelstein: Contribution structures. Proc. 2nd Intl. Symp. Requirements Engineering, York, UK,
1995, 100-107.
O. Gotel, A.Finkelstein: Extended requirements traceability – results of an industrial case study. Proc. 3rd Intl.
Symp. Requirements Engineering, Annapolis, Md, 1997, 169-178.
S.Greenspan, C.McGowan. Structuring software development for reliability. Microelectronics and Reliability
17.
V.L.Hamilton and M.L. Beeby. Issues of traceability in integrating tools. Proc. Colloquium IEE Professional
Group C1, London 1991.
H. Hau and R. Kashyap. Belief Combination and Propagation in a Lattice-Structured Network. IEEE
Transactions on Systems, Man, and Cybernetics, January/February 1990.
J. R. Hauser and D. Clausing. The House of Quality. Harvard Business Review, May-June 1988.
C. Heath and P. Luff. Explicating face-to-face interaction. In G.Gilbert (Ed), Researching Social Life. Sage
1992.
B. Hussain, A. Ismael, M. Bender. Evidence combination using fuzzy linguistic terms in a dynamic,
multisensor environment. Proc. IEEE Conf. Multisensor Fusion and Integration for Intelligent Systems, Las
Vegas, 1994.
M. Jarke, R. Gallersdoerfer, M. Jeusfeld, M. Staudt, S. Eherer. ConceptBase – a deductive object base for meta
data management. Intl. J. Intelligent Information Systems 4(2):167-192, 1995.
M. Jarke, K. Pohl: Establishing visions in context – towards a model of requirements processes. Proc. 14th Intl.
Conf. Information Systems, Orlando, Fl, 1993.
M. Jarke, K. Pohl, C. Rolland, J.R. Schmitt. Experience-based method evaluation and improvement: a process
modeling approach. Proc. IFIP 8.1 Working Conf. CRIS 94, Maastricht, Netherlands, 1994, 3-28.
B. Jordon. Technology and social interaction: Notes on the achievement of authoritative knowledge in complex
settings. Technical Report IRL92-0027, Institute for Research on Learning, Palo Alto, CA, 1992.
M. Kidd. Applying hypermedia to medical education: An author's perspective. Educational and Training
Technology International, 29(2):143--151, 1992.
J. Lee. Design rationale capture and use. AI Magazine, 14(2), Summer 1993.
F. Lakin, J. Wambaugh, L. Leifer, D. Cannon, and C. Sivard. The electronic design notebook: Performing
medium and processing medium. International Journal of Computer Graphics, 5:214--226, 1989.
M. Mead. Anthropology in a Discipline of Words, chapter 2. In Principles of Visual Anthropology, (Ed.) P.
Hockings. Mouton Publishers, Paris, 1975.
52
T.P. Moran, J.M. Carroll (eds.). Design Rationale: Concepts, Techniques, and Use. Lawrence Erlbaum 1996.
J. Mylopoulos, L. Chung and B. Nixon. Representing and Using Nonfunctional Requirements: A Process-
Oriented Approach. IEEE Transactions on Software Engineering, June 1992.
J. Mylopoulos, M. Jarke, M. Koubarakis. Telos – a language for representing knowledge about information
systems. ACM Trans. Information Systems 8(4):327-362, 1990.
H.W. Nissen, M.A. Jeusfeld, M.Jarke, G. Zemanek, H.Huber: Managing requirements perspectives with meta
models. IEEE Software, March 1996, 47-58.
J. D. Palmer, Traceability, In Software Requirements Engineering, R.H. Thayer and M. Dorfman (Eds), IEEE
Computer Society Press, 1997 (364:374).
F.Pinheiro and J.Goguen. An object-oriented tool for tracing requirements. IEEE Software, March 1996.
K.Pohl: The three dimensions of requirements engineering: a framework and its applications. Information
Systems 19(3):243-258, 1994.
K.Pohl. Process-Centered Requirements Engineering. John Wiley Research Science Press, 1996.
K. Pohl, K. Weidenhaupt, R. Dömges, P. Haumer, R. Klamma, M. Jarke. Process-Integrated Modeling
Environments (PRIME): Foundations and Implementation Framework. To appear, ACM Transactions on
Software Engineering Management, 1999.
QSS Ltd. Dynamic Object Oriented Requirements System, Reference Manual, Oxford, UK, 1996.
B. Ramesh. Factors influencing requirements traceability practice. Comm. ACM 41, 12 (1998), 37-44.
B.Ramesh and V. Dhar. Supporting systems development using knowledge captured during requirements
engineering. IEEE Transactions on Software Engineering, June 1992.
B.Ramesh and M. Edwards. Issues in the development of a model of requirements traceability. Proc.
International Symposium on Requirements, San Diego, CA, January 1993.
B.Ramesh, C. Stubbs, T. Powers, and M. Edwards. Requirements traceability – theory and practice. Annals of
Software Engineering vol. 9, 1997 (forthcoming).
J.Rochelle, R. Pea, and R. Trigg. Videonoter: A tool for exploratory video analysis. Technical Report IRL90-
0021, Institute for Research on Learning, Palo Alto, CA, 1990.
W.H.Roetzheim. Developing Software to Government Standards. Prentice Hall, 1991.
T.Rose, M.Jarke, M.Gocek, C.G.Maltzahn, H.W.Nissen. A decision-based configuration process environment.
IEE Software Engineering Journal 6(5):332-346, 1991.
Ryle. Concept of Mind. Harmonds Worth, 1949.
A.W.Scheer: Reference Models for Business Processes. Springer 1995.
H. Simon. The Sciences of the Artificial. MIT Press, Cambridge, MA, 1981.
S.Shum and N. Hammond. Argumentation-based design rationale: From conceptual roots to current use.
Technical Report EPC-93-106, Rank Xerox Limited, Cambridge EuroPARC, Cambridge, CB2 1AB, UK, 1993.
R.Smithers, M.Tang, N.Tomes. The maintenance of design history in AI-based design. Proc. Colloquium by
IEE Professional Group C1, London 1991.
R.Stallman, G.Sussman: Forward reasoning and dependency-directed backtracking in a system for computer-
aided circuit analysis. Artificial Intelligence 9(2):135-196, 1977.
G.Stehle. Requirements traceability for real-time systems. Proc. EuroCASE II, London 1990.
R.Stults. Experimental uses of videotapes to support design activities. Technical Report SS 1-89-19, Xerox
Palo Alto Research Center, Palo Alto, CA, 1988.
TD Technologies. SLATE User Manual. Dallas, Tx, 1996.
J.F. Templeton. Focus Groups: A Guide for Marketing and Advertising Professionals, Probus Publishing
Company, NY, 1987.
53
P. Winston. Artificial Intelligence. Addison-Wesley, Reading, MA, 1984.
S.Wright. Requirements traceability - What? Why? And how? Proc. Colloquium IEE Professional Group C1,
London, UK, 1991.
E. Yu, J. Mylopoulos: Understanding ‘why’ in software process modeling. Proc. 16th Intl. Conf. Software
Eng., Sorrento, Italy, 1994, 159-168.54
54