Friday 24 August 2001 - PowerPoint PPT Presentation

1 / 12
About This Presentation
Title:

Friday 24 August 2001

Description:

Briefing on the Real-Time Java Memory Model. Dynamic Analysis with Aspects. RT-Java Transformation with Aspects. Concluding Remarks ... Real-Time Java ... – PowerPoint PPT presentation

Number of Views:54
Avg rating:3.0/5.0
Slides: 13
Provided by: csWu4
Category:
Tags: august | friday | java

less

Transcript and Presenter's Notes

Title: Friday 24 August 2001


1
Translation of Java to Real-Time Java Using
Aspects
Nicholas Leidenfrost
Morgan Deters
Ron K. Cytron
Department of Computer Science Washington
University in St. Louis
Presented at the Workshop on Aspect-Oriented Progr
amming and Separation of Concerns Lancaster
University, UK
Friday 24 August 2001
Research sponsored by National Science
Foundation (0081214) DARPA (F33615-00-C-1697)
2
Overview
  • Briefing on the Real-Time Java Memory Model
  • Dynamic Analysis with Aspects
  • RT-Java Transformation with Aspects
  • Concluding Remarks

3
Real-Time Java
  • Real-Time Specification for Java (RTSJ) brings
    infrastructure for real-time accountability to
    Java
  • Real-time schedulability
  • High-precision timers
  • Asynchronous transfer of control
  • Physical memory address access
  • Choice of memory allocators and garbage
    collectors
  • Memory reclamation without garbage collection

4
Real-Time Java Memory Model
MemoryArea
ImmortalMemory
ScopeMemory
HeapMemory
LTMemory
VTMemory
5
ScopeMemory
  • A ScopeMemory area is tied to a particular scope
    of execution at runtime
  • Programmer specification of scoped memory can
    introduce application-specific code into
    application classes, defeating their reuse

class C void foo() / call bar() /
bar() void bar() / generate
garbage /
class C implements Runnable void foo()
/ call bar() / ScopeMemory lt new
LTMemory(1024,1024) lt.enter(this)
void bar() / generate garbage /
void run() bar()
6
Nested ScopeMemory References
Y
X
Z
A
G
D
B
F
E
C
ScopeMemory areas may be nested
Object references must point outward
A thread entering nested memory scopes
7
High-Level View
AspectJ
Real-Time Java
Java
P


AspectJ
8
Reference Probe
  • Determine references between objects
  • Track objects' references to other objects
  • target(a) args(x) set( .)
  • Build a doesReference graph
  • Discover legal scoping hierarchies
  • Take the reverse of the doesReference graph
  • Collapse strongly connected components
  • The resulting DAG is a representation of legal
    scoping hierarchies

9
Liveness Probe(Death Probe)
  • Determine the points at which objects become
    collectible
  • Track object birth times
  • After each execution join point, run a garbage
    collection cycle and determine which objects were
    collected
  • Express object liveness behavior in terms of
  • Enclosing execution join points
  • Distance from birth to death

10
Object Recognition
  • How to map objects observed in previous analyses
    to objects observed in current program execution?
  • Class-based behavior
  • All instances of a class behave similarly
  • "New site"-based behavior
  • All instances of a class instantiated at the same
    source code location behave similarly
  • Instance-based behavior
  • Instances of a class behave differently

11
Adding an Enforcement Aspect
  • We have
  • A set of all legal ScopeMemory hierarchies
  • Object lifetime behavior (join points)
  • From this information, we
  • Select a desirable, legal scope memory hierarchy
  • Direct a dispatch unit to implement this hierarchy

12
Concluding Remarks
  • We have demonstrated the use of aspects in
    dynamic analysis
  • We are working toward
  • A software analysis tool that can provide crucial
    memory trace information to the programmer
  • Automation of scope detection and selection
  • A Real-Time Java translation system, implemented
    in AspectJ, that requires no program annotation
    and transforms Java programs into
    ScopeMemory-aware RT-Java programs modularly

13
Thanks !
Morgan Deters mdeters_at_cs.wustl.edu Nicholas
Leidenfrost naleiden_at_cs.wustl.edu Ron K.
Cytron cytron_at_cs.wustl.edu www.cs.wustl.edu/
doc Department of Computer Science Washington
University Box 1045 St. Louis, MO 63130 USA
Write a Comment
User Comments (0)
About PowerShow.com