=Paper= {{Paper |id=Vol-1157/apps1 |storemode=property |title=i*-REST: Light-Weight i* Modeling with RESTful Web Services |pdfUrl=https://ceur-ws.org/Vol-1157/paper15.pdf |volume=Vol-1157 |dblpUrl=https://dblp.org/rec/conf/istar/PetrushynaRKRJ14 }} ==i*-REST: Light-Weight i* Modeling with RESTful Web Services== https://ceur-ws.org/Vol-1157/paper15.pdf
      i*-REST: Light-Weight i * Modeling with
              RESTful Web Services

           Zinayida Petrushyna, Alexander Ruppert, Ralf Klamma,
                    Dominik Renzel, and Matthias Jarke

                          RWTH Aachen University,
                   Information Systems and Databases Chair
                     Ahornstr. 55, 52056 Aachen, Germany
       {petrushyna,ruppert,klamma,renzel,jarke}@dbis.rwth-aachen.de


      Abstract. Environmental changes drive the evolution of organizational
      software systems. i* allows to model continuous requirements on so-
      cial and intentional aspects of organizational software systems. However,
      partially computer-enacted workflows 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* mod-
      els on-the-large. More specific, we describe two services in detail. The
      first one allows the creation, modification and storage of Strategic De-
      pendency 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 workflow for the refinement of existing
      archetypical i* models of learning communities without human inter-
      vention. Maintenance and evolution of existing i* models will be much
      easier, in particular when more i*-REST services become available.

      Key words: RESTful Web service, i* modeling



1 Introduction
Organizations evolve as they require rapid adaptations to environmental changes.
Sustainable success of organizations is only possible by continuous support of
their systems [7]. 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 refine them.
    Jarke et al. [7] 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 [10]. Business
process re-engineering is one of the possible i * applications [4]. A technical con-
tribution that allows to automatically create i * models is needed to keep i *
models consistent after changes in organizations or communities.
    J-PRIM [5] 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.
    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 [2] 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-to-
peer system. The services provide the basis for the algorithmic refinement of i *
models without human intervention. We present the example of the refinement
in our case study.
    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 finish the paper with our case study, discussions and plans for the
future.


2 The i*-REST Infrastructure
i*-REST consists of two services. One of the services maintains i * models by
creating, editing, deleting and storing them as iStarML files. The other service
creates SVG files 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                   iStarML Model
                  Service                            Service
                                                                    XML Database



                                         REST
                                       queries
                                                         Web Connector
             iStarML Visualization Service




        Clients Clients                                 Running in P2P environment


                  Fig. 1: Overview of the i*-REST architecture.


The Web connector handles REST requests from outside and converts them into
method calls of the i*-REST services.
    The XML database serves as an i * model repository. An eXist1 database
allows the storage of XML files and their versions efficiently.
1
    http://exist-db.org/exist/apps/homepage/index.html
       The iStarML Model Service creates, modifies and retrieves i * strategic de-
    pendency models. An example of an iStarML file is given in Listing 1.

                       Listing 1: Initial model as an iStarML file
1 
2 
3     
4     
5 
6 
        The RESTful API of i*-REST allows to create and modify i * models using
    requests that are related to the iStarML syntax. The first 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 .

    Listing 2: An intentional element, its depender and dependee in iStarML format
3            
4                
5                    
6                    
7                
8            
        The service keeps iStarML files 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 de-
    pendency links or an intentional element is deleted together with its dependency
    links.
        The iStarML Visualization Service creates visual representations of i * models
    by converting iStarML files 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.
        We create a Web page that allows user interactions with a model repository.
    The search functionality is realized by utilizing XQuery [11]. A user can search
    for the names of models, actors and intentional elements.
        The visualization representation can be navigated, similar to an online map,
    by dragging and zooming with a mouse or a keyboard. Comments specified inside
    an iStarML file are shown as tooltips on top of the SVG representation. A user
    can download a visualized model as a SVG file (export) and import a local
    iStarML file 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
Request                                  Description
GET Collection/model1                    Returns the model stored in a model repos-
                                         itory.
PUT Collection/model1/ielement           Creates an intentional element of type goal
/3?type=goal&name=evaluate               (ID=3) in the model.
PUT Collection/model1/ielement           Adds a dependency link between the actor
/3/depender/1                            (ID=1) as a depender and the intentional
                                         element (ID=3) in the model.
PUT Collection/model1/ielement           Adds a dependency link between the actor
/3/dependee/2                            (ID=2) as a dependee and the intentional
                                         element (ID=3) in the model.
DELETE Collection/model1/ielement/3 Deletes the intentional element (ID=3) in
                                    the model.

                     Table 1: Examples of REST requests.



3 Case Study
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 [9].
    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 first prepares language learners for tests;
the second supports physicians in lifelong learning. We detect communities using
the Louvan algorithm [1], analyze communities applying social network analysis
and detect self-regulated learning patterns [8]. Moreover, we define a number of
roles community members may play, e.g. answering persons, questioners, trolls,
conversationalists, and many others. We extract non-human agents using Nat-
ural Language Processing tools. Based on our findings, we create i * models for
communities using i*-REST.
    A community model suits one of the archetypical i * model, e.g. innovative or
expert community models. After finding a suitable model for the community we
mine community goals [8]. We refine the model according to the goals automati-
cally 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 hy-
pothesize that community users, managers or stakeholders get an opportunity to
find missing resources or actors that may fulfill 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 ex-
perts who have already succeeded in the test. Moreover, the provision of learning
materials is considered helpful.
    Before we implemented the services of i*-REST in the community, we evalu-
ated their usability. Seven developers simultaneously used the i*-REST services
for creating and editing small models (<10 actors, <10 dependencies). Each par-
ticipant 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 re-
quests 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.


4 Discussions and Future Work
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 workflow of
modeling continuous requirements without human intervention. We use i*-REST
for creating models based on continuous analysis of learning communities appear-
ing 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.
    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
[6] to refine community environments.
    We will extend i*-REST by supporting Strategic Rationale models, visualiz-
ing differences between model versions, adding evolution links between user roles
[10] and enabling collaborative modeling [3].
    The RESTful approach provides a strong basis for interoperability and flex-
ibility, 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 collabora-
tive modeling and sharing of i* models between organizations and communities.


5 Acknowledgment
This work was supported by NRW State within the B-IT Research School and
RWTH Aachen University.
References
 1. V. D. Blondel, J.-L. Guillaume, R. Lambiotte, and E. Lefebvre. Fast unfolding of
    communities in large networks. J. Stat. Mech. (, 2008.
 2. C. Cares, X. Franch, A. Perini, and A. Susi. Towards Interoperability of i* Models
    Using iStarML. Comput. Stand. Interfaces, 33(1):69–79, 2011.
 3. M. Derntl, S. Erdtmann, P. Nicolaescu, R. Klamma, and M. Jarke. Echtzeit-
    metamodellierung im Web-Browser. In K. D. HG and U. Reimer, editors, Mod-
    ellierung 2014. Lecture Notes in Informatics, volume 225, pages 65–80, DE, 2014.
    Gesellschaft für Informatik e.V.
 4. Eric Siu-Kwong Yu. Modelling strategic relationships for process reengineering.
    PhD thesis, University of Toronto, Toronto and Ont. and Canada and Canada,
    1995.
 5. G. Grau, X. Franch, and N. A. Maiden. A Goal-Based Round-Trip Method for
    System Development. In In Proceedings of the 11th International Conference on
    Requirements Engineering: Foundations for Software Quality (REFSQ’05) Key:
    citeulike:8774851.
 6. A. Hilts and E. Yu. Intentional Modeling of Social Media Design Knowledge for
    Government-Citizen Communication. In M. Atzmueller, A. Hotho, M. Strohmaier,
    and A. Chin, editors, Analysis of Social Media and Ubiquitous Data, volume 6904
    of Lecture Notes in Computer Science, pages 20–36. Springer Berlin Heidelberg,
    2011.
 7. M. Jarke, R. Klamma, Gerhard Lakemeyer, and D. Schmitz. Continuous,
    Requirements-Driven Support for Organizations, Networks, and Communities. In
    Proceedings of the 3rd International i* Workshop, Recife, Brazil, February 11-12,
    2008, pages 47–50, 2008.
 8. J. A. Krenge, Z. Petrushyna, M. Kravcik, and R. Klamma. Identification of Learn-
    ing Goals in Forum-based Communities. In Proceedings of the IEEE 11th Interna-
    tional Conference on Advanced Learning Technologies, pages 307–309, Athens and
    Georgia and USA, 2011. IEEE Computer Society.
 9. Z. Petrushyna, R. Klamma, and M. Kravcik. Designing During Use: Modeling of
    Communities of Practice. In IEEE International Conference on Digital Ecosystems
    and Technologies, 2010.
10. A. Roesli, D. Schmitz, G. Lakemeyer, and M. Jarke. Modelling Actor Evolution
    in Agent-Based Simulations. In G. Vouros, A. Artikis, K. Stathis, and J. Pitt,
    editors, Organized Adaption in Multi-Agent Systems, volume 5368 of Lecture Notes
    in Computer Science, pages 126–144. Springer Berlin Heidelberg, 2009.
11. P. Walmsley. XQuery. O’Reilly, Farnham and Calif, 2007.