DOI: 10.5281/zenodo.16309976
title: Going from the Past back to the Future: Incrementally Reconstructing a Metamodel History - Dataset

description: This repository provides the dataset and results for the evaluation of the paper "Going from the Past back to the Future: Incrementally Reconstructing a Metamodel History"The dataset consists of the following files:



metamodels.zip: contains the used metamodels used in the evaulation

Additionalnformation.pdf: contains additional information on how to read the files extracted by our approach

Meta-MetamodelExample.pdf: Contains addional information on how the meta-metamodel works. It shows the metamodel of our motivating example in our meta-metamodel representation. 

evaluation.zip: contains the data recieved by our evalutation. It contains the ChangeTrees created for each of the given metamodel, the real changes applied to the metamodel. the time and memory used during the generation of the metamodel. For more information consider the AdditionalInformation.pdf

results.zip: contains the summerized results for each of ChangeTrees in the AL

RQ_Results.zip: contains evaulated results from each of the RQs

Tools.zip: Contains the tools used for the evalution. For an explaination how to use it read the Additionalnformation.pdf see below or contact the authors

Models 2025 - Submission 40 Motivating Example.mov: A video showing how the Interactive Reconstruction Tool works based on the motivating example from the paper

source_code.zip: Contains the source code of our prototype tool. You need to have Lombok installed. in launchers you find the main for both the interactive and evaluation mode. type-refactor contains the code for the change reconstruction


Running the tool:

Windows 10/11JDK 20 or above

The tools consist of two programs: 



Interactive ReconstructorThis one allows users to interactively reconstruct the changes between two metamodel versions. Either use the preloaded metamodels (fhir,benchmark,types) or upload two emf files where you want to reconstruct the metamodel history step by-step (see Tools.zip) for an example 

java -jar interactiveTool.jar fhir  // to run the interactive tool with FHIR metamodel preloaded

java -jar interactiveTool.jar benchmark  //to run the interactive tool with Benchmark metamodel preloaded

java -jar interactiveTool.jar types // to types to run the interactive tool with Papyrus Types metamodel preloaded

java -jar interactiveTool.jar metamodel pathToVersion1 pathTOVersion2 // to import to .ecore metamodel and compare them interactively

Example

java -jar interactiveTool.jar metamodel mergeTypeAndAttribute1.ecore mergeTypeAndAttribute2.ecore


Evaluation ToolThis is the tool used for the evaluation it either compares the preloaded metamodels or uses an provided metamodel (where it applied random changes) to create the change trees and extract the metrics needed for the RQs.

java -jar evaluationTool.jar benchmark // to run the evaluation with the benchmark metamodel preloaded

java -jar evaluationTool.jar types // to run the evaluation with the Papyrus types metamodel preloaded

java -jar evaluationTool.jar fhir STU3  // to run the evaluation with the FHIR STU3 preloaded

java -jar evaluationTool.jar fhir custom1  // to run the evaluation with the FHIR custom1 version preloaded

java -jar evaluationTool.jar fhir custom2  // to run the evaluation with the FHIR custom2 version preloaded

java -jar evaluationTool.jar metamodel <pathToTheMetamodel>  // to run the evaluation on a given metamodel (applying random changes and then detecting them)