<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">ReMoDD Eclipse Plug-in: Collaborative Modeling Using a Model Repository</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Mohammed</forename><surname>Al-Refai</surname></persName>
							<email>al-refai@cs.colostate.edu</email>
							<affiliation key="aff0">
								<orgName type="department">Computer Science</orgName>
								<orgName type="institution">Colorado State University</orgName>
								<address>
									<settlement>Fort Collins</settlement>
									<region>CO</region>
									<country key="US">USA</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Andrew</forename><surname>Jacobson</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Computer Science</orgName>
								<orgName type="institution">Colorado State University</orgName>
								<address>
									<settlement>Fort Collins</settlement>
									<region>CO</region>
									<country key="US">USA</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Sudipto</forename><surname>Ghosh</surname></persName>
							<email>ghosh@cs.colostate.edu</email>
							<affiliation key="aff0">
								<orgName type="department">Computer Science</orgName>
								<orgName type="institution">Colorado State University</orgName>
								<address>
									<settlement>Fort Collins</settlement>
									<region>CO</region>
									<country key="US">USA</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">James</forename><forename type="middle">M</forename><surname>Bieman</surname></persName>
							<email>bieman@cs.colostate.edu</email>
							<affiliation key="aff0">
								<orgName type="department">Computer Science</orgName>
								<orgName type="institution">Colorado State University</orgName>
								<address>
									<settlement>Fort Collins</settlement>
									<region>CO</region>
									<country key="US">USA</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Betty</forename><forename type="middle">H C</forename><surname>Cheng</surname></persName>
							<email>chengb@cse.msu.edu</email>
							<affiliation key="aff1">
								<orgName type="department">Computer Science and Engineering</orgName>
								<orgName type="institution">Michigan State University</orgName>
								<address>
									<settlement>East Lansing</settlement>
									<region>MI</region>
									<country key="US">USA</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">ReMoDD Eclipse Plug-in: Collaborative Modeling Using a Model Repository</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">953C4DA9E40E6FA1B99A658D7384F7EC</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T01:16+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>collaborative modeling</term>
					<term>Eclipse plug-in</term>
					<term>MDE</term>
					<term>ReMoDD</term>
					<term>version control</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>The Repository for Model-Driven Development (RE-MODD) is a community resource developed to support the research and education activities of researchers and educators in the Model-Driven Development (MDD) community. Researchers and practitioners can use the repository as a vehicle for sharing exemplar models, illustrative descriptions of modeling methodologies and techniques, detailed modeling case studies, modeling success stories, and other forms of modeling experience and knowledge. Recent extensions to REMODD support the seamless integration of REMODD into existing modeling frameworks, thereby improving the access to REMODD artifacts. In particular, we have developed an Application Programming Interface (API) to enable other repositories and existing modeling tools to directly access REMODD search, browsing, and retrieval facilities. We validate and demonstrate the API utility through an Eclipse plugin that allows a user to collaboratively work on modeling artifacts that are available in REMODD.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Link to Video Tutorial-http://remodd.org/v1/plugin-demo</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>I. INTRODUCTION</head><p>The Repository for Model Driven Development (REMODD) <ref type="bibr" target="#b0">[1]</ref> contains artifacts that researchers in the Model-Driven Development (MDD) community can use to guide and validate their research. REMODD artifacts include detailed MDD case studies describing the use of models (including graphical models, such as UML and Simulink, as well as models expressed in formal specification languages such as Z, Alloy, and Statecharts) throughout the development lifecycle, source code describing implementations of design models, examples of models reflecting good and poor modeling practices, benchmark models that can serve as the basis for evaluating model manipulation techniques, reusable model transformations, and pedagogical materials that can enhance the teaching of MDD concepts. The intent for REMODD is to provide a community resource for storing MDD artifacts that can be used to gain significant insights into the use of models across the software lifecycle, as a source of data for MDD experiments, as a source of models for testing MDD tools, and to better understand relationships among ongoing MDD research projects. In particular, educators in academia and industry can use REMODD resources to illustrate modeling concepts and approaches in the classroom.</p><p>We expect that the artifacts in REMODD will evolve as researchers and educators use them in their work. Researchers may need new versions of existing models to support experimentation in studying approaches involving model evolution and testing. Educators may require their students to extend models to teach concepts in refactoring. The new versions of models will need to be stored in REMODD to support future research and education. Previously REMODD<ref type="foot" target="#foot_0">1</ref> supported versioning capabilities via Drupal but did not support access control and configuration management for simultaneous collaborative modeling activities by contributors modifying the same artifact. Modifications to artifacts are typically performed in development environments that support modeling tools, which require the availability of tools and Application Programming Interfaces (API) to access REMODD, check out artifacts, and push and commit changes to the artifacts.</p><p>In this paper we describe key elements of the REMODD API and illustrate its use with the Papyrus Modeling environment<ref type="foot" target="#foot_1">2</ref> and our REMODD plug-in. In the video tutorial, we demonstrate several usage scenarios that are described below.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>II. USAGE SCENARIOS</head><p>We developed an API for REMODD that defines the Java interfaces, classes, and exceptions necessary to support (1) user authentication, and login and logout processes, (2) new artifact creation and submission, (3) search and browse, (4) retrieving artifacts from REMODD, (5) modifying retrieved artifact meta-data and content, and (6) pushing a modified artifact back to REMODD. In order to facilitate access and support configuration management, REMODD now makes use of the git platform. We demonstrate the utility of the API using an Eclipse plug-in. Usage scenarios of the plug-in are described below and demonstrated in the video tutorial. Scenario-1: This scenario takes the user through the artifact creation process (i.e., AirlineSystem artifact), using REMODD's web interface starting from the REMODD homepage. The user can be the artifact's author or someone uploading the artifact on behalf of the author. After providing the author's information and brief description of the artifact as shown in Figure <ref type="figure" target="#fig_0">1</ref>, the user submits the candidate artifact for inclusion in REMODD. The user then logs in to REMODD using their REMODD credentials and performs searches similar to how it is done via the web-interface. The user can select the previously created artifact (i.e., AirlineSystem) for editing. Figure <ref type="figure">2</ref> shows how the user searches for the AirlineSystem project for cloning, and then edits the project to include a class diagram containing a single class (i.e., Flight), using the Papyrus modeling tool.</p><p>After completing the editing process, the user pushes the changes back to REMODD by (1) selecting the "Team" option from the Eclipse Project menu, (2) selecting the "Commit" option to bring up a window to enter a commit message, and (3) selecting the "Push and Commit" button to complete the process of submitting the changes to REMODD. At this point, the user clicks on the REMODD tab and logs out from the REMODD website. Scenario-3: As with many MDE projects, multiple collaborators may work on a given artifact over a given time. This scenario illustrates how REMODD supports the feature of adding and managing contributors for artifacts. The user starts with the Artifacts page for a given artifact, and select the "Contributors" tab. As shown in Figure <ref type="figure">3</ref>, the user enters the name of a new contributor and the corresponding privileges ("Edit Project", "Administer Maintainers", or "Administer Releases"), and clicks the "Update" button at the bottom.</p><p>We next illustrate how the new contributor, user2 opens the Eclipse project to access the AirlineSystem project, and then  Scenario-4: This scenario represents a commonly occurring situation where two or more modelers check out a version and perform conflicting changes. These conflicts must be resolved when the models are merged. This scenario starts proceeds to add the cancel() operation to the Flight, and commits and pushes the change. When user2 pulls changes from REMODD, there is a conflict because of the book() and conflict() operations. There is a built-in merge tool in e-git that shows the conflicts to be merged as shown in Figure <ref type="figure" target="#fig_4">5</ref>. Scenario-5: This scenario is needed only when a contributor wants to create a downloadable release of the artifact and make it available to all REMODD users on the website, such as after Scenarios 2, 3, and 4. We illustrate how this step is performed after Scenario 4. After user2 pushes the revised artifact to REMODD, they create a git tag for the pushed commit. The tag number becomes the version number for the downloadable release. Next, user2 opens the AirlineSystem artifact page from the REMODD website, clicks on the "Add new release" option, selects the tag number (see Figure <ref type="figure">6</ref>), adds a short description of the release, and finally clicks on "Save". The created release contains the model files archived and attached. REMODD users can view and download this artifact release. Scenario-6: This scenario shows how REMODD users who 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 edit and store versions locally without committing changes back to REMODD or creating new releases. This scenario is demonstrated with user3, who is not a contributor for the AirlineSystem artifact. User3 logs into REMODD via the plug-in, searches for the AirlineSystem artifact, and then clones it to a project in Eclipse. At this point, user3 is allowed to edit the artifact files in the project (not shown in the video).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>III. RELATED WORK</head><p>REMODD can potentially be used with other repositories and complementary modeling environments through its new API, a few of which we describe below. The Generic Modeling Environment (GME) <ref type="bibr" target="#b1">[2]</ref> allows users to create domain specific modeling languages and code generation environments. GME provides a repository to store developed models in a database or in XML format. GenMyModel <ref type="bibr" target="#b2">[3]</ref> is a webbased 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) <ref type="bibr" target="#b3">[4]</ref> provides a service-based repository for the storage and retrieval of models. Morse supports versioning capabilities. MDEForge <ref type="bibr" target="#b4">[5]</ref> is an extensible webbased 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 repository<ref type="foot" target="#foot_2">3</ref> contains examples of Object Constraint Language expressions, where it is hosted by GitHub and allows users to contribute without having to register. OOModels <ref type="foot" target="#foot_3">4</ref> is an open library of objectoriented modeling. Users can use OOModels to download and discuss artifacts, develop modeling artifacts, and find software compatible with their models.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>IV. CONCLUSIONS AND FUTURE WORK</head><p>REMODD now includes an interface with git support and an API to enable the MDE community to integrate their development environments with REMODD. 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 REMODD.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. Scenario 1: Entering Metadata for Artifact Creation</figDesc><graphic coords="2,90.00,50.54,431.99,229.66" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 3 .Fig. 4 .</head><label>34</label><figDesc>Fig. 3. Scenario 3a: Adding Second User as Contributor to Project</figDesc><graphic coords="3,90.00,50.54,432.00,243.00" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head></head><label></label><figDesc>opens the class diagram to add a new class called Airport.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Figure 4</head><label>4</label><figDesc>shows the resulting class diagram. Upon saving the class diagram, user2 repeats the process of saving the project and pushing the revised artifact to the REMODD repository.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Fig. 5 .</head><label>5</label><figDesc>Fig. 5. Scenario 4: Merge Conflicts</figDesc><graphic coords="4,90.00,50.54,432.00,243.00" type="bitmap" /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">http://www.remodd.org/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">https://eclipse.org/papyrus/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_2">https://github.com/jcabot/ocl-repository/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="4" xml:id="foot_3">http://oomodels.org/page/Main_Page/</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>ACKNOWLEDGMENTS</head><p>This material is based upon work supported by the National Science Foundation under Grants No. CNS 1305381 and CNS 1305358.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Repository for model driven development (ReMoDD)</title>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">B</forename><surname>France</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">M</forename><surname>Bieman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">P</forename><surname>Mandalaparty</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><forename type="middle">H C</forename><surname>Cheng</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">C</forename><surname>Jensen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">34th International Conference on Software Engineering, ICSE 2012</title>
				<meeting><address><addrLine>Zurich, Switzerland</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2012">June 2-9, 2012. 2012</date>
			<biblScope unit="page" from="1471" to="1472" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">The generic modeling environment</title>
		<author>
			<persName><forename type="first">A</forename><surname>Ledeczi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Maroti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Bakay</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Karsai</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Garrett</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Thomason</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Nordstrom</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Sprinkle</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Volgyesi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Workshop on Intelligent Signal Processing</title>
				<meeting><address><addrLine>Budapest, Hungary</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2001">2001</date>
			<biblScope unit="volume">17</biblScope>
			<biblScope unit="page">1</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Genmymodel: an online uml case tool</title>
		<author>
			<persName><forename type="first">M</forename><surname>Dirix</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Muller</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Aranega</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ECOOP</title>
				<imprint>
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Automating the management and versioning of service models at runtime to support service monitoring</title>
		<author>
			<persName><forename type="first">T</forename><surname>Holmes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">U</forename><surname>Zdun</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Dustdar</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Enterprise Distributed Object Computing Conference (EDOC)</title>
				<imprint>
			<date type="published" when="2012">2012. 2012</date>
			<biblScope unit="page" from="211" to="218" />
		</imprint>
	</monogr>
	<note>IEEE 16th International. IEEE</note>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Mdeforge: an extensible web-based modeling platform</title>
		<author>
			<persName><forename type="first">F</forename><surname>Basciani</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Di Rocco</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Di Ruscio</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Di Salle</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Iovino</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Pierantonio</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">CloudMDE@ MoDELS</title>
				<imprint>
			<date type="published" when="2014">2014</date>
			<biblScope unit="page" from="66" to="75" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
