AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF...

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)

of 35

  • date post

  • Category


  • view

  • download


Embed Size (px)

Transcript of AOSD 2004 A short and subjective summary. aosd 2004 2 Program FOAL workshop (+ several others) BOF...

  • Slide 1
  • AOSD 2004 A short and subjective summary
  • Slide 2
  • 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)
  • Slide 3
  • aosd 2004 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.
  • Slide 4
  • aosd 2004 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.
  • Slide 5
  • aosd 2004 5 FOAL workshop Formal AOP: Opportunities Abound (Invited Talk) James Riely presentation: riely.pdfriely.pdf
  • Slide 6
  • aosd 2004 6 FOAL workshop Call and Execution Semantics in AspectJ Ohad Barzilay, Yishai A. Feldman, Shmuel Tyszberowicz, Amiram Yehudai The feedback we got
  • Slide 7
  • aosd 2004 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. Lmmel - evolution of rule based systems.
  • Slide 8
  • aosd 2004 8 FOAL workshop Using Program Slicing to Analyze Aspect Oriented Composition Davide Balzarotti, Mattia Monga
  • Slide 9
  • aosd 2004 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
  • Slide 10
  • aosd 2004 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.
  • Slide 11
  • aosd 2004 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.
  • Slide 12
  • 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 Bonr
  • Slide 13
  • aosd 2004 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.pptAOSD-FromPromiseToReality.ppt
  • Slide 14
  • aosd 2004 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.pdfAOSD-04-Keynote-Nuseibeh.pdf
  • Slide 15
  • aosd 2004 15 Invited talks What are the key issues for commercial AOP use: how does AspectWerkz address them? Jonas Bonr 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.pptInvitedTalkAOSD2004.ppt
  • Slide 16
  • aosd 2004 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.
  • Slide 17
  • aosd 2004 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]).
  • Slide 18
  • aosd 2004 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.
  • Slide 19
  • aosd 2004 19 Weaving A technique for constructing aspect weavers using a program transformation engine Jeff Gray, Suman Roychoudhury Towards aspect weaving in legacy languages. Using the program transformation system DMS to weave into Object Pascal (Delphi).
  • Slide 20
  • aosd 2004 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.
  • Slide 21
  • 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 Gbel, Christoph Pohl, Simone Rttger, Steffen Zschaler
  • Slide 22
  • aosd 2004 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).
  • Slide 23
  • aosd 2004 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.pdfExtractSlice.pdf
  • Slide 24
  • aosd 2004 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 ??
  • Slide 25
  • 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
  • Slide 26
  • aosd 2004 26 Languages II Hybrid aspects for weaving object-oriented functionality and rule-based knowledge Maja D'Hondt, Viviane Jonckers Combining ru