lecture notes in computer science 8225

10
Lecture Notes in Computer Science 8225 Commenced Publication in 1973 Founding and Former Series Editors: Gerhard Goos, Juris Hartmanis, and Jan van Leeuwen Editorial Board David Hutchison Lancaster University, UK Takeo Kanade Carnegie Mellon University, Pittsburgh, PA, USA Josef Kittler University of Surrey, Guildford, UK Jon M. Kleinberg Cornell University, Ithaca, NY, USA Alfred Kobsa University of California, Irvine, CA, USA Friedemann Mattern ETH Zurich, Switzerland John C. Mitchell Stanford University, CA, USA Moni Naor Weizmann Institute of Science, Rehovot, Israel Oscar Nierstrasz University of Bern, Switzerland C. Pandu Rangan Indian Institute of Technology, Madras, India Bernhard Steffen TU Dortmund University, Germany Madhu Sudan Microsoft Research, Cambridge, MA, USA Demetri Terzopoulos University of California, Los Angeles, CA, USA Doug Tygar University of California, Berkeley, CA, USA Gerhard Weikum Max Planck Institute for Informatics, Saarbruecken, Germany

Upload: others

Post on 13-Nov-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Lecture Notes in Computer Science 8225Commenced Publication in 1973Founding and Former Series Editors:Gerhard Goos, Juris Hartmanis, and Jan van Leeuwen

Editorial Board

David HutchisonLancaster University, UK

Takeo KanadeCarnegie Mellon University, Pittsburgh, PA, USA

Josef KittlerUniversity of Surrey, Guildford, UK

Jon M. KleinbergCornell University, Ithaca, NY, USA

Alfred KobsaUniversity of California, Irvine, CA, USA

Friedemann MatternETH Zurich, Switzerland

John C. MitchellStanford University, CA, USA

Moni NaorWeizmann Institute of Science, Rehovot, Israel

Oscar NierstraszUniversity of Bern, Switzerland

C. Pandu RanganIndian Institute of Technology, Madras, India

Bernhard SteffenTU Dortmund University, Germany

Madhu SudanMicrosoft Research, Cambridge, MA, USA

Demetri TerzopoulosUniversity of California, Los Angeles, CA, USA

Doug TygarUniversity of California, Berkeley, CA, USA

Gerhard WeikumMax Planck Institute for Informatics, Saarbruecken, Germany

Martin Erwig Richard F. PaigeEric Van Wyk (Eds.)

Software LanguageEngineering

6th International Conference, SLE 2013Indianapolis, IN, USA, October 26-28, 2013Proceedings

13

Volume Editors

Martin ErwigOregon State UniversitySchool of Electrical Engineering and Computer ScienceCorvallis, OR 97331-5501, USAE-mail: [email protected]

Richard F. PaigeUniversity of YorkDepartment of Computer ScienceDeramore Lane, York YO10 5GH, UKE-mail: [email protected]

Eric Van WykUniversity of MinnesotaDepartment of Computer Science and Engineering200 SE Union Street, Minneapolis, MN 55455, USAE-mail: [email protected]

ISSN 0302-9743 e-ISSN 1611-3349ISBN 978-3-319-02653-4 e-ISBN 978-3-319-02654-1DOI 10.1007/978-3-319-02654-1Springer Cham Heidelberg New York Dordrecht London

Library of Congress Control Number: 2013949676

CR Subject Classification (1998):D.3.2-4, D.2.1-2, D.2.11-13, F.4.2, I.2.4, I.6.5, K.6.3

LNCS Sublibrary: SL 2 – Programming and Software Engineering

© Springer International Publishing Switzerland 2013

This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part ofthe material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation,broadcasting, reproduction on microfilms or in any other physical way, and transmission or informationstorage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodologynow known or hereafter developed. Exempted from this legal reservation are brief excerpts in connectionwith reviews or scholarly analysis or material supplied specifically for the purpose of being entered andexecuted on a computer system, for exclusive use by the purchaser of the work. Duplication of this publicationor parts thereof is permitted only under the provisions of the Copyright Law of the Publisher’s location,in its current version, and permission for use must always be obtained from Springer. Permissions for usemay be obtained through RightsLink at the Copyright Clearance Center. Violations are liable to prosecutionunder the respective Copyright Law.The use of general descriptive names, registered names, trademarks, service marks, etc. in this publicationdoes not imply, even in the absence of a specific statement, that such names are exempt from the relevantprotective laws and regulations and therefore free for general use.While the advice and information in this book are believed to be true and accurate at the date of publication,neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors oromissions that may be made. The publisher makes no warranty, express or implied, with respect to thematerial contained herein.

Typesetting: Camera-ready by author, data conversion by Scientific Publishing Services, Chennai, India

Printed on acid-free paper

Springer is part of Springer Science+Business Media (www.springer.com)

Preface

We are pleased to present the proceedings of the 6th International Conferenceof Software Language Engineering (SLE 2013). The conference was held in In-dianapolis, USA, during October 26–28, 2013. It was co-located with the 12thInternational Conference on Generative Programming and Component Engineer-ing (GPCE 2013), the 4th Conference on Systems, Programming, Languagesand Applications: Software for Humanity (SPLASH 2013, which includes OOP-SLA), the Dynamic Languages Symposium, the 5th International Workshop onFeature-Oriented Software Development, and three SLE workshops: the Indus-try Track of Software Language Engineering, the Systems Biology and LanguageEngineering, and the Parsing@SLE Workshop.

The SLE conference series is devoted to a wide range of topics related toartificial languages in software engineering. SLE is an international research fo-rum that brings together researchers and practitioners from both industry andacademia to expand the frontiers of software language engineering. SLE’s fore-most mission is to encourage, synthesize, and organize communication betweencommunities that have traditionally looked at software languages from differentand yet complementary perspectives. Supporting these communities in learningfrom each other, and transferring knowledge, is the guiding principle behind theorganization of SLE.

The conference program included a keynote presentation, 17 technical pa-per presentations, 2 tool papers, and a number of poster presentations (whichare not included in these proceedings, but in a complementary volume). Theinvited keynote speaker was Don Batory (University of Texas at Austin, USA),who spoke provocatively about “Dark Knowledge and Graph Grammars in Au-tomated Software Design”.

We received 56 full submissions from 63 abstract submissions. From thesesubmissions, the Program Committee (PC) selected 19 papers: 17 full papersand 2 tool demonstration papers, resulting in an acceptance rate of 34%. Eachsubmitted paper was reviewed by at least three PC members and discussed indetail during the electronic PC meeting.

SLE 2013 would not have been possible without the significant contribu-tions of many individuals and organizations. We are grateful to the SPLASH2013 general chairs and local organizing chairs, particularly Antony Hosking andPatrick Eugster, for taking care of logistical matters and hosting the conferencein Indianapolis. The SLE Steering Committee provided invaluable assistance and

VI Preface

guidance. We are also grateful to the PC members and the additional review-ers for their dedication in reviewing the submissions. We thank the authors fortheir efforts in writing and then revising their papers and addressing the recom-mendations of the referees in a constructive manner. Our final thanks go to thesponsoring and cooperating institutions for their generous support.

August 2013 Martin ErwigRichard F. Paige

Organization

General Chair

Eric Van Wyk University of Minnesota, USA

Program Co-chairs

Martin Erwig Oregon State University, USARichard F. Paige University of York, UK

Steering Committee

Mark van den Brand Eindhoven University of Technology,The Netherlands

James Cordy Queen’s University, CanadaJean-Marie Favre University of Grenoble, FranceDragan Gašević Athabasca University, CanadaGörel Hedin Lund University, SwedenEric Van Wyk University of Minnesota, USAJurgen Vinju CWI, The NetherlandsKim Mens Catholic University of Louvain, Belgium

Program Committee

Emilie Balland Inria, FranceOlaf Chitil University of Kent, UKJames R. Cordy School of Computing, Queen’s University,

CanadaDavide Di Ruscio Università degli Studi dell’Aquila, ItalyIavor Diatchki Galois Inc., USAAnne Etien LIFL - University of Lille 1, FranceJean-Marie Favre University of Grenoble, FranceDragan Gašević Athabasca University, CanadaJeremy Gibbons University of Oxford, UKAndy Gill University of Kansas, USAJeff Gray University of Alabama, USA

VIII Organization

Giancarlo Guizzardi Federal University of Espirito Santo, BrazilGörel Hedin Lund University, SwedenMarkus Herrmannsdörfer Technische Universität München, GermanyZhenjiang Hu NII, JapanOleg Kiselyov USAPaul Klint CWI, The NetherlandsThomas Kühne Victoria University of Wellington, New ZealandKim Mens Université Catholoque Louvain, BelgiumPierre-Etienne Moreau Ecole des Mines de Nancy, FranceKlaus Ostermann University of Marburg, GermanyArnd Poetzsch-Heffter University of Kaiserslautern, GermanyFiona Polack University of York, UKLukas Renggli University of Bern, SwitzerlandBernhard Rumpe RWTH Aachen, GermanyJoão Saraiva Universidade do Minho, PortugalFriedrich Steimann FernUniversität in Hagen, GermanyGabriele Täntzer Philipps-Universität Marburg, GermanyMark Van Den Brand TU Eindhoven, The NetherlandsJurgen Vinju CWI, The Netherlands

Additional Reviewers

Alalfi, ManarArendt, ThorstenAsadi, MohsenBach, Jean-ChristopheBieniusa, AnnetteBoskovic, MarkoBosnacki, DraganBrunnlieb, MalteChen, ShengCho, HyunCorley, JonathanCunha, JácomeDean, ThomasFeller, ChristophFontaine, PascalFort, KarënGreifenberg, TimoGroener, GerdHermerschmidt, LarsHorst, Andreas

Jacob, FeroshKelter, UdoKolassa, CarstenKurnia, IlhamKurpick, ThomasMartins, PedroMichel, PatrickPollet, DamienRessia, JorgeRingert, Jan OliverSerebrenik, AlexanderSmeltzer, KarlStephan, MatthewStevenson, AndrewSun, Yuvan Amstel, Marcelvan der Meer, ArjanVerhoeff, TomWeber, Mathias

Table of Contents

Invited Talk

Dark Knowledge and Graph Grammars in Automated SoftwareDesign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

Don Batory, Rui Gonçalves, Bryan Marker, and Janet Siegmund

Domain-Specific Languages

Developing a Domain-Specific Language for Scheduling in the EuropeanEnergy Sector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Stefan Sobernig, Mark Strembeck, and Andreas Beck

Micro-Machinations: A DSL for Game Economies . . . . . . . . . . . . . . . . . . . . 36Paul Klint and Riemer van Rozen

xMOF: Executable DSMLs Based on fUML . . . . . . . . . . . . . . . . . . . . . . . . . 56Tanja Mayerhofer, Philip Langer, Manuel Wimmer, andGerti Kappel

Language Patterns and Evolution

Variability Support in Domain-Specific Language Development . . . . . . . . 76Edoardo Vacchi, Walter Cazzola, Suresh Pillay, andBenoît Combemale

Software Evolution to Domain-Specific Languages . . . . . . . . . . . . . . . . . . . . 96Stefan Fehrenbach, Sebastian Erdweg, and Klaus Ostermann

Micropatterns in Grammars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117Vadim Zaytsev

Grammars

Safe Specification of Operator Precedence Rules . . . . . . . . . . . . . . . . . . . . . 137Ali Afroozeh, Mark van den Brand, Adrian Johnstone,Elizabeth Scott, and Jurgen Vinju

Detecting Ambiguity in Programming Language Grammars . . . . . . . . . . . 157Naveneetha Vasudevan and Laurence Tratt

A Pretty Good Formatting Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177Anya Helene Bagge and Tero Hasu

X Table of Contents

Tools

The State of the Art in Language Workbenches: Conclusionsfrom the Language Workbench Challenge . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

Sebastian Erdweg, Tijs van der Storm, Markus Völter,Meinte Boersma, Remi Bosman, William R. Cook, Albert Gerritsen,Angelo Hulshout, Steven Kelly, Alex Loh, Gabriël D.P. Konat,Pedro J. Molina, Martin Palatnik, Risto Pohjonen,Eugen Schindler, Klemens Schindler, Riccardo Solmi,Vlad A. Vergu, Eelco Visser, Kevin van der Vlist,Guido H. Wachsmuth, and Jimi van der Woning

A Model-Driven Approach to Enhance Tool Interoperability Usingthe Theory of Models of Computation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218

Papa Issa Diallo, Joël Champeau, and Loïc Lagadec

Whiley: A Platform for Research in Software Verification . . . . . . . . . . . . . 238David J. Pearce and Lindsay Groves

Method and Tool Support for Classifying Software Languageswith Wikipedia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249

Ralf Lämmel, Dominik Mosen, and Andrei Varanovich

Language Analysis

A Language Independent Task Engine for Incremental Name and TypeAnalysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260

Guido H. Wachsmuth, Gabriël D.P. Konat, Vlad A. Vergu,Danny M. Groenewegen, and Eelco Visser

A Generic Framework for Symbolic Execution . . . . . . . . . . . . . . . . . . . . . . . 281Andrei Arusoaie, Dorel Lucanu, and Vlad Rusu

Circular Higher-Order Reference Attribute Grammars . . . . . . . . . . . . . . . . 302Emma Söderberg and Görel Hedin

Meta- and Megamodelling

Mapping-Aware Megamodeling: Design Patterns and Laws . . . . . . . . . . . . 322Zinovy Diskin, Sahar Kokaly, and Tom Maibaum

Partial Instances via Subclassing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344Kacper Bąk, Zinovy Diskin, Michał Antkiewicz,Krzysztof Czarnecki, and Andrzej Wąsowski

Table of Contents XI

Reifying Concurrency for Executable Metamodeling . . . . . . . . . . . . . . . . . . 365Benoît Combemale, Julien De Antoni, Matias Vara Larsen,Frédéric Mallet, Olivier Barais, Benoit Baudry, and Robert B. France

Author Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385