<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Consistency Rules for UML-based Domain-specific Language Models: A Literature Review</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Bernhard Hoisl and Stefan Sobernig Institute for Information Systems and New Media Vienna University of Economics and Business, WU Vienna</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>-The Unified Modeling Language (UML) has become a popular implementation vehicle for domain-specific modeling languages (DSMLs). A UML-based DSML is typically defined by multiple specification artifacts, i.e. inter-related models, describing different views on the DSML. These separate, yet inter-related models are potential sources of specification inconsistencies which bear a high risk of affecting all subsequent DSML development phases (e.g., platform integration). In a large-scale literature review of more than 8,000 publications, we collected evidence on consistency-rule usage for 84 UML-based DSML designs. In this paper, we report on the identified patterns of consistencyrule usage (e.g., rule formalization, rule scopes, and supported development activities) and specification defects which challenge the use of consistency rules in DSML specifications.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        Domain-specific modeling languages (DSMLs) are
specialized modeling languages tailored primarily for graphical
modeling tasks in a particular application domain to support
the model-driven development (MDD) of software systems for
this domain. As a special kind of domain-specific languages
(DSLs), DSMLs provide end users with at least one graphical
or diagrammatic concrete syntax—in contrast to, for example,
textual or form-/table-based DSLs (see, e.g., [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]).
      </p>
      <p>
        In recent years, developing DSMLs based on the Meta
Object Facility (MOF [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]) and integrated with the Unified
Modeling Language (UML [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]) has become a widely adopted
option (see, e.g., [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]). A UML-based DSML tailors its host
language (i.e. the UML) to the needs of a particular domain
(e.g., by introducing domain-specific model elements or by
restricting the semantics of existing UML elements). These
domain-specific aspects are specified on the level of a DSML’s
language model, which captures all relevant domain
abstractions and specifies the relations between these abstractions
(see, e.g., [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]). To tailor a DSML’s language model,
languagemodel constraints are employed, for example, specified by
informal textual annotations (e.g., UML comments [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]) or in
a formal language (e.g., OCL [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]).
      </p>
      <p>
        In the DSML context, consistency rules are devised to
ensure that the different artifacts of a UML-based DSML do
not contradict each other due to conflicting syntax and
semantics specifications (see, e.g., [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]–[
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]). A DSML specification
covers also the phases of defining the DSML’s concrete syntax,
behavior, and platform integration [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. The result of such a
DSML specification are multiple interdependent specification
artifacts. For example, DSML-specific constraints—as part
of a DSML’s language model—need to be enforced for all
instance models to ensure compliance with their respective
metamodel (i.e. the DSML’s language model). Furthermore,
the UML provides 14 different model and diagram types to
specify different (structural and behavioral) concerns of a
software system [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. DSMLs can build on multiple model and
diagram types at the same time, therefore, putting emphasis
on inter-model consistency.
      </p>
      <p>
        In a recent systematic literature review (SLR), we
extracted design decisions from UML-based DSMLs and
collected the corresponding DSML specification artifacts [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
The review is a data source for two aspects of consistency
rules for UML-based DSML specifications. First, we
extracted data on consistency-rule usage in DSML specifications.
From 84 DSML designs, we retrieved details on employed
consistency-rule formats, DSML language-model
formalizations, consistency-rule scopes, supported software-engineering
activities, the underlying UML model and diagram types,
and supporting software tools. This complements the work
on consistency rules by [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] from the perspective of
DSMLs realized as UML extensions. Second, the review
spotted critical specification defects for UML-based DSMLs.
These defects in the UML formalization of a DSML’s language
model (e.g., incomplete and insufficient specification of UML
profiles, incorrect use of constraint-language expressions)
result in issues for defining consistency rules.
      </p>
      <p>
        In summary, the key contributions of this paper are the
extraction, analysis, and discussion of consistency-rule usage
in UML-based DSML designs. This complements the work by
Torre et al. ([
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]) which focusses on UML in general.
In addition, the paper highlights challenges specific to
UMLbased DSMLs when it comes to providing an infrastructure
for defining consistency rules, including recommendations to
avoid commonly observed pitfalls in DSML development. On
top, we provide descriptive findings on (extended) UML usage
(e.g., UML diagram types) adding to the current body of
empirical research on UML (see, e.g., [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]).
      </p>
      <p>The remainder of the paper is structured as follows.
Section II summarizes important background information with
respect to DSML development, SLR procedure, and
specification consistency in this context. Results of the data-extraction
process are presented in Section III, limitations of the SLR in
Section IV. Section V puts the extracted data on
consistencyrule usage in DSMLs into perspective and discusses the role
Language-model
definition
of specification defects in this context. Our study is compared
to related work in Section VI and Section VII concludes the
paper.</p>
    </sec>
    <sec id="sec-2">
      <title>II. BACKGROUND</title>
      <p>The following three sections recap details of developing
DSMLs (Section II-A), conducting the SLR (Section II-B), and
evaluated UML consistency aspects (Section II-C) important
to interpret the results presented in Section III.</p>
      <sec id="sec-2-1">
        <title>A. DSML Development</title>
        <p>
          DSML development is an exploratory, iterative process. A
process view (such as [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]) treats DSML development as a
complex flow of characteristic development activities (e.g.,
language model definition, constraint specification etc.). We
focus on a language-model driven DSML development
activity which discriminates between the following development
phases [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]: define DSML language model, define DSML
concrete syntax and behavior, and DSML platform integration
(see Fig. 1).
        </p>
        <p>
          In our work of evaluating consistency rules for UML-based
DSMLs, we target the phase of the domain-specific language
model definition (see Section I and Fig. 1). In this first phase
of a language-model driven DSML development activity, a
core language model and the corresponding language model
constraints for the selected target domain are defined. By
following a domain analysis method, such as domain-driven
design (see, e.g., [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]), domain abstractions are identified and
form the language model of a DSML. This initial
languagemodel definition may not be UML-compliant (e.g., textual
descriptions, informal models) and need to be turned into
a formal language model. By formal model, we refer to
a realization of the language model using a well-defined
metamodeling language such as the MOF/UML metamodeling
infrastructure. A metamodeling language is itself based on
a well-defined and well-documented language model (i.e.
CMOF for the UML metamodel [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]) and provides at least one
well-defined and well-documented concrete syntax to define
an own language model (e.g., the CMOF diagram syntax to
specify a UML metamodel extension).
        </p>
        <p>
          Because the language model often cannot (or only
insufficiently) capture all restrictions and/or semantic properties of
the DSML elements, language-model constraints are added.
These language-model constraints prevent the language model
to be formalized incomplete, ambiguous, and/or inconsistent
with other DSML artifacts. As such, language-model
constraints form the basis for the definition of consistency rules
and are specified, for example, by employing special-purpose
constraint languages (such as the OCL [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]) or unstructured
textual annotations.
        </p>
        <p>
          After the definition of a DSML’s language model, the
concrete syntax of a DSML is defined (i.e. suitable notation
symbols as well as composition and production rules) which
serves as a DSML’s user interface (see Fig. 1). In parallel, the
behavior of DSML language elements is specified to produce
the behavior intended by the DSML designer. In the last phase,
all artifacts defined for a DSML are integrated into a selected
software platform to produce platform-specific (executable)
models (e.g., by employing model transformations to generate
source code [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]).
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>B. Systematic Literature Review</title>
        <p>
          We performed a systematic literature review (SLR) to distill
generic design decisions from UML-based DSML design
documents for the different development phases discussed in
the former section. Here, we briefly summarize the process
and the results of the SLR; details are published in [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] and
in [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. The main goal of the SLR was to identify a maximum
number of high-quality scientific publications which document
design decisions on UML-based DSMLs as primary sources.
        </p>
        <p>
          The SLR was performed in three steps. First, to provide a
basis for evaluation of the search procedure, we established
a corpus of reference publications as quasi-gold standard
(QGS [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]). In essence, a QGS is a set of hand-picked
publications considered relevant for a specific SLR. In the
end, the constructed QGS corpus consisted of 37 publications
(24 journal and 13 proceedings articles). Based on these
QGS publications, the relevant search engines for the
automated search were identified (SpringerLink, IEEE Xplore,
Scopus, and ACM Digital Library) and a search string for
the automated search was constructed (the query expression
represented 544 unique pairs of search terms).
        </p>
        <p>Second, we performed the actual engine-based publication
search using the search string developed in the previous step
on the four selected search engines. The search execution
yielded 5,778 search hits split into four result sets, one for each
of the search engines. After enforcing the QGS-based capping,
having evaluated the papers based on our selection criteria
and having completed the quality assessment, 73 papers
representing 1.3% of the original search hits remained. For this
final publication set, we extracted the publication-specific data
(15 metadata items for each paper, including bibliographical
entries, selection decision, and decision-mining entries).</p>
        <p>
          Third, based on the bibliographical records extracted from
the 73 publications selected up to this point, we then
performed a backward-snowballing search. Backward
snowballing is the practice of manually identifying additional
publications for selection from the reference lists (citations)
of a given set of publications [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]. Via the backward
snowballing search, we reviewed a total of 2,337 references. After
evaluation and quality assessment of the papers, eight were
included into the paper corpus (0.3%). From these additional
publications, we extracted publication-specific data in the same
way as was done for papers retrieved by the main search.
        </p>
        <p>
          We considered a total of 81 articles as relevant: 73 from
main search plus eight from snowballing. To complete the
paper corpus, we re-considered the QGS publications not
retrieved by the main and the snowballing searches for
inclusion based on the selection criteria. This way, we classified
two QGS journal articles and one QGS conference article as
relevant. We so arrived at a paper corpus of 84 publications
(the complete list of publications is provided in [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ]). The
corpus was composed of 54 conference articles (64%) and 30
journal articles (36%).
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>C. Consistency in UML-based DSMLs</title>
        <p>
          In this paper, we investigate six aspects of model-level
consistency in UML-based DSML designs in line with [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ],
[
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
        </p>
      </sec>
      <sec id="sec-2-4">
        <title>Language-model formalization: After the identification of</title>
        <p>
          language-model concepts, the corresponding definitions serve
as input for the phase of formalizing the domain constructs into
a MOF/UML-compliant language model (see Section II-A).
As we focus on consistency rules at the level of a DSML’s
language model, we establish how the domain abstractions are
formalized using the MOF and/or the UML. Available options
are UML M1 structural model (e.g., UML class models),
UML profile definition (i.e., extending UML metaclasses with
stereotypes), and UML metamodel extension (i.e., adding new
metaclasses and/or new associations between metaclasses to
the UML metamodel) [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ].1
        </p>
      </sec>
      <sec id="sec-2-5">
        <title>Consistency-rule formats: A DSML’s language model for</title>
        <p>
          malization is limited by the expressiveness of the MOF/UML
(e.g., part-of relations). Semantic variation points in the
MOF/UML may render a DSML’s language-model
specification incomplete and/or ambiguous. This risks introducing
inconsistencies across different DSML modeling artifacts ([
          <xref ref-type="bibr" rid="ref4">4</xref>
          ],
[
          <xref ref-type="bibr" rid="ref20">20</xref>
          ]). Therefore, we assess whether consistency rules are
provided for a DSML to cover such variation points [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. If
so, we document the choice of rule representation (e.g., OCL
expressions [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]).
        </p>
        <p>
          Consistency-rule scopes: We record whether consistency
rules target a single model only (e.g., to resolve ambiguities
in the definition of a model) or whether the rules relate
multiple models. For inter-model scenarios, horizontal consistency
refers to consistency between different, but complementing
models at the same level of abstraction (e.g., between different
platform-independent models). Vertical consistency refers to
consistency between models at different levels of
abstraction (e.g., between platform-independent and platform-specific
models). Evolution consistency refers to consistency between
different versions of the same model (e.g., between an input
and an output model of a model transformation [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]).
        </p>
        <p>
          Software-engineering activities: Model-level consistency
rules are employed in support of different
softwareengineering activities. Observed activities are refinement
(“semantics-preserving changes applied to a model, to reduce
non-determinism” [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]), verification (“determine whether the
products of a given development phase satisfy the conditions
imposed at the start of that phase” [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]), checking constraints
(“of models according to consistency rules and producing a list
of violations” [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]), transformation (“describe the application
of mapping rules on one model to create a new model” [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]),
and heuristics (rules that are written as plain text “for solving a
UML consistency problem without the exhaustive application
of an algorithm” [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]).2
        </p>
        <p>
          Model and diagram types: We document which of the 14
structural and behavioral UML model and diagram types [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]
are actually tailored by the DSMLs. These are, therefore,
the model and diagram types for which consistency rules are
defined for various rule scopes ([
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]).
        </p>
        <p>
          Tool support: We evaluate whether consistency rules (in
a given representation) can be automatically processed and
validated. In addition, we provide an inventory of supporting
software tools for rule processing and validation (e.g.,
constraints evaluators [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]).
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>III. EXTRACTED DATA ON DSML CONSISTENCY</title>
      <p>
        This section presents the data on the six consistency aspects
in the corpus of 84 DSML designs collected via the SLR
([
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]). For data extraction, we studied the corresponding
publications as the primary design documents for cues on each
of the six consistency criteria. 52 out of 84 DSML designs
(62%) explicitly specified consistency rules at the level of
the DSML’s language model. For 32 DSML designs (38%),
we did not find any documentation hints of consistency-rule
definitions.
      </p>
      <p>Table I shows the frequency of UML-based language-model
formalization options identified for the 52 DSML designs. The
majority of DSMLs (84%) employ UML profiles to formalize
their language model. Only one DSML defines its UML-based
language model via an M1 structural model. The language
model of four DSMLs is specified by using a combination of
a UML profile and a UML metamodel extension.</p>
      <p>
        To quantify the specification size of these 52 DSML
designs, we evaluated the size of their core language-models.
Depending on the different, underlying UML language-model
formalization options, the specification size was established
differently. For 47 DSMLs defining their language models
1We only discuss formalization options actually observed for DSMLs in our
SLR study (see Section III). A complete list of language-model formalization
options is documented in [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ].
      </p>
      <p>
        2Again, our analysis is limited to activities observed in our SLR (see
Section III). The complete list of relevant software-engineering activities is
available from [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
using UML profiles, we counted the stereotype definitions
and the corresponding, distinct base UML metaclasses. In this
group, we find a median of 14 9.63 stereotype definitions per
DSML. A typical profile extends a median of 5 3 distinct
base metaclasses per DSML. For the eight DSMLs using a
UML metamodel extension, we collected the number of newly
introduced UML metaclasses. A typical DSML adds a median
of 19.5 11.9 UML metaclasses. For one DSML defining its
language model using a UML structural model at level M1,
we were unable to count the number of UML classes due to
its incomplete design documentation.
      </p>
      <p>
        The 52 DSML designs containing consistency rules adopted
four different rule formats (see Table II). 33 DSMLs (63%) use
one (either unstructured text, OCL, or mathematical
expressions), 18 DSMLs (35%) use two (both, unstructured text and
OCL), and one DSML three different formats (unstructured
text, OCL, and ATL [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]) to specify consistency rules. There
are nearly equal shares of DSMLs adopting unstructured
(informal) text (50%) and (formal) OCL expressions (46%).
Mathematical and transformation-language expressions (e.g.,
in ATL) are rarely used with three DSMLs only.
      </p>
      <p>The majority of 52 DSMLs (79%) apply consistency rules
for the scope of a single model (see Table III). Inter-model
consistency rules for a horizontal scope (i.e., at the same
abstraction level) were found for seven DSMLs (12%). A
minority of three DSMLs define consistency rules spanning
different abstraction levels (vertical consistency). Consistency
rules between different versions of a language model
(evolution consistency) were reported for two DSMLs only. In
five DSMLs, consistency rules had mixed scopes: single
model/vertical consistency (2 DSMLs), single model/evolution
consistency (2), and horizontal/vertical consistency (1).</p>
      <p>As for software-engineering activities supported by the
consistency rules, almost equal shares of DSMLs relate to
three activities of heuristics (32%), verification (32%), and
3We report the variance in terms of the median absolute deviation from the
median using the notation along with the median value.
constraint checking (30%; see Table IV). In turn, rules rarely
target model transformation and refinement activities with
only four and three cases, respectively. In 17 DSMLs (33%),
rules are employed for one software-engineering activity only
(15x heuristics, 2x verification). Mixed usage is reported for
16 DSMLs (31%) with two supported activities (14x
verification/constraint checking, 1x heuristics/transformation, 1x
heuristics/refinement), and for 15 DSMLs (29%) with three
activities (heuristics/verification/constraint checking). More than
three supported activities are limited to a minority share of
four DSMLs.</p>
      <p>One DSML is unspecific about the UML model and diagram
types it is tailoring and is therefore omitted in Table V. For the
remaining 51 DSMLs, class diagrams are ranked first with a
35% share, followed by activity (12%), and component as well
as package diagrams (each 11%). No DSML tailored
communication, profile and timing diagrams. Given that each of the
51 DSMLs can build on multiple model and diagram types, a
total of 95 tailored UML diagram types were identified. 65
(68%) are structural and 30 (32%) are behavioral diagram
types. Typically, a DSML tailors more than one UML diagram
type. There exists 28 unique combinations of different diagram
types tailored by the DSMLs. Most DSMLs build on either
class diagrams only (8 DSMLs, 16%) or class diagrams in
combination with package diagrams (8). Five DSMLs adopt
activity diagrams only and three DSMLs combine class and
object diagrams. All other combinations of diagram types are
employed by at most two DSMLs each; and are omitted for
brevity.</p>
      <p>Software tools for processing and enforcing consistency
rules are shown in Table VI. In total, we identified relevant
tool support for 22 out of 52 DSML designs (42%; 16 unique
tools). The majority of DSMLs (58%) did not document any
tool usage. Five DSMLs (23%) use the OCL project of the
Eclipse Model Development Tools (MDT) and three DSMLs
(14%) IBM’s Rational Software Architect (RSA) to validate
consistency rules.4 The remaining 14 software tools are each
deployed in a single DSML project only.</p>
    </sec>
    <sec id="sec-4">
      <title>IV. SLR LIMITATIONS</title>
      <p>
        SLRs have the general problem of finding a representative
set of relevant primary studies. We closely followed
established guidelines on designing and conducting SLRs
available from research on evidence-based software engineering
to avoid any pitfalls ([
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]). However, we may
risk having missed further relevant primary studies on
UMLbased DSMLs. For example, by extracting data from our
paper corpus, we did not find empirical evidence for every
consistency-rule format proposed by related work, such as,
4We separately report the Eclipse MDT/OCL project and IBM’s RSA
because RSA bundles a couple of the MDT/OCL plugins deviating these
in unknown ways from the official Eclipse OCL plugins [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ].
code annotations or constraining model-to-text
transformations [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. Nevertheless, we addressed this threat right from
the beginning, by building our review procedure around the
principle of continuous search validation and search refinement
driven by a QGS as a recommended practice [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
      </p>
      <p>
        We intentionally limited our SLR exclusively to DSMLs
embedded into UML 2.x [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], thereby excluding DSMLs based
on former UML versions and other metamodeling
infrastructures (e.g., Kermeta or MetaGME). We only considered
consistency rules specified on the level of UML-based DSML
language models; i.e. we restricted data extraction to the
DSML development phases of formalizing a UML-compliant
language-model and defining accompanying language-model
constraints (see Section II-A). Therefore, on the one hand,
we excluded rules applied on non-UML artifacts (e.g.,
nonUML platform-specific models generated during the platform
integration phase). On the other hand, we also excluded
consistency rules relating to other UML models besides a
DSML’s language model (e.g., UML M1 behavioral models
as part of a DSML’s behavior specification). Furthermore, we
excluded exemplary as well as application-specific consistency
rules found in DSML reports (e.g., as part of a case study
exemplifying the application of a DSML).
      </p>
      <p>We exclusively report on tools used to enforce consistency
rules on DSML language models. We do not consider tool
support for other phases in DSML development, such as,
language-model editors, generators for concrete-syntax editors,
model-execution engines, model-transformation engines, or
orchestration engines.</p>
    </sec>
    <sec id="sec-5">
      <title>V. DISCUSSION</title>
      <p>
        First, we elaborate on the relevance of the extracted data
presented in Section III. Against this background, we reiterate
over frequently reoccurring specification defects in
UMLbased DSML language models, as revealed by [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
      </p>
      <sec id="sec-5-1">
        <title>A. Interpretation of Review Data</title>
      </sec>
      <sec id="sec-5-2">
        <title>Language-model formalization: The preponderance of UML</title>
        <p>
          profiles might partly be explained as they are the native
UML extension mechanism [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], their application is known to
modelers, and plenty of supporting tools exists (e.g.,
languagemodel and concrete-syntax editors). UML profiles provide
for packaging and for scoping intra-model consistency rules
(i.e., OCL expressions) as part of a DSML’s language-model
formalization. To this date, portability of such OCL
consistency rules between different evalution engines remains limited
due to the OCL/UML language specifications leaving critical
details to language and tool implementers (e.g., navigation
semantics between extension and extended model elements;
see [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ] for an overview).
        </p>
        <p>
          Another critical issue pertaining to (esp. formally
specified) consistency rules in multi-level and
shallow-instantiationbased metamodeling environments such as MOF/UML is their
confinement to direct instantiations (e.g., M1) of model
elements (e.g., M2). Consider as an example a DSML language
model defined at level M2 which must enforce consistency
rules at level M0, i.e. the occurrence (instance) level of
DSML models. This requirement is documented for DSMLs
in the business-process modeling domain in which consistency
conditions are stipulated for the scope of business-process
instances (see, e.g., [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ], [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ]). To date, there are certain
conventions (e.g., escaping to informal rule definitions [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ]),
implementation idioms (e.g., prototypical concept pattern [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ]), and
alternatives to metamodeling based on shallow instantiation
(e.g., potency and deep instantiation [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ]) to work around or
to address this limitation. However, no comprehensive solution
has yet become available in the family of MOF/UML/OCL
languages as a DSML development infrastructure.
        </p>
        <p>
          We found that a language model can been realized by
multiple formalizations (e.g., a combination of a UML profile
and a UML metamodel extension as observed four times).
This bears a double risk. On the one hand, consistency rules
must be defined for the scope of two different artifacts,
metamodel and profile packages, causing ambiguity in rule
specification and possible rule conflicts. On the other hand,
such a mixed DSML language model can potentially be used in
different configurations (e.g., different profile and metamodel
compositions). As an extreme, when integrating two or more
DSMLs which are realized as (otherwise independent) UML
extensions, reconciling the original consistency rules becomes
a challenge [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ].
        </p>
        <p>
          Consistency-rule formats: We observed a comparatively
high frequency of unstructured text and OCL expressions
employed in combination (in 37% of the DSMLs). This
is partly explained by the reporting needs of a scientific
publication, requiring a certain level of elaboration on
otherwise formal constraint expressions. Another driver might be
that consistency rules expressed in some constraint-expression
language must be complemented with textual explanations
when applied beyond the context of a single model. To express
consistency conditions between two or more models
(horizontally and vertically), missing any direct and/or navigable
inter-model links, alternative approaches (e.g., constructs in
model-transformation languages, non-standard constructs in
constraint-expression languages such as in the Epsilon
Validation Language, EVL [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ]) must be evaluated for adoption
on a case-by-case basis. In doubt, complementary textual
explanations (as we found in this study) are a viable option.
        </p>
        <p>
          Similarly, in the context of evolution consistency, one
DSML [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ] specified consistency rules in a combination of
OCL expressions evaluated in ATL-based model
transformations (ATL can be used to define constraints on models [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]).
The authors of [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ] present an approach for model execution
by a series of model transformation steps (exemplified by an
evolving state machine diagram). In this case, OCL
expressions are still employed to ensure the consistency of a single
model. However, with the combination of ATL
transformations and, thus, different model versions on which the OCL
expressions are evaluated against step-by-step, the consistent
evolution of a model is ensured.
        </p>
        <p>
          Consistency-rule scopes: Intra-model consistency rules for
DSML language models are the most frequent rule scope
identified by our SLR. As for inter-model consistency, consistency
was ensured by using (at least) unstructured textual artifacts.
For example, in [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ] textual rules are defined for horizontal
consistency between composite structure and activity models
in support of a heuristic activity. Vertical consistency was
always observed in combination with a refinement activity.
In [
          <xref ref-type="bibr" rid="ref32">32</xref>
          ], an abstract user-interface (UI) class model is refined
into a UI deployment model. Consistency rules integrated with
model transformations for evolution support have already been
given as an example above [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ].
        </p>
        <p>Software-engineering activities: According to our
definitions, we classified consistency rules formulated as
unstructured texts as related to the software-engineering activity
“heuristics” and OCL expressions as related to the
constraintchecking activity (see Section II-C). This data-extraction
convention explains the closely aligned figures reported for
these consistency-rule formats and the corresponding
softwareengineering activities. Furthermore, we classified constraint
checking as a verification technique (i.e. as part of the
verification activity).</p>
        <p>
          We did not find any evidence for the management,
validation, and maintenance software-engineering activities as
defined in [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. The reason for their absence may be that
these are not primary activities in the process of designing
a research-driven DSML (see Section II-A). Managing
consistency, evaluating the satisfaction of user requirements, or
maintaining interdependencies between platform-independent
models and platform-specific implementations may not be of
high priority when developing scientific UML-based DSMLs
(and, thus, are postponed).
        </p>
        <p>Model and diagram types: In this study, we put emphasis on
consistency rules formulated at the level of a DSML’s language
model (M2 level). These rules are enforced on instance models
of a DSML (M1 level). A DSML’s language model was
frequently found formulated as a UML profile (in 84% of
the DSMLs). Overall, multiple combinations of tailored
diagram types could be observed (28 unique combinations). This
combinatorial variety indicates the domain-specific application
requirements matched by the diagram types adopted by each
DSML found by our SLR.</p>
        <p>Tool support: All of the 16 software tools found support the
automatic evaluation of consistency rules. Because of
diversified tool usage, we could not identify repeated occurrences
except for the Eclipse MDT/OCL project (5 times, 23%) and
IBM’s RSA (3 times, 14%). Nevertheless, the small number
of tooling support found (no consistency-enforcing tool was
mentioned in 58% of the DSMLs) does not necessarily indicate
that in these cases consistency rules are evaluated manually.
In particular, we found OCL expressions being documented
for 33 out of 52 DSMLs (63%), which can in principle be
automatically evaluated.</p>
      </sec>
      <sec id="sec-5-3">
        <title>B. DSML Specification Defects</title>
        <p>
          Our SLR exposed six defect kinds in DSML specifications
for 31 reviewed design documents ([
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]). As an extreme
case of a DSML specification defect, metamodel and/or profile
definitions were found entirely missing (e.g., in [
          <xref ref-type="bibr" rid="ref33">33</xref>
          ]). Rather,
we found that stereotypes are often applied in UML instance
models without a proper profile definition ([
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]). In such
cases, any kind of consistency rule lacks the foundation of
a valid interpretation. However, there are also less obvious
sources of challenges.
        </p>
        <p>Such defects often reveal misconceptions about UML
extension techniques. In addition, they pose particular challenges to
formulating consistency rules and prevent consistency rules,
if any, to serve their intended purpose. In this section, we
reiterate over relevant defects related to consistency rules on
DSML language models defined using the UML.</p>
        <p>
          Defects in metamodel definition: The DSML’s language
model definition does not reference a corresponding
metamodel specification, therefore, essential details about the
semantics of DSML-specific metaclasses and their relationships
are omitted ([
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]). In at least five DSML designs,
we found an underspecification of metamodel elements. For
example, newly introduced metaclasses did not inherit from
well-defined base metaclasses (e.g., in the case of a UML
metamodel extension, from metaclasses of the UML
specification [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]). In such cases, any consistency rule defined for the
scope of the underspecified metamodel elements remains
ambiguous. This is because it is potentially redundant, restating
consistency conditions already available for base metaclasses;
or it is potentially conflicting with the latter.
        </p>
        <p>
          Missing mappings between language model and
profile: A frequently observed problem is that a MOF-based
or modeling-language independent metamodel is implicitly
aligned to a corresponding UML profile. Nevertheless, in at
least seven cases, the mapping between metamodel and profile
was not documented explicitly ([
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]). The lack of explicit
documented correspondences lets the reader assume a 1:1
mapping between, for example, non-UML-compliant elements
of an initial language-model definition and equally named
stereotypes of a UML profile formalization.
        </p>
        <p>
          Such an implicit mapping, often only based on simple name
matching between metamodel and profile, raises the issue of
porting any consistency rules from one to the other, which
is often not straight forward. A possible approach is to define
such mappings between (non-UML-compliant) metamodel and
UML profile definitions explicitly. For example, elements of
a MOF-based metamodel can be mapped to stereotypes of a
UML profile in the form of model-to-model transformations
expressed in ATL to ensure their consistency (see, e.g., [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ]).
This would allow for rendering intended semantics
UMLcompliant or, if not possible (e.g., semantics of UML
stereotypes would contradict the UML specification), providing
an explicit trace back to the semantics of the originating
metamodel elements. This way, there would also be clear hints
how to interpret any consistency rules defined for one artifact
(metamodel) in the context of the other (profile).
        </p>
      </sec>
      <sec id="sec-5-4">
        <title>Defects in profile definition: We identified 21 cases where</title>
        <p>
          the definition of a UML profile does not adhere to the
UML specification ([
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]). Semantic defects encountered
included stereotypes inheriting from non-stereotype classes,
multiplicity declarations on stereotype extensions, composite
aggregation between stereotypes, or inheritance cycles
between stereotypes ([
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]). These defects introduce
semantic variation points (e.g., the possibility of multiple behaviors),
which carry over to the interpretation of consistency rules
defined over these elements.
        </p>
        <p>
          Vendor- and tool-specific extensions: In at least three cases
([
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]), language models are defined using vendor-specific
extensions to OMG specifications that are built into a particular
modeling tool (e.g., undefined visibility properties [
          <xref ref-type="bibr" rid="ref34">34</xref>
          ]). On
the one hand, this raises the issue of defining non-portable
consistency rules. On the other hand, to provide consistency
between these proprietary additions and elements of the UML
metamodel, we recommend specifying their precise semantics
in the same way as was done in the UML specification (see,
e.g., semantics sub-clauses in [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]).
        </p>
      </sec>
      <sec id="sec-5-5">
        <title>Defects in constraint-language expressions: We encountered</title>
        <p>
          numerous syntactic and semantic defects, including logical
errors, calling undefined functions, missing keywords,
unbalanced parentheses, and misspelled metamodel elements ([
          <xref ref-type="bibr" rid="ref12">12</xref>
          ],
[
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]). It is obvious that consistency can only be ensured and
automatic evaluation can only be provided if formal rules (e.g.,
OCL expressions) are defect-free. Therefore, increasing the
documentation quality of constraint-language expressions is
key. Documentation guidelines which require authors to check
syntax and semantics of OCL expressions with dedicated
tools is a starting point. Table VI provides a non-exhaustive
overview of available tools.
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>VI. RELATED WORK</title>
      <p>
        Our data extraction criteria are closely aligned to the
ones presented in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], in which the authors present
a systematic mapping study identifying consistency rules for
UML diagrams. The main difference to the approach of
Torre et al. is that we focus on domain-specific language
models extending the UML, instead of general-purpose UML
diagrams. Therefore, our work can be seen as complementary.
However, a key difference is that we do not strive for providing
an exhaustive collection of concrete consistency rules for UML
diagrams in the sense of [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Most of the consistency
rules for DSMLs are inherently specific to one application
domain and to one design of a corresponding language model.
As this prevents their general applicability (e.g., to the UML
metamodel in general), we did not compile a catalog of
consistency rules.
      </p>
      <p>
        When comparing the collected data with the original work
in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], we can confirm the predominance of consistency
rules defined as unstructured text and as OCL expressions,
both targeting a single model and multiple models at the same
abstraction level (horizontal consistency), for the reviewed
DSMLs. Verification and constraint checking are also
frequently employed, although we rank heuristics activities first
unlike in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. This may be due to our data-extraction
process, in which we classified each text-based consistency
rule as related to the heuristics software-engineering activity
as specified by the definition in Section II-C.
      </p>
      <p>
        Regarding UML model and diagram types, a majority of
empirical studies report UML classes as the most exhibited
one (see, e.g., [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]). At the same time, we cannot
confirm the previously reported high frequency of sequence
and state machine diagrams. Similarily, in the review by [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ],
[
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] the otherwise reported frequent adoption of activity,
component, and package diagram types is not confirmed.
A further confirmatory finding to recent empirical studies
(see, e.g., [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]) is the large amount of unique combinations
of different diagram types (28). There is also an important
overlap regarding supporting tools (Eclipse-based projects,
No Magic MagicDraw etc.), but the small tool-specific study
population at our side prevents drawing robust conclusions.
      </p>
    </sec>
    <sec id="sec-7">
      <title>VII. CONCLUSION</title>
      <p>
        In this paper, we analyzed consistency aspects extracted
from 84 UML-based DSML designs collected via a SLR [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
We exclusively focused on consistency rules defined on the
level of a DSML’s language model. For the evaluation of UML
consistency aspects, we adopted criteria from close related
work ([
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]). By interpreting extracted consistency-related
data, we discussed frequently identified defects in UML-based
DSML language models. Results of our study show that a
UML-based DSML language model is predominantly
formalized via profile definitions which tailor mostly class, activity,
component, and package diagrams. Textual descriptions and
the OCL are most frequently used in combination to define
consistency rules on a single model for verification purposes.
In the majority of cases, the DSML reports do not document
any tool support for enforcing these rules. Results of our study
partly confirm findings from as well as add to the observations
by related work.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>D.</given-names>
            <surname>Spinellis</surname>
          </string-name>
          , “
          <article-title>Notable design patterns for domain-specific languages,”</article-title>
          <string-name>
            <given-names>J.</given-names>
            <surname>Syst</surname>
          </string-name>
          . Softw., vol.
          <volume>56</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>91</fpage>
          -
          <lpage>99</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>U.</given-names>
            <surname>Zdun</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Strembeck</surname>
          </string-name>
          , “
          <article-title>Reusable architectural decisions for DSL design: Foundational decisions in DSL development,”</article-title>
          <source>in Proc. 14th Europ. Conf. Patt. Lang. Prog.</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Object</given-names>
            <surname>Management</surname>
          </string-name>
          <string-name>
            <surname>Group</surname>
          </string-name>
          , “
          <article-title>OMG meta object facility (MOF) core specification</article-title>
          ,” Available at: http://www.omg.org/spec/MOF,
          <year>2015</year>
          , version
          <issue>2</issue>
          .5, formal/2015-06-05.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4] --, “
          <article-title>OMG unified modeling language (OMG UML)</article-title>
          ,” Available at: http://www.omg.org/spec/UML,
          <year>2015</year>
          , version
          <issue>2</issue>
          .5, formal/2015-03-01.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>L.</given-names>
            <surname>Nascimento</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. L.</given-names>
            <surname>Viana</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. A. M. S.</given-names>
            <surname>Neto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. A. O.</given-names>
            <surname>Martins</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V. C.</given-names>
            <surname>Garcia</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S. R. L.</given-names>
            <surname>Meira</surname>
          </string-name>
          , “
          <article-title>A systematic mapping study on domainspecific languages,”</article-title>
          <source>in Proc. 7th Int. Conf. Softw. Eng. Adv. IARIA</source>
          ,
          <year>2012</year>
          , pp.
          <fpage>179</fpage>
          -
          <lpage>187</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>J.</given-names>
            <surname>Hutchinson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Whittle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Rouncefield</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Kristoffersen</surname>
          </string-name>
          , “
          <article-title>Empirical assessment of MDE in industry</article-title>
          ,”
          <source>in Proc. 33rd Int. Conf. Softw. Eng. ACM</source>
          ,
          <year>2011</year>
          , pp.
          <fpage>471</fpage>
          -
          <lpage>480</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Strembeck</surname>
          </string-name>
          and U. Zdun, “
          <article-title>An approach for the systematic development of domain-specific languages,” Softw</article-title>
          . Pract. Exper., vol.
          <volume>39</volume>
          , no.
          <issue>15</issue>
          , pp.
          <fpage>1253</fpage>
          -
          <lpage>1292</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Object</given-names>
            <surname>Management</surname>
          </string-name>
          <string-name>
            <surname>Group</surname>
          </string-name>
          , “
          <article-title>Object constraint language</article-title>
          ,” Available at: http://www.omg.org/spec/OCL,
          <year>2014</year>
          , version
          <issue>2</issue>
          .4, formal/2014-02-03.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>J.</given-names>
            <surname>Simmonds</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. V. D.</given-names>
            <surname>Straeten</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Jonckers</surname>
          </string-name>
          , and T. Mens, “
          <article-title>Maintaining consistency between UML models using description logic,”</article-title>
          <string-name>
            <surname>RSTI - L'Objet</surname>
          </string-name>
          , vol.
          <volume>10</volume>
          , no.
          <issue>2-3</issue>
          , pp.
          <fpage>231</fpage>
          -
          <lpage>244</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>D.</given-names>
            <surname>Torre</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Labiche</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Genero</surname>
          </string-name>
          , “
          <article-title>UML consistency rules: A systematic mapping study</article-title>
          ,”
          <source>in Proc. 18th Int. Conf. Eval. Assess. Softw. Eng. ACM</source>
          ,
          <year>2014</year>
          , pp.
          <volume>6</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          :
          <fpage>10</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>D.</given-names>
            <surname>Torre</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Labiche</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Genero</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Elaasar</surname>
          </string-name>
          , “
          <article-title>A systematic identification of consistency rules for UML diagrams</article-title>
          ,” Available at: http://squall.sce.carleton.ca/pubs/tech report/TR SCE-
          <volume>15</volume>
          -01. pdf, Carleton University,
          <source>Tech. Rep. SCE-15-01</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>S.</given-names>
            <surname>Sobernig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Hoisl</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Strembeck</surname>
          </string-name>
          , “
          <article-title>Extracting reusable design decisions in UML-based domain-specific languages: A multi-method study,” submitted.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>D.</given-names>
            <surname>Budgen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. J.</given-names>
            <surname>Burn</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O. P.</given-names>
            <surname>Brereton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. A.</given-names>
            <surname>Kitchenham</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Pretorius</surname>
          </string-name>
          , “
          <article-title>Empirical evidence about the UML: A systematic literature review,” Softw</article-title>
          . Pract. Exper., vol.
          <volume>41</volume>
          , no.
          <issue>4</issue>
          , pp.
          <fpage>363</fpage>
          -
          <lpage>392</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>J.</given-names>
            <surname>Hutchinson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Whittle</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Rouncefield</surname>
          </string-name>
          , “
          <article-title>Model-driven engineering practices in industry: Social, organizational and managerial factors that lead to success or failure</article-title>
          ,
          <source>” Sci. Comput. Program.</source>
          , vol.
          <volume>89</volume>
          ,
          <string-name>
            <surname>Part</surname>
            <given-names>B</given-names>
          </string-name>
          , pp.
          <fpage>144</fpage>
          -
          <lpage>161</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>E.</given-names>
            <surname>Evans</surname>
          </string-name>
          ,
          <article-title>Domain-driven Design: Tackling Complexity in the Heart of Software, 1st ed</article-title>
          .
          <source>Addison-Wesley</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>T.</given-names>
            <surname>Mens</surname>
          </string-name>
          and P. v. Gorp, “
          <article-title>A taxonomy of model transformation</article-title>
          ,
          <source>” Electron. Notes Theor. Comput. Sci.</source>
          , vol.
          <volume>152</volume>
          , pp.
          <fpage>125</fpage>
          -
          <lpage>142</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>S.</given-names>
            <surname>Sobernig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Hoisl</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Strembeck</surname>
          </string-name>
          , “
          <article-title>Protocol for a systematic literature review on design decisions for UML-based DSMLs</article-title>
          ,” Available at: http://epub.wu.ac.at/4467/, WU Vienna,
          <source>Tech. Rep</source>
          .
          <year>2014</year>
          /02,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>H.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Babar</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Tell</surname>
          </string-name>
          , “
          <article-title>Identifying relevant studies in software engineering</article-title>
          ,” Inform. Softw. Tech., vol.
          <volume>53</volume>
          , no.
          <issue>6</issue>
          , pp.
          <fpage>625</fpage>
          -
          <lpage>637</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>S.</given-names>
            <surname>Jalali</surname>
          </string-name>
          and
          <string-name>
            <given-names>C.</given-names>
            <surname>Wohlin</surname>
          </string-name>
          , “
          <article-title>Systematic literature studies: Database searches vs</article-title>
          . backward snowballing,”
          <source>in Proc. ACM-IEEE Int. Sym. Empir. Softw. Eng. Meas. ACM</source>
          ,
          <year>2012</year>
          , pp.
          <fpage>29</fpage>
          -
          <lpage>38</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>B.</given-names>
            <surname>Hoisl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sobernig</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Strembeck</surname>
          </string-name>
          , “
          <article-title>A catalog of reusable design decisions for developing UML/MOF-based domain-specific modeling languages</article-title>
          ,” Available at: http://epub.wu.ac.at/4466/, WU Vienna,
          <source>Tech. Rep</source>
          .
          <year>2014</year>
          /03,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>J.</given-names>
            <surname>Be</surname>
          </string-name>
          <article-title>´zivin and</article-title>
          <string-name>
            <given-names>F.</given-names>
            <surname>Jouault</surname>
          </string-name>
          , “
          <article-title>Using ATL for checking models</article-title>
          ,
          <source>” Electron. Notes Theor. Comput. Sci.</source>
          , vol.
          <volume>152</volume>
          , pp.
          <fpage>69</fpage>
          -
          <lpage>81</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>A. S.-B. Herrera</surname>
            , E. Willink,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Zanzeebarr</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Igdalov</surname>
            ,
            <given-names>C. W.</given-names>
          </string-name>
          <string-name>
            <surname>Damus</surname>
            , and
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Boldt</surname>
          </string-name>
          , “OCL/FAQ - Eclipsepedia,” Available at: http://wiki. eclipse.org/OCL/FAQ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>B.</given-names>
            <surname>Kitchenham</surname>
          </string-name>
          , “
          <article-title>Procedures for performing systematic reviews</article-title>
          ,” Keele University &amp; National ICT Ltd.,
          <source>Joint Tech. Rep</source>
          . (Keele University Tech. Rep.,
          <source>NICTA Tech. Rep.) TR/SE-0401, 0400011T.1</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>P.</given-names>
            <surname>Langer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Wieland</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Wimmer</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Cabot</surname>
          </string-name>
          , “
          <article-title>EMF profiles: A lightweight extension approach for EMF models</article-title>
          ,” J. Object Technol., vol.
          <volume>11</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>29</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>S.</given-names>
            <surname>Schefer</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Strembeck</surname>
          </string-name>
          , “
          <article-title>Modeling support for delegating roles, tasks, and duties in a process-related RBAC context,”</article-title>
          <source>in Proc. Int. Worksh. Inform. Syst. Secur. Eng., ser. LNBIP</source>
          , vol.
          <volume>83</volume>
          . Springer,
          <year>2011</year>
          , pp.
          <fpage>660</fpage>
          -
          <lpage>667</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>S.</given-names>
            <surname>Schefer-Wenzl</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Strembeck</surname>
          </string-name>
          , “
          <article-title>An approach for consistent delegation in process-aware information systems,”</article-title>
          <source>in Proc. 15th Int. Conf. Bus. Inform. Syst., ser. LNBIP</source>
          , vol.
          <volume>117</volume>
          . Springer,
          <year>2012</year>
          , pp.
          <fpage>60</fpage>
          -
          <lpage>71</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>C.</given-names>
            <surname>Atkinson</surname>
          </string-name>
          and T. Ku¨hne, “
          <article-title>Processes and products in a multi-level metamodeling architecture,”</article-title>
          <string-name>
            <given-names>Int. J.</given-names>
            <surname>Softw</surname>
          </string-name>
          . Eng. Know., vol.
          <volume>11</volume>
          , no.
          <issue>6</issue>
          , pp.
          <fpage>761</fpage>
          -
          <lpage>783</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28] --, “
          <article-title>A tour of language customization concepts</article-title>
          ,
          <source>” Adv. Comput.</source>
          , vol.
          <volume>70</volume>
          , pp.
          <fpage>105</fpage>
          -
          <lpage>161</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>D.</given-names>
            <surname>Kolovos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Rose</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          <article-title>Garc´ıa-Dom´ınguez, and</article-title>
          <string-name>
            <given-names>R.</given-names>
            <surname>Paige</surname>
          </string-name>
          , “The Epsilon book,” Available at: http://www.eclipse.org/epsilon/doc/book/,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>E.</given-names>
            <surname>Cariou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Ballagny</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Feugas</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Barbier</surname>
          </string-name>
          , “
          <article-title>Contracts for model execution verification,” in Model</article-title>
          . Found. Applicat., ser.
          <source>LNCS</source>
          . Springer,
          <year>2011</year>
          , vol.
          <volume>6698</volume>
          , pp.
          <fpage>3</fpage>
          -
          <lpage>18</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>T.</given-names>
            <surname>Schattkowsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hausmann</surname>
          </string-name>
          , and G. Engels, “
          <article-title>Using UML activities for system-on-chip design and synthesis,” in Model Driven Eng</article-title>
          . Lang. Syst., ser.
          <source>LNCS</source>
          . Springer,
          <year>2006</year>
          , vol.
          <volume>4199</volume>
          , pp.
          <fpage>737</fpage>
          -
          <lpage>752</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>J.</given-names>
            <surname>Bergh</surname>
          </string-name>
          and
          <string-name>
            <given-names>K.</given-names>
            <surname>Coninx</surname>
          </string-name>
          ,
          <source>“CUP 2</source>
          .
          <article-title>0: High-level modeling of contextsensitive interactive applications,” in Model Driven Eng</article-title>
          . Lang. Syst., ser.
          <source>LNCS</source>
          . Springer,
          <year>2006</year>
          , vol.
          <volume>4199</volume>
          , pp.
          <fpage>140</fpage>
          -
          <lpage>154</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>N.</given-names>
            <surname>Ubayashi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Tamai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Maeno</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Murakami</surname>
          </string-name>
          , “
          <article-title>Model compiler construction based on aspect-oriented mechanisms,” in Gen</article-title>
          . Program. Compon. Eng., ser.
          <source>LNCS</source>
          . Springer,
          <year>2005</year>
          , vol.
          <volume>3676</volume>
          , pp.
          <fpage>109</fpage>
          -
          <lpage>124</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>E.</given-names>
            <surname>Soler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Trujillo</surname>
          </string-name>
          ,
          <string-name>
            <surname>E.</surname>
          </string-name>
          <article-title>Ferna´ndez-</article-title>
          <string-name>
            <surname>Medina</surname>
            , and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Piattini</surname>
          </string-name>
          , “
          <article-title>Building a secure star schema in data warehouses by an extension of the relational package from CWM,” Comp</article-title>
          . Stand. Inter., vol.
          <volume>30</volume>
          , no.
          <issue>6</issue>
          , pp.
          <fpage>341</fpage>
          -
          <lpage>350</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>