<!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>i*-REST: Light-Weight i * Modeling with RESTful Web Services</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Zinayida Petrushyna</string-name>
          <email>petrushyna@dbis.rwth-aachen.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alexander Ruppert</string-name>
          <email>ruppert@dbis.rwth-aachen.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ralf Klamma</string-name>
          <email>klamma@dbis.rwth-aachen.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dominik Renzel</string-name>
          <email>renzel@dbis.rwth-aachen.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Matthias Jarke</string-name>
          <email>jarke@dbis.rwth-aachen.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>RWTH Aachen University</institution>
          ,
          <addr-line>Information Systems and Databases Chair Ahornstr. 55, 52056 Aachen</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Environmental changes drive the evolution of organizational software systems. i * allows to model continuous requirements on social and intentional aspects of organizational software systems. However, partially computer-enacted work ows are not well supported by current tools. In this paper, we propose i*-REST, an Open Source collection of RESTful Web services that are designed to manipulate existing i * models on-the-large. More speci c, we describe two services in detail. The rst one allows the creation, modi cation and storage of Strategic Dependency models. The second service embeds i * model visualizations in arbitrary Web pages. We have evaluated the services in a case study on learning forums. We introduced a work ow for the re nement of existing archetypical i * models of learning communities without human intervention. Maintenance and evolution of existing i * models will be much easier, in particular when more i*-REST services become available.</p>
      </abstract>
      <kwd-group>
        <kwd>RESTful Web service</kwd>
        <kwd>i * modeling</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Organizations evolve as they require rapid adaptations to environmental changes.
Sustainable success of organizations is only possible by continuous support of
their systems [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Early requirements of an organizational system aim to support
engineers by highlighting system's environment, its players and customers. Then
the engineers can model new systems, extend existing systems or re ne them.
      </p>
      <p>
        Jarke et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] use i * for continuous support of evolving organizations and
communities. The same research group extended i * by adding evolution links
between roles that actors acquire in the time of system evolution [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Business
process re-engineering is one of the possible i * applications [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. A technical
contribution that allows to automatically create i * models is needed to keep i *
models consistent after changes in organizations or communities.
      </p>
      <p>
        J-PRIM [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] focuses on prescriptive construction of i * models that utilize
Detailed Interaction Script. The tool expects users to assist by data gathering.
Many other i * tools allows to create i * models only with user interaction.
      </p>
      <p>
        In this paper, we describe RESTful services that allow to maintain i * models
by receiving commands in the form of REST requests from other applications.
i*-REST provides a storage with versioning support where models are stored
in iStarML [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] format. The visualization of models is represented in Scalable
Vector Graphics (SVG), which can be embedded in any Web page. Last but not
least, the i*-REST services are implemented as part of an Open Source
peer-topeer system. The services provide the basis for the algorithmic re nement of i *
models without human intervention. We present the example of the re nement
in our case study.
      </p>
      <p>In the following, we give an overview of the i*-REST service architecture.
After that, we discuss creation, editing and deleting models using REST requests.
Later we point out the service possibilities to visualize, import and export i *
models. We nish the paper with our case study, discussions and plans for the
future.</p>
    </sec>
    <sec id="sec-2">
      <title>2 The i*-REST Infrastructure</title>
      <p>i*-REST consists of two services. One of the services maintains i * models by
creating, editing, deleting and storing them as iStarML les. The other service
creates SVG les that can be viewed by any Web browser. The architecture of
i*-REST (Figure 1) allows the services to be distributed in peer-to-peer systems.
iStarML Visualizer</p>
      <p>Service
iStarML Model</p>
      <p>Service</p>
      <sec id="sec-2-1">
        <title>REST</title>
        <p>iStarML Visualization Servqiceueries
Clients Clients</p>
      </sec>
      <sec id="sec-2-2">
        <title>XML Database</title>
        <p>Web Connector</p>
      </sec>
      <sec id="sec-2-3">
        <title>Running in P2P environment</title>
        <p>The Web connector handles REST requests from outside and converts them into
method calls of the i*-REST services.</p>
        <p>The XML database serves as an i * model repository. An eXist1 database
allows the storage of XML les and their versions e ciently.
1 http://exist-db.org/exist/apps/homepage/index.html</p>
        <p>The iStarML Model Service creates, modi es and retrieves i * strategic
dependency models. An example of an iStarML le is given in Listing 1.</p>
        <p>Listing 1: Initial model as an iStarML le
1 &lt;istarml&gt;
2 &lt;diagram name="diagram"&gt;
3 &lt;actor id="1" name="Homework" type="actor"/&gt;
4 &lt;actor id="2" name="Teacher" type="actor"/&gt;
5 &lt;/diagram&gt;
6 &lt;/istarml&gt;</p>
        <p>The RESTful API of i*-REST allows to create and modify i * models using
requests that are related to the iStarML syntax. The rst request (Table 1)
results in the code from Listing 1. The goal dependency between both actors is
created by requests 2-4 and will add the lines from Listing 2. These dependency
links and the goal dependency are deleted by the request 5. For the complete
list of supported REST requests an interested reader can visit the i * wiki page
of i*-REST2.</p>
        <p>Listing 2: An intentional element, its depender and dependee in iStarML format
3
4
5
6
7
8
&lt;ielement id="3" name="evaluate" type="goal"&gt;
&lt;dependency&gt;
&lt;depender aref="1"/&gt;
&lt;dependee aref="2"/&gt;
&lt;/dependency&gt;
&lt;/ielement&gt;</p>
        <p>The service keeps iStarML les always valid by rejecting invalid operations,
e.g. adding an actor link to an intentional element is not possible. Moreover, the
service handles changes in models intelligently, e.g. a node is deleted with all
dependency links or an intentional element is deleted together with its dependency
links.</p>
        <p>The iStarML Visualization Service creates visual representations of i * models
by converting iStarML les into SVGs that can be embedded in arbitrary Web
pages. The graph representation of a model is generated using the yFiles3 library.
It ensures a compact graph layouting and usage of colors for nodes and labels.</p>
        <p>
          We create a Web page that allows user interactions with a model repository.
The search functionality is realized by utilizing XQuery [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. A user can search
for the names of models, actors and intentional elements.
        </p>
        <p>The visualization representation can be navigated, similar to an online map,
by dragging and zooming with a mouse or a keyboard. Comments speci ed inside
an iStarML le are shown as tooltips on top of the SVG representation. A user
can download a visualized model as a SVG le (export) and import a local
iStarML le to store and visualize it.
2 http://istar.rwth-aachen.de/tiki-index.php?page=i%2A-REST
3 http://www.yworks.com/en/index.html
GET Collection/model1
PUT Collection/model1/ielement
/3?type=goal&amp;name=evaluate
PUT Collection/model1/ielement
/3/depender/1
PUT Collection/model1/ielement
/3/dependee/2</p>
        <p>Description
Returns the model stored in a model
repository.</p>
        <p>Creates an intentional element of type goal
(ID=3) in the model.</p>
        <p>Adds a dependency link between the actor
(ID=1) as a depender and the intentional
element (ID=3) in the model.</p>
        <p>Adds a dependency link between the actor
(ID=2) as a dependee and the intentional
element (ID=3) in the model.</p>
        <p>DELETE Collection/model1/ielement/3 Deletes the intentional element (ID=3) in
the model.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3 Case Study</title>
      <p>
        Similar to organizations, learning communities have their actors, policies, rules
and tools that they have to adopt because of environmental changes. We model
learning communities using i *, where learning community environments and
their customers are i * actors and learning materials, goals, tools, and tasks are
dependencies between the actors. We present archetypical community models
in learning environments like the innovative community, the question-answer
community, and the expert community [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>
        In our study we investigate two learning forums: one with 430K posts and
21K users over 9 years, the other with 200K posts and 25K users for more than
13 years. Both are learning forums: the rst prepares language learners for tests;
the second supports physicians in lifelong learning. We detect communities using
the Louvan algorithm [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], analyze communities applying social network analysis
and detect self-regulated learning patterns [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Moreover, we de ne a number of
roles community members may play, e.g. answering persons, questioners, trolls,
conversationalists, and many others. We extract non-human agents using
Natural Language Processing tools. Based on our ndings, we create i * models for
communities using i*-REST.
      </p>
      <p>
        A community model suits one of the archetypical i * model, e.g. innovative or
expert community models. After nding a suitable model for the community we
mine community goals [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. We re ne the model according to the goals
automatically as soon as goals change and thus community requirements change. We can
embed the i * model into community Web pages for an immediate view. We
hypothesize that community users, managers or stakeholders get an opportunity to
nd missing resources or actors that may ful ll community goals. For example,
if community users want to succeed in the language learning test, a community
has to invite community members that take roles of answering persons and
experts who have already succeeded in the test. Moreover, the provision of learning
materials is considered helpful.
      </p>
      <p>Before we implemented the services of i*-REST in the community, we
evaluated their usability. Seven developers simultaneously used the i*-REST services
for creating and editing small models (&lt;10 actors, &lt;10 dependencies). Each
participant worked with her own set of models. We created a Web page where users
sent REST requests to create and modify i * models. The idea to use REST
requests was well accepted, the generated visualizations and service response times
were satisfactory and the developers preferred Web pages to native clients for
i * model visualization. However, the last result should be precisely investigated,
e.g. by comparing Web browser-based and desktop tools for i * modeling.</p>
    </sec>
    <sec id="sec-4">
      <title>4 Discussions and Future Work</title>
      <p>In this paper we introduce the light-weight technical contribution. The purpose
of the contribution is the computer-enacted support of continuous requirements
changes. Our implementation allows to maintain and store i * models and their
storage using RESTful services. In our case study, we realize the work ow of
modeling continuous requirements without human intervention. We use i*-REST
for creating models based on continuous analysis of learning communities
appearing in Web forums. Model visualization of Web-based learning communities are
helpful for their stakeholders. They can analyze community situations, adopt
communities to suit a successful pattern, and provide additional functionalities
to support communities to achieve their goals.</p>
      <p>
        On the example of learning forums' environment we introduce continuous
support of evolving communities. Applying i*REST services that analyze forum
communities we keep i * models of communities consistent with their evolution.
Stakeholders can learn from existing i * models and choose design alternatives
[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] to re ne community environments.
      </p>
      <p>
        We will extend i*-REST by supporting Strategic Rationale models,
visualizing di erences between model versions, adding evolution links between user roles
[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] and enabling collaborative modeling [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>The RESTful approach provides a strong basis for interoperability and
exibility, where services and users can harness the full power of a growing service
repository. Introducing i*-REST, we encourage the i * research community to
contribute with other i * RESTful Web services. They may facilitate
collaborative modeling and sharing of i* models between organizations and communities.</p>
    </sec>
    <sec id="sec-5">
      <title>5 Acknowledgment</title>
      <p>This work was supported by NRW State within the B-IT Research School and
RWTH Aachen University.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>V. D.</given-names>
            <surname>Blondel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.-L.</given-names>
            <surname>Guillaume</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Lambiotte</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Lefebvre</surname>
          </string-name>
          .
          <article-title>Fast unfolding of communities in large networks</article-title>
          .
          <source>J. Stat. Mech</source>
          . (,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>C.</given-names>
            <surname>Cares</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Franch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Perini</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Susi</surname>
          </string-name>
          .
          <source>Towards Interoperability of i* Models Using iStarML. Comput. Stand. Interfaces</source>
          ,
          <volume>33</volume>
          (
          <issue>1</issue>
          ):
          <volume>69</volume>
          {
          <fpage>79</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>M.</given-names>
            <surname>Derntl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Erdtmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Nicolaescu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Klamma</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Jarke</surname>
          </string-name>
          .
          <article-title>Echtzeitmetamodellierung im Web-Browser</article-title>
          . In K. D. HG and U. Reimer, editors,
          <source>Modellierung 2014. Lecture Notes in Informatics</source>
          , volume
          <volume>225</volume>
          , pages
          <fpage>65</fpage>
          {80,
          <string-name>
            <surname>DE</surname>
          </string-name>
          ,
          <year>2014</year>
          . Gesellschaft fur Informatik e.V.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Eric</given-names>
            <surname>Siu-Kwong Yu</surname>
          </string-name>
          .
          <article-title>Modelling strategic relationships for process reengineering</article-title>
          .
          <source>PhD thesis</source>
          , University of Toronto, Toronto and Ont. and Canada and Canada,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>G.</given-names>
            <surname>Grau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Franch</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N. A.</given-names>
            <surname>Maiden</surname>
          </string-name>
          .
          <article-title>A Goal-Based Round-Trip Method for System Development</article-title>
          .
          <source>In In Proceedings of the 11th International Conference on Requirements Engineering: Foundations for Software Quality (REFSQ'05) Key: citeulike:8774851.</source>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>A.</given-names>
            <surname>Hilts</surname>
          </string-name>
          and
          <string-name>
            <given-names>E.</given-names>
            <surname>Yu</surname>
          </string-name>
          .
          <article-title>Intentional Modeling of Social Media Design Knowledge for Government-Citizen Communication</article-title>
          . In M. Atzmueller,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hotho</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Strohmaier</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <surname>A</surname>
          </string-name>
          . Chin, editors,
          <source>Analysis of Social Media and Ubiquitous Data</source>
          , volume
          <volume>6904</volume>
          of Lecture Notes in Computer Science, pages
          <volume>20</volume>
          {
          <fpage>36</fpage>
          . Springer Berlin Heidelberg,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>M.</given-names>
            <surname>Jarke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Klamma</surname>
          </string-name>
          , Gerhard Lakemeyer, and
          <string-name>
            <given-names>D.</given-names>
            <surname>Schmitz</surname>
          </string-name>
          . Continuous,
          <article-title>Requirements-Driven Support for Organizations, Networks, and Communities</article-title>
          .
          <source>In Proceedings of the 3rd International i* Workshop</source>
          , Recife, Brazil,
          <source>February 11-12</source>
          ,
          <year>2008</year>
          , pages
          <fpage>47</fpage>
          {
          <fpage>50</fpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Krenge</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Petrushyna</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kravcik</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Klamma</surname>
          </string-name>
          .
          <article-title>Identi cation of Learning Goals in Forum-based Communities</article-title>
          .
          <source>In Proceedings of the IEEE 11th International Conference on Advanced Learning Technologies</source>
          , pages
          <volume>307</volume>
          {
          <fpage>309</fpage>
          , Athens and Georgia and USA,
          <year>2011</year>
          . IEEE Computer Society.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Z.</given-names>
            <surname>Petrushyna</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Klamma</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Kravcik</surname>
          </string-name>
          . Designing During Use:
          <article-title>Modeling of Communities of Practice</article-title>
          .
          <source>In IEEE International Conference on Digital Ecosystems and Technologies</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>A.</given-names>
            <surname>Roesli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Schmitz</surname>
          </string-name>
          , G. Lakemeyer, and
          <string-name>
            <given-names>M.</given-names>
            <surname>Jarke</surname>
          </string-name>
          .
          <article-title>Modelling Actor Evolution in Agent-Based Simulations</article-title>
          . In G. Vouros,
          <string-name>
            <given-names>A.</given-names>
            <surname>Artikis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Stathis</surname>
          </string-name>
          , and J. Pitt, editors,
          <source>Organized Adaption in Multi-Agent Systems</source>
          , volume
          <volume>5368</volume>
          of Lecture Notes in Computer Science, pages
          <volume>126</volume>
          {
          <fpage>144</fpage>
          . Springer Berlin Heidelberg,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>P.</given-names>
            <surname>Walmsley. XQuery. O'Reilly</surname>
          </string-name>
          , Farnham and Calif,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>