<!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>Tool Interoperability using iStarML</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Carlos Cares</string-name>
          <email>ccares@essi.upc.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Xavier Franch</string-name>
          <email>franch@essi.upc.edu</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daniel Colomer</string-name>
          <email>dcolomer@essi.upc.edu</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Lidia López</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Universidad de La Frontera</institution>
          ,
          <addr-line>Av. Francisco Salazar 01145, 4811230, Temuco</addr-line>
          ,
          <country country="CL">Chile</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Universitat Politècnica de Catalunya</institution>
          ,
          <addr-line>c/ Jordi Girona 1-3, 08034, Barcelona</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2011</year>
      </pub-date>
      <fpage>166</fpage>
      <lpage>168</lpage>
      <abstract>
        <p>iStarML is an XML-based format for enabling interoperability among i* tools. Its main design focus was to support data interchange even when involved tools implement different i* variants. In this paper, we present a summary of the format, we briefly describe the ccistarml Java library, and we show an application of it. We finally summarize the requirements for representing new i* concepts in order to generate a revised version of iStarML.</p>
      </abstract>
      <kwd-group>
        <kwd>i* Framework</kwd>
        <kwd>iStar</kwd>
        <kwd>iStarML</kwd>
        <kwd>interoperability</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>2 iStarML Computational Support</title>
      <p>
        In [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] we offer a set of basic XML specifications. First, we provide an iStarML
specification using an XSD definition. This specification is the most used
specification types for XML files. A clear advantage is that XML processors can
parse XML files using XSD definitions which means that iStarML parsers can be
implemented taking public XML processors and this XSD definition. However, this
definition has some limitations derived from the XSD grammar, e.g., a dependency
between attributes cannot be represented on XSD specifications. Therefore, although
less popular but more accurate, we have provided a Schematron [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] set of rules for
iStarML syntax verification.
      </p>
      <p>
        In addition to these parsing proposals, we have developed a Java package for
handling iStarML files. We have called it ccistarml package. The several classes
inside this package allow creating, reading and modifying iStarML files. Each of
these classes is explained and illustrated using simple examples in the ccistarml
tutorial [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. The code in Fig. 2 illustrates how an iStarML file can be loaded, parsed,
modified by adding a new actor, and saved.
      </p>
      <p>
        ccistarmlFile f = new ccistarmlFile();
f.loadFile(“sample01.istarml.xml”);
f.istarmlParser();
if (!f.hasErrors()) {
ccistarmlContent content = f.mainTagStructure();
content.add_actor(“Tutor”);
f.saveFile();
}
Since iStarML was proposed, we have developed different interoperability scenarios
and applications: (1) storing diagrams in the HiME hierarchical i* tool [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]; (2)
exporting and importing iStarML in the jUCMNav GRL tool including
interoperability proofs [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]; (3) translating files from OME3 tool to iStarML file by
using a Java applet [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. About taking advantage of XML representation of iStarML
we have (4) exemplified the use of XPath for metric calculations [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]; (5) used XSLT
for transforming iStarML files into Prolog clauses [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]; and (6) used XQuery for
quality assurance of i* models [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. We also mention the use of iStarML as the basis
for formulating a supermetamodel coordinating model interoperability in a
semanticaware scenario [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
    </sec>
    <sec id="sec-2">
      <title>4 Conclusions and Future Work</title>
      <p>In this paper we have presented iStarML 1.0 as an interoperability facility for i* tools.
Our proposal considers the existence of i* variants and hence, a polysemantic
scenario. We have shown its structure, some computational support and different
scenarios illustrating both the feasibility of reaching interoperability and the
advantages of having a XML representation for i* models.</p>
      <p>It is our position that iStarML is a solid proposal, but its dissemination and usage
depends on including most of the current and future representational requirements of
the i* community, which can be reached only by constituting a wide working group
motivated to generate iStarML 2.0.</p>
      <p>
        Next steps on iStarML include interoperability tests of the two existing
possibilities of graphic representations: iStarML’s graphic elements and the nested
structures proposed in iStarML for including SVG tags [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Here for example we
have the challenge of handling the graphical proposal for representing inherited
intentional elements from [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Finally, we are also planning to improve the current
representational capabilities of iStarML extending it to handle concepts such as
modules [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] and similar tags enabling Computer Supporting Collaborative Engineering.
      </p>
    </sec>
    <sec id="sec-3">
      <title>Acknowledgments</title>
      <p>This work has been supported by the Spanish project TIN2010-19130-c02-01.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Cares</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Franch</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Susi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Towards Interoperability of i* Models Using iStarML</article-title>
          .
          <source>Computer Standards &amp; Interfaces</source>
          ,
          <volume>33</volume>
          (
          <issue>1</issue>
          ),
          <fpage>69</fpage>
          -
          <lpage>79</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>2. iStarML site, http://www.essi.upc.edu/~gessi/iStarML</mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Jelliffe</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <source>The Schematron Assertion Language 1</source>
          .6, http://xml.ascc.net/resource/ schematron/Schematron2000.html (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Cares</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <article-title>: ccistarml: A Java Package for Handling iStarML files</article-title>
          , http://www.essi.upc.edu/ ~ccares/papers/ccistarml_v0.6.pdf
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>5. HiME site, http://www.upc.edu/gessi/HIME/</mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Colomer</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>López</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cares</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Franch</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          :
          <article-title>Model Interchange and Tool Interoperability in the i* Framework: A Proof of Concept</article-title>
          .
          <source>In Proc. of the 14th Workshop on Requirements Engineering (WER11)</source>
          ,
          <fpage>27</fpage>
          -
          <lpage>29</lpage>
          April, Rio de Janeiro, Brasil, pp.
          <fpage>369</fpage>
          -
          <lpage>381</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>7. OME3 to iStarML Converter, http://www.essi.upc.edu/~gessi/iStarML/ometoistarmlremoto/online_tools.html</mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Cares</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Franch</surname>
            ,
            <given-names>X.:</given-names>
          </string-name>
          <article-title>3MSF: A Framework to Select Mobile Office Devices</article-title>
          .
          <source>Int. Journal of Computer Science and Applications</source>
          ,
          <volume>6</volume>
          (
          <issue>5</issue>
          ),
          <fpage>121</fpage>
          -
          <lpage>144</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Cares</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Franch</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          :
          <article-title>Towards a Framework for Improving Goal-Oriented Requirements Models Quality</article-title>
          .
          <source>In Proc. of the 12th Workshop on Requirements Engineering (WER09)</source>
          ,
          <source>July 16-17</source>
          , Valparaiso, Chile. pp.
          <fpage>3</fpage>
          -
          <lpage>14</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Cares</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Franch</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          :
          <article-title>A Metamodelling Approach for i* Model Translations</article-title>
          .
          <source>In Proc. of the 23rd Int. Conference on Advanced Information Systems Engineering (CAiSE)</source>
          , June 20-24, London, United Kingdom, pp.
          <fpage>337</fpage>
          -
          <lpage>351</lpage>
          (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Scalable Vector</surname>
          </string-name>
          <article-title>Graphics (SVG) site</article-title>
          , http://www.w3.org/Graphics/SVG/
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>López</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Franch</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marco</surname>
          </string-name>
          , J.:
          <article-title>Defining Inheritance in i* at the Level of SR Intentional Elements</article-title>
          .
          <source>In Proc. of the 3rd International i* Workshop (iSTAR08)</source>
          ,
          <source>February 11-12</source>
          , Recife, Brazil, pp.
          <fpage>71</fpage>
          -
          <lpage>74</lpage>
          (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Franch</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          :
          <article-title>Incorporating Modules into the i* Framework</article-title>
          ,
          <string-name>
            <surname>LNCS</surname>
          </string-name>
          ,
          <volume>6051</volume>
          , pp
          <fpage>439</fpage>
          -
          <lpage>545</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>