publications: - title: "Automated Deployment of a Heterogeneous Service-Oriented System" author: - name: "Sander van der Burg" link: "http://www.st.ewi.tudelft.nl/~sander/" - name: "Eelco Dolstra" link: "https://researchr.org/profile/eelcodolstra/publications" year: "2010" month: "Sep" doi: "http://doi.ieeecomputersociety.org/10.1109/SEAA.2010.10" abstract: "Deployment of a service-oriented system in a network of machines is often complex and labourious. In many cases components implementing a service have to be built from source code for the right target platform, transferred to the right machines with the right capabilities and activated in the right order. Upgrading a running system is even more difficult as this may break the running system and cannot be performed atomically. Many approaches that deal with the complexity of a distributed deployment process only support certain types of components or specific environments, while general solutions lack certain desirable non-functional properties, such as atomic upgrading.This paper shows Disnix, a deployment tool which allows developers and administrators to reliably deploy, upgrade and roll back a service-oriented system consisting of various types of components in a heterogeneous environment from declarative specifications." links: doi: "http://doi.ieeecomputersociety.org/10.1109/SEAA.2010.10" "url": "http://www.st.ewi.tudelft.nl/~sander/pdf/publications/vanderburg10-automateddeployment.pdf" tags: - "deployment" - "type system" - "source-to-source" - "Meta-Environment" - "systematic-approach" - "open-source" researchr: "https://researchr.org/publication/vanderburg10automateddeployment" cites: 0 citedby: 0 pages: "183-190" booktitle: "36th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA)" kind: "inproceedings" key: "vanderburg10automateddeployment" - title: "Model-driven Distributed Software Deployment" author: - name: "Sander van der Burg" link: "http://www.st.ewi.tudelft.nl/~sander/" year: "2009" month: "March" researchr: "https://researchr.org/publication/vanderburg09thesis" cites: 0 citedby: 0 school: "Delft University of Technology" kind: "mastersthesis" key: "vanderburg09thesis" - title: "A Self-Adaptive Deployment Framework for Service-Oriented Systems" author: - name: "Sander van der Burg" link: "http://www.st.ewi.tudelft.nl/~sander/" - name: "Eelco Dolstra" link: "https://researchr.org/profile/eelcodolstra/publications" year: "2011" month: "May" abstract: "Deploying components of a service-oriented system in a network of machines is often a complex and labourious process. Usually the environment in which such systems are deployed is dynamic: any machine in the network may crash, network links may temporarily fail, and so on. Such events may render the system partially or completely unusable. If an event occurs, it is difficult and expensive to redeploy the system to the take the new circumstances into account. In this paper we present a self-adaptive deployment framework built on top of Disnix, a model-driven distributed deployment tool for service-oriented systems. This framework dynamically discovers machines in the network and generates a mapping of components to machines based on non-functional properties. Disnix is then invoked to automatically, reliably and efficiently redeploy the system." tags: - "rule-based" - "deployment" - "meta-model" - "Meta-Environment" - "process modeling" - "meta-objects" researchr: "https://researchr.org/publication/vanderburg11selfadaptive" cites: 0 citedby: 0 booktitle: "6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)" kind: "inproceedings" key: "vanderburg11selfadaptive" - title: "Disnix: A toolset for distributed deployment" author: - name: "Sander van der Burg" link: "http://www.st.ewi.tudelft.nl/~sander/" - name: "Eelco Dolstra" link: "https://researchr.org/profile/eelcodolstra/publications" year: "2013" month: "May" researchr: "https://researchr.org/publication/vanderburg13disnix" cites: 0 citedby: 0 journal: "Science of Computer Programming (SCP)" kind: "article" key: "vanderburg13disnix" - title: "Atomic Upgrading of Distributed Systems" author: - name: "Sander van der Burg" link: "http://www.st.ewi.tudelft.nl/~sander/" - name: "Eelco Dolstra" link: "https://researchr.org/profile/eelcodolstra/publications" - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" year: "2008" doi: "http://doi.acm.org/10.1145/1490283.1490294" links: doi: "http://doi.acm.org/10.1145/1490283.1490294" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/hotswup/BurgDJ08" researchr: "https://researchr.org/publication/BurgDJ08" cites: 0 citedby: 0 booktitle: "HotSWUp" kind: "inproceedings" key: "BurgDJ08" - title: "A Reference Architecture for Distributed Software Deployment" author: - name: "Sander van der Burg" link: "http://www.st.ewi.tudelft.nl/~sander/" year: "2013" month: "June" researchr: "https://researchr.org/publication/vanderburg13thesis" cites: 0 citedby: 0 school: "Delft University of Technology" kind: "phdthesis" key: "vanderburg13thesis" - title: "Maximal Laziness: An Efficient Interpretation Technique for Purely Functional DSLs" author: - name: "Eelco Dolstra" link: "https://researchr.org/profile/eelcodolstra/publications" year: "2009" doi: "http://dx.doi.org/10.1016/j.entcs.2009.09.042" links: doi: "http://dx.doi.org/10.1016/j.entcs.2009.09.042" tags: - "laziness" - "DSL" researchr: "https://researchr.org/publication/Dolstra09" cites: 0 citedby: 0 journal: "ENTCS" volume: "238" number: "5" pages: "81-99" kind: "article" key: "Dolstra09" - title: "Software deployment in a dynamic cloud: From device to service orientation in a hospital environment" author: - name: "Sander van der Burg" link: "http://www.st.ewi.tudelft.nl/~sander/" - name: "Eelco Dolstra" link: "https://researchr.org/profile/eelcodolstra/publications" - name: "Eelco Visser" link: "http://eelcovisser.org" - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" year: "2009" month: "May" doi: "http://dx.doi.org/10.1109/CLOUD.2009.5071534" abstract: "Hospital environments are currently primarily device-oriented: software services are installed, often manually, on specific devices. For instance, an application to view MRI scans may only be available on a limited number of workstations. The medical world is changing to a service-oriented environment, which means that every software service should be available on every device. However, these devices have widely varying capabilities, ranging from powerful workstations to PDAs, and high-bandwidth local machines to low-bandwidth remote machines. To support running applications in such an environment, we need to treat the hospital machines as a cloud, where components of the application are automatically deployed to machines in the cloud with the required capabilities and connectivity. In this paper, we suggest an architecture for applications in such a cloud, in which components are reliably and automatically deployed on the basis of a declarative model of the application using the Nix package manager." links: doi: "http://dx.doi.org/10.1109/CLOUD.2009.5071534" tags: - "deployment" - "software architecture" - "software components" - "distributed deployment" - "meta-model" - "architecture" - "software deployment" - "Nix" - "software component" - "Meta-Environment" researchr: "https://researchr.org/publication/BurgDV09" cites: 0 citedby: 0 booktitle: "CLOUD" kind: "inproceedings" key: "BurgDV09" - title: "Declarative Testing and Deployment of Distributed Systems" author: - name: "Sander van der Burg" link: "http://www.st.ewi.tudelft.nl/~sander/" - name: "Eelco Dolstra" link: "https://researchr.org/profile/eelcodolstra/publications" year: "2010" month: "July" abstract: "System administrators and developers who deploy distributed systems have to deal with a deployment process that is largely manual and hard to reproduce. This paper describes how networks of computer systems can be reproducibly and automatically deployed from declarative specifications. Reproducibility also ensures that users can easily instantiate a test environment, before deploying the specification to the production environment. Furthermore, from the same specifications we can instantiate virtual networks of virtual machines for both interactive and automated testing. This makes it easy to write automated regression tests that require external machines, need special privileges, or depend on the network topology. We instantiate machines from the specifications using NixOS, a Linux distribution built from a purely functional specification. We have applied our approach to a number of representative problems, including automatic regression testing of a Linux distribution and deployment of a continuous integration environment." tags: - "deployment" - "meta-model" - "testing" - "Meta-Environment" - "systematic-approach" - "meta-objects" researchr: "https://researchr.org/publication/vanderburg10ddeploymentandtesting" cites: 0 citedby: 0 institution: "Delft University of Technology" number: "TUD-SERG-2010-020" address: "Delft, The Netherlands" kind: "techreport" key: "vanderburg10ddeploymentandtesting" - title: "A generic approach for deploying and upgrading mutable software components" author: - name: "Sander van der Burg" link: "https://researchr.org/alias/sander-van-der-burg" year: "2012" links: "url": "http://dx.doi.org/10.1109/HotSWUp.2012.6226613" researchr: "https://researchr.org/publication/Burg12" cites: 0 citedby: 0 pages: "26-30" booktitle: "4th International Workshop on Hot Topics in Software Upgrades, HotSWUp 2012, Zurich, Switzerland, June 3, 2012" kind: "inproceedings" key: "Burg12" - title: "NixOS: a purely functional Linux distribution" author: - name: "Eelco Dolstra" link: "https://researchr.org/profile/eelcodolstra/publications" - name: "Andres Löh" link: "http://people.cs.uu.nl/andres/" year: "2008" doi: "http://doi.acm.org/10.1145/1411204.1411255" abstract: "Existing package and system configuration management tools suffer from an imperative model, where system administration actions such as upgrading packages or changes to system configuration files are stateful: they destructively update the state of the system. This leads to many problems, such as the inability to roll back changes easily, to run multiple versions of a package side-by-side, to reproduce a configuration deterministically on another machine, or to reliably upgrade a system. In this paper we show that we can overcome these problems by moving to a purely functional system configuration model. This means that all static parts of a system (such as software packages, configuration files and system startup scripts) are built by pure functions and are immutable, stored in a way analogously to a heap in a purely function language. We have implemented this model in NixOS, a non-trivial Linux distribution that uses the Nix package manager to build the entire system configuration from a purely functional specification. " links: doi: "http://doi.acm.org/10.1145/1411204.1411255" tags: - "meta-model" - "modeling language" - "language modeling" - "Meta-Environment" - "state machines" researchr: "https://researchr.org/publication/DolstraL08" cites: 0 citedby: 0 pages: "367-378" booktitle: "ICFP" kind: "inproceedings" key: "DolstraL08" - title: "Finding software license violations through binary code clone detection" author: - name: "Armijn Hemel" link: "https://researchr.org/alias/armijn-hemel" - name: "Karl Trygve Kalleberg" link: "http://www.ii.uib.no/~karltk/" - name: "Rob Vermaas" link: "https://researchr.org/profile/robvermaas/publications" - name: "Eelco Dolstra" link: "https://researchr.org/profile/eelcodolstra/publications" year: "2011" doi: "http://doi.acm.org/10.1145/1985441.1985453" links: doi: "http://doi.acm.org/10.1145/1985441.1985453" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/msr/HemelKVD11" researchr: "https://researchr.org/publication/HemelKVD11" cites: 0 citedby: 0 pages: "63-72" booktitle: "msr" kind: "inproceedings" key: "HemelKVD11" - title: "Automating System Tests Using Declarative Virtual Machines" author: - name: "Sander van der Burg" link: "http://www.st.ewi.tudelft.nl/~sander/" - name: "Eelco Dolstra" link: "https://researchr.org/profile/eelcodolstra/publications" year: "2010" doi: "http://dx.doi.org/10.1109/ISSRE.2010.34" links: doi: "http://dx.doi.org/10.1109/ISSRE.2010.34" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/issre/BurgD10" tags: - "testing" researchr: "https://researchr.org/publication/BurgD10" cites: 0 citedby: 0 pages: "181-190" booktitle: "issre" kind: "inproceedings" key: "BurgD10" - title: "Disnix: A toolset for distributed deployment" author: - name: "Sander van der Burg" link: "http://www.st.ewi.tudelft.nl/~sander/" - name: "Eelco Dolstra" link: "https://researchr.org/profile/eelcodolstra/publications" year: "2010" month: "September" abstract: "The process of deploying a distributed system in a network of machines is often very complex, labourious and time consuming, while it is hard to guarantee that the system will work as expected and that certain non-functional requirements from the domain are supported. In this paper we describe the Disnix toolset, which enables automatic deployment of a distributed system in a network of machines from declarative specifications and offers properties such as complete dependencies, atomic upgrades and rollbacks to make this process efficient and reliable. Disnix has an extensible architecture, allowing the integration of custom modules to build a distributed deployment architecture that takes non-functional requirements of the domain into account. Disnix has been under development for almost two years and has been applied to several types of distributed systems, including an industrial case study." tags: - "deployment" - "completeness" - "case study" - "architecture" - "type system" researchr: "https://researchr.org/publication/vanderburg10disnix" cites: 0 citedby: 0 booktitle: "Third International Workshop on Academic Software Development Tools and Techniques (WASDeTT-3)" kind: "inproceedings" key: "vanderburg10disnix"