Aspect-Oriented Programming with AspectJ - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Aspect-Oriented Programming with AspectJ

Description:

Committee: Gregor Kiczales, Tamara Munzner, Erich Gamma. June 1, 2005 ... IDEs surface all of the complexity. Result is information overload ... – PowerPoint PPT presentation

Number of Views:63
Avg rating:3.0/5.0
Slides: 23
Provided by: theaspect
Category:

less

Transcript and Presenter's Notes

Title: Aspect-Oriented Programming with AspectJ


1
Taskscapesa topographical model of task
contextPh.D. Thesis ProposalMik
KerstenSupervisor Gail MurphyCommittee
Gregor Kiczales, Tamara Munzner, Erich
GammaJune 1, 2005
2
Systems are complex IDEs surface all of the
complexity Result is information overload
3
Existing approaches
  • Make systems less complex with better modularity
  • Optimists think AOP or MDD could reduce size by
    1/3
  • Helps, but not enough
  • Focus the relevant structure with multiple views
  • Contents of each become overpopulated
  • Filters are hard to manage and keep up-to-date
  • Make the structure easier to access with queries
  • Burden of formulating queries is on the
    programmer
  • Each approach focuses on the system structure

4
What if we focus on task structure?
  • While system complexity continues to grow, the
    complexity of tasks programmers perform is
    limited
  • Current tools make system structure explicit
  • As a result end up showing too much
  • Programmers waste time looking for the subset of
    information relevant to the task at hand
  • Why not make the task context explicit, so
    programmers see only what the are working on?

5
Thesis statement
  • Automatically encoding and displaying task
    context makes programmers more productive
  • This presentation discusses
  • How to encode it, and operate on the resulting
    model
  • How to display it in current IDE views and
    visualizations
  • How to measure and study effects on productivity

6
(No Transcript)
7
(No Transcript)
8
Approach
  • Making task context explicit
  • Model should be easy to display and operate on
  • Predictable and transparent to the programmer
  • Represent elements, relations, paths, groupings
  • Information interaction history
  • Selection, edit, command and query events
  • Model taskscape
  • A map of information relevant to the task
  • Relevance is defined by degree of interest
    Furnas 1986
  • Function not of structure but of interaction
    history

9
Degree of interest
DOI(e) A(e.selections) B(e.edits)
C(e.decay)
public WSIFMessage getOutputs() return
outputs
public WSIFMessage getOutputs()

return verify(outputs)
10
Once task context is explicit
  • Treat parts of your system as a unit
  • Do operations on them
  • Work with multiple tasks contexts
  • Save and restore
  • Union and intersect
  • Predict interest of related elements
  • API clients
  • Overriding methods
  • Advice

c
c
d
a
b
b
11
Taskscapes
  • History
  • Event stream
  • Taskscape
  • Height interest of elements
  • Arrangement in plane interest of relations
  • Projections

12
Implementation Mylar
  • Prototype built on Eclipse platform
  • Eclipse provides extensible abstractions for
    selections, editing, search, and display
  • Interaction history encoding
  • Monitors selections, editing, navigation, and
    commands
  • Task context display
  • Filtering, highlighting, sorting, folding,
    update
  • Predicted interest
  • Active search and degrees of separation
  • Active structure views

13
\
14
Validation
  • Thesis automatically encoding and displaying
    task context makes programmers more productive
  • Can it be extracted and surfaced effectively?
  • Does it make programmers more productive?
  • Need productivity measure
  • Higher ratio implies more time working on task
    and less time looking for information needed for
    task
  • Less browsing elements and scrolling
  • Less search invocation and result selection
  • Additional measures
  • Quantitative usage data and qualitative feedback

edits
edit ratio
selections
15
User studies
  • Preliminary study
  • 6 senior IBM enterprise app developers used early
    Mylar version
  • Used Mylar views more than standard Eclipse
    views, liked it
  • Edit ratio improved 15 across, 40 within most
    active programmer
  • Big study
  • 104 developers signed up so far
  • 10 day study periods for baseline, interest, and
    predicted interest
  • Statistics collected via taskscapes
  • Element handles are obfuscated for privacy
  • Answer additional questions about
  • Task management work practice
  • Predicted interest and active search (measured
    with hit ratio)

16
Related work
  • Interaction history (implicit interest model)
  • App event monitoring Hilbert 1998, Smalltalk
    history navigator VisualWorks
  • Query tools (implicit interest model)
  • FEAT Robillard 2005, JQuery Janzen 2003,
    automated Ye 2002
  • Task management (no mapping to structure)
  • UMEA monitors desktop apps Kaptelinin 2003,
    WorkingSpheres discuss task context Gonzales
    2004
  • Visualization (limited interest model)
  • Focuscontext Furnas 1986, Card 2002, edit
    read wear Hill 1992, wear-based filtering
    DeLine 2005
  • Taskscapes
  • Tasks and interaction history are first class
  • Interest of arbitrary structural elements and
    relations
  • Topographical representation, interest
    propagation and prediction

17
Contributions
  • Primary
  • Implicitly encoded, topographical model of task
    context
  • Integration of model into IDE views that make
    task context explicit
  • Secondary
  • Focuscontext visualization of task context
  • Mechanism for sharing task context

18
Timeline

19
(No Transcript)
20
(No Transcript)
21
Architecture
22
mumble
Write a Comment
User Comments (0)
About PowerShow.com