Run-Time Support for Adaptive Communication Services - PowerPoint PPT Presentation

About This Presentation
Title:

Run-Time Support for Adaptive Communication Services

Description:

A traditional real-time distributed application that multicasts a live audio ... MetaSocket is just one application written in Adaptive Java. ... – PowerPoint PPT presentation

Number of Views:25
Avg rating:3.0/5.0
Slides: 15
Provided by: sadj5
Learn more at: http://users.cs.fiu.edu
Category:

less

Transcript and Presenter's Notes

Title: Run-Time Support for Adaptive Communication Services


1
Run-Time Support for Adaptive Communication
Services
MetaSockets
  • By SeyedMasoud Sadjadi
  • Advisor Dr. Philip K. McKinley
  • Computer Science and Engineering
  • Michigan State University

This work was supported in part by the U.S.
Office of Naval Research under Grant No.
N00014-01-1-0744, and in part by National Science
Foundation grants CDA-9617310, NCR-9706285,
CCR-9912407, EIA-0000433, and EIA-0130724.
2
  • Motivation
  • Wireless networks are improving rapidly.
  • Mobile computers are gaining more popularity.
  • Lots of Software is being developed for this new
    infrastructure.
  • Problem?
  • Dynamic changes in wireless networks.
  • Heterogeneity of mobile devices.
  • Standard solution
  • Developing adaptive application.
  • Problems with adaptive software?
  • Adaptive code is scattered all over the
    application.
  • Development, deployment, and maintenance are
    difficult.
  • Our solution
  • Using Adaptive Java (developed by E. Kasten) to
    develop adaptive applications.

3
  • Case Study
  • Audio Multicasting Application (AMA)
  • A traditional real-time distributed application
    that multicasts a live audio stream over a wired
    network.
  • Motivation
  • Using AMA over a wireless network.
  • Problem?
  • Wireless network dynamically changes.
  • Standard solution
  • Writing an adaptive AMA that uses FEC.
  • Problem with adaptive AMA?
  • Adaptive code is scattered all over the
    application.
  • Development, deployment, and maintenance are
    difficult.
  • Our solution
  • Using Adaptive Java to develop a metamorphic
    socket (or metasocket) that makes AMA adaptive.
  • Adaptive code is not tangled to the application
    code.

4
Audio Multicating Application over Wireless
5
Error Control in Wireless Networks
Standard Solution Adaptive AMA over Wireless
using FEC filter
X
X
X
X
X
X
X
X
Wireless Network
Wireless Network
6
Problem with Standard Solution
Microphone Program
Java Virtual Machine
Adaptive Code (the cross-cutting concern) is
scattered all over the application code
Java MulticastSocket
Our Solution in a Nutshell
Microphone Program
Java Virtual Machine
Adaptive Code is factorized in one component to
better support the development of evolutionary
software
MetaSocket
7
Our Solution
We decided to factorize all of the adaptive code
needed to adapt AMA to the dynamic changes of
wireless networks and put them in a metamorphic
component named MetaMulticastSocket (MetaSocket
in brief). MetaSocket absorbs and metafys
the original Java MulticastSocket.You can follow
the steps for building this component in
Adaptive Java in the next slides.
Microphone Program
Java MulticastSocket
Java Virtual Machine
8
Developing MetaSocket
First we extended the original Java
MulticastSocket to support a filter pipeline.
This way we could add, remove, or modify
different filters. In this study we just used
FEC Filters, but it can work with other filters.
9
Developing MetaSocket (cont.)
Then we absorbed MulticastSocketSender using
absorb construct in Adaptive Java to create a
component from this Java class. We defined all
the invocations that this component support to
provide service to other components.
10
Developing MetaSocket (cont.)
In this step we metafyed this new component,
MulticastSocket- SenderComponent using metafy
construct in Adaptive Java and defined
refractions and transmutations. Refraction
methods can only read the status of a component.
Transmutation methods, in contrast, can only
write to the component.
11
Developing MetaSocket (cont.)
Now that MetaSocket is developed, we need a
component that knows about our specific
application (AMA) and customizes MetaSockets
dynamically. We call this component a Decision
Maker. A decision maker gets the state of other
components using their refraction methods and
adapt them using their transmutation methods.
AudioRecorder
Decision Maker
Java Virtual Machine
12
Microphone Application
This is how the whole Microphone application
works.
13
MetaSocket Evaluation
FEC inserted
FEC removed
14
  • Conclusion
  • Developing MetaSocket in Adaptive Java
    demonstrated that we can write adaptive
    application so that the adaptive code is
    separated from the application code.
  • Developing, deploying, and maintaining such
    applications is much easier.
  • Future Work
  • MetaSocket is just one application written in
    Adaptive Java. Further investigation on other
    adaptive applications showed that Adaptive Java
    should be extended.
  • Some of the design decision made while developing
    Adaptive Java makes its use limited.
Write a Comment
User Comments (0)
About PowerShow.com