[en] Vensim is a system dynamics modeling language. It includes two main parts: an equation de nition section and a sketch de nition section. Coordinated teamwork using integration and version control tools when programming in Vensim is a great challenge. On the other hand, SemanticMerge is a standalone application that allows to visualize changes between diferent versions of a le and then merge these versions, helping to solve the con icts that arise. This Final Degree Project aims to develop an external parser for SemanticMerge that allows parsing Vensim les. This parser will also be used by the version control tool gmaster. The parser reads an input le and generates a tree descriptor YAML le containing the information needed for SemanticMerge to reconstruct the le obtaining all the semantic and syntactic information of the le in the process. This process is performed in both versions of the le when a merge operation is achieved, allowing con ict resolution, and enabling a successful merge. ANTLR4 is used for the development of the grammar as well as Java as the main programming language. SCRUM was applied as an Agile framework adapted for the development of the project. This project is part of the European H2020 project LOCOMOTION. This project aims to develop an Integrated Assessment Model (IAM), a complex model of the World and regions, based on system dynamics, that allows the simulation of di erent scenarios that long term afect diferent indicators and to determine the more favorable ones for a sustainable future. The IAM developed in LOCOMOTION is programmed in Vensim in a coordinated way by 30 programmers from 13 diferent European institutions.

[es] Vensim es un lenguaje de modelado de dinámica de sistemas. Incluye una parte de de nición de ecuaciones y otra parte visual. Trabajar en equipo, de forma coordinada, con control e integración de versiones, en Vensim es un gran reto. Por su parte, SemanticMerge es una herramienta para visualizar diferencias y para mezclar versiones (merge) con ayuda para la resolución de conflictos. El objetivo de este Trabajo de Fin de Grado es desarrollar un parser externo de Vensim para SemanticMerge, que a su vez será utilizado por la herramienta de control de versiones gmaster. El parser funciona leyendo un archivo de entrada y generando un archivo YAML con la información necesaria para que SemanticMerge sea capaz de leerlo y reconstruir el archivo, obteniendo toda la información semántica y sintáctica del archivo en dicho proceso. Este proceso se realiza en ambas versiones de un archivo cuando se lleva a cabo una fusión o merge, para posteriormente resolver los conflictos y realizar el merge correctamente. El trabajo ha sido desarrollado utilizando ANTLR4 para el desarrollo de la gramática así como Java como lenguaje de programación principal. Para el desarrollo del proyecto se adaptó SCRUM como marco de trabajo ágil. Este proyecto forma parte del proyecto europeo H2020 LOCOMOTION que tiene como objetivo el desarrollo de un modelo de evaluación integrado (Integrated Assesment Model, IAM), un modelo complejo basado en dinámica de sistemas, que permite la simulación de escenarios diferentes que afectan a largo plazo a diferentes indicadores, lo que permite determinar los más favorables para un futuro sostenible. El IAM desarrollado en LOCOMOTION se programa en Vensim de forma coordinada, participando 30 programadores de 13 instituciones europeas diferentes.