Lecture Notes in Computer Science 6921 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 Luís Soares Barbosa Markus Lumpe (Eds.) Formal Aspects of Component Software 7th International Workshop, FACS 2010 Guimarães, Portugal, October 14-16, 2010 Revised Selected Papers 1 3 VolumeEditors LuísSoaresBarbosa UniversidadedoMinho HASLab(HighAssuranceSoftwareLaboratory) andDept.ofInformatics CampusdeGualtar,4700-320Braga,Portugal E-mail:[email protected] MarkusLumpe SwinburneUniversityofTechnology FacultyofInformationandCommunicationTechnologies P.O.Box218,Hawthorn,VIC3122,Australia E-mail:[email protected] ISSN0302-9743 e-ISSN1611-3349 ISBN978-3-642-27268-4 e-ISBN978-3-642-27269-1 DOI10.1007/978-3-642-27269-1 SpringerHeidelbergDordrechtLondonNewYork LibraryofCongressControlNumber:2011943630 CRSubjectClassification(1998):D.2,F.3,D.3,D.2.4,F.4.1,D.1 LNCSSublibrary:SL2–ProgrammingandSoftwareEngineering ©Springer-VerlagBerlinHeidelberg2012 Thisworkissubjecttocopyright.Allrightsarereserved,whetherthewholeorpartofthematerialis concerned,specificallytherightsoftranslation,reprinting,re-useofillustrations,recitation,broadcasting, reproductiononmicrofilmsorinanyotherway,andstorageindatabanks.Duplicationofthispublication orpartsthereofispermittedonlyundertheprovisionsoftheGermanCopyrightLawofSeptember9,1965, initscurrentversion,andpermissionforusemustalwaysbeobtainedfromSpringer.Violationsareliable toprosecutionundertheGermanCopyrightLaw. Theuseofgeneraldescriptivenames,registerednames,trademarks,etc.inthispublicationdoesnotimply, evenintheabsenceofaspecificstatement,thatsuchnamesareexemptfromtherelevantprotectivelaws andregulationsandthereforefreeforgeneraluse. Typesetting:Camera-readybyauthor,dataconversionbyScientificPublishingServices,Chennai,India Printedonacid-freepaper SpringerispartofSpringerScience+BusinessMedia(www.springer.com) Preface OnbehalfoftheOrganizingCommitteewearepleasedtopresenttheproceedings of the 7th International Workshop on Formal Aspects of Component Software (FACS 2010) organized by the University of Minho and held in Guimara˜es, Portugalduring October 14–16,2010. The objective of FACS is to bring together researchers and practitioners in the areas of component software and formal methods in order to promote a deeper understanding of the component-based software development paradigm and its applications. The workshop seeks to develop a better understanding of how formal methods can or should be used to make component-based soft- ware development succeed. Formal methods consist of mathematically based techniques for the specification, development, and verification of software and hardware systems. They have shown their great utility in providing the formal foundations of component-based software and working out challenging issues such as mathematical models for components, composition and adaptation, or rigorous approaches to verification, deployment, testing, and certification. FACS 2010 was the seventh event in a series of workshops, founded by the International Institute for Software Technology of the United Nations Univer- sity (UNU-IIST). The firstFACSworkshopwas co-locatedwith FM2003(Pisa, Italy, September 2003).The following FACS workshops were organized as stan- dalone events, at UNU-IIST in Macau (October 2005),at Charles University in Prague(September 2006),atINRIA in Sophia-Antipolis(September 2007),and at University of Ma´laga in Spain (September 2008).FACS 2009 was part of the Formal Methods Week in Eindhoven (October 2009). The FACS 2010 program consisted of two keynotes given by Sanjit Seshia fromthe UniversityofCalifornia,Berkeley,USA, andLu´ısCairesfromthe New University of Lisbon, Portugal, a panel discussion on service-oriented comput- ing, and technical paper presentations (13 full papers and 6 Doctoral Track extended abstracts). The technical papers were carefully selected from a total of 37 submissions originating from 19 countries. Each paper was reviewed by at least three Program Committee members. The entire reviewing process was supported by the EasyChair Conference System. This LNCS volume contains the revised versions of the papers accepted for publication in the FACS 2010 proceedings. Wewouldliketoexpressourgratitudetotoalltheresearcherswhosubmitted their work to the workshop and to all colleagues who served on the Program Committeeandhelpedusprepareahigh-qualityworkshopprogram.Wearealso grateful to the invited speakers,Sanjit Seshia from the University of California, Berkeley, USA, and Lu´ıs Caires from the New University of Lisbon, Portugal, for the willingness to presenttheir researchandperspectivesonformalmethods forcomponent-basedsoftwareattheworkshop.Andlastbutnotleast,wewould VI Preface liketo thankthe panelmembers MarjanSirjan,ZhimingLiu,CarlosCanal,and FarhadArbabfortheirvaluableandinspiringcontributionstoasuccessfulpanel discussion that helped clarify the differences between the component-based and service-orientedparadigms. FACS2010wasfinanciallysupportedbyFCT,thePortugueseFoundationfor Science and Technology, the School of Engineering of the University of Minho, andtheCCTCResearchCenter.TheactivesupportoftheInternationalInstitute for Software Technology of the United Nations University (UNU-IIST), at all stages of the workshoporganization, is also deeply acknowledged. A special word of gratitude is due to our colleagues at Minho who made this event possible: Sara Fernandes, Nuno Rodrigues, Nuno Oliveira and Hugo Macedo. July 2011 Markus Lumpe Lu´ıs S. Barbosa Organization Program Chairs Lu´ıs S. Barbosa Universidade do Minho, Portugal Markus Lumpe Swinburne University of Technology, Australia Program Committee Farhad Arbab CWI, The Netherlands Marco Autili L’Aquila University, Italy Lu´ıs S. Barbosa Universidade do Minho, Portugal Andreas Bauer Australian National University, Australia Frank S. de Boer CWI, The Netherlands Christiano Braga Universidad Complutense de Madrid, Spain Carlos Canal Universidad de Ma´laga, Spain Rolf Hennicker LMU Munich, Germany Einar Broch Johnsen Universitetet i Oslo, Norway Zhiming Liu IIST UNU, Macau, China Ying Liu IBM China Research, China Markus Lumpe Swinburne University of Technology, Australia Eric Madelaine INRIA, Centre Sophia Antipolis, France Sun Meng CWI, The Netherlands Corina Pasareanu NASA Ames, USA Patrizio Pelliccione L’Aquila University, Italy Frantisek Plasil Charles University, Czech Republic Anders Ravn Aalborg University, Denmark Nuno Rodrigues IPCA, Portugal Bernhard Sch¨atz Technical University of Munich, Germany Marjan Sirjan University of Tehran, Iran Volker Stolz UNU-IIST, Macau, China Carolyn Talcott SRI International, USA Dang Van Hung Vietnam National University, Vietnam Naijun Zhan IOS, China Steering Committee Zhiming Liu IIST UNU, Macau, China, Coordinator Farhad Arbab CWI, The Netherlands Lu´ıs S. Barbosa Universidade do Minho, Portugal Carlos Canal University of Ma´laga, Spain Markus Lumpe Swinburne University of Technology, Australia VIII Organization Eric Madelaine INRIA, Sophia-Antipolis, France Corina Pasareanu NASA Ames Research Center, USA Sun Meng CWI, The Netherlands Bernhard Sch¨atz Technical University of Munich, Germany Local Organizing Committee Hugo Macedo Universidade do Minho, Portugal Nuno Oliveira Universidade do Minho, Portugal Nuno Rodrigues Polytechnic Institute of Ca´vado and Ave, Portugal Sara Fernandes Universidade do Minho, Portugal External Referees Ludwig Adam Tomas Pop Sebastian Bauer Hamideh Sabouri Cristiano Bertolini Rudolf Schlatte Jan Olaf Blech Ondrej Sery Marcello M. Bonsangue Alexandra Silva Michel Chaudron Silvia Lizeth Tapia Tarifa Ludovic Henrio Van Khanh To PavelJezek Hoang Truong Narges Khakpour Hieu Vo Ehsan Khamespanah Sebastian Voss Ramtin Khosravi Shuling Wang Martin Martin Scha¨f Ming Xu Charles Morisset Shaofa Yang Christian Pfaller Liang Zhao Tomas Poch Sponsoring Institutions FCT -Science and Technology Foundation, Portugal CCTC -Centro de Ciˆencias e Tecnologias de Computa¸c˜ao, Portugal EEUM -School of Engineering of Minho University, Portugal UNU-IIST-International Institute of Software Technology, United Nations University, Macau, China Table of Contents Quantitative Analysis of Software: Challenges and Recent Advances (Invited Lecture)................................................. 1 Sanjit A. Seshia Analysis of Service Oriented Software Systems with the Conversation Calculus (Invited Lecture) ........................................ 6 Lu´ıs Caires and Hugo Torres Vieira QoS Contract-Aware Reconfiguration of Component Architectures Using E-Graphs ................................................. 34 Gabriel Tamura, Rubby Casallas, Anthony Cleve, and Laurence Duchien Monitoring Method Call Sequences Using Annotations................ 53 B. Nobakht, M.M. Bonsangue, F.S. de Boer, and S. de Gouw An Introduction to Pervasive Interface Automata .................... 71 M. Calder, P. Gray, A. Miller, and C. Unsworth A Separation Logic for OO Programs............................... 88 Liu Yijing and Qiu Zongyan Model Checking Adaptive Multilevel Service Compositions ............ 106 Sabina Rossi Distributed Adaption of Dining Philosophers ........................ 125 S. Andova, L.P.J. Groenewegen, and E.P. de Vink Component Service Promotion: Contracts, Mechanisms and Safety ..... 145 Pascal Andr´e, Gilles Ardourel, and Mohamed Messabihi Systems-Theoretic View of Component-Based Software Development ... 163 Daniel Coˆt´e, Michel Embe Jiague, and Richard St-Denis Aspect Weaving in UML Activity Diagrams: A Semantic and Algorithmic Framework........................................... 182 Djedjiga Mouheb, Dima Alhadidi, Mariam Nouh, Mourad Debbabi, Lingyu Wang, and Makan Pourzandi Using Temporal Logic for Dynamic Reconfigurations of Components.... 200 Julien Dormoy, Olga Kouchnarenko, and Arnaud Lanoix X Table of Contents Modular Termination Analysis of Java Bytecode and Its Application to phoneME Core Libraries .......................................... 218 D. Ram´ırez-Deantes, J. Correas, and G. Puebla Decomposition of Constraint Automata............................. 237 Bahman Pourvatan, Marjan Sirjani, Farhad Arbab, and Marcello M. Bonsangue Graph Representation of Sessions and Pipelines for Structured Service Programming.................................................... 259 Roberto Bruni, Zhiming Liu, and Liang Zhao Will the Real Service Oriented Computing Please Stand Up? (Panel Discussion) ............................................... 277 Farhad Arbab Performance Verification in Complex Enterprise-Level Component Systems ........................................................ 286 Ludwig Adam Runtime Programming through Model-Preserving, Scalable Runtime Patches......................................................... 290 Christoph M. Kirsch, Lu´ıs Lopes, Eduardo R.B. Marques, and Ana Sokolova Steps on the Road to Component Evolvability ....................... 295 Mario Bravetti, Cinzia Di Giusto, Jorge A. P´erez, and Gianluigi Zavattaro Towards Linear Algebras of Components............................ 300 Hugo Daniel Macedo and Jos´e Nuno Oliveira Author Index.................................................. 305 Quantitative Analysis of Software: Challenges and Recent Advances SanjitA.Seshia EECSDepartment,UCBerkeley [email protected] Abstract. Evenwithimpressiveadvances informal methods over thelastfew decades, some problems in automatic verification remain challenging. Central amongst these is the verification of quantitative properties of software such as execution time or energy usage. This paper discusses the main challenges for quantitativeanalysisofsoftwareincyber-physicalsystems.Italsopresentsanew approach tothisproblembasedonthecombination ofinductiveinferencewith deductivereasoning.Theapproachhasbeenimplementedfortiminganalysisin asystemcalledGAMETIME. 1 Introduction Cyber-physicalsystems tightlyintegratecomputationwiththe physicalworld.Conse- quently, the behavior of software controllers of such systems has a major effect on physicalpropertiesofsuchsystems.Thesepropertiesarequantitative,encodingspec- ifications on physical quantities such as time, energy, position, and acceleration. The verificationofsuchquantitativepropertiesofcyber-physicalsoftwaresystemsrequires modelingnotonlythesoftwareprogrambutalsotherelevantaspectsoftheprogram’s environment.In contrast with traditional“Boolean” verification of software, environ- mentmodelsmustbe moreprecise— forexample,one cannotliberallyemploynon- determinisminmodelingtheenvironment,andonecannotabstractawaythehardware or the network.This challengeof accuratemodelingis one of the majorreasonswhy the progress on quantitative software verification has lagged behind that on Boolean softwareverification. Consider,forexample,theareaoftiminganalysisofsoftware.Severalkindsoftim- inganalysisproblemsariseinpractice.First,forhardreal-timesystems,aclassicprob- lemistoestimatetheworst-caseexecutiontime(WCET)ofaterminatingsoftwaretask. Suchanestimateisrelevantforverifyingifdeadlinesortimingconstraintsaremetas wellasforuseinschedulingstrategies.Second,forsoftreal-timesystems,itcanbeuse- fultoestimatethedistributionofexecutiontimesexhibitablebyatask.Third,itcanbe veryusefultofindatestcaseonwhichtheprogramexhibitsanomaloustimingbehav- ior;e.g.,atestcasecausingatasktomissitsdeadline.Finally,in“software-in-the-loop” simulation,thesoftwareimplementationofacontrollerissimulatedalongwithamodel ofthecontinuousplantitcontrols,withthesimulationsconnectedusingexecutiontime estimates.Forscalability,suchsimulationmustbeperformedonaworkstation,noton thetargetembeddedplatform.Consequently,duringtheworkstation-basedsimulation, it is necessary to predict the timing of the program along a particular execution path L.S.BarbosaandM.Lumpe(Eds.):FACS2010,LNCS6921,pp.1–5,2012. (cid:2)c Springer-VerlagBerlinHeidelberg2012