<!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>Analysing the Style of Textual Labels in {_ Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Arian Storch</string-name>
          <email>arian.storch@it-factum.de</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ralf Laue</string-name>
          <email>ralf.laue@fh-zwickau.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Volker Gruhn</string-name>
          <email>volker.gruhn@paluno.uni-due.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Paluno - The Ruhr Institute for Software Technology, University of Duisburg-Essen</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Applied Sciences of Zwickau, Department of Information Science</institution>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>it factum GmbH</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>An important quality aspect for conceptual models (such as {_ models) is the quality of textual labels. Naming conventions are aimed to make sure that labels are used in a consistent manner. We present a tool that checks automatically whether a textual label in an {_ model adheres to a set of naming conventions. This does not only help to enforce the use of a consistent labelling style, it also helps to detect modelling errors such as goals in {_ models that should be softgoals (or vice versa).</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        {_ is a frequently used visual language for modelling the social relationships
between actors. The language contains graphical symbols for various concepts (such
as goal or task) which have to be used correctly if the model should be useful.
In [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], Horko et al. analysed 30 {_ models from student works and academic
papers in order to discover model elements that use a convention contrary to
the generally accepted guidelines published in the {_ Wiki 1. They found a large
number of problems in these models that result from the fact that the wrong
type of model element was used. In the 30 models, Horko et al. identi ed 10
problems of the type \softgoal should be goal", 15 problems \goal should be
softgoal", 8 problems \task should be softgoal" and 7 problems \softgoal should
be task".
      </p>
      <p>We believe that a way to reduce such problems can be to use a consistent
labelling style throughout the model. By forcing the modeler to think whether
an element should be named \reduce waste" or \waste to be reduced", he or
she is also forced to think whether the concept should be represented as a task
or as a goal. Furthermore, the usage of common labelling styles can reduce the
di culty to understand a model.</p>
    </sec>
    <sec id="sec-2">
      <title>Labelling Styles for {_</title>
    </sec>
    <sec id="sec-3">
      <title>Models</title>
      <p>
        [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] suggests a similar style:
      </p>
      <sec id="sec-3-1">
        <title>Element type Goal Softgoal Task</title>
        <p>Resource</p>
      </sec>
      <sec id="sec-3-2">
        <title>Syntax</title>
        <p>subject + \be" + verb
softgoal [topic]
verb + object</p>
        <p>
          Noun
[
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] suggests the labelling style:
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>Example</title>
        <p>Result be correct</p>
        <p>Improve [IT skills]
Fill out application form</p>
        <p>Con rmation</p>
        <p>In the above tables, parentheses are used to denote optional elements;
brackets are part of the label. To our best knowledge, current {_ modelling tools are
not able to validate labels with respect to such conventions. However, there is a
great amount of work on checking the labels in business process models. When
developing our approach for style checks of {_ labels, we made use of the
experiences with tools developed in this context (see [5{7]; the last reference contains
an overview on more papers on the topic).</p>
        <p>Although the styles shown in the above tables seem to be quite similar, a
closer look shows that there are subtle di erences. Let's assume that a Resource
label should be a \name of the object". This is more restrictive than saying it
should be a noun, because nouns can be accompanied by articles, attributive and
adjectives. In that case \mail" would be valid, but \sent mail" won't. Similarly, if
we would require that a Softgoal should rather be labeled with a quality attribute
than with a Goal syntax, \usable" would be valid, but not \User interface is
usable". For this reason, we decided to regard a label as having the correct style
if it adheres to the following superset of style rules:</p>
      </sec>
      <sec id="sec-3-4">
        <title>Task</title>
      </sec>
      <sec id="sec-3-5">
        <title>Resource</title>
        <p>Syntax
object + passive verb
quality attribute (+ object) (+
complement)
goal syntax (+ complement)
verb (in present form) + object
(+ complement)
object</p>
      </sec>
      <sec id="sec-3-6">
        <title>Example Trip advice is provided Precise information</title>
      </sec>
      <sec id="sec-3-7">
        <title>Document is sent securely Use back-end user interface</title>
      </sec>
      <sec id="sec-3-8">
        <title>Route card</title>
        <p>3
3.1</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Label-Checking Algorithm and Patterns</title>
      <p>
        Third-Party Frameworks for Natural Language Processing
To analyse, process and validate a label, we rst need to know what kinds of
words it contains. This process is called part-of-speech (POS) tagging.
POStaggers typically combine lexical databases with statistical algorithms to
determine the kind of a word, a part-of-speech or even a phrase within a sentence[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
One of the most popular POS tagger is the Stanford Parser2 which is contained
in a toolset developed by the Stanford Natural Language Processing Group3.
Another frequently used tool is WordNet[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]4, a lexical database which provides
information about semantic and lexical relations between words. A combined
API for both frameworks is provided by a tool called qap (quality assurance
project) which is currently developed by the b ow* Toolbox team5. The API
provides an easy access to the Stanford Parser and WordNet. Using that API,
we could focus on the implementation of the labelling style checks which will be
discussed in the following subsections.
3.2
      </p>
      <p>Our Approach
Our goal is to compare the label of an {_ model element to the style rules for this
element type. For this purpose, we make use of the Stanford Parser, a statistical
parser that works out the grammatical structure of sentences. It can recognize
which groups of words go together as phrases and which words are the subject
or object of a verb2.</p>
      <p>The parser provides viable results when the input is a complete sentence.
However, this is unfortunately often not the case for a label in an {_ model.
Assume that a Resource is labeled with \log message". This phrase is ambiguous,
because \log" can be either a verb or a subject. To determine the correctness, the
parser needs more context information, which we can derive from the element
type. By analysing \log message" only, the parser will nd that \log" is a verb
and \message" is a noun. In that case, it cannot recognize that this phrase is
2http://nlp.stanford.edu/software/lex-parser.shtml
3http://www-nlp.stanford.edu/
4http://wordnet.princeton.edu/
5http://www.b ow.org/
an object which is valid for a Resource label. Similar problems exist with other
element types. To deal with such problems, we have decided to add additional
words to the labels, thus trying to create complete sentences.</p>
      <p>
        Our general approach can be summarized as follows: First, we complement
the label with a pre x that depends on the element type such that for correctly
named labels, we get a complete sentence. For the label to be valid, the
resulting sentence has to be syntactically correct. In the next step, the Stanford
Parser processes the sentence and creates the so-called phrase structure tree of
the sentence. It assigns to each word a part-of-speech (POS) tag such as CC
(coordinating conjunction), DT (determiner), EX (existential there), IN
(preposition), JJ (adjective), NN (noun), VB (verb), VBN (Verb, past participle) and
VBZ (verb, 3rd person singular present)[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>We de ne a pattern of valid sequences of POS tags for each type of
modelling element. The label is regarded as valid if its POS tags match this pattern,
allowing that the label may contain additional words after the pattern (this way
both \Test database" as \Test database for consistency" would be regarded as
a task).</p>
      <p>We describe the style rules by a pattern in the Extended Backus-Naur Form.
At rst, we describe the POS tags of an Object. Examples of valid objects and
the corresponding sequences of POS tags are:</p>
      <sec id="sec-4-1">
        <title>Label Sequence of POS tags</title>
        <p>bank NN
test run NN NN
list of credit cards NN IN NN NN
list of valid credit cards NN IN JJ NN NN
summarized balance sheet JJ NN NN</p>
      </sec>
      <sec id="sec-4-2">
        <title>This is expressed by the following rules:</title>
        <p>NNSEQ := NN, fNNg; (examples: \bank", \test run")
JNS := [JJ, fJJg], NNSEQ; (examples: \cheque", \valid cheque")
OBJECT := [DT], JNS, [IN, JNS]; (example: \a complete list of valid credit
cards")
Resource style check Given a label L, we complement it with the pre x
\There is a" and the su x \." (period), i.e. the parser analyses the (potential)
sentence \There is a L." . We conclude that the label is correct, if L matches
the pattern of an object.</p>
        <p>We use \There is" as pre x in order to increase the probability of identifying
\is" as the only verb of the sentence. For instance, if we have to validate the
label \summarized balance sheet", \summarized" (without this pre x) would be
wrongly tagged as verb.</p>
        <p>Task style check Given a label L, the parser analyses the (potential) sentence
\I L."</p>
      </sec>
      <sec id="sec-4-3">
        <title>L is required to match the pattern of a Task:</title>
        <p>TASK := VB, [IN], OBJECT; (examples: \Test database", \Add to score")
Goal style check A Goal label is required to match the pattern:</p>
        <p>GOAL := OBJECT, (\is" j \are"), VBN; (example: \Results are corrected")
Softgoal style check Because there are two competing rules, the validation is
done in two steps. First, the label is validated by the \quality attribute" rule.
For this purpose, the parser analyses the (potential) sentence \It is L.". Second,
it is checked whether the label is a goal, followed by an arbitrary complement.</p>
        <p>L is required to match the pattern of a Softgoal (possibly followed by an
arbitrary complement):
SG := QA j GOAL; (quality attribute or goal)
QA := JJ, fJJg, [OBJECT]; (example: \inexpensive delivery")</p>
        <p>Fig.1 shows the validation result of a model from our tool within the {_
modelling tool openOME 6.</p>
        <p>6http://www.cs.toronto.edu/km/openome/</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>In this paper, we presented a set of POS tag patterns that can be used to
validate the adherence of {_ labels to a set of style recommendations. We derive the
correctness of a label from its element type and the related style
recommendation. We achieved reliable results by complementing the given (normally short)
labels to (potentially) whole sentences.</p>
      <p>These patterns have been implemented using the tool qap that provides an
API to WordNet and the Stanford Parser. Our tool prototype is both
extensible as con gurable. It is easy to change our patterns, remove or add new ones.
Though we tested our patterns within openOME, there is no technical
dependency between openOME and our prototype. qap and our style checks can be
used with any other tool as well.</p>
      <p>A drawback we observed quite often is an incorrect spelling which aws the
reliability of the checks. For instance, \relevant advices" will lead to another
result than \relevant advises" because the POS tagger cannot identify the word
correctly.</p>
      <p>In future, we plan to add additional linguistic analysis functionality to our
tool in order to make more sophisticated analysis possible.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Horko</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Elahi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abdulhadi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yu</surname>
          </string-name>
          , E.:
          <article-title>Re ective analysis of the syntax and semantics of the i* framework</article-title>
          . In: Advances in Conceptual Modeling,
          <source>Challenges and Opportunities</source>
          . Volume
          <volume>5232</volume>
          <source>of LNCS</source>
          . Springer (
          <year>2008</year>
          )
          <volume>249</volume>
          {
          <fpage>260</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>de Padua Albuquerque Oliveira</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , do Prado Leite,
          <string-name>
            <given-names>J.C.S.</given-names>
            ,
            <surname>Cysneiros</surname>
          </string-name>
          ,
          <string-name>
            <surname>L.M.:</surname>
          </string-name>
          <article-title>Using i* meta modeling for verifying i* models</article-title>
          .
          <source>In: 4th International i* Workshop4</source>
          . (
          <year>2010</year>
          )
          <volume>76</volume>
          {
          <fpage>80</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>de Padua Albuquerque Oliveira</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cysneiros</surname>
            ,
            <given-names>L.M.</given-names>
          </string-name>
          :
          <article-title>De ning strategic dependency situations in requirements elicitation</article-title>
          . In: Workshop em Engenharia de Requisitos. (
          <year>2006</year>
          )
          <volume>12</volume>
          {
          <fpage>23</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. Mart nez,
          <string-name>
            <surname>C.P.A.</surname>
          </string-name>
          :
          <article-title>Systematic Construction Of Goal-Oriented COTS Taxonomies</article-title>
          .
          <source>PhD thesis</source>
          , Universitat Politecnica de Catalunya (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Becker</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Delfmann</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Herwig</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lis</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stein</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Formalizing linguistic conventions for conceptual models</article-title>
          . (
          <year>2009</year>
          )
          <volume>70</volume>
          {
          <fpage>83</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Leopold</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Smirnov</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mendling</surname>
          </string-name>
          , J.:
          <article-title>On the refactoring of activity labels in business process models</article-title>
          .
          <source>Inf. Syst</source>
          .
          <volume>37</volume>
          (
          <year>2012</year>
          )
          <volume>443</volume>
          {
          <fpage>459</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Leopold</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eid-Sabbagh</surname>
            ,
            <given-names>R.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mendling</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Azevedo</surname>
            ,
            <given-names>L.G.</given-names>
          </string-name>
          , Baia~o,
          <string-name>
            <surname>F.A.</surname>
          </string-name>
          :
          <article-title>Detection of naming convention violations in process models for di erent languages</article-title>
          .
          <source>Decision Support Systems</source>
          <volume>56</volume>
          (
          <year>2013</year>
          )
          <volume>310</volume>
          {
          <fpage>325</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Megyesi</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Shallow parsing with pos taggers and linguistic features</article-title>
          .
          <source>The Journal of Machine Learning Research</source>
          <volume>2</volume>
          (
          <year>2002</year>
          )
          <volume>639</volume>
          {
          <fpage>668</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Fellbaum</surname>
          </string-name>
          , C., ed.:
          <article-title>WordNet: An Electronic Lexical Database (Language, Speech,</article-title>
          and Communication). The MIT Press (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Marcus</surname>
            ,
            <given-names>M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marcinkiewicz</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Santorini</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Building a large annotated corpus of English: The Penn Treebank</article-title>
          .
          <source>Comp. linguistics 19</source>
          (
          <year>1993</year>
          )
          <volume>313</volume>
          {
          <fpage>330</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>