Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
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