<!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 Analysis for User Requirements Notation Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Okhaide Akhigbe</string-name>
          <email>okhaide@uottawa.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daniel Amyot</string-name>
          <email>damyot@uottawa.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Amal Ahmed Anda</string-name>
          <email>aanda027@uottawa.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Lysanne Lessard</string-name>
          <email>lessard@telfer.uottawa.ca</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daoyang Xiao</string-name>
          <email>dxiao089@uottawa.ca</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>School of Electrical Engineering and Computer Science</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Telfer School of Management University of Ottawa</institution>
          ,
          <addr-line>Ottawa</addr-line>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2016</year>
      </pub-date>
      <volume>1674</volume>
      <fpage>43</fpage>
      <lpage>48</lpage>
      <abstract>
        <p>The User Requirements Notation (URN) is a standard modeling language that includes two complementary views, one for goals with the Goaloriented Requirement Language (GRL) and one for scenarios/processes with Use Case Maps (UCM). The URN standard, however, does not provide means of checking consistency between the GRL and UCM views, leading to models that are potentially erroneous. This paper presents a preliminary set of rules for checking common consistency properties in URN models. These rules have been implemented as user-selectable OCL constraints in the jUCMNav tool. Future opportunity for research in that space are also identified.</p>
      </abstract>
      <kwd-group>
        <kwd>User Requirements Notation</kwd>
        <kwd>GRL</kwd>
        <kwd>Goal</kwd>
        <kwd>Scenario</kwd>
        <kwd>Consistency</kwd>
        <kwd>OCL</kwd>
        <kwd>jUCMNav</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The User Requirements Notation (URN) is a standard modeling language used to
model and analyze requirements [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ]. URN includes two complementary views, the
Goal-oriented Requirement Language (GRL) for modeling goals, actors, indicators,
and their relationships, and the Use Case Map (UCM) notation for modeling
responsibilities, processes/scenarios, and their underlying components. GRL and UCM
models can be connected using typed URN Links by specifying user-defined
relationships between any pair of URN model elements. URN Links establish traceability and
enable completeness and consistency analysis between GRL and UCM models.
      </p>
      <p>Although the URN standard provides well-formedness rules to ensure some
consistency within each of the GRL and UCM views, it does not provide means of
checking consistency across these views, leading to models that are potentially erroneous.</p>
      <p>
        To address this gap, we present a preliminary set of user-selectable rules for
checking common consistency properties in URN models in a way that exploits URN Links
as well as URN metadata (i.e., annotations on URN model elements). The rules were
created using UML’s Object Constraint Language (OCL) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], and implemented in the
jUCMNav tool. jUCMNav is a free plugin for Eclipse used to create and analyze
Copyright © 2016 for this paper by its authors. Copying permitted for private and academic purposes.
URN models [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. This paper is a first step towards user-selectable rules supporting
automated consistency analysis between the GRL and UCM views of a URN model.
      </p>
      <p>The remainder of the paper is as follows. Section 2 describes work related to
consistency analysis in modeling languages. A modeling example is used to describe
consistency problems in URN models in Section 3, while Section 4 highlights our
proposed consistency rules. This paper concludes in Section 5 with a summary and a
list of potential consistency issues we hope to address in the future.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        Consistency analysis in modeling aims to detect contradictions when multiple views
are used to specify different subsets of a model. Inconsistencies occur frequently if
these views are provided by different modelers, or when a language includes different
sub-notations. A good example is UML, where several challenges exist due to the
presence of 14 diagram types. For instance, messages used in sequence diagrams and
transition actions used in state machine diagrams must correspond to operations (and
their signatures) in their respective classes in class diagrams. There is even a
workshop focusing on such issues [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Resolving consistency issues often involves adding,
deleting, or modifying model elements in one or many views to better align the latter
with each other.
      </p>
      <p>
        Goal models have also been connected to other types of models, with consistency
challenges. Alves et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] have investigated bi-directional mappings between
Business Process Model and Notation (BPMN) and i* models. Their mappings targeted
transformations (instead of checking), but these mappings were not defined in a way
amenable to automation. A similar informal and syntactic approach was explored by
Guizzardi and Reis for BPMN and Tropos models [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. In their GoalBPM approach,
Koliadis and Ghose trace BPMN elements to KAOS goals through effect annotations
[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Sousa and Leite proposed to merge BPMN, i* and indicators into a single
language in their GPI approach, in order to simplify the alignment between goals and
processes. However, they do not suggest consistency or completeness rules.
      </p>
      <p>Our work is inspired from these related contributions, but also targets automated
checking of inconsistencies in a standard multi-view language (URN) through
userselectable rules formalized in OCL.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Consistency Issues in URN Models</title>
      <p>Consider the illustrative example described in Fig. 1. In the GRL view shown on the
left, we have a Transportation System whose At Work goal is decomposed into two
options described as tasks: By Bus or By Bike. The Worker actor wants to improve her
health, and the first option hurts that softgoal whereas the second option helps it. The
top UCM map shown in Fig. 1 describes the process involved in the worker getting to
work. The choice of transportation mode is described using a dynamic stub
(Transport) and two options are available, TakeCar and TakeBus, captured as
submaps with one responsibility each (and plugged into that stub).
URN Links of type Traces are used to capture explicit traceability information used
during consistency analysis, and links are visualized through outgoing (▶) and
incoming (◀) link triangles. In this example, the Worker actor in the GRL view traces to the
Worker component in the UCM view. In addition, the By Bus task in the GRL view
traces (incorrectly) to the TakeCar responsibility in the UCM view. The connecting
arrows were added for illustration but they are not part of the URN notation.</p>
      <p>We can observe potential inconsistencies across these GRL and UCM views. The
GRL Transportation System should likely trace to the UCM System. The By Bike task
has no corresponding map or responsibility, which can raise several questions (is this
task spurious? Is a map or responsibility missing?). The By Bus task likely traces to
the incorrect responsibility (should be to TakeBus instead of TakeCar), but then the
TakeCar map might require a link from a new GRL task or be removed for
consistency. Lastly, the Leave responsibility has no trace link, but maybe there is no reason to
link it either; not all fine-grained operationalizations need to be justified, just like not
all goals need to be operationalized (e.g., the color of the system shall be blue).</p>
      <p>Given the current lack of support for consistency analysis in the URN standard,
these types of inconsistencies (and others) could easily be overlooked in more
complex models, leading to erroneous model analysis results. The resolution of such
inconsistencies (e.g., adding/removing/modifying a GRL/UCM model element or URN
Link, or tagging a model element as something that does not require traceability)
requires human judgement and is outside the scope of this work. However,
consistency rules can still be defined formally in order to detect violations automatically.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Goal-Process Consistency Rules for URN Models</title>
      <p>
        Consistency rules can be defined as constraints on a language’s metamodel. OCL is a
good choice in our context as URN has a unified metamodel covering both the GRL
and UCM views. From an implementation perspective, jUCMNav supports the
definition, selection, and checking of OCL rules by modelers, and a library of predefined
OCL functions for extracting information from URN models is also provided [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
Such mechanisms enable the checking of rules, e.g., in a language profile [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>Our consistency rules exploit two modeler-provided information elements: URN
Links of type Traces from a GRL element to a UCM element (by convention), and
metadata (name=Traces, value=No) used to annotate model elements for which we do
not expect any consistency-related Traces link. Rules come in groups of multiple,
fine-grained OCL invariants in order to report violations with precise error messages.</p>
      <p>The first rule (#1, below) addresses the consistency between GRL actors and UCM
components. Part #1a checks the existence of a Traces link sourced at the GRL actor
and part #1b checks that the target of such links is indeed a UCM component. These
invariants make use of OCL functions predefined in our library: invoking
getMetadata(n:String):String returns the value of the first attached metadata object whose
name is n, and getLinksToForType(t:String):Sequence(URNmodelElement) returns a
collection of target model elements found at the end of URN Links of type t.
context grl::Actor
inv URNconsAllActorsToComponents:
-- #1a: Each GRL actor must have a Traces link to a UCM component,
-- unless tagged with Traces=No
not(getMetadata('Traces')='No') implies</p>
      <p>(getLinksToForType('Traces')-&gt;size() &gt; 0)
inv URNconsActorsToComponentsOnly:
-- #1b: Traces links from a GRL actor must only be to a UCM *component*
not(getMetadata('Traces')='No') implies
( getLinksToForType('Traces')-&gt;
forAll(me:urncore::URNmodelElement |</p>
      <p>me.oclIsKindOf(urncore::Component) ) )
The above invariants check this rule from the actors’ perspective only. However, one
must also check the presence of links from the UCM components’ perspective (as
there could be components without incoming Traces links). Hence, another pair of
similar invariants is provided (#1c and #1d in Table 1). A violation of any of these
invariants reported by jUCMNav on a URN model will indicate which model element
is incorrect, and the description is returned as an error message. For the example in
Fig. 1, jUCMNav reports violations of invariant #1a on the GRL actor Transportation
System and of invariant #1c on the UCM component System.</p>
      <p>The second rule in Table 1, composed of six invariants, checks the consistency
between GRL intentional elements and UCM maps or responsibilities (in order to cover
different levels of granularity). For example, in Fig. 1, the GRL goal At Work could
have a Traces link to the top-level UCM map, and the Leave responsibility could be
tagged with a Traces=No metadata. Rule 3 is an alternative to Rule 2 where only
GRL tasks are used for consistency checking instead of any type of GRL intentional
element (assuming that covering tasks is enough in some modeling context). The
modeler would need to choose between Rule 2 and Rule 3 for the consistency analysis
as these rules are mutually exclusive.
ID
1a
1b
1c
1d
2a
2b
2c
2d
2e
2f
3a
3b
3c
3d
3e
3f
4c
4d
Rule 4 is a recursive version of Rule 1 where #4a=#1a and #4b=#1b. From a UCM
perspective, it suffices that the component or one of its containing components is the
target of a Traces link from a GRL actor for the rule to be satisfied. For example, if
component C2 is the target of a valid Traces link and C1 contains C2 and C2 contains
C3, then C2 and C3 would be consistent (no violation) whereas C1 would not. Other
such recursive rules, which minimize the need to manually create Traces URN links,
could also be considered (e.g., for a structure of maps with stub containing sub-maps).
5</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions and Future Work</title>
      <p>In this paper, using an example, we showed a preliminary set of consistency rules for
automatically checking common consistency properties across the goal and process
views in URN models. The 18 invariants in Table 1 have been implemented as
userselectable OCL constraints in the jUCMNav tool, and tested for correctness. Other
such rules are currently under development and are expected to be released as a
catalogue of validated consistency rules, possibly integrated to the URN standard.</p>
      <p>This work raises many new research questions on how best to achieve sound
goalprocess consistency in URN models while maximizing usability through automation
(as manually creating and checking URN links is much cumbersome). For example:
• Should there be different types of links connecting GRL and UCM elements?
• Can UCM variables (used in conditions and responsibilities) capturing the
satisfaction levels of GRL intentional elements be used as traceability links?
• What recursive rules exploiting containment structures are beneficial?
• Should different rules apply to different parts/elements of a URN model?
• Can natural language processing (NLP) or other approaches be used for
creating (some) URN links automatically?
• How can jUCMNav’s interface be made more usable? E.g., when we create a</p>
      <p>
        GRL actor, should a UCM component be created and linked automatically?
• In addition to the “syntactic” rules proposed in this paper, should semantic
rules and evolution rules (consistency across versions) be considered [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]?
An empirical study on the application of such rules would also help observe what
really helps or hurts in terms of consistency and overall quality of URN models.
Acknowledgments. OA and DX are supported by Discovery grants (of DA ad LL
respectively) from the Natural Science and Engineering Research Council of Canada.
OA is further supported by Interis Consulting/BDO, and AAA by a scholarship from
the Government of Libya.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. International Telecommunication Union: Recommendation Z.
          <volume>151</volume>
          (
          <issue>10</issue>
          /12),
          <string-name>
            <given-names>User</given-names>
            <surname>Requirements Notation (URN) - Language Definition</surname>
          </string-name>
          . Geneva, Switzerland,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Amyot</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mussbacher</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>User Requirements Notation: The First Ten Years, The Next Ten Years</article-title>
          .
          <source>Journal of Software (JSW)</source>
          , Vol.
          <volume>6</volume>
          , No.
          <volume>5</volume>
          ,
          <fpage>747</fpage>
          -
          <lpage>768</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. Object Management Group:
          <article-title>Object Constraint Language (OCL), Version 2</article-title>
          .4,
          <year>February 2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Amyot</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shamsaei</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kealey</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tremblay</surname>
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Miga</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mussbacher</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tawhid</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Braun</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Catwright</surname>
          </string-name>
          , N.:
          <article-title>Towards Advanced Goal Model Analysis with jUCMNav</article-title>
          ,
          <source>in ER Workshops</source>
          <year>2012</year>
          , Springer, pp.
          <fpage>201</fpage>
          -
          <lpage>210</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Torre</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Labiche</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Genero</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Elaasar</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Das</surname>
            ,
            <given-names>T.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hoisl</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kowal</surname>
            ,
            <given-names>M.: WUCOR</given-names>
          </string-name>
          <year>2015</year>
          :
          <article-title>Post workshop report</article-title>
          .
          <source>ACM SIGSOFT SEN</source>
          ,
          <volume>41</volume>
          (
          <issue>2</issue>
          ):
          <fpage>34</fpage>
          -
          <lpage>37</lpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Alves</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Silva</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Castro</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>A bi-directional mapping between i* and BPMN models in the context of business process management</article-title>
          .
          <source>ER@BR</source>
          <year>2013</year>
          .
          <article-title>CEUR-</article-title>
          WS Vol-
          <volume>1005</volume>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reis</surname>
            ,
            <given-names>A.N.:</given-names>
          </string-name>
          <article-title>A Method to Align Goals and Business Processes</article-title>
          .
          <source>Conceptual Modeling. LNCS 9381</source>
          , Springer,
          <fpage>79</fpage>
          -
          <lpage>93</lpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Koliadis</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ghose</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Relating Business Process Models to Goal-Oriented Requirements Models in KAOS</article-title>
          .
          <source>PKAW 2006. NCS 4303</source>
          , Springer,
          <fpage>25</fpage>
          -
          <lpage>39</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Sousa</surname>
            ,
            <given-names>H.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leite</surname>
            ,
            <given-names>J.C.S.P</given-names>
          </string-name>
          : Modeling Organizational Alignment.
          <source>Conceptual Modeling. LNCS 8824</source>
          ,
          <fpage>407</fpage>
          -
          <lpage>414</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Amyot</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yan</surname>
            ,
            <given-names>J.B.</given-names>
          </string-name>
          :
          <article-title>Flexible Verification of User-Defined Semantic Constraints in Modelling Tools</article-title>
          .
          <source>CASCON</source>
          <year>2008</year>
          . ACM Press,
          <fpage>81</fpage>
          -
          <lpage>95</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Amyot</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horkoff</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gross</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mussbacher</surname>
          </string-name>
          , G.:
          <article-title>A Lightweight GRL Profile for i* Modeling</article-title>
          .
          <source>RIGiM</source>
          <year>2009</year>
          , ER Workshops,
          <source>LNCS 5833</source>
          . Springer,
          <fpage>254</fpage>
          -
          <lpage>264</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>