Upload
ramona-chapman
View
23
Download
1
Tags:
Embed Size (px)
DESCRIPTION
AOSD 2004. A short and subjective summary. Program. FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended) Panel Industry paper Demos Student Extravaganza - posters (Tutorials). FOAL workshop. - PowerPoint PPT Presentation
Citation preview
aosd 2004 2
Program• FOAL workshop (+ several others)• BOF sessions• 3 Invited talks• 15 papers (not all attended)• Panel• Industry paper• Demos• Student Extravaganza - posters• (Tutorials)
aosd 2004 3
FOAL workshopDiagnosis of Harmful Aspects Using Regression
Verification, Shmuel Katz• Aspect may invalidate desirable properties.• “At least do no harm”.• various techniques proposed:
regression testing and its limitations inductive proofs “regression aspect validation” - each weaving of an
aspect triggers automatic generation of verification tasks that are automatically checked.
aosd 2004 4
FOAL workshopOpen Modules: A Proposal for Modular Reasoning in
Aspect-Oriented Programming, Jonathan Aldrich• TinyAspects - a tiny formal model for AOP, use structured
operational semantics and syntax directed typing rules.• Open Modules - module system for TinyAspects.
allow modular reasoning. external aspects may advice functon calls expicitly
exposed in module’s interface. use bisimulation to prove an encapsulation property:
clients are unaffected by changes to a module if these preserve semantics of functions and pointcuts in the interface.
Nice examples.
aosd 2004 5
FOAL workshopFormal AOP: Opportunities Abound (Invited Talk)
James Riely
presentation: riely.pdf
aosd 2004 6
FOAL workshopCall and Execution Semantics in AspectJ
Ohad Barzilay, Yishai A. Feldman, Shmuel Tyszberowicz, Amiram Yehudai
• The feedback we got
aosd 2004 7
FOAL workshopOpen mike session• Aspect Bench - a new project : toolkit, dynamic metrics,
compiler, based on Polyglot + Soot . Oxford + McGill + Aarhus.
• Hafed Mili, Quebeq - Characterize separation of concern.
• Lämmel - evolution of rule based systems.
aosd 2004 8
FOAL workshopUsing Program Slicing to Analyze Aspect Oriented
Composition
Davide Balzarotti, Mattia Monga
aosd 2004 9
FOAL workshopAspect Reasoning by Reduction to Implicit Invocation
Jia Xu, Hridesh Rajan, Kevin Sullivan• Implicit Invocation is a mechanism how invocation
relations are represented as names relation. A can invoke B : A names B or B can register at A to be
invoked implictly (?) II is also called publish-subscribe system
• The paper shows a reduction from AOP to II
aosd 2004 10
FOAL workshopOn the Horizontal Dimension of Software Architecture in
Formal Specifications of Reactive Systems
Mika Katara, Reino Kurki-Suonio, Tommi Mikkonen• execution of a system - sequence of states• vertical slicing - subsequence.• horizontal slicing - for separation of concerns.• Paper discusses this in the context of DisCo.• DisCo - a formal spec method for reactive systems.
aosd 2004 11
FOAL workshopExploring Aspects in the Context of Reactive Systems
Karine Altisen, Florence Maraninchi, David Stauch• Attempt to discuss the notion of aspects as an
abstract, language independent concept.• Narrows application domain to reactive systems.
aosd 2004 12
Invited talks• Aspects: from promise to reality
Daniel Sabbah, Vice President, IBM Software Group Strategy and Technology
• Crosscutting requirements Bashar Nuseibeh
• What are the key issues for commercial AOP use: how does AspectWerkz address them? Jonas Bonér
aosd 2004 13
Invited talksAspects: from promise to reality
Daniel Sabbah, Vice President, IBM Software Group Strategy and Technology
• IBM is serious about aspects• Important use - middleware• past project would have less errors with AOP• Investing in AspectJ, AJDT, CME (concern
manipulation env), HyperProbe (based on HyperJ)• contribute to open source efforts, (eg. Apache)
then inject into own commercial products,• presentation: AOSD-FromPromiseToReality.ppt
aosd 2004 14
Invited talksCrosscutting requirements Bashar Nuseibeh• The importance of Requirement Engineering.• Dicovering goals and expectations of stakeholders.• A requirement a concern• Early aspects: crosscutting concerns in req. and design,
with broad effect on others or on architectural components.• Viewpoints, and the Viewpoint framework for orgnaising SE
knowledge.• Inconsistency is expected in req., humans can cope with
inconsistency.• Relating requirements and architecture - the twin peaks.• presentation: AOSD-04-Keynote-Nuseibeh.pdf
aosd 2004 15
Invited talksWhat are the key issues for commercial AOP use: how
does AspectWerkz address them? Jonas Bonér
• AspectWerkz overview what is AspectWerkz? how does it compare with AspectJ?
• Design goals and decisions what are the key issues for commercial AOP? how does AspectWerkz solve them?
• Conclusion future, links, questions
• presentation: InvitedTalkAOSD2004.ppt
aosd 2004 16
Languages IRemote pointcut: a language construct for distributed
AOP , Muga Nishizawa, Shigeru Chiba, Michiaki Tatsubori
• example - testing code for distributed application• use aspects
requires 3 submodules, running on different hosts. use Java RMI
• Solution: A dist. AOP language called DJcutter remote aspects: aspect runs on different host then the join
point. remote inter-type declaration
• Claim from audience: same as in JAC.
aosd 2004 17
Languages IAssociation aspects, Kouhei Sakurai, Hidehiko
Masuhara, Naoyasu Ubayashi, Saeko Matsuura, Seiichi Komiya
• extend per-object aspects to allow to associate aspect instance to group of objects.
• and specify aspect instances as execution contect of advice.
• motivating examples: Integrated systems (eg. editor + compiler) [Sullivan]. bit class + aspect to force equality of 2 bit objects.
• contrast with EOS (AOP language [Sullivan et al]).
aosd 2004 18
WeavingAdvice weaving in AspectJ,
Erik Hilsdale, Jim Hugunin• Join point shadows - static, code segment.• compiler inserts code at shadows to modify behavior.• advices are represented by shadow munger objects.• shadow munger trajsforms jp shadows matched by its jp
designator (JPD).• matching JPDs against jp shadows - not fully static.• static matching may yield 1. Yes, 2. No, 3. Maybe.• Maybe: needs run time check. Called residue.• Performance data.• AspectJ 2 will be (even) more efficient.
aosd 2004 19
WeavingA technique for constructing aspect weavers using a
program transformation engineJeff Gray, Suman Roychoudhury
• Towards aspect weaving in legacy languages.• Using the program transformation system DMS to
weave into Object Pascal (Delphi).
aosd 2004 20
WeavingMorphing aspects: incompletely woven aspects and
continuous weaving, Stefan Hanenberg, Robert Hirschfeld, Rainer Unland
• Example: trace msg calls starting at some call.• sometimes instrument jp that will never be needed.• Idea: instrument late.• Aspect weave themselves; drop shadows at some point.• Initial jp shadows; dependent jp shadows• morphing: compute and instrument next reachable jp.• implementation: AspectS (smalltalk) + squeak VM.
aosd 2004 21
Application I• Large-scale AOSD for middleware
Adrian Colyer, Andrew Clement• Building adaptive distributed applications with
middleware and aspects
Gary Duzan, Joseph Loyall, Richard Schantz, Richard Shapiro, John Zinky
• The COMQUAD component model: enabling dynamic selection of implementations by weaving non-functional aspects
Steffen Göbel, Christoph Pohl, Simone Röttger, Steffen Zschaler
aosd 2004 22
Tools and ImplementationVirtual machine support for dynamic join points Christoph Bockisch, Michael Haupt, Mira Mezini,
Klaus Ostermann• Two kinds of dynamic crosscuts:• statically bound dynamic crosscuts – can determine
statically the jp shadows (eg cflow).• unbound dynamic crosscuts – can’t be restricted in
reasonable way statically (eg counting invocations of methods that are specificed at run time).
• For unbound, weave at run time.• Extend VM to support it (steamloom extends IBM Jikes
VM).
aosd 2004 23
Tools and ImplementationUntangling: a slice extraction refactoring
Ran Ettinger, Mathieu Verbaere• AOSD + Refactoring + slicing• program slice: statements that affect a value of a given
variable (go back in the code).• Exracting a slice as a way of untangling (just show
untangled version?).• Extract slice as method OR object OR aspect.• Example – count chars, words, lines.• Ref to a paper on refactoring aspects by Hanenberg• presentation: ExtractSlice.pdf
aosd 2004 24
Tools and ImplementationJosh: an open AspectJ-like language
Shigeru Chiba, Kiyoshi Nakagawa • propose richer “pointcut designators”• Metaprogramming techniques: code to “compute”
the pointcuts.• Language Josh:
not full AspectJ + syntax for pointcut designators
• compile time reflection library called Javaassist. perl like syntax ??
aosd 2004 25
Application II• Deriving security requirements from crosscutting
threat descriptions
Charles B. Haley, Robin C. Laney, Bashar Nuseibeh
• Using AspectJ to separate concerns in parallel scientific Java code
Bruno Harbulot, John R. Gurd
aosd 2004 26
Languages IIHybrid aspects for weaving object-oriented
functionality and rule-based knowledge Maja D'Hondt, Viviane Jonckers• Combining rule based reasoning with OO programming.• Integrating these using aspects. Survey of existing hybrid
systems – one language aware of other.• hybrid aspects – for 2 base languages
rule based jp advice – mixture of both
• OReA – a pointcut language extends AspectS, based on SOUL.
• Also tried an approach based on HyperJ
aosd 2004 27
Languages IIComposition, reuse and interaction analysis of
stateful aspects
Rémi Douence, Pascal Fradet, Mario Südholt
aosd 2004 28
Panel• commercial adoption goes well; still a long way; not too
many people can teach it• EJB taught separation of concern, but did not succeed.
AOP may fill this vaccum.• potential to simplify prog model for middleware• works well with agile – don’t plan everything ahead, so
need to add behavior late, AOP can do it.• AOP change way you think.• IP problem? xerox has patent of AOP but gave AspectJ to
eclypse• Framework developers now use AOP – good way to
introduce to the developers. (eg. JBoss).
aosd 2004 29
Panel (cont.)• still hard to sell to managers.• In IBM injecting AOP is already “pull” not “push”• encourage to moce slowly to avoid (delay?)
disaster• Java jsr 125 (meta dats, tags) should be used by
AspectJ (AspectWerkz does).• Adoptuion of AOP first, AOSD later – as in eg. OO• methodology vs. hacker language• AOP language on top of OOP language may ne a
problem (as C++ on top of C).• When to standardize?
aosd 2004 30
Industry paperObject-to-Aspect Refactorings For Feature
Extraction, Monteiro and Fernandes• Manual AO refactoring• Which code transf are useful?• Like fowler’s catalog• case study – WorkSco• aspect mining – feedback from team + inspect
code + unit tests.• extract feature into aspect + refine by lower level.
aosd 2004 31
Demos http://aosd.net/2004/demos/index.php
• D1: An AspectJ-enabled Eclipse Runtime Engine
Martin Lippert, University of Hamburg presentation• D2: JQuery: Finding your way through tangled code
Andrew Eisenberg, Kris De Volder, UBC http://www.cs.ubc.ca/labs/spl/projects/jquery/
• D3: JAsCo&WSML: AOP for Component-Based Software Engineering applied to a Web Services Management Layer,
Wim Vanderperren, Davy Suvée, Bart Verheecke, María Agustina Cibrán, Vrije Universiteit Brussel http://aosd.net/2004/demos/d3.php
aosd 2004 32
Demos (2)• D4: The Concern Manipulation Environment Matthew Chapman, William Chung, Andrew Clement,
Adrian Colyer, William Harrison, Helen Hawkins, Vincent Kruskal, Harold Ossher, Tova Roth, Stanley M. Sutton, Jr., Peri Tarr, Sian Whiting
IBM T.J. Watson + IBM Hursley Park http://www.research.ibm.com/cme/ http://www.eclipse.org/cme/
• D5: Compose*: Language-independent Aspects in .NET
Lodewijk Bergmans, Istvan Nagy, Gurcan Gulesir, Mehmet Aksit, University of Twente http://aosd.net/2004/demos/d5.php
aosd 2004 33
Demos (3)• D6: AspectJ Tools - new and noteworthy,
Mik Kersten, George Harley, Andy Clement,
UBC + IBM http://kerstens.org/mik/publications/aspectj-aosd2004.ppt
• D7: aTrack: an enterprise bug tracking system using AOP,
Ron Bodkin ,Dion Almaer, Ramnivas Laddad https://atrack.dev.java.net/
aosd 2004 34
Student Extravaganzaposters
• See the Student Extravaganza page for poster and presentation downloads.