1 / 18

Support for Run-Time Adaptation in RAPIDware

Support for Run-Time Adaptation in RAPIDware. Philip K. McKinley Software Engineering and Networking Systems Laboratory Department of Computer Science and Engineering Michigan State University (http://www.cse.msu.edu/sens). Presentation Overview . MSU SENS Laboratory

bert
Download Presentation

Support for Run-Time Adaptation in RAPIDware

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Support for Run-Time Adaptation in RAPIDware Philip K. McKinley Software Engineering and Networking Systems Laboratory Department of Computer Science and Engineering Michigan State University (http://www.cse.msu.edu/sens)

  2. Presentation Overview • MSU SENS Laboratory • RAPIDware Project Overview • MetaSockets and Experiments • Adaptive CORBA Template (ACT) • Conclusions

  3. MSU SENS Laboratory • The Software Engineering and Network Systems Laboratory supports research in: • software engineering • distributed computing • network protocols and real-time systems • fault tolerance and security • formal methods, code generation • compilation/analysis of concurrent systems • Research sponsored by NSF, ONR, DARPA, DOE, NASA, EPA, and several industrial partners

  4. SENS Personnel • Betty Cheng - software engineering, formal methods, object-oriented development • Laura Dillon - formal methods for concurrent systems, real-time systems • Phil McKinley - distributed computing, network protocols, adaptive middleware • Kurt Stirewalt - software analysis, interactive systems, model checking • Sandeep Kulkarni - fault tolerance, security • ~30 graduate research assistants

  5. Mobile Computing Testbed • Multiple-cell WLAN • Various Wireless LANs • WLAN analyzers • Mobile computers • Dell laptops (Windows, Linux) • iPAQ handhelds(Familiar Linux, Blackdown Java) • Xybernaut MA-V wearables (Windows)

  6. RAPIDware Project • Funded by U.S Office of Naval Research • Adaptable Software / Critical Infrastructure Protection • Outgrowth of Presidential Decision Directive 63 (May ’98) • Goal: Software (middleware) that can adapt to: • Changing environmental conditions • Hardware and software component failures • Possible security threats or violations • Heterogeneous platforms • Dynamic user requirements • RAPIDware involves: • 5 SENS faculty members and 10 graduate assistants • Middleware for “Internet Speed” development and evolution of applications must support: • Multiple dimensions of adaptability • Autonomous execution of middleware components • Dynamic composition of middleware services • “Principled” methods (compiler/language support, code generation, reflection, run-time checks, etc) needed to help ensure reliability, correctness, reusability, security

  7. RAPIDware Goal... • Enable users to communicate seamlessly and securely across a diverse, dynamic, and evolving mobile computing and communication infrastructure. • Target domain is multimedia collaborative computing systems • military command and control • management of industrial installations • crisis management systems • computer supported cooperative work • Example: Enabling systems to operate through failures and attacks in network-centric battlefield.

  8. Motivations Highly variable wireless channels, changing topology, frequent disconnections

  9. Motivations Interaction with sensor networks

  10. Motivations Military Operations in Urban Terrain (MOUT)

  11. Motivations Collaboration among disparate platforms and networks

  12. Key Challenges • Realizing tradeoffs among different cross-cutting concerns: • Quality of service • Platform characteristics • Security policies • Energy consumption • Fault tolerance • Adaptation of legacy code, separation of concerns • Safe adaptation of software (including dynamic composition) of software

  13. Adaptive Middleware • Adaptive middleware can manage nonfunctional aspects of the system in coordinated fashion: • actively monitor the system, execute security policies • provide fault tolerance for specified components • adapt to changing environmental conditions • manage energy consumption in battery-powered devices • insulate the application from device/network differences • “Always On” systems • E.g., command and control, many critical infrastructure systems • require dynamic adaptation in ways not envisioned during development.

  14. Separating Adaptive Behavior Host computer (wired workstation) Host computer (wireless laptop) Host computer (wireless palmtop) APPLICATION LAYER Application Application Application Adaptive Logic -- decision makers, event handlers, component loaders “core” middleware components MIDDLEWARE LAYER Proxy node (e.g., desktop) data paths observers responders NETWORK LAYER

  15. RAPIDware Subprojects • Programming language abstractions for adaptation • Support for adaptation in legacy applications • Dynamic software composition • Safeness • Efficiency • Fault tolerance • Security • Adaptive group key management • Adaptive overlay networks

  16. Domain-Services Tailored to a specific class of distributed applications Common-Services Functionality such as fault tolerance, security, load balancing and transactions Distribution Programming-language abstraction Host-Infrastructure Platform abstraction Applications Domain-Specific Middleware Services Common Middleware Services Middleware Layers Distribution Middleware Host-Infrastructure Middleware Operating Systems and Protocols System Platform Hardware Devices Middleware Layers • Schmidt decomposed middleware into four layers: Schmidt’s Middleware layers [2]

  17. Part 1: MetaSockets • Adaptive Java (AJ): • An extension to Java that provides language constructs and compiler support for developing adaptive software. • MetaSockets: • An adaptable communication component developed in AJ • Can be used directly by applications or by higher-level middleware layers

More Related