AOSD 2004 - PowerPoint PPT Presentation

About This Presentation
Title:

AOSD 2004

Description:

Jonas Bon r. aosd 2004. 13. Invited talks. Aspects: from promise ... Jonas Bon r. AspectWerkz overview. what is AspectWerkz? how does it compare with AspectJ? ... – PowerPoint PPT presentation

Number of Views:86
Avg rating:3.0/5.0
Slides: 36
Provided by: cstelavivu
Category:
Tags: aosd | boner

less

Transcript and Presenter's Notes

Title: AOSD 2004


1
AOSD 2004
  • A short and subjective summary

2
Program
  • FOAL workshop ( several others)
  • BOF sessions
  • 3 Invited talks
  • 15 papers (not all attended)
  • Panel
  • Industry paper
  • Demos
  • Student Extravaganza - posters
  • (Tutorials)

3
FOAL workshop
  • Diagnosis 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.

4
FOAL workshop
  • Open 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 modules 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.

5
FOAL workshop
  • Formal AOP Opportunities Abound (Invited Talk)
    James Riely
  • presentation riely.pdf

6
FOAL workshop
  • Call and Execution Semantics in AspectJ
  • Ohad Barzilay, Yishai A. Feldman, Shmuel
    Tyszberowicz, Amiram Yehudai
  • The feedback we got

7
FOAL workshop
  • Open 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.

8
FOAL workshop
  • Using Program Slicing to Analyze Aspect Oriented
    Composition
  • Davide Balzarotti, Mattia Monga

9
FOAL workshop
  • Aspect 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

10
FOAL workshop
  • On 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.

11
FOAL workshop
  • Exploring 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.

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

13
Invited talks
  • Aspects 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

14
Invited talks
  • Crosscutting 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

15
Invited talks
  • What 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

16
Languages I
  • Remote 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.

17
Languages I
  • Association 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).

18
Weaving
  • Advice 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.

19
Weaving
  • A 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).

20
Weaving
  • Morphing 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.

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

22
Tools and Implementation
  • Virtual 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 cant 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).

23
Tools and Implementation
  • Untangling 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

24
Tools and Implementation
  • Josh 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 ??

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

26
Languages II
  • Hybrid 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

27
Languages II
  • Composition, reuse and interaction analysis of
    stateful aspects
  • Rémi Douence, Pascal Fradet, Mario Südholt

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

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?

30
Industry paper
  • Object-to-Aspect Refactorings For Feature
    Extraction, Monteiro and Fernandes
  • Manual AO refactoring
  • Which code transf are useful?
  • Like fowlers catalog
  • case study WorkSco
  • aspect mining feedback from team inspect code
    unit tests.
  • extract feature into aspect refine by lower
    level.

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

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

33
Demos (3)
  • D6 AspectJ Tools - new and noteworthy,
  • Mik Kersten, George Harley, Andy Clement,
  • UBC IBM http//kerstens.org/mik/publications/a
    spectj-aosd2004.ppt
  • D7 aTrack an enterprise bug tracking system
    using AOP,
  • Ron Bodkin ,Dion Almaer, Ramnivas Laddad
    https//atrack.dev.java.net/

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

35
Others ??
  • BOF on Eclipse
  • BOF on commercialization
  • Other workshops
  • Tutorials
Write a Comment
User Comments (0)
About PowerShow.com