Title: PCES PI Meeting
1Aspects 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
22 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
33 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.
44a 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
54b 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.
64c 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
74d 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
84d 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
94e 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
105 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
116 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
127a 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
137b 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
147c 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
157d 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
167e 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)
178 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
189 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
1910 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
2011 Program Issues