Table Of ContentLecture 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:awais@comp.lancs.ac.uk
MehmetAksit
UniversityofTwente
DepartmentofComputerScience
Enschede,TheNetherlands
E-mail:aksit@ewi.utwente.nl
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: taosd-submission@comp.lancs.ac.uk.
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
firstname.lastname@tut.fi
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:The LNCS Jounal on Transactions on Aspect-Oriented Software Development is devoted to all facets of aspect-oriented software development (AOSD) techniques in the context of all phases of the software life cycle, from requirements and design to implementation, maintenance and evolution. The focus of