PCES PI Meeting - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

PCES PI Meeting

Description:

Were released as open-source in June 2001 ... Still send Video from the simulated UAV to Control Station Receiver, but now ... Xerox/University of British Columbia ... – PowerPoint PPT presentation

Number of Views:61
Avg rating:3.0/5.0
Slides: 21
Provided by: johnz7
Learn more at: https://www2.ccs.neu.edu
Category:
Tags: pces | british | live | meeting | open | video

less

Transcript and Presenter's Notes

Title: PCES PI Meeting


1
Aspects In Real-time Embedded Systems(AIRES)
Joe Loyall
BBN Technologies
Contract No. F33615-00-C-1694
Rick Schantz, Gary Duzan, Craig Rodrigues
Northeastern University
OOMWorks
Irfan Pyarali Yamuna Krishnamurthy Pradeep Gore
Karl Lieberherr Johan Ovlinger Pengcheng Wu
Mitchell Wand Doug Orleans Ed McCormick
  • PCES PI Meeting
  • 3-5 April 2002

2
2 Problem Description
  • Aspect Oriented Programming is limited in its
    support for distributed real-time embedded (DRE)
    systems because
  • DRE applications need control over systemic
    aspects, such as timing and quality of service,
    in addition to functional aspects.
  • Most AOP RD has concentrated on one or the other
  • DRE applications often require composition of
    aspects that may not be complementary.
  • For example, embedded shipboard applications have
    dependability and security aspects that conflict
    with their real-time performance aspects
  • DRE applications need to consider composing
    aspects at several time epochs.
  • The environments in which many DRE applications
    are fielded are dynamic and unpredictable, making
    it difficult to determine exactly the nature of
    the interaction between composed aspects at
    design time
  • The AIRES project is addressing these problems to
    make AOP more applicable to DRE needs

3
3 Project Objectives
  • Investigating the combination of functional and
    systemic aspects of programs
  • Metrics for evaluation Reduced tangling of
    functional, QoS, and connection code Increased
    reuse of QoS aspects across functional
    applications Selection, addition, and
    replacement of QoS aspects with minimal impact on
    functional code Demonstration on small DRE Java
    applications that AspectJ with Traversals reduces
    tangling in the code.
  • Investigating the composition of aspects and
    identification of conflicts
  • Metrics for evaluation Identification of QoS
    composition points Identification of areas of
    conflict Enumeration of identification and
    mediation strategies.
  • Applying to RT embedded concerns
  • Metrics for evaluation Improved DRE
    capabilities Improvements in functionality with
    assured and managed QoS Improvements in creation
    of DRE applications by composition of reusable
    components and aspects.

4
4a Technical Approach
  • Designing and developing QDL systemic aspect
    languages and aspectual collaboration connection
    language, and examining extensions to functional
    aspect languages
  • Combining them to describe DRE examples and
    evaluating effectiveness
  • Examination of composition and conflict
    identification
  • Prototyping and demonstration in the UAV, Bold
    Stroke environments

5
4b Technical Approach - Functional, Systemic,
and Connection Languages
  • Systemic (QoS) aspects Developing QuOs Quality
    Description Languages, part of the Open-Source
    QuO adaptive middleware toolkit
  • CDL for programming QoS contracts that capture
    systemic state and implement adaptive policies
  • ASL for programming adaptive behavior, delegating
    DOC object interfaces
  • QuO Qosket component model for encapsulating
    adaptive behaviors
  • Functional aspects Develop QDL functional
    support and DAJ
  • Extend ASL to support wrappers around native code
    method calls
  • Evaluate QDLs support for DRE AOP within the BBN
    UAV OEP
  • Extend AspectJ with traversal declarations that
    are put into a separate .java file, forming DAJ
  • Without modifying AspectJ compiler but by using
    novel software composition techniques made
    available by AspectJ and that will be useful to
    several other projects, implement the AspectJ
    extensions.

6
4c Technical Approach - Functional, Systemic,
and Connection Languages
  • Connection aspects Developing aspectual
    collaborations, a language for defining
    collaborations between components in a system and
    roles fulfilled by participants in the
    collaboration
  • Using collaborations to specify the roles played
    by objects in a DRE application, i.e., the way
    objects are connected and interact
  • Using adapters to specialize the collaborations
    to specific transport protocols (e.g., IIOP,
    TCP/IP, UDP) or connection services (e.g., AV
    Streams)
  • Evaluate in the BBN UAV OEP software by
    specifying transports using reusable
    collaborations

7
4d Technical Approach - Describing DRE Examples
and Evaluating Effectiveness
  • Describing functional aspects of the UAV
  • Video format, sequencing, instrumentation,
    timestamping
  • Demonstrate DAJ in small DRE examples
  • Describe QoS aspects of the UAV
  • Throughput, frame rate control, network
    reservation, RT priority, and fragmentation
  • Describe connection aspects of the UAV
  • Prototype UAV A/V Streams connections using AC
  • Evaluate the effectiveness of the prototype
  • Refactor the UAV code to allow for a smaller
    interface between collaborations making the
    collaborations more reusable
  • Improve AC to reduce tangling even further

BBN UAV OEP
  • Go or No-Go Decision Point for July 2002
  • Demonstrated ability to separately specify
    functional and systemic aspects in the UAV OEP
  • Encapsulated QoS behaviors in the UAV code
  • (Connection) Refactoring leads to less tangled
    OEP code or improved AC leads to less tangled OEP
    code
  • Alpha version of DAJ is demonstrated
    successfully in small DRE examples to reduce
    tangling

8
4d Technical Approach - End-to-End Real-time QoS
Using RT-CORBA and DiffServ
  • RT-CORBA preserves end-to-end priorities by
  • Mapping importance of activities to OS priorities
  • Propagating priorities across the network as
    activity spans multiple hosts
  • However, RT-CORBA specification is less explicit
    about the communication transport and network
  • Unless this behavior is carefully considered and
    modeled, end-to-end real-time predictability in
    the system is difficult to achieve
  • Approach Use Differentiated Services (DiffServ)
    to prioritize RT-CORBA network traffic
  • The DiffServ architecture provides different
    types or levels of service for network traffic
  • DiffServ Code Points (DSCPs) are added to data
    packet headers to specify the expected type of
    service
  • DiffServ enabled routers and network elements use
    DSCPs to differentiate the network traffic
  • We are enhancing the TAO ORB's real-time
    implementation by making it DiffServ aware

9
4e Technical Approach - Investigating
Composition and Conflict Identification
  • Enumerate and examine the ways in which aspects
    and components can be composed
  • Independent, layered, selection, intertwined
  • Enumerate the components and aspects in the UAV
    application
  • There are currently 10 qoskets and 15 aspects
    (specified in ASL) in the UAV application
  • These are composed to get different behaviors, to
    support different QoS, and to support different
    video formats (e.g., MPEG and PPM) and mechanisms
    (e.g., RSVP)
  • Composition is currently done in a controlled
    manner, through CORBA and SysCond interfaces to
    ensure they dont conflict
  • Identify characteristics of their composition and
    generalize ways in which they can be composed
  • Examine the conditions under which they can
    interfere
  • Functional aspects access the same data or
    interfere with control flow
  • QoS aspects access the same resources or
    interfere with measurement or adaptation
  • Add analysis to weavers to recognize potential
    conflicts
  • Seed woven code with adaptive code that can
    measure and mediate actual conflicts at runtime

10
5 Contributions to PCES Goals
  • Reduction in effort to program embedded
    systems...
  • Languages for programming functional, systemic,
    and connection aspects separately, instead of
    intertwining systemic control and measurement
    throughout
  • Reusable aspects that can be analyzed and
    composed
  • QoS, timing and sequencing aspects
  • Analysis of interactions affecting weave order
  • While increasing confidence in the embedded
    system product
  • Analysis and identification of conflicts (e.g.,
    affecting weave order)
  • Technology supporting the development of
    adaptable systems that can preserve mission goals
    in the face of dynamic, unpredictable environments

11
6 Contribution to Relevant Military Applications
  • AIRES technology will enhance the applicability
    of DOC middleware to embedded systems
  • Separate programming of functional and QoS
    concerns
  • Reuse of QoS measurement, adaptation, and
    control
  • Improved SW engineering/maintenance of DRE
    systems
  • UAV (in NSWC HiPer-D Demo 2001)
  • QuO controls adaptation to maintain mission goals
    under dynamic conditions
  • AIRES untangles timing, sequencing, data format,
    instrumentation, and adaptation from functional
    code - allowing it to be separately specified and
    reused
  • Boeing BoldStroke (in WSOA flight demo)
  • QuO controls runtime adaptation of dynamic
    planning collaborations
  • Adaptation is specified using QuO ASL, packaged
    using QuO qoskets

12
7a Project Tasks/Schedule
July 01
July 02
July 03
May 00 Start
Sept 04 End
Define and prototype aspect QuO and
collaboration/adapters
Demonstrate and experiment
1st prototype of aspect QDL
Composition and analysis of conflicts
1st prototype of UAV using aspect QDL
Prototype and demon-stration of QDL, C/A, and UAV
UAV using QDL and C/A
UAV OEP rollout to PCES
Prototype of Collaboration/Adapters
Analysis and weaving of UAV aspects
  • Design and develop functional and systemic aspect
    languages
  • Design and develop aspect QDL languages
  • Design and develop Collaborations/Adapters
  • Demonstrate and experiment with aspect languages
    to program RT aspects in the UAV software
  • Develop UAV OEP application
  • Apply aspect QDL and C/A to UAV and evaluate
    improvements
  • Design techniques for composing aspects and
    identifying conflicts
  • Design and develop weaving techniques that
    incorporate different composition strategies
  • Evaluate appropriateness of weaving techniques
    for different UAV requirements

13
7b Technical Progress/Accomplishments - Systemic
Language Definition and Design
  • AIRES systemic aspect oriented languages (aspect
    QDL) development has been reported as an
    accomplishment in previous PI meetings
  • Were released as open-source in June 2001
  • Have had (more or less) monthly releases since
    June 2001 with incremental improvements and bug
    fixes
  • Available at http//www.dist-systems.bbn.com/tech/
    QuO
  • Have just published a paper on QuOs qosket
    component model (ISORC02)
  • Currently concentrating on evaluating QDLs use
    in DRE systems, primarily the UAV OEP, but also
    Boeings WSOA
  • Most of the enhancements in QoS and adaptation in
    the UAV software have been done using QDL
  • More qoskets and aspects to control ATR, to
    support PPMs (formerly supported MPEG only), to
    fragment/defragment, to control UAVs

14
7c Technical Progress/Accomplishments -
Connection Language Definition and Design
  • Aspectual Collaboration definition and
    development has been reported as an
    accomplishment in previous PI meetings
  • We completed an implementation of the UAV
    connections (Sender-gtDistributor and
    Distributor-gtReceiver), specifying the
    connections using AC and generating the C
    implementation code
  • Currently evaluating this specification/use of AC
    and looking for ways to improve it
  • Reorganize UAV code looking for collaborations
    with low coupling and high cohesion
  • Reformulate in terms of AC and improve AC if
    needed
  • Develop an AspectJ-based implementation of AC to
    demonstrate approach on DRE examples

15
7d Technical Plan - Functional Aspect Language,
DAJ
  • Write back-end to produce class graph for base
    program
  • Write front-end to generate AspectJ introductions
    for traversals
  • Write middleware that processes traversal
    specifications
  • Add visitor interfaces to traversal
    specifications and generate AspectJ code

16
7e Technical Progress/Accomplishments - UAV
Prototype
  • We have extended the UAV prototype in two
    dimensions
  • Still send Video from the simulated UAV to
    Control Station Receiver, but now also send
    control signals back to the UAV
  • Have added multiple simulated UAVs and
    distributors
  • Have added more realistic UAV characteristics
  • Live camera feed
  • Wireless Ethernet from simulated UAV to
    distributor
  • Simulated ATR on Control Station (Thanks to
    Lockheed Martin)
  • PPM video format
  • QuO middleware is pervasive
  • We have contracts throughout the system
    coordinating and controlling the adaptation
  • Adaptation resides on the simulated UAVs,
    distributor, and receivers
  • Qoskets and QDL has facilitated reuse of
    behaviors (straightforward to move adaptation
    from distributor to sender) and the rapid
    addition of new behaviors (integrating others
    components, supporting other data formats, and
    new adaptations)

17
8 Next Milestones
  • Release of current UAV software to PCES program
  • available at http//www.dist-systems.bbn.com/proje
    cts/AIRES/UAV
  • Additional QoS behaviors for end-to-end and
    coordinated behavior, including RT-CORBA and
    DiffServ
  • Examination of composition characteristics of the
    qoskets, aspects, and components that we have in
    UAV
  • Apectual Collaborations (AC)
  • Make our Java AC tool available to the AOP
    community
  • Successfully refactor UAV code and improve AC
  • DAJ (Traversal extension of AspectJ)
  • Make DAJ available to the AspectJ community on
    the web A recent informal announcement generated
    a good response
  • Search DRE applications for design patterns that
    can be expressed directly in DAJ (good uses for
    AC might also surface)
  • Make DRE code shorter and more reusable

18
9 Collaborations
  • Vanderbilt
  • Modeling larger scale, more complex contracts to
    improve design of QoS behaviors
  • Vanderbilts AQME can design and simulate QuO
    contracts and can invoke QuOs code generator to
    compile the result (part of the UAV demo)
  • Lockheed Martin
  • Integrate LMs Quality Connectors and FT/RT
    Services and BBNs QuO and UAV to provide a more
    integrated, capable, flexible testbed
  • Boeing/Washington University
  • Maintaining an active participation in Boeing
    activities providing QuO and AIRES capabilities
    for use in Bold Stroke related activities
  • Xerox/University of British Columbia
  • Working to produce an alpha version of AspectJ
    traversals
  • To gain experience with AspectJ and prepare us
    for the project, we have successfully used
    AspectJ as an implementation language in a
    graduate course on Aspect-Oriented Software
    Development
  • Georgia Tech, MIT, OGI, Cornell - Active
    participation in BBN OEP

19
10 Technology Transition/Transfer
AIRES technology is a prominent part of the BBN
OEP
  • Transition of UAV software and AIRES concepts to
    NSWC HiPer-D demo 2001

Transition of AIRES research into Boeing WSOA
The EEL Compiler, part of the Secure Internet
Gateway System (SIGS) project at Verizon. After
four years, the system developed and maintained
using DemeterJ is still running 24x7, processing
large volumes of electronic orders. http//www.ccs
.neu.edu/research/demeter/evaluation/gte-labs
  • QuO software and UAV is available open-source
  • Available at http//www.dist-systems.bbn.com/tech/
    QuO
  • http//www.dist-systems.bbn.com/projects/AIRES/UAV

20
11 Program Issues
  • None
Write a Comment
User Comments (0)
About PowerShow.com