=Paper= {{Paper |id=Vol-2019/mdetools_2 |storemode=property |title=ReMoDD Eclipse Plug-in: Collaborative Modeling Using a Model Repository |pdfUrl=https://ceur-ws.org/Vol-2019/mdetools_2.pdf |volume=Vol-2019 |authors=Mohammed Al-Refai,Andrew Jacobson,Sudipto Ghosh,James M. Bieman,Betty H. C. Cheng |dblpUrl=https://dblp.org/rec/conf/models/Al-RefaiJGBC17 }} ==ReMoDD Eclipse Plug-in: Collaborative Modeling Using a Model Repository== https://ceur-ws.org/Vol-2019/mdetools_2.pdf
  ReMoDD Eclipse Plug-in: Collaborative Modeling
          Using a Model Repository
       Mohammed Al-Refai1 , Andrew Jacobson1 , Sudipto Ghosh1 , James M. Bieman1 , Betty H. C. Cheng2
                             1
                              Computer Science, Colorado State University, Fort Collins, CO, USA
                                      Email: al-refai,akj,ghosh,bieman@cs.colostate.edu
                    2
                      Computer Science and Engineering, Michigan State University, East Lansing, MI, USA
                                                 Email: chengb@cse.msu.edu


   Abstract—The Repository for Model-Driven Development (R E -         may need new versions of existing models to support exper-
M O DD) is a community resource developed to support the               imentation in studying approaches involving model evolution
research and education activities of researchers and educators in      and testing. Educators may require their students to extend
the Model-Driven Development (MDD) community. Researchers
and practitioners can use the repository as a vehicle for sharing      models to teach concepts in refactoring. The new versions
exemplar models, illustrative descriptions of modeling method-         of models will need to be stored in R E M O DD to support
ologies and techniques, detailed modeling case studies, modeling       future research and education. Previously R E M O DD1 sup-
success stories, and other forms of modeling experience and            ported versioning capabilities via Drupal but did not support
knowledge. Recent extensions to R E M O DD support the seamless        access control and configuration management for simultaneous
integration of R E M O DD into existing modeling frameworks,
thereby improving the access to R E M O DD artifacts. In particular,   collaborative modeling activities by contributors modifying
we have developed an Application Programming Interface (API)           the same artifact. Modifications to artifacts are typically per-
to enable other repositories and existing modeling tools to directly   formed in development environments that support modeling
access R E M O DD search, browsing, and retrieval facilities. We       tools, which require the availability of tools and Application
validate and demonstrate the API utility through an Eclipse plug-      Programming Interfaces (API) to access R E M O DD, check out
in that allows a user to collaboratively work on modeling artifacts
that are available in R E M O DD.                                      artifacts, and push and commit changes to the artifacts.
   Index Terms—collaborative modeling, Eclipse plug-in, MDE,              In this paper we describe key elements of the R E M O DD
ReMoDD, version control                                                API and illustrate its use with the Papyrus Modeling environ-
  Link to Video Tutorial—http://remodd.org/v1/plugin-demo              ment2 and our R E M O DD plug-in. In the video tutorial, we
                                                                       demonstrate several usage scenarios that are described below.
                       I. I NTRODUCTION
   The Repository for Model Driven Development                                                  II. U SAGE S CENARIOS
(R E M O DD)[1] contains artifacts that researchers in the
Model-Driven Development (MDD) community can use to                       We developed an API for R E M O DD that defines the Java
guide and validate their research. R E M O DD artifacts include        interfaces, classes, and exceptions necessary to support (1) user
detailed MDD case studies describing the use of models                 authentication, and login and logout processes, (2) new artifact
(including graphical models, such as UML and Simulink, as              creation and submission, (3) search and browse, (4) retrieving
well as models expressed in formal specification languages             artifacts from R E M O DD, (5) modifying retrieved artifact
such as Z, Alloy, and Statecharts) throughout the development          meta-data and content, and (6) pushing a modified artifact
lifecycle, source code describing implementations of design            back to R E M O DD. In order to facilitate access and support
models, examples of models reflecting good and poor                    configuration management, R E M O DD now makes use of the
modeling practices, benchmark models that can serve as the             git platform. We demonstrate the utility of the API using an
basis for evaluating model manipulation techniques, reusable           Eclipse plug-in. Usage scenarios of the plug-in are described
model transformations, and pedagogical materials that can              below and demonstrated in the video tutorial.
enhance the teaching of MDD concepts. The intent for                   Scenario-1: This scenario takes the user through the ar-
R E M O DD is to provide a community resource for storing              tifact creation process (i.e., AirlineSystem artifact), using
MDD artifacts that can be used to gain significant insights into       R E M O DD’s web interface starting from the R E M O DD home-
the use of models across the software lifecycle, as a source of        page. The user can be the artifact’s author or someone up-
data for MDD experiments, as a source of models for testing            loading the artifact on behalf of the author. After providing
MDD tools, and to better understand relationships among                the author’s information and brief description of the artifact
ongoing MDD research projects. In particular, educators                as shown in Figure 1, the user submits the candidate artifact
in academia and industry can use R E M O DD resources to               for inclusion in R E M O DD.
illustrate modeling concepts and approaches in the classroom.
   We expect that the artifacts in R E M O DD will evolve as             1 http://www.remodd.org/

researchers and educators use them in their work. Researchers            2 https://eclipse.org/papyrus/
                                        Fig. 1. Scenario 1: Entering Metadata for Artifact Creation




                                        Fig. 2. Scenario 2: Creating Class Diagram Using Papyrus



Scenario-2: Next, we show how the user can access R E -                After completing the editing process, the user pushes the
M O DD and its artifacts as an Eclipse plug-in. From Eclipse,          changes back to R E M O DD by (1) selecting the "Team" option
the user opens a new window and selects the R E M O DD view.           from the Eclipse Project menu, (2) selecting the "Commit"
The user then logs in to R E M O DD using their R E M O DD             option to bring up a window to enter a commit message, and
credentials and performs searches similar to how it is done via        (3) selecting the "Push and Commit" button to complete the
the web-interface. The user can select the previously created          process of submitting the changes to R E M O DD. At this point,
artifact (i.e., AirlineSystem) for editing. Figure 2 shows how         the user clicks on the R E M O DD tab and logs out from the
the user searches for the AirlineSystem project for cloning,           R E M O DD website.
and then edits the project to include a class diagram containing       Scenario-3: As with many MDE projects, multiple collabo-
a single class (i.e., Flight), using the Papyrus modeling tool.        rators may work on a given artifact over a given time. This
                                    Fig. 3. Scenario 3a: Adding Second User as Contributor to Project




                                      Fig. 4. Scenario 3b: Class Diagram Modified by Second User



scenario illustrates how R E M O DD supports the feature of           opens the class diagram to add a new class called Airport.
adding and managing contributors for artifacts. The user starts       Figure 4 shows the resulting class diagram. Upon saving the
with the Artifacts page for a given artifact, and select the          class diagram, user2 repeats the process of saving the project
"Contributors" tab. As shown in Figure 3, the user enters the         and pushing the revised artifact to the R E M O DD repository.
name of a new contributor and the corresponding privileges
("Edit Project", "Administer Maintainers", or "Administer Re-         Scenario-4: This scenario represents a commonly occurring
leases"), and clicks the "Update" button at the bottom.               situation where two or more modelers check out a version
   We next illustrate how the new contributor, user2 opens the        and perform conflicting changes. These conflicts must be
Eclipse project to access the AirlineSystem project, and then         resolved when the models are merged. This scenario starts
                                                  Fig. 5. Scenario 4: Merge Conflicts




                                            Fig. 6. Scenario 5: Add Git Tag Release Number



after Scenario 3, when user1’s diagram only has the Flight           that shows the conflicts to be merged as shown in Figure 5.
class, and user2’s diagram has both Flight and Airport, which        Scenario-5: This scenario is needed only when a contributor
have been pushed to R E M O DD. First, user2 adds an operation       wants to create a downloadable release of the artifact and make
called book() to the Flight and commits the change but does          it available to all R E M O DD users on the website, such as after
not push. Next, user1 pulls the changes that were pushed, and        Scenarios 2, 3, and 4. We illustrate how this step is performed
thus, gets the Airport but not the book() operation. Next, user1     after Scenario 4. After user2 pushes the revised artifact to
proceeds to add the cancel() operation to the Flight, and            R E M O DD, they create a git tag for the pushed commit. The
commits and pushes the change. When user2 pulls changes              tag number becomes the version number for the downloadable
from R E M O DD, there is a conflict because of the book() and       release. Next, user2 opens the AirlineSystem artifact page
conflict() operations. There is a built-in merge tool in e-git       from the R E M O DD website, clicks on the "Add new release"
option, selects the tag number (see Figure 6), adds a short                                  ACKNOWLEDGMENTS
description of the release, and finally clicks on "Save". The           This material is based upon work supported by the National
created release contains the model files archived and attached.       Science Foundation under Grants No. CNS 1305381 and
R E M O DD users can view and download this artifact release.         CNS 1305358.
Scenario-6: This scenario shows how R E M O DD users who
                                                                                                   R EFERENCES
are not on the artifact’s contributor list can still search for
the artifact and download it via the plug-in so that they can         [1] R. B. France, J. M. Bieman, S. P. Mandalaparty, B. H. C. Cheng, and
                                                                          A. C. Jensen, “Repository for model driven development (ReMoDD),”
edit and store versions locally without committing changes                in 34th International Conference on Software Engineering, ICSE 2012,
back to R E M O DD or creating new releases. This scenario                June 2-9, 2012, Zurich, Switzerland, 2012, pp. 1471–1472.
is demonstrated with user3, who is not a contributor for the          [2] A. Ledeczi, M. Maroti, A. Bakay, G. Karsai, J. Garrett, C. Thomason,
                                                                          G. Nordstrom, J. Sprinkle, and P. Volgyesi, “The generic modeling
AirlineSystem artifact. User3 logs into R E M O DD via the                environment,” in Workshop on Intelligent Signal Processing, Budapest,
plug-in, searches for the AirlineSystem artifact, and then                Hungary, vol. 17, 2001, p. 1.
clones it to a project in Eclipse. At this point, user3 is allowed    [3] M. Dirix, A. Muller, and V. Aranega, “Genmymodel: an online uml case
                                                                          tool,” in ECOOP, 2013.
to edit the artifact files in the project (not shown in the video).   [4] T. Holmes, U. Zdun, and S. Dustdar, “Automating the management and
                                                                          versioning of service models at runtime to support service monitoring,”
                                                                          in Enterprise Distributed Object Computing Conference (EDOC), 2012
                         III. R ELATED W ORK                              IEEE 16th International. IEEE, 2012, pp. 211–218.
                                                                      [5] F. Basciani, J. Di Rocco, D. Di Ruscio, A. Di Salle, L. Iovino, and
   R E M O DD can potentially be used with other repositories             A. Pierantonio, “Mdeforge: an extensible web-based modeling platform.”
and complementary modeling environments through its new                   in CloudMDE@ MoDELS, 2014, pp. 66–75.
API, a few of which we describe below. The Generic Modeling
Environment (GME) [2] allows users to create domain spe-
cific modeling languages and code generation environments.
GME provides a repository to store developed models in a
database or in XML format. GenMyModel [3] is a web-
based toolset that allows users to edit UML models in the
cloud. It enables users to share models with other users or
on social networks. The Model-Aware Repository and Service
Environment (Morse) [4] provides a service-based reposi-
tory for the storage and retrieval of models. Morse supports
versioning capabilities. MDEForge [5] is an extensible web-
based modeling framework that provides a community-based
modeling repository. It supports mechanisms to find artifacts,
and provides web access and other API-based services that
enable the management of the artifacts, metamodels, and
model transformations. The OCL repository3 contains exam-
ples of Object Constraint Language expressions, where it is
hosted by GitHub and allows users to contribute without
having to register. OOModels4 is an open library of object-
oriented modeling. Users can use OOModels to download and
discuss artifacts, develop modeling artifacts, and find software
compatible with their models.

            IV. C ONCLUSIONS AND F UTURE W ORK

   R E M O DD now includes an interface with git support and
an API to enable the MDE community to integrate their de-
velopment environments with R E M O DD. Users can download
artifacts from the repository and create new versions in their
respective development environments. An Eclipse plug-in uses
the API to implement this functionality. We plan to further
assess the usability and utility of these new features. We also
plan to collaborate with developers of other modeling tools
and repositories to enable them to interact with R E M O DD.

  3 https://github.com/jcabot/ocl-repository/
  4 http://oomodels.org/page/Main_Page/