Download - AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

Transcript
Page 1: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

AOSD 2004A short and subjective summary

Page 2: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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)

Page 3: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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.

Page 4: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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.

Page 5: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

aosd 2004 5

FOAL workshopFormal AOP: Opportunities Abound (Invited Talk)

James Riely

presentation: riely.pdf

Page 6: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

aosd 2004 6

FOAL workshopCall and Execution Semantics in AspectJ

Ohad Barzilay, Yishai A. Feldman, Shmuel Tyszberowicz, Amiram Yehudai

• The feedback we got

Page 7: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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.

Page 8: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

aosd 2004 8

FOAL workshopUsing Program Slicing to Analyze Aspect Oriented

Composition

Davide Balzarotti, Mattia Monga

Page 9: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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

Page 10: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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.

Page 11: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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.

Page 12: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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

Page 13: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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

Page 14: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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

Page 15: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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

Page 16: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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.

Page 17: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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]).

Page 18: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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.

Page 19: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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).

Page 20: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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.

Page 21: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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

Page 22: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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).

Page 23: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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

Page 24: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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 ??

Page 25: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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

Page 26: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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

Page 27: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

aosd 2004 27

Languages IIComposition, reuse and interaction analysis of

stateful aspects

Rémi Douence, Pascal Fradet, Mario Südholt

Page 28: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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).

Page 29: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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?

Page 30: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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.

Page 31: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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

Page 32: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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

Page 33: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

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/

Page 34: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

aosd 2004 34

Student Extravaganzaposters

• See the Student Extravaganza page for poster and presentation downloads.

Page 35: AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF sessions 3 Invited talks 15 papers (not all attended)

aosd 2004 35

Others?? • BOF on Eclipse• BOF on commercialization• Other workshops• Tutorials