publications: - title: "Reconstructing Complex Metamodel Evolution" author: - name: "Sander Vermolen" link: "http://www.sandervermolen.nl" - name: "Guido Wachsmuth" link: "https://www.linkedin.com/in/guidowachsmuth/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2011" doi: "http://dx.doi.org/10.1007/978-3-642-28830-2_11" abstract: "Metamodel evolution requires model migration. To correctly migrate models, evolution needs to be made explicit. Manually describing evolution is error-prone and redundant. Metamodel matching offers a solution by automatically detecting evolution, but is only capable of detecting primitive evolution steps. In practice, primitive evolution steps are jointly applied to form a complex evolution step, which has the same effect on a metamodel as the sum of its parts, yet generally has a different effect in migration. Detection of complex evolution is therefore needed. In this paper, we present an approach to reconstruct complex evolution between two metamodel versions, using a matching result as input. It supports operator dependencies and mixed, overlapping, and incorrectly ordered complex operator components. It also supports interference between operators, where the effect of one operator is partially or completely hidden from the target metamodel by other operators." links: doi: "http://dx.doi.org/10.1007/978-3-642-28830-2_11" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sle/VermolenWV11" technicalreport: "https://researchr.org/publication/VermolenWachsmuthVisser-TUD-SERG-2011-026" researchr: "https://researchr.org/publication/VermolenWV11sle" cites: 0 citedby: 0 pages: "201-221" booktitle: "SLE" kind: "inproceedings" key: "VermolenWV11sle" - title: "A Formal Model of the Bluetooth Inquiry Protocol" author: - name: "Hugo Brakman" link: "https://researchr.org/alias/hugo-brakman" - name: "Vincent Driessen" link: "https://researchr.org/alias/vincent-driessen" - name: "Joseph Kavuma" link: "https://researchr.org/alias/joseph-kavuma" - name: "Laura Nij Bijvank" link: "https://researchr.org/alias/laura-nij-bijvank" - name: "Sander Vermolen" link: "http://www.sandervermolen.nl" year: "2006" month: "August" tags: - "protocol" researchr: "https://researchr.org/publication/BDKNV06" cites: 0 citedby: 0 booktitle: "Formal Methods in the Teaching Lab -- A Workshop at the Formal Methods 2006 Symposium" kind: "inproceedings" key: "BDKNV06" - title: "Software Language Evolution" author: - name: "Sander Vermolen" link: "http://www.sandervermolen.nl" year: "2012" month: "October" abstract: "Software plays a critical role in our daily life. Vast amounts of money are spent on more and more complex systems. All software, regardless if it controls a plane or the game on your phone is never finished. Software changes when it contains bugs or when new functionality is added. This process of change is called software evolution. Despite what the name suggests, this is in practice a rapid process. Software is described in a software language. Not only software can evolve, also the language it is described in. When a software language evolves, the software becomes harder to read, or often times unreadable. To prevent loss of software it needs to evolve along with its language, which is a process known as coupled evolution. Coupled evolution occurs in various domains of computer science, such as in databases, in software models and in software code. This dissertation focuses on different aspects in the context of coupled evolution, such as evolution operators, reconstruction of evolution and the application of coupled evolution." links: "pdf": "http://repository.tudelft.nl/assets/uuid:93988a21-5be3-4181-b471-b5a941a3641b/thesis-final.pdf" "tud repository": "http://repository.tudelft.nl/view/ir/uuid%3A93988a21-5be3-4181-b471-b5a941a3641b/" tags: - "software evolution" researchr: "https://researchr.org/publication/Vermolen2012" cites: 0 citedby: 0 school: "Delft University of Technology" address: "Delft, The Netherlands" advisor: - name: "Eelco Visser" link: "http://eelcovisser.org" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" kind: "phdthesis" key: "Vermolen2012" - title: "Generating database migrations for evolving web applications" author: - name: "Sander Vermolen" link: "http://www.sandervermolen.nl" - name: "Guido Wachsmuth" link: "https://www.linkedin.com/in/guidowachsmuth/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2011" doi: "http://doi.acm.org/10.1145/2047862.2047876" abstract: "WebDSL is a domain-specific language for the implementation of dynamic web applications with a rich data model. It provides developers with object-oriented data modeling concepts but abstracts over implementation details for persisting application data in relational databases. When the underlying data model of an application evolves, persisted application data has to be migrated. While implementing migration at the database level breaks the abstractions provided by WebDSL, an implementation at the data model level requires to intermingle migration with application code. In this paper, we present a domain-specific language for the coupled evolution of data models and application data. It allows to specify data model evolution as a separate concern at the data model level and can be compiled to migration code at the database level. Its linguistic integration with WebDSL enables static checks for evolution validity and correctness." links: doi: "http://doi.acm.org/10.1145/2047862.2047876" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/gpce/VermolenWV11" researchr: "https://researchr.org/publication/VermolenWV11" cites: 0 citedby: 0 pages: "83-92" booktitle: "GPCE" kind: "inproceedings" key: "VermolenWV11" - title: "Software Language Evolution" author: - name: "Sander Vermolen" link: "http://www.sandervermolen.nl" year: "2008" doi: "http://dx.doi.org/10.1109/WCRE.2008.42" abstract: "By abstraction and factoring out domain specific knowledge, model driven engineering addresses the problem of increasing software complexity. Both models and meta models are generally subject to evolution, yet evolution of a meta model can cause conforming models to no longer conform and thereby no longer be usable. Therefore, models need to be migrated to reflect changes to their meta models. As evolution is typically frequent and reoccurring, manual migration of models is cumbersome and holds back the development process, yet automatic support is generally lacking. In this research we identify the problems caused by meta model evolution and develop methodologies and tools to solve these by supporting meta model evolution generically and automatically." links: doi: "http://dx.doi.org/10.1109/WCRE.2008.42" tags: - "software evolution" researchr: "https://researchr.org/publication/Vermolen08" cites: 0 citedby: 0 pages: "323-326" booktitle: "WCRE" kind: "inproceedings" key: "Vermolen08" - title: "Heterogeneous Coupled Evolution of Software Languages" author: - name: "Sander Vermolen" link: "http://www.sandervermolen.nl" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-540-87875-9_44" abstract: "As most software artifacts, meta-models can evolve. Their evolution requires conforming models to co-evolve along with them. Coupled evolution supports this. Its applicability is not limited to the modeling domain. Other domains are for example evolving grammars or database schemas. Existing approaches to coupled evolution focus on a single, homogeneous domain. They solve the co-evolution problems locally and repeatedly. In this paper we present a systematic, heterogeneous approach to coupled evolution. It provides an automatically derived domain specific transformation language; a means of executing transformations at the top level; a derivation of the coupled bottom level transformation; and it allows for generic abstractions from elementary transformations. The feasibility of the architecture is evaluated by applying it to data model evolution." links: doi: "http://dx.doi.org/10.1007/978-3-540-87875-9_44" tags: - "model-to-model transformation" - "software architecture" - "coupled" - "data-flow language" - "meta-model" - "XML" - "evolution" - "modeling language" - "heterogeneous" - "XML Schema" - "languages" - "modeling" - "transformation language" - "coupled evolution" - "architecture" - "language modeling" - "model" - "data-flow" - "software evolution" - "format evolution" - "source-to-source" - "model transformation" - "database" - "abstraction" - "software languages" - "Meta-Environment" - "systematic-approach" - "meta-objects" - "transformation" - "grammar" - "domain-specific language" researchr: "https://researchr.org/publication/VermolenV08" cites: 0 citedby: 3 pages: "630-644" booktitle: "MoDELS" kind: "inproceedings" key: "VermolenV08" - title: "Generating Version Convertors for Domain-Specific Languages" author: - name: "Gerardo de Geest" link: "http://www.linkedin.com/pub/gerardo-de-geest/9/820/138" - name: "Sander Vermolen" link: "http://www.sandervermolen.nl" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2008" doi: "http://dx.doi.org/10.1109/WCRE.2008.50" abstract: "Domain-specific languages (DSLs) improve programmer productivity by providing high-level abstractions for the development of applications in a particular domain. However,the smaller distance to the application domain entails more frequent changes to the language. As a result, existing DSL models need to be converted to the new version. Manual conversion is tedious and error prone.This paper presents an approach to support DSL evolution by generation of convertors between DSLs. By analyzing the differences between DSL meta-models, a mapping is reverse engineered which can be used to generate reengineering tools to automatically convert models between different versions of a DSL. The approach has been implemented for the Microsoft DSL Tools infrastructure in two tools called DSLCompare and ConverterGenerator. The approach has been evaluated by means of three case studies taken from the software development practice at the company Avanade." links: doi: "http://dx.doi.org/10.1109/WCRE.2008.50" tags: - "case study" - "meta-model" - "evolution" - "modeling language" - "modeling" - "dsl-tools" - "language modeling" - "model-driven development" - "software evolution" - "DSL" - "abstraction" - "Meta-Environment" - "convertors" - "systematic-approach" - "language" - "meta-objects" - "domain-specific language" researchr: "https://researchr.org/publication/GeestVDV08" cites: 0 citedby: 0 pages: "197-201" booktitle: "WCRE" kind: "inproceedings" key: "GeestVDV08" - title: "Proving consistency of VDM models using HOL" author: - name: "Sander Vermolen" link: "http://www.sandervermolen.nl" - name: "Jozef Hooman" link: "https://researchr.org/alias/jozef-hooman" - name: "Peter Gorm Larsen" link: "https://researchr.org/alias/peter-gorm-larsen" year: "2010" doi: "http://doi.acm.org/10.1145/1774088.1774608" links: doi: "http://doi.acm.org/10.1145/1774088.1774608" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sac/VermolenHL10" tags: - "consistency" researchr: "https://researchr.org/publication/VermolenHL10-0" cites: 0 citedby: 0 pages: "2503-2510" booktitle: "SAC" kind: "inproceedings" key: "VermolenHL10-0" - title: "Reconstructing Complex Metamodel Evolution" author: - name: "Sander Vermolen" link: "http://www.sandervermolen.nl" - name: "Guido Wachsmuth" link: "https://www.linkedin.com/in/guidowachsmuth/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2011" month: "August" abstract: "Metamodel evolution requires model migration. To correctly migrate models, evolution needs to be made explicit. Manually describing evolution is error-prone and redundant. Metamodel matching offers a solution by automatically detecting evolution, yet detects primitive evolution steps only. In practice, primitive evolution steps are jointly applied to form a complex evolution step, which has the same effect on a metamodel as the sum of its parts, yet generally has a different effect in migration. Detection of complex evolution is therefore needed. In this paper we present an approach to reconstructing complex evolution between two metamodel versions, using a matching result as input. It supports operator dependencies and mixed, overlapping and incorrectly ordered complex operator components. It also supports interference between operators, where the effect of one operator, is partially, or completely hidden from the target metamodel by other operators." links: published: "https://researchr.org/publication/VermolenWV11sle" tags: - "meta-model" - "migration" - "Meta-Environment" - "systematic-approach" researchr: "https://researchr.org/publication/VermolenWachsmuthVisser-TUD-SERG-2011-026" cites: 0 citedby: 0 institution: "Delft University of Technology" number: "TUD-SERG-2011-026" address: "Delft, The Netherlands" kind: "techreport" key: "VermolenWachsmuthVisser-TUD-SERG-2011-026" - title: "An Extensive Catalog of Operators for the Coupled Evolution of Metamodels and Models" author: - name: "Markus Herrmannsdörfer" link: "http://www4.in.tum.de/~herrmama/" - name: "Sander Vermolen" link: "http://www.sandervermolen.nl" - name: "Guido Wachsmuth" link: "https://www.linkedin.com/in/guidowachsmuth/" year: "2010" doi: "http://dx.doi.org/10.1007/978-3-642-19440-5_10" abstract: "Modeling languages and thus their metamodels are subject to change. When a metamodel is evolved, existing models may no longer conform to it. Manual migration of these models in response to metamodel evolution is tedious and error-prone. To significantly automate model migration, operator-based approaches provide reusable coupled operators that encapsulate both metamodel evolution and model migration. The success of an operator-based approach highly depends on the library of reusable coupled operators it provides. In this paper, we thus present an extensive catalog of coupled operators that is based both on a literature survey as well as real-life case studies. The catalog is organized according to a number of criteria to ease assessing the impact on models as well as selecting the right operator for a metamodel change at hand." links: doi: "http://dx.doi.org/10.1007/978-3-642-19440-5_10" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sle/HerrmannsdoerferVW10" tags: - "case study" - "meta-model" - "modeling language" - "modeling" - "coupled evolution" - "language modeling" - "reuse" - "survey" - "migration" - "Meta-Environment" - "systematic-approach" researchr: "https://researchr.org/publication/HerrmannsdoerferVW10" cites: 0 citedby: 0 pages: "163-182" booktitle: "SLE" kind: "inproceedings" key: "HerrmannsdoerferVW10"