identified by now. The outcome of this step is a min-
imal set of engineering elements that is sufficient to
implement the methods or scenarios with the tools.
4.3 Define Common Meta-Model
Concepts
In a second step a meta-model is defined for the iden-
tified engineering model elements. The meta-model
is an abstraction of these elements and must be rich
enough to cover them. It shall on the one hand repre-
sent the commonalities of the engineering model ele-
ments and on the other hand represent their specifics
where needed. Generally the meta-model must cover
all traceability needs coming with the workflows to
be implemented with the tools and their engineering
models.
Granularity depends on the information needed
for the implementation of the workflows with the
tools. Therefore, the concepts of the meta-model can
be defined in a granularity range between the full en-
gineering model and only abstract artifacts and re-
lationships. For example if single components have
to be assigned to an implemented behavior in a sim-
ple traceability scenario, the meta-model must only
provide abstract concepts for components, behavior,
and the implementation link between them. Yet, in a
more enhanced integration testing scenario the single
components have to be more detailed and are imple-
mented and interconnected via their ports with other
components to form a component architecture. In this
case also the information about the parts of the com-
ponent architecture, the ports, the implemented in-
terfaces and the interconnections is needed. The re-
quired level of abstraction can be even finer and very
specific to an engineering model. A typical example
is a tool-specific formalism used to define the imple-
mented behavior.
The meta-model concepts should be defined based
on already existing concepts. Many concepts, rela-
tionships, and properties are provided by standards or
project results as described in Section 2.1. Typically,
the exact scope of the workflow at hand varies, but
concepts can be reused and extended in a way that
the workflow is supported. Trace-links between el-
ements should be represented explicitly as elements.
This allows bidirectional relationships with additional
attributes, direct traceability of proof obligations, and
external storage of links for tools that do not support
additional relationships.
This step of the recipe is finished when the meta-
model is rich enough to cover every identified engi-
neering model element, relationship, and property. In
the end, every identified engineering object is mapped
to a corresponding concept, relationship, or property
in the meta-model. Therefore, it is ensured that the
meta-model can be used to express the work products
of the workflow and to implement it with the tools.
4.4 Identify Matching OSLC Resource
Types
In a third step, all concepts, relationships, and proper-
ties of the meta-model are mapped to OSLC resource
types. The OSLC project defines several domains for
typical engineering disciplines specifying resource
types with specific links and properties. Therefore,
the meta-model concepts are grouped with regard to
engineering domains and then they are mapped to re-
source types. The relationships and properties of the
meta-model concepts are mapped to existing links and
properties defined by the OSLC resource types where
applicable. Examples of OSLC domains are the Re-
quirements Management (OSLC
RM) which defines the
basic requirement resource type and the Architecture
Management (OSLC AM) which defines abstract archi-
tecture resources and links.
If a meta-model concept cannot be mapped to a re-
source type of an existing OSLC engineering domain
then it has to be mapped to a Resource as defined by
the OSLC Core.
The step is done when all meta-model concepts
are mapped to OSLC resource types and when all re-
lationships and properties of the meta-model concepts
are processed and mapped to links and properties of
the resource types where applicable.
4.5 Refine OSLC Resource Types
towards Meta-Model Concepts
In a fourth step the OSLC resource types are re-
fined. The purpose of this refinement is to support the
level of granularity required for the workflows on IOS
level. This level of granularity is given by the iden-
tified meta-model concepts, relationships, and prop-
erties that are mapped to the OSLC resource types.
Therefore, OSLC resource types must be made fully
compliant to the concepts, relationships, and prop-
erties of the meta-model. Further type information,
properties, and links maybe needed. By adding them
to the OSLC resource types, refined IOS resource
types are defined that support the level of granularity
required for the workflows.
The refinement of the resource types is done in
a systematic way. All mappings of meta-model con-
cepts to OSLC resource types are processed. If the
identified OSLC resource type is fully representing
the mapped meta-model concept with its properties
MODELSWARD2014-InternationalConferenceonModel-DrivenEngineeringandSoftwareDevelopment
304