publications: - title: "Workshop on Generative Programming 2002 (GP2002)" author: - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2002" doi: "http://link.springer.de/link/service/series/0558/bibs/2319/23190331.htm" abstract: "-" links: doi: "http://link.springer.de/link/service/series/0558/bibs/2319/23190331.htm" tags: - "Domain-specific languages" - "generative programming" - "programming languages" - "object-oriented programming" - "feature diagrams" - "programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/JongeV02" cites: 0 citedby: 0 pages: "331" booktitle: "icsr" kind: "inproceedings" key: "JongeV02" - title: "A Pretty-Printer for Every Occasion" author: - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" year: "2000" tags: - "prettyprinting" researchr: "https://researchr.org/publication/Jon00" cites: 0 citedby: 0 booktitle: "The International Symposium on Constructing Software Engineering Tools (CoSET2000)" kind: "inproceedings" key: "Jon00" - title: "Pretty-Printing for Software Reengineering" author: - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" year: "2002" doi: "http://computer.org/proceedings/icsm/1819/18190550abs.htm" abstract: "Automatic software reengineering changes or repairs existing software systems. They are usually tailor-made for a specific customer and language dependent. Maintaining similar reengineering for multiple customers and different language dialects may, therefore, soon become problematic unless advanced language technology is used. Generic pretty-printing is part of such technology and is the subject of this paper. We discuss specific pretty-print aspects of software reengineering such as fulfilling customer-specific format conventions, preserving existing layout, and producing multiple output formats. In addition, we describe pretty-print techniques that help to reduce maintenance effort of tailor-made reengineering supporting multiple language dialects. Applications such as COBOL reengineering and SDL documentation generation show that our techniques, implemented in the generic pretty-printer GPP, are feasible." links: doi: "http://computer.org/proceedings/icsm/1819/18190550abs.htm" researchr: "https://researchr.org/publication/Jonge02" cites: 0 citedby: 0 pages: "550-559" booktitle: "ICSM" kind: "inproceedings" key: "Jonge02" - title: "Introduction from the session chair Component Models and Technologies" author: - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" year: "2003" doi: "http://csdl.computer.org/comp/proceedings/euromicro/2003/1996/00/19960042.pdf" links: doi: "http://csdl.computer.org/comp/proceedings/euromicro/2003/1996/00/19960042.pdf" researchr: "https://researchr.org/publication/Jonge03" cites: 0 citedby: 0 pages: "42" booktitle: "euromicro" kind: "inproceedings" key: "Jonge03" - title: "Transparantie in variabiliteit: Heldere keuzes in een eenduidige configuratieomgeving" author: - name: "Eelco Dolstra" link: "https://researchr.org/profile/eelcodolstra/publications" - name: "Gert Florijn" link: "https://researchr.org/alias/gert-florijn" - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2004" month: "February" abstract: "Elk eerbiedwaardig softwaresysteem biedt tegenwoordig de mogelijkheid om gedurende de levensduur de eigenschappen ervan te wijzigen. Om deze variatiepunten te modelleren wordt in het Jaquard-project TraCE gewerkt aan transparante configuratieomgevingen." researchr: "https://researchr.org/publication/DolstraFJV04" cites: 0 citedby: 0 journal: "Informatie" volume: "46" number: "1" pages: "18-21" kind: "article" key: "DolstraFJV04" - title: "Cost-Effective Maintenance Tools for Proprietary Languages" author: - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" - name: "Ramin Monajemi" link: "https://researchr.org/alias/ramin-monajemi" year: "2001" doi: "http://computer.org/proceedings/icsm/1189/11890240abs.htm" links: doi: "http://computer.org/proceedings/icsm/1189/11890240abs.htm" tags: - "maintenance" researchr: "https://researchr.org/publication/JongeM01" cites: 0 citedby: 0 pages: "240-249" booktitle: "ICSM" kind: "inproceedings" key: "JongeM01" - title: "XT: a bundle of program transformation tools" author: - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" - name: "Eelco Visser" link: "http://eelcovisser.org" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2001" doi: "http://dx.doi.org/10.1016/S1571-0661(04)80921-6" abstract: "XT bundles existing and newly developed program transformation libraries and tools into an open framework that supports component-based development of program transformations. We discuss the roles of XT's constituents in the development process of program transformation tools, as well as some experiences with building program transformation systems with XT. " links: doi: "http://dx.doi.org/10.1016/S1571-0661(04)80921-6" successor: "https://researchr.org/publication/BravenboerKVV06" tags: - "model-to-model transformation" - "rule-based" - "Stratego/XT" - "model-driven development" - "source-to-source" - "transformation system" - "model transformation" - "programming" - "open-source" - "transformation" - "Stratego" - "program transformation" researchr: "https://researchr.org/publication/JongeVV01" cites: 0 citedby: 0 journal: "ENTCS" volume: "44" number: "2" pages: "79-86" kind: "article" key: "JongeVV01" - title: "Developing Product Lines with Third-Party Components" author: - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" year: "2009" doi: "http://dx.doi.org/10.1016/j.entcs.2009.09.041" links: doi: "http://dx.doi.org/10.1016/j.entcs.2009.09.041" researchr: "https://researchr.org/publication/Jonge09" cites: 0 citedby: 0 journal: "ENTCS" volume: "238" number: "5" pages: "63-80" kind: "article" key: "Jonge09" - title: "Nix: A Safe and Policy-Free System for Software Deployment" author: - name: "Eelco Dolstra" link: "https://researchr.org/profile/eelcodolstra/publications" - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2004" doi: "http://www.usenix.org/publications/library/proceedings/lisa04/tech/dolstra.html" abstract: "Existing systems for software deployment are neither safe nor sufficiently flexible. Primary safety issues are the inability to enforce reliable specification of component dependencies, and the lack of support for multiple versions or variants of a component. This renders deployment operations such as upgrading or deleting components dangerous and unpredictable. A deployment system must also be flexible (i.e., policy-free) enough to support both centralised and local package management, and to allow a variety of mechanisms for transferring components. In this paper we present Nix, a deployment system that addresses these issues through a simple technique of using cryptographic hashes to compute unique paths for component instances." links: doi: "http://www.usenix.org/publications/library/proceedings/lisa04/tech/dolstra.html" tags: - "deployment" - "software components" - "software deployment" - "Nix" - "software component" researchr: "https://researchr.org/publication/DolstraJV04" cites: 0 citedby: 0 pages: "79-92" booktitle: "lisa" kind: "inproceedings" key: "DolstraJV04" - 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: "Collaborative Software Development" author: - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" - name: "Eelco Visser" link: "http://eelcovisser.org" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2001" month: "May" researchr: "https://researchr.org/publication/JongeVV01-SEN" cites: 0 citedby: 0 institution: "Software Engineering (SEN), CWI" number: "SEN-R0113" address: "Amsterdam" kind: "techreport" key: "JongeVV01-SEN" - title: "Grammars as Contracts" author: - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2000" doi: "http://link.springer.de/link/service/series/0558/bibs/2177/21770085.htm" abstract: "Component-based development of language tools stands in need of meta-tool support. This support can be offered by generation of code — libraries or full-fledged components — from syntax definitions. We develop a comprehensive architecture for such syntax-driven meta-tooling in which grammars serve as contracts between components. This architecture addresses exchange and processing both of full parse trees and of abstract syntax trees, and it caters for the integration of generated parse and pretty-print components with tree processing components. We discuss an instantiation of the architecture for the syntax definition formalism SDF, integrating both existing and newly developed meta-tools that support SDF. The ATerm format is adopted as exchange format. This instantiation gives special attention to adaptability, scalability, reusability, and maintainability issues surrounding language tool development." links: doi: "http://link.springer.de/link/service/series/0558/bibs/2177/21770085.htm" tags: - "generative programming" - "programming languages" - "reusable components" - "rule-based" - "syntax definition" - "meta programming" - "SDF" - "contracts" - "meta-model" - "abstract syntax" - "language engineering" - "architecture" - "grammar engineering" - "reuse" - "model-driven development" - "model-driven engineering" - "code generation" - "Meta-Environment" - "parsing" - "ASF+SDF" - "meta-objects" - "grammar" researchr: "https://researchr.org/publication/JongeV00" cites: 0 citedby: 0 pages: "85-99" booktitle: "gcse" kind: "inproceedings" key: "JongeV00" - title: "The ASF+SDF Meta-environment: A Component-Based Language Development Environment" author: - name: "Mark G. J. van den Brand" link: "http://www.win.tue.nl/~mvdbrand/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Jan Heering" link: "http://homepages.cwi.nl/~jan/" - name: "H. A. de Jong" link: "http://www.cwi.nl" - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" - name: "Tobias Kuipers" link: "http://www.sig.eu" - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" - name: "Pieter A. Olivier" link: "http://www.cwi.nl" - name: "Jeroen Scheerder" link: "http://www.linkedin.com/in/jeroenscheerder" - name: "Jurgen J. Vinju" link: "http://homepages.cwi.nl/~jurgenv/" - name: "Eelco Visser" link: "http://eelcovisser.org" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2001" doi: "https://doi.org/10.1016/S1571-0661(04)80917-4" abstract: "The Asf+Sdf Meta-environment is an interactive development environment for the automatic generation of interactive systems for constructing language definitions and generating tools for them. Over the years, this system has been used in a variety of academic and commercial projects ranging from formal program manipulation to conversion of COBOL systems. Since the existing implementation of the Meta-environment started exhibiting more and more characteristics of a legacy system, we decided to build a completely new, component-based, version. We demonstrate this new system and stress its open architecture. " links: doi: "https://doi.org/10.1016/S1571-0661(04)80917-4" tags: - "programming languages" - "rule-based" - "meta programming" - "SDF" - "meta-model" - "architecture" - "model-driven development" - "source-to-source" - "DSL" - "metaprogramming" - "Meta-Environment" - "Cobol" - "ASF+SDF" - "open-source" - "meta-objects" researchr: "https://researchr.org/publication/BrandDHJ01" cites: 0 citedby: 3 pages: "365-370" booktitle: "CC" kind: "inproceedings" key: "BrandDHJ01" - title: "Collaborative Software Development" author: - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" - name: "Eelco Visser" link: "http://eelcovisser.org" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2001" researchr: "https://researchr.org/publication/JongeVV01-CSD" cites: 0 citedby: 0 kind: "unpublished" key: "JongeVV01-CSD" - title: "Imposing a Memory Management Discipline on Software Deployment" author: - 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: "2004" doi: "https://doi.org/10.1109/ICSE.2004.1317480" abstract: "The deployment of software components frequently fails because dependencies on other components are not declared explicitly or are declared imprecisely. This results in an incomplete reproduction of the environment necessary for proper operation, or in interference between incompatible variants. In this paper we show that these deployment hazards are similar to pointer hazards in memory models of programming languages and can be countered by imposing a memory management discipline on software deployment. Based on this analysis we have developed a generic, platform and language independent, discipline for deployment that allows precise dependency verification; exact identification of component variants; computation of complete closures containing all components on which a component depends; maximal sharing of components between such closures; and concurrent installation of revisions and variants of components. We have implemented the approach in the Nix deployment system, and used it for the deployment of a large number of existing Linux packages. We compare its effectiveness to other deployment systems." links: doi: "https://doi.org/10.1109/ICSE.2004.1317480" tags: - "programming languages" - "rule-based" - "program analysis" - "deployment" - "completeness" - "meta programming" - "generic programming" - "software components" - "program verification" - "meta-model" - "memory management" - "modeling language" - "language modeling" - "software deployment" - "Nix" - "software component" - "analysis" - "programming" - "Meta-Environment" - "systematic-approach" researchr: "https://researchr.org/publication/DolstraVJ04" cites: 0 citedby: 0 pages: "583-592" booktitle: "ICSE" kind: "inproceedings" key: "DolstraVJ04" - title: "Feature-Based Product Line Instantiation Using Source-Level Packages" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" - name: "Tobias Kuipers" link: "http://www.sig.eu" year: "2002" doi: "http://link.springer.de/link/service/series/0558/bibs/2379/23790217.htm" links: doi: "http://link.springer.de/link/service/series/0558/bibs/2379/23790217.htm" tags: - "rule-based" - "source-to-source" - "product line" - "open-source" researchr: "https://researchr.org/publication/DeursenJK02" cites: 0 citedby: 0 pages: "217-234" booktitle: "SPLC" kind: "inproceedings" key: "DeursenJK02" - title: "Build-Level Components" author: - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" year: "2005" doi: "http://doi.ieeecomputersociety.org/10.1109/TSE.2005.77" links: doi: "http://doi.ieeecomputersociety.org/10.1109/TSE.2005.77" researchr: "https://researchr.org/publication/Jonge05" cites: 0 citedby: 0 journal: "TSE" volume: "31" number: "7" pages: "588-600" kind: "article" key: "Jonge05" - title: "Source Tree Composition" author: - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" year: "2002" doi: "http://link.springer.de/link/service/series/0558/bibs/2319/23190017.htm" links: doi: "http://link.springer.de/link/service/series/0558/bibs/2319/23190017.htm" tags: - "composition" - "source-to-source" - "open-source" researchr: "https://researchr.org/publication/Jonge02%3A0" cites: 0 citedby: 0 pages: "17-32" booktitle: "icsr" kind: "inproceedings" key: "Jonge02:0" - title: "Package-Based Software Development" author: - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" year: "2003" doi: "http://csdl.computer.org/comp/proceedings/euromicro/2003/1996/00/19960076abs.htm" links: doi: "http://csdl.computer.org/comp/proceedings/euromicro/2003/1996/00/19960076abs.htm" tags: - "rule-based" researchr: "https://researchr.org/publication/Jonge03a" cites: 0 citedby: 0 pages: "76-85" booktitle: "euromicro" kind: "inproceedings" key: "Jonge03a" - title: "eServices for Hospital Equipment" author: - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" - name: "Wim van der Linden" link: "https://researchr.org/alias/wim-van-der-linden" - name: "Rik Willems" link: "https://researchr.org/alias/rik-willems" year: "2007" doi: "http://dx.doi.org/10.1007/978-3-540-74974-5_33" links: doi: "http://dx.doi.org/10.1007/978-3-540-74974-5_33" researchr: "https://researchr.org/publication/JongeLW07" cites: 0 citedby: 0 pages: "391-397" booktitle: "icsoc" kind: "inproceedings" key: "JongeLW07" - title: "Decoupling Source Trees into Build-Level Components" author: - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" year: "2004" doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3107&spage=215" links: doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3107&spage=215" tags: - "source-to-source" - "peer-to-peer" - "open-source" researchr: "https://researchr.org/publication/Jonge04" cites: 0 citedby: 0 pages: "215-231" booktitle: "icsr" kind: "inproceedings" key: "Jonge04" - 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"