Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 The Alchemy Project Jay Lepreau Matthew Flatt Eric Eide Alastair Reid John Regehr University of Utah Contract F33615-00-C-1696 October 26, 2001.

Similar presentations


Presentation on theme: "1 The Alchemy Project Jay Lepreau Matthew Flatt Eric Eide Alastair Reid John Regehr University of Utah Contract F33615-00-C-1696 October 26, 2001."— Presentation transcript:

1 1 The Alchemy Project Jay Lepreau Matthew Flatt Eric Eide Alastair Reid John Regehr University of Utah Contract F33615-00-C-1696 October 26, 2001

2 2 Problem Description  Embedded RT software development too difficult, prone to error, expensive  System-level programming using components is especially hard  Embedded sys, VM, middleware, OS  Non-local constraints  Need build-time assurance  Existing code  Performance

3 3 Project Objectives & Technical Approach  Robust, flexible component composition  A mostly static architecture  Design rules checked at system build time  Aspects implemented using components  “Weaving” by composition  … provides:  “Product line” flexibility, increased reuse  AOP  Architectural clarity  Other:  Explore new compile-time metaprogramming system as aspect language for Java  Cross-layer RT QoS provision

4 4 Artist’s Conception

5 5 Knit: Components for C  External component definition and linking language  Discussed at previous PI meetings  Released Feb’01, open source  Gaining experience and refining it  Version 2 in progress

6 6 Jiazzi: Components for Java  Support for component programming on a large scale  Jiazzi components…  are not stored in hierarchical namespace.  import and export signatures.  are parameterized by imports.  are defined and composed using an external language.  Flexible class extensions (mixins)  Groups of related mixin functionality (aspects)

7 7 Maya: Compile-time Metaprogramming for Java  “Macros on crack”  Semantic actions in the parser are generic functions  Maya “macros” are methods on the generic functions  New syntax returned to parser  Is hygienic and referentially transparent

8 8 Maya and AspectJ Maya: compile-time metaprogramming AspectJ: language support for cross-cutting concerns JSE

9 9 “Task Isolation” in Java  For real-time in particular  For QoS in general  For robustness  JSR-121… more later

10 10 Contribution to PCES Goals  Unified model for components and aspects  Functional and non-functional aspects  Design rule checking (constraints)  Support product families & evolution in Java & C  Java: aspects via components and language  Increased predictability, cross-layer  Promote technology adoption  Component mining  Minimal changes to existing code  Usable today: Knit, Jiazzi, Maya: open source

11 11 Contributions to Military Apps Family of JVMs: the OVM product line  Composable RT schedulers  Task isolation  Resource controls  VM services, footprint  Object representation  Design / configure time assurances  Component reuse  Principled use of COTS software  Predictable, resilient run-time behavior  Fit constrained execution envs.  Cheaper, faster, better development } } }

12 12 Military Apps (cont’d)  Kernel CPU reservations for UAV OEP  Benefits:  Increased predictability  Isolation of timing faults  for C++ soon, Java later  Challenges:  Param calibration for multithreaded apps  Adjustable safety margin  Make reservations controllable from remote nodes

13 13 Military Apps (cont’d)  Jiazzi’ed event service in Boeing OEP Java-based ORB (w/ Wash U)  Aspect weaving in UAV Java code  At compile time using Maya  At runtime using Handi-Wrap

14 14 Metrics  Systems metrics:  UAV & Linux/RK CPU resv: quantified improvement in predictability  OVM product family: footprint  SW Engineering metrics  Reduced module “coupling” in Jiazzi’ed systems  Constraints: fewer incorrect systems composed by students, in a controlled study  Mining: quicker to componentize, in a controlled study

15 15 Project Tasks/Schedule Knit release Alchemy-configured feature selection in OVM Initial OVM as Alchemy components Alchemy-configured data layout in OVM OVM mobile processes as Alchemy components Jiazzi + constraint checker Alchemy-configured memory management in OVM Jiazzi + weaver release Jiazzi release 2001 Resource management in OVM w/Alchemy checking Blue: tools Black: tool use Maya release CPU resv in UAV

16 16 Technical Progress & Accomplishments  Jiazzi: components for Java  New release (Aug’01)  On-site meeting with OVM team (Sep’01)  Applied Jiazzi to OVM “Repository” subsystem  OOPSLA paper (Oct’01)

17 17 Accomplishments (cont’d)  Knit: components for C  “Shearing” -- extracting code that implements a component  Required in order to import and export types  Applied to RTLinux apps, the MzScheme VM, and the OSKit

18 18 Accomplishments (cont’d)  Component mining tools and methodology  Tools to extract components from existing code  Human-guided heuristic process (“lather, rinse, repeat”)  Knit/C tools applied to  Moab active network OS  MzScheme virtual machine  OSKit OS components  … by 3 different people. Tools improved markedly.  Jiazzi/Java next

19 19 Accomplishments (cont’d)  Maya: Metaprogramming for Java  Thesis signed (Aug’01)  Implemented Handi-Wrap tool for run- time metaprogramming (Sep’01)  Initial release (Oct ’01)  AOSD paper under review (Oct ’01)

20 20 Next Milestones  Jiazzi  First non-beta release (4Q01)  Construct OVM from Jiazzi components (1Q02)  RT-Java components (4Q02)  CPU reservations in UAV OEP (1Q02)  Java “Task” isolation  G.Back PhD thesis signed (any day!)  JSR-121 release (1Q02)  Maya  PLDI submission (Nov ’01)  Integrate with Jiazzi?

21 21 Collaborations  OVM team (Purdue, UMD, SUNY)  BBN:  CPU reservations across UAV/OS  Alchemy-configured feature selection in OVM  Deliver RT-JVM components (w/ Purdue)  Wash Univ: Jiazzi’ed event service in Boeing OEP’s Java-based ORB

22 22 Technology Transition/Transfer  Software releases & users described earlier: OVM, BBN OEP, Boeing OEP?  Sun JSR-121: “pseudo-task” isolation  Highly relevant to real-time & robustness  Potential alternate base for RT-Java  A natural resource boundary  OS abstractions, GC mechanisms  Long line of OS/lang. research at Utah  Utah has leading role in Expert Group  Will be in JDK 1.5 (3Q02)  Just first stage: control; next: sharing, resource management

23 23 Program Issues  none

24 24 Utah Alchemy Project DARPA PCES Program www.cs.utah.edu/flux/alchemy


Download ppt "1 The Alchemy Project Jay Lepreau Matthew Flatt Eric Eide Alastair Reid John Regehr University of Utah Contract F33615-00-C-1696 October 26, 2001."

Similar presentations


Ads by Google