depending on the MDD tool. Afterwards, model arti-
facts can be linked with requirements by using native
mechanisms of the MDD tool (e.g. by using UML
Dependencies). In order to transfer the traceability
information back to the RM tool, representations of
linked model artifacts are created in the ReqIF file
and are also linked to the requirements in it. Finally,
those representations of linked model artifacts can be
imported into the RM tool. In practice, the require-
ments should only be changed inside the RM tool
and the model artifacts only inside the MDD tool to
avoid redundancy issues. Thereby, loss of data can be
avoided, when changes inside representations for ele-
ments of the other domain are made. The workflow is
similar to what business partners already do when ex-
changing requirements of different refinement levels,
but extended to the domain of MDD.
The proposed workflow (Fig. 2) enables require-
ments engineers to make a traceability analysis and a
coverage analysis inside the RM tool. In order to al-
low software developers to make an impact analysis
inside the MDD tool, representations of changed re-
quirements have to be marked as changed (e.g. by us-
ing a UML Stereotype) when updating requirements.
Then, the software developer can check if linked
model artifacts have to be modified. Any analysis can
be made inside the already used tools. This also re-
duces the amount of needed licenses for tools. A soft-
ware developer, for instance, does not need to have a
RM tool installed on his computer.
In the proposed approach, the representations of
model artifacts are stored in the ReqIF format; just
like requirements as SpecObject (Object Manage-
ment Group, 2013a) elements of the ReqIF format.
SpecObjects reference a certain SpecType to indicate
what kind of requirements they are. Since the Re-
qIF format allows to define attributes for a SpecType,
information about the model artifacts, such as their
name and type, are stored inside the ReqIF file. Val-
ues of these attributes can then be shown for their rep-
resentations inside the RM tool.
Requirements, on the other hand, have to be repre-
sented inside the MDD tools. For the work discussed
in this paper, the focus for MDD tools is on the us-
age of UML tools. Some of them, such as Rhap-
sody (IBM, 2014b), natively support the creation of
requirements in their models. In such tools it is ob-
vious to use them to represent requirements from RM
tools. However, the UML standard itself does not de-
fine elements for requirements. Therefore, not every
UML tool has them, but the UML can be extended
by using profiles. The Systems Modeling Language
(SysML) (Object Managemeng Group (OMG), 2012)
is a profile for the UML, which also contains support
for requirements. Thus, it is possible to apply a pro-
file, such as the SysML, to a UML model to enable it
to work with requirements.
There are different possibilities for interfacing
with a UML tool. Most of them allow the ex-
port/import model elements from a XMI format,
which contains a standardized UML model. There-
fore, it seems like a suitable way to create a ReqIF to
(standardized) UML interface. Thereby, the represen-
tations of requirements would be created inside the
standardized UML format and then transferred to dif-
ferent UML tools. Unfortunately, as stated in (Noyer
et al., 2014), there are differences in how UML tools
use the standardized UML format for export/import.
It would have to be structured differently for differ-
ent tools. Furthermore, the usage of UML profiles for
creating requirements would be needed, since UML
does not support requirements natively. Then, when
transferring the requirements to a concrete UML tool,
they may not be mapped to their proprietary require-
ment elements, as they exist for some tools such as
Rhapsody.
Most UML tools also allow to access their models
by using Application Programming Interfaces (API).
They can directly be used for implementing ReqIF in-
terfaces to different UML tools. The disadvantage
is that this leads to proprietary solutions for every
UML tool. On the other hand, there is the advantage
that proprietary requirements elements from different
UML tools can be considered. In order to realize this
by using the standardized UML format, the tool spe-
cific behavior has to be considered anyway.
4 INITIAL EXPERIMENTAL
EVALUATION
A prototype of the proposed mechanism for directly
interfacing between ReqIF files and the UML tools
IBM Rational Rhapsody and Enterprise Architect,
which enables the usage of the workflow (as shown
in Fig. 2) has been implemented. The direct integra-
tion with these tools was made to be able to use their
proprietary model elements for requirements.
The ReqIF file is parsed by using the Require-
ments Modeling Framework (RMF) (Eclipse Founda-
tion, 2014) and the elements in the UML tools are
created/analyzed by using their Java APIs. This al-
lows to make a traceability analysis inside a RM tool
and an impact analysis inside the UML tools. The
prototype has been evaluated by exporting require-
ments from a RM tool, Polarion (Polarion Software,
2014) via ReqIF and transferring representations of
them to Rhapsody and Enterprise Architect. In future
TraceabilityandInterfacingBetweenRequirementsEngineeringandUMLDomainsusingtheStandardizedReqIFFormat
373