ebook img

Software Composition: 12th International Conference, SC 2013, Budapest, Hungary, June 19, 2013. Proceedings PDF

152 Pages·2013·2.628 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Software Composition: 12th International Conference, SC 2013, Budapest, Hungary, June 19, 2013. Proceedings

Walter Binder Eric Bodden Welf Löwe (Eds.) 8 Software 8 0 8 S Composition C N L 12th International Conference, SC 2013 Budapest, Hungary, June 2013 Proceedings 123 Lecture Notes in Computer Science 8088 CommencedPublicationin1973 FoundingandFormerSeriesEditors: GerhardGoos,JurisHartmanis,andJanvanLeeuwen EditorialBoard DavidHutchison LancasterUniversity,UK TakeoKanade CarnegieMellonUniversity,Pittsburgh,PA,USA JosefKittler UniversityofSurrey,Guildford,UK JonM.Kleinberg CornellUniversity,Ithaca,NY,USA AlfredKobsa UniversityofCalifornia,Irvine,CA,USA FriedemannMattern ETHZurich,Switzerland JohnC.Mitchell StanfordUniversity,CA,USA MoniNaor WeizmannInstituteofScience,Rehovot,Israel OscarNierstrasz UniversityofBern,Switzerland C.PanduRangan IndianInstituteofTechnology,Madras,India BernhardSteffen TUDortmundUniversity,Germany MadhuSudan MicrosoftResearch,Cambridge,MA,USA DemetriTerzopoulos UniversityofCalifornia,LosAngeles,CA,USA DougTygar UniversityofCalifornia,Berkeley,CA,USA GerhardWeikum MaxPlanckInstituteforInformatics,Saarbruecken,Germany Walter Binder Eric Bodden Welf Löwe (Eds.) Software Composition 12th International Conference, SC 2013 Budapest, Hungary, June 19, 2013 Proceedings 1 3 VolumeEditors WalterBinder UniversityofLugano FacultyofInformatics 6904Lugano,Switzerland E-mail:[email protected] EricBodden TechnischeUniversitätDarmstadt EuropeanCenterforSecurityandPrivacybyDesign(ECSPRIDE) 64293Darmstadt,Germany E-mail:[email protected] WelfLöwe LinnaeusUniversity DepartmentofComputerScience 35195Växjö,Sweden E-mail:[email protected] ISSN0302-9743 e-ISSN1611-3349 ISBN978-3-642-39613-7 e-ISBN978-3-642-39614-4 DOI10.1007/978-3-642-39614-4 SpringerHeidelbergDordrechtLondonNewYork LibraryofCongressControlNumber:2013942550 CRSubjectClassification(1998):D.2,F.3,D.3,D.1 LNCSSublibrary:SL2–ProgrammingandSoftwareEngineering ©IFIPInternationalFederationforInformationProcessing2013 Thisworkissubjecttocopyright.AllrightsarereservedbythePublisher,whetherthewholeorpartof thematerialisconcerned,specificallytherightsoftranslation,reprinting,reuseofillustrations,recitation, broadcasting,reproductiononmicrofilmsorinanyotherphysicalway,andtransmissionorinformation storageandretrieval,electronicadaptation,computersoftware,orbysimilarordissimilarmethodology nowknownorhereafterdeveloped.Exemptedfromthislegalreservationarebriefexcerptsinconnection withreviewsorscholarlyanalysisormaterialsuppliedspecificallyforthepurposeofbeingenteredand executedonacomputersystem,forexclusiveusebythepurchaserofthework.Duplicationofthispublication orpartsthereofispermittedonlyundertheprovisionsoftheCopyrightLawofthePublisher’slocation, initscurrentversion,andpermissionforusemustalwaysbeobtainedfromSpringer.Permissionsforuse maybeobtainedthroughRightsLinkattheCopyrightClearanceCenter.Violationsareliabletoprosecution undertherespectiveCopyrightLaw. Theuseofgeneraldescriptivenames,registerednames,trademarks,servicemarks,etc.inthispublication doesnotimply,evenintheabsenceofaspecificstatement,thatsuchnamesareexemptfromtherelevant protectivelawsandregulationsandthereforefreeforgeneraluse. Whiletheadviceandinformationinthisbookarebelievedtobetrueandaccurateatthedateofpublication, neithertheauthorsnortheeditorsnorthepublishercanacceptanylegalresponsibilityforanyerrorsor omissionsthatmaybemade.Thepublishermakesnowarranty,expressorimplied,withrespecttothe materialcontainedherein. Typesetting:Camera-readybyauthor,dataconversionbyScientificPublishingServices,Chennai,India Printedonacid-freepaper SpringerispartofSpringerScience+BusinessMedia(www.springer.com) Preface The12thInternationalConferenceonSoftwareComposition(SC2013)provided researchersandpractitionerswithauniqueplatformtopresentanddiscusschal- lenges of how composition of software parts may be used to build and maintain large software systems. Co-located with the STAF 2013 Federated Conferences in Budapest, SC 2013 built upon a history of a successful series of conferences on software composition held since 2002 in cities across Europe. Wereceived21fullsubmissionsco-authoredbyresearchers,practitioners,and academics from 14 countries. One paper was desk rejected for obviously being out of scope. All other papers were peer-reviewed by at least three reviewers, and discussed by the Program Committee. Based on the recommendations and discussions, we accepted 9 papers, leading to an acceptance rate of 43%. Besides these technical papers, we are excited to have won Sven Apel as keynotespeakerforSC2013,whosharedhisinsightsonmanagingandanalyzing software product lines with the combined SC 2013 and STAF 2013 audience. We aregratefulto the members ofthe ProgramCommittee andthe external reviewers for helping us to seek submissions and provide valuable and timely reviews. Their efforts enabled us to put together a high-quality technical pro- gram for SC 2013. We are indebted to the local arrangements team of STAF 2013 for the successful organization of all conference and social events. The SC 2013submission,review,andproceedingsprocesswasextensivelysupported by the EasyChair Conference Management System. We also acknowledge the prompt and professional support from Springer, who published these proceed- ingsinprintedandelectronicvolumesaspartofthe LectureNotesinComputer Science series. Most importantly, we would like to thank all authors and participants of SC 2013 for their insightful works and discussions! March 2013 Walter Binder Eric Bodden Welf Lo¨we Program Committee Danilo Ansaloni University of Lugano, Switzerland Sven Apel University of Passau,Germany Olivier Barais IRISA / INRIA / Univ. Rennes 1, France Alexandre Bergel University of Chile, Chile Domenico Bianculli University of Luxembourg, Luxembourg Daniele Bonetta University of Lugano, Switzerland Lubom´ır Bulej Charles University, Czech Republic Shigeru Chiba The University of Tokyo, Japan Ion Constantinescu Google Inc., USA Schahram Dustdar Vienna University of Technology, Austria Erik Ernst University of Aarhus, Denmark Bernd Freisleben University of Marburg, Germany Thomas Gschwind IBM Research, Switzerland Michael Haupt Oracle Labs, Germany Christian Ka¨stner Carnegie Mellon University, USA Doug Lea SUNY Oswego, USA Karl Lieberherr Northeastern University, USA David Lorenz The Open University, Israel Hidehiko Masuhara University of Tokyo, Japan Oscar Nierstrasz University of Bern, Switzerland Jacques Noy´e Ecole des Mines de Nantes, France Ina Schaefer Technische Universita¨t Braunschweig,Germany Andreas Sewe Technische Universita¨t Darmstadt, Germany Mario Su¨dholt INRIA-Ecole des Mines de Nantes, France Clemens Szyperski Microsoft Research, USA Immanuel Trummer E´cole Polytechnique F´ed´eralede Lausanne,Switzerland Alex Villazo´n Universidad Privada Boliviana, Bolivia Eric Wohlstadter University of British Columbia, Canada Thomas Wu¨rthinger Oracle Labs, Austria Cheng Zhang Shanghai Jiao Tong University, China VIII Organization Additional Reviewers Abdelmeged, Ahmed Caracciolo,Andrea Chis, Andrei Ghica, Dan Lessenich, Olaf Schulze, Sandro Siegmund, Janet Zhang, Sai Table of Contents Reusable Components for Lightweight Mechanisation of Programming Languages ....................................................... 1 Seyed H. Haeri and Sibylle Schupp Neverlang 2 – Componentised Language Development for the JVM...... 17 Walter Cazzola and Edoardo Vacchi Preserving Confidentiality in Component Compositions ................ 33 Andreas Fuchs and Sigrid Gu¨rgens Method Shells: Avoiding Conflicts on Destructive Class Extensions by Implicit Context Switches.......................................... 49 Wakana Takeshita and Shigeru Chiba Separating Obligations of Subjects and Handlers for More Flexible Event Type Verification............................................ 65 Jos´e S´anchez and Gary T. Leavens Implementing Feature Interactions with Generic Feature Modules ....... 81 Fuminobu Takeyama and Shigeru Chiba Compositional Development of BPMN............................... 97 Peter Y.H. Wong Building a Customizable Business-Process-as-a-Service Application with Current State-of-Practice...................................... 113 Fatih Gey, Stefan Walraven, Dimitri Van Landuyt, and Wouter Joosen Verifying Data Independent Programs Using Game Semantics .......... 128 Aleksandar S. Dimovski Author Index................................................... 145 Reusable Components for Lightweight Mechanisation of Programming Languages Seyed H. Haeri (Hossein) and Sibylle Schupp Institutefor Software Systems, HamburgUniversity of Technology, Germany {hossein,schupp}@tu-harburg.de Abstract. Implementing Programming Languages (PLs) has always been a challenge for various reasons. One reason is the excess of rou- tine tasks to be redone on every implementation cycle. This is despite theremarkablefraction ofsyntaxandsemanticsusually shared between successivecycles.Inthispaper,wepresentacomponent-basedapproach to avoid reimplementation of shared PL fractions. We provide two sets of reusable components; one for syntax implementation and another for semantics. Oursyntaxandsemantics componentscorrespond tosyntac- ticcategories andsemanticsrulesofaPLspecification, respectively.We showhow,inadditiontotheirservicetoreusabilityinsyntaxandseman- tics, ourcomponents can cater reusable implementation of PL analyses. Our current level of experimentation suggests that this approach is ap- plicable whereverthefollowing twofeaturesareavailable orcan besim- ulated: Type Constraints and Multiple Inheritance. Implementing a PL using our approach, however, requires some modest programming disci- pline that we will explain throughout the text. 1 Introduction Mechanisation of a PL is implementing it for the purpose of experimentally studying its characteristics and conduct. One interacts with the mechanisation to discover otherwise inapparent facts or flaws in action. PL mechanisation, however,canbecomeveryinvolvedusingtraditionalformalproofsystems.Vari- ous other frameworkshave,therefore,been crafted to help lightweightmechani- sation. Different frameworks focus on facilitating different mechanisation tasks. Mechanisation often enjoys cycles. Repeating implementation upon eachcy- cle can form a considerable burden against mechanisation, especially because consecutive cycles often share a sizeable fraction of their syntax, only differ in few semantic rules, and, rarely add new analyses. Modularity becomes vital in that, upon extension, existing modules ought to be readily reusable. As such, component-based mechanisation can provide even more reusability by facilitating implementation sharing for individual PL constructs. For exam- ple, it is not uncommon for different PLs to be extended using similar con- structs (in the syntax or semantics). Component-based mechanisation cancels the need for reimplementing such constructs. In addition, our above interpreta- tionofmodularitycomesasasideproductinthatPLmodulesalreadycomposed of components need not to be touched upon the addition of new components. W.Binder,E.Bodden,andW.L¨owe(Eds.):SC2013,LNCS8088,pp.1–16,2013. (cid:2)c IFIPInternationalFederationforInformationProcessing2013 2 S.H. Haeri and S. Schupp In this paper,we implement language-independentcomponents forsyntactic categories to obtain syntax code reuse. We also offer a collection of semantics- lenient derivation rules that are individually executable. These form our highly flexiblecomponentsthatcatervarioussortsofsemanticscodereuseuponcompo- sition.Aparticularlyinterestingconsequenceofthe flexibility inoursyntaxand semanticscomponentsisanalysiscodereuse.Thesecomponentselevatethepro- gramming level of mechanisation;they encourage coding in terms of themselves (asopposedtoexacttype constructors),viz.,additionofnew type constructors imposes no recompilation on existing code. (C.f. Expression Problem [29].) Whilstouruseofmultipleinheritancecaterseasyextensionofmechanisation, typeconstraintshelpthecompileroutlawreuseofmechanisationwhenconceptu- ally inapplicable.Our approachis applicable independent ofthe formalismused for specification. Yet, a modest programming discipline is required for enjoying our reusability. Most of the burden is, however, on the Language Definitional Framework(LDF). Our approachindeed minimises the PL implementer’s effort when an extensive set of our components is available through the LDF. We choose to embed our approach in Scala for its unique combination of built-in features that suit mechanisation [23]. Both multiple inheritance and type constraints have special flavours in Scala that are not shared universally amongst languages. However, we do not make use of those specialities. Hence, theapplicabilityofourapproachisdeemedtoonlybe subjecttotheavailability of multiple inheritance and type constraints. We start by reviewing the related literature in Section 2. In Section 3, we provide a minimal explanation of the Scala features we use. We exemplify our approach using five systems for lazy evaluation that we briefly present in Sec- tion 4. Next, in Section 5, we demonstrate our components for both syntax and semantics mechanisation. As an interesting extra consequence of our particu- lar design of components, Section 6 shows how analysis mechanisation reuse is gained. Concluding remarks and discussion on future work come in Section 7.1 2 Related Work Funcons of PLanCompS [13] are composable components for PL mechanisation each of which with a universally unique semantics. Funcons are similar to our syntax components except that, due to our decoupling of syntax and semantics, our components can have multiple pieces of semantics. On the other hand, a funcon’s semantics is provided using Modular SOS [21] and Action Semantics [20],whilstwedonotdemandanyparticularformalism.TheGLoominiparsers enable scope-controlled extensions to its language by desugaring the extended syntax into core GLoo [19]. SugarHaskell [9] provides similar facilities, but in a layout-sensitive fashion and for Haskell. Polyglot [22] users can extend a PL compiler (including that of Polyglotitself) by providing (one or more) compiler passesthatrewritetheoriginalASTintoaJavaone.Thedifferencebetweenthe 1 onlinesourcecodeavailableathttp://www.sts.tuhh.de/~hossein/compatibility.

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.