Lecture Notes in Computer Science 4242 CommencedPublicationin1973 FoundingandFormerSeriesEditors: GerhardGoos,JurisHartmanis,andJanvanLeeuwen EditorialBoard DavidHutchison LancasterUniversity,UK TakeoKanade CarnegieMellonUniversity,Pittsburgh,PA,USA JosefKittler UniversityofSurrey,Guildford,UK JonM.Kleinberg CornellUniversity,Ithaca,NY,USA FriedemannMattern ETHZurich,Switzerland JohnC.Mitchell StanfordUniversity,CA,USA MoniNaor WeizmannInstituteofScience,Rehovot,Israel OscarNierstrasz UniversityofBern,Switzerland C.PanduRangan IndianInstituteofTechnology,Madras,India BernhardSteffen UniversityofDortmund,Germany MadhuSudan MassachusettsInstituteofTechnology,MA,USA DemetriTerzopoulos UniversityofCalifornia,LosAngeles,CA,USA DougTygar UniversityofCalifornia,Berkeley,CA,USA MosheY.Vardi RiceUniversity,Houston,TX,USA GerhardWeikum Max-PlanckInstituteofComputerScience,Saarbruecken,Germany Awais Rashid Mehmet Aksit (Eds.) Transactions on Aspect-Oriented Software Development II 1 3 VolumeEditors AwaisRashid LancasterUniversity ComputingDepartment LancasterLA14WA,UK E-mail:[email protected] MehmetAksit UniversityofTwente DepartmentofComputerScience Enschede,TheNetherlands E-mail:[email protected] LibraryofCongressControlNumber:2006921902 CRSubjectClassification(1998):D.2,D.3,I.6,H.4,K.6 LNCSSublibrary:SL2–ProgrammingandSoftwareEngineering ISSN 0302-9743 ISBN-10 3-540-48890-1SpringerBerlinHeidelbergNewYork ISBN-13 978-3-540-48890-3SpringerBerlinHeidelbergNewYork Thisworkissubjecttocopyright.Allrightsarereserved,whetherthewholeorpartofthematerialis concerned,specificallytherightsoftranslation,reprinting,re-useofillustrations,recitation,broadcasting, reproductiononmicrofilmsorinanyotherway,andstorageindatabanks.Duplicationofthispublication orpartsthereofispermittedonlyundertheprovisionsoftheGermanCopyrightLawofSeptember9,1965, initscurrentversion,andpermissionforusemustalwaysbeobtainedfromSpringer.Violationsareliable toprosecutionundertheGermanCopyrightLaw. SpringerisapartofSpringerScience+BusinessMedia springer.com ©Springer-VerlagBerlinHeidelberg2006 PrintedinGermany Typesetting:Camera-readybyauthor,dataconversionbyScientificPublishingServices,Chennai,India Printedonacid-freepaper SPIN:11922827 06/3142 543210 Editorial Welcome to the second volume of Transactions on Aspect-Oriented Software Development. The successful launch of the journal and publication of its first volume in March 2006 has been followed by a steady stream of submissions as well as several special issue proposals on topics ranging from Early Aspects and aspect interactions through to aspect-oriented programming and middleware technologies. This volume comprises two regular papers and six papers constituting a special section on AOP Systems, Software and Middleware. The first article “On Horizontal Specification Architectures and Their Aspect- Oriented Implementations” by Aaltonen, Katara, Kurki-Suonio and Mikkonen proposes the use of horizontal architectures to improve alignment between system requirements and aspect-oriented implementations realizing those requirements. The authors’ approach builds on their earlier work on the DisCO method which utilizes the notion of superpositions as a basis of aspect composition. The second article “A Framework for Policy Driven Auto-Adaptive Systems Using Dynamic Framed Aspects” by Greenwood and Blair synthesizes techniques such as event–condition–action rules and parameterization with dynamic AOP to develop reusable aspects that can be woven at run time. The goal of the authors’ work is to support auto-adaptive behaviour using such reusable aspects. They present performance measurements as well as metrics-based evaluation of their approach in this context. The remaining six papers focus on various topics in AOP systems, software and middleware. The guest editors, Yvonne Coady, Hans-Arno Jacobsen and Mario Südholt, provide an introduction to these in their editorial. We wish to thank the editorial board for their continued guidance, commitment and input on the policies of the journal, the choice of special issues as well as associate-editorship of submitted articles. We also thank the guest editors, Yvonne Coady, Hans-Arno Jacobsen and Mario Südholt, for putting together the special section on AOP systems, software and middleware. Thanks are also due to the reviewers who volunteered time from their busy schedules to help realize this volume. Most importantly, we wish to thank the authors who have submitted papers to the journal so far, for their contributions maintain the high quality of Transactions on AOSD. The journal is committed to publishing work of the highest standard on all facets of aspect-oriented software development techniques in the context of all phases of the software life cycle, from requirements and design to implementation, maintenance and evolution. The call for papers is open indefinitely and potential authors can submit papers at any time to: [email protected]. Detailed submission instructions are available at: http://www.springer.com/sgw/ cda/frontpage/0,,3-164-2-109318-0,00.html. Two more special issues on current important topics, “Early Aspects” and “Aspects, Dependencies and Interactions”, are in preparation. Calls for such special issues are publicized on relevant Internet mailing lists, Web sites as well as conferences such as the Aspect-Oriented VI Editorial Software Development conference. We look forward to further high-quality submissions from prospective authors and their publication in future volumes of Transactions on AOSD. Awais Rashid and Mehmet Aksit Co-editors-in-chief Organization Editorial Board Mehmet Aksit, University of Twente Don Batory, University of Texas at Austin Shigeru Chiba, Tokyo Institute of Technology Siobhán Clarke, Trinity College Dublin Theo D’Hondt, Vrije Universiteit Brussel Robert Filman, Google Shmuel Katz, Technion-Israel Institute of Technology Gregor Kiczales, University of British Columbia Karl Lieberherr, Northeastern University Mira Mezini, University of Darmstadt Ana Moreira, New University of Lisbon Linda Northrop, Software Engineering Institute Harold Ossher, IBM Research Awais Rashid, Lancaster University Douglas Schmidt, Vanderbilt University David Thomas, Bedarra Research Labs List of Reviewers Don Batory Joerg Kienzle Klaas van den Berg Micheal Kircher Lodewijk Bergmans Julia Lawall Gordon S. Blair Cristina Lopez Lynne Blair David H. Lorenz Johan Brichau Florence Maraninchi Fei Cao Jean-Marc Menaud Walter Cazzolla Mira Mezini Shigeru Chiba Gilles Muller Ruzanna Chitchyan Juan Manuel Murillo Siobhán Clarke Gail Murphy Thomas Cleenewerk James Noble Yvonne Coady Carlos Noguera Pascal Costanza Harold Ossher Geoff Coulson Klaus Ostermann Krysztof Czarnecki Renaud Pawlak Cormac Driver Monica Pinto Eric Eide Ragghu Reddy Eric Ernst Martin Robillard Tzilla Elrad Douglas Schmidt Robert France Christa Schwanninger Marc E. Fiuczynski Marc Segura-Devillechaise Lidia Fuentes Ian Sommerville VIII Organization Alessandro Garcia Olaf Spinczyk Chris Gill Stefan Tai Andy Gokhale Eric Tanter Aniruddha Gokhale Wim Vanderperren Jeff Gray BartVerheecke Phil Greenwood J. Vitek Stephan Hanenberg Jon Whittle William Harrison Xiaoqing Wu Stephan Herrmann Egon Wuchner Kabir Khan Charles Zhang Gregor Kiczales Table of Contents On Horizontal Specification Architectures and Their Aspect-Oriented Implementations .................................................. 1 Timo Aaltonen, Mika Katara, Reino Kurki-Suonio, Tommi Mikkonen A Framework for Policy Driven Auto-adaptive Systems Using Dynamic Framed Aspects .................................................. 30 Phil Greenwood, Lynne Blair Focus: AOP Systems, Software and Middleware Guest Editors’ Introduction ........................................ 66 Yvonne Coady, Hans-Arno Jacobsen, Mario Su¨dholt Aspect-Oriented Development of Crosscutting Features in Distributed, Heterogeneous Systems ............................................ 69 Eric Wohlstadter, Premkumar Devanbu Shakeins: Nonintrusive Aspects for Middleware Frameworks ........... 101 Tal Cohen, Joseph (Yossi) Gil Run-Time and Atomic Weaving of Distributed Aspects ................ 147 Eddy Truyen, Wouter Joosen TOSKANA: A Toolkit for Operating System Kernel Aspects ........... 182 Michael Engel, Bernd Freisleben Lean and Efficient System Software Product Lines: Where Aspects Beat Objects ..................................................... 227 Daniel Lohmann, Olaf Spinczyk, Wolfgang Schro¨der-Preikschat Providing Configurable QoS Management in Real-Time Systems with QoS Aspect Packages ......................................... 256 Aleksandra Teˇsanovi´c, Mehdi Amirijoo, Jo¨rgen Hansson Author Index................................................... 289 On Horizontal Specification Architectures and Their Aspect-Oriented Implementations Timo Aaltonen, Mika Katara, Reino Kurki-Suonio, and Tommi Mikkonen Instituteof Software Systems Tampere Universityof Technology P.O. Box 553, 33101 Tampere, Finland [email protected] Abstract. Inordertoprovidebetteralignment betweenconceptualre- quirements and aspect-oriented implementations, specification methods shouldenabletheencapsulationofbehavioral abstractions ofsystems.In this paper we argue that horizontal architectures, consisting of such be- havioralabstractions,canprovidebetterseparationofconcernsthancon- ventional architectures, while supporting incremental development for morecommonunitsofmodularitysuchasclasses.Webaseourarguments on our experiences with the DisCo method, where behavioral abstrac- tionsarecomposedusingthesuperposition principle,atechniqueclosely associated with aspect orientation. Moreover, we demonstrate how the alignmentbetweenanabstract,horizontallyarchitectedspecification(or model) and its aspect-oriented implementation can be achieved. Map- pingsarediscussedthatimplementsymmetricDisCospecificationsboth inHyper/J,whichenablessymmetricseparation ofconcerns,andinAs- pectJ that uses asymmetric structuring. 1 Introduction Postobject programming (POP) mechanisms, like those developed in aspect- oriented programming [15, 30], provide means to modularize crosscutting concerns, which are in some sense orthogonal to conventional modularity. The backgroundof this paper is in the observationthat the same objective has been pursuedalsoatthelevelofformalspecificationsofreactivesystems,andthatthe results of this research are relevant for the theoretical understanding of POP- related architectures and of the associated specification and design methods. Unlike conventionalsoftwaremodules,units of modularity that aresuited for a structured description of the intended logical meaning of a system can be un- derstood as aspects in the sense of aspect-oriented programming. We call such units horizontalin contrastto conventionalverticalunits ofmodularity, suchas classes and processes. While the vertical dimension remains dominant because of the available implementation techniques, the horizontal dimension can pro- vide better separationofconcernsthan the verticalone improving,for example, traceabilityofrequirementsandconceptualunderstandingofthe features ofthe system. A.RashidandM.Aksit(Eds.):TransactionsonAOSDII,LNCS4242,pp.1–29,2006. (cid:1)c Springer-VerlagBerlinHeidelberg2006 2 T. Aaltonen et al. A somewhat similar dualism exists in aspect-oriented specification and pro- gramminglanguages[18].Asymmetricapproches,suchasAspectJ[48],separate between a conventionally structured base implementation and aspects that cut acrosstheunitsofthebaseimplementation,suchasclasses.Incontrast,nosuch separation exists in symmetric approaches, such as Hyper/J [39], that consider systems to be composed of aspects, or slices, that potentially cut across each other. Unfortunately, horizontal units of modularity in specification do not always alignwith conventionalimplementation techniques that rely onverticalunits of architecture. However,a better alignment can be achieved with aspect-oriented implementation techniques supporting crosscutting concerns. Based on earlier work [1, 26], this paper contributes in summarizing our experiences with the DisCo method regarding horizontal architecting and the alignment between DisCo specifications and their implementations. Moreover, a mapping is dis- cussedthatimplementsDisCospecificationsinHyper/JandAspectJachieving alignmentbetweenasymmetricspecificationanditssymmetricandasymmetric implementations. Provided with the mapping, we believe that the higher-level methodologycouldservewellinguidingthe designofaspect-orientedprograms. The rest of the paper is structured as follows. First, in Sect.2, the idea of structuring specifications using horizontal units that capture behavioral rather than structural abstractions of the system is presented. Next, Sect.3 discusses aligning the units of modularity at specification and implementation levels. In Sect.4 we introduce the DisCo method, which utilizes such components as pri- maryunitsofmodularity.Section5thengoesontodiscusstheimplementationof aDisCospecificationusingaspect-orientedimplementationtechniques.Ascon- crete vehicles of implementation, we use Hyper/J and AspectJ. Sections6 and 7 provide an example on preserving DisCo structures in aspect-oriented im- plementations. Section8 discusses related work, and finally, Sect.9 draws some conclusions. 2 Two Dimensions of Software Architecture Describing architecture means construction of an abstract model that exhibits certain kinds of intended properties. In the following we consider operational models, which formalize executions as state sequences, as illustrated in Fig.1, where allvariablesin the modelhaveunique values in eachstate si. Inalgorith- micmodels,thesestatesequencesarefinite,whereasinreactivemodels theyare nonterminating, in general. 2.1 Vertical Units Thealgorithmic meaningofsoftware,asformalizedbyDijkstraintermsofpred- icate transformers [12], has the desirable property that it can be composed in a natural manner from the meanings of the components in a conventional archi- tecture. To see what this means in terms of executions in operational models,
Description: