transparent shaping of existing software to support pervasive and autonomic computing

29
ICSE-DEAS 2005 Workshop Presentation May 21, 2005 Transparent Shaping of Existing Transparent Shaping of Existing Software to Support Pervasive Software to Support Pervasive and Autonomic Computing and Autonomic Computing S. Masoud Sadjadi School of Computer Science Florida International University Miami, FL 33199 [email protected] http://www.cs.fiu.edu/ ~sadjadi/ Philip K. McKinley Dept. of Computer Science and Engineering Michigan State University East Lansing, MI 48824 [email protected] http://www.cse.msu.edu/~mckinley Betty H.C. Cheng Dept. of Computer Science and Engineering Michigan State University East Lansing, MI 48824 [email protected] http://www.cse.msu.edu/~chengb

Upload: camden-scott

Post on 02-Jan-2016

20 views

Category:

Documents


0 download

DESCRIPTION

Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing. S. Masoud Sadjadi School of Computer Science Florida International University Miami, FL 33199 [email protected] http://www.cs.fiu.edu/~sadjadi/. Philip K. McKinley - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

ICSE-DEAS 2005 Workshop Presentation May 21, 2005

Transparent Shaping of Existing Transparent Shaping of Existing Software to Support Pervasive Software to Support Pervasive

and Autonomic Computingand Autonomic Computing

S. Masoud Sadjadi

School of Computer Science Florida International University

Miami, FL 33199

[email protected]://www.cs.fiu.edu/~sadjadi/

Philip K. McKinley

Dept. of Computer Science and EngineeringMichigan State UniversityEast Lansing, MI 48824

[email protected]://www.cse.msu.edu/~mckinley

Betty H.C. Cheng

Dept. of Computer Science and EngineeringMichigan State UniversityEast Lansing, MI 48824

[email protected]://www.cse.msu.edu/~chengb

Page 2: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 2ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU OutlineOutline

Motivation

General Approach

Middleware-Based Approach

Language-Based Approach

Related Work

Conclusions

OvervieOverview:w:Motivation

Related Work

Conclusions

Language-Based

Middleware-Based

Pervasive Comp.

Autonomic Comp.

General Approach

Observation

Page 3: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 3ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU

Demand for Pervasive Computing – Promises anywhere, anytime access to data and computing.

Examples

Need for dynamic adaptation– Heterogeneity of hardware, network, software

– Dynamics of the environmental conditions

– Limited resources (CPU, memory, battery, etc.)

Pervasive Comp.

Why Dynamic Adaptation?Why Dynamic Adaptation?

OvervieOverview:w:Motivation

Autonomic Comp.

Observation

Wearable Computing Military Applications

Related Work

Conclusions

Language-Based

Middleware-Based

General Approach

Page 4: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 4ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU

Demand for Autonomic Computing– Promises self-management in complex and critical systems.

Examples:

Pervasive Comp.

Why Dynamic Adaptation?Why Dynamic Adaptation?

Need for dynamic adaptation– hardware component failures

– network outages

– software faults

– security attacks

Autonomic Comp.

OvervieOverview:w:Motivation

Observation

Financial Networks Water/Power Systems

Related Work

Conclusions

Language-Based

Middleware-Based

General Approach

Page 5: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 5ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU RAPIDware Project: ObservationRAPIDware Project: Observation

RAPIDware Project– a research project on the design and operation of

adaptive software.

Observation– Adaptive code, which implements the adaptive behavior

of a software system, crosscuts the functional decomposition of the system.

– Examples: QoS, security, scalability, performance, and fault-tolerance

– Adaptive code is typically tangled into functional code.– Adaptable applications are difficult to develop and

maintain.

Our Solution:– Separation of concerns during the development,

deployment, and execution of software systems.

OvervieOverview:w:Motivation

Pervasive Comp.

Autonomic Comp.

Observation

Related Work

Conclusions

Language-Based

Middleware-Based

General Approach

Page 6: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 6ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU

Adapt. Programs

General Approach

Trans. Shaping

Program Families

Dynamic Adapt.

OvervieOverview:w:Motivation

OutlineOutline

Motivation

General Approach

Middleware-Based Approach

Language-Based Approach

Related Work

Conclusions

Related Work

Conclusions

Language-Based

Middleware-Based

Realizations

Page 7: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 7ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU Adaptable ProgramsAdaptable Programs

Definition– An adaptable program is a program whose behavior

can be changed (adapted) dynamically (at run time).

Problem– Developing and maintaining adaptable programs are

nontrivial tasks.

Challenges– New adaptable programs

Adaptive code is scattered over functional code. Unanticipated and transient adaptations.

– Enhancing existing programs Source code may not be available. It may not be desirable to modify the source code.

Adapt. Programs

OvervieOverview:w:Motivation

Trans. Shaping

Program Families

Dynamic Adapt.

Realizations

Related Work

Conclusions

Language-Based

Middleware-Based

General Approach

Page 8: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 8ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU Transparent ShapingTransparent Shaping

Definition– A new programming model that supports dynamic

adaptation in existing programs without the need to modify their source code directly.

Key technologies

Aspect-Oriented Programming

Behavioral Reflection

Component-Based Design

Middleware

Transparent ShapingTransparent Shaping

Trans. Shaping

Adapt. Programs

Program Families

Dynamic Adapt.

OvervieOverview:w:Motivation

Realizations

Related Work

Conclusions

Language-Based

Middleware-Based

General Approach

Page 9: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 9ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU Families of Adaptable ProgramsFamilies of Adaptable Programs

Observation– Adaptable programs derived from an existing

program share the functional code of the program.– They differ only in their adaptive behavior.

Approach– Instead of developing each adaptable program

individually, transparent shaping provides a model to produce a family of adaptable programs derived from an existing program.

Definition– A program family is a set of programs whose

extensive commonalities justify the expensive effort required to study them as a whole rather than individually [Parnas76].

Program Families

Adapt. Programs

Trans. Shaping

Dynamic Adapt.

OvervieOverview:w:Motivation

Realizations

Related Work

Conclusions

Language-Based

Middleware-Based

General Approach

Page 10: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 10ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU Dynamic AdaptationDynamic Adaptation

Dynamic adapt.

Adapt. Programs

Trans. Shaping

Program Families

OvervieOverview:w:Motivation

Realizations

X4X3

X8

Second Step:at run time

X5 X7X6

X9S1 S2

Dynamic adaptation in two steps

X1

(adapt-ready program)

First Step:at compile, startup, or load time

X2

(adapt-ready program)

X0

(existing program)

X working program reversible design decisiondesign decision subfamily boundary

Dynamic adaptation in two steps1. An adapt-ready program is produced statically

The existing program with generic interceptors, called hooks, at certain points in its execution path.

Dynamic adaptation in two steps1. An adapt-ready program is produced statically

The existing program with generic interceptors, called hooks, at certain points in its execution path.

2. Adaptable programs are produced dynamically Using the hooks, a composer can convert the adapt-

ready program into a more appropriate adaptable program by inserting and removing new adaptive code.

Related Work

Conclusions

Language-Based

Middleware-Based

General Approach

Page 11: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 11ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU Transparent Shaping RealizationsTransparent Shaping Realizations Transparent shaping targets distributed applications. Depending on where the hooks are incorporated inside

an existing program during the first step of the shaping process, we identify three approaches to transparent shaping.1. inside an application program itself2. inside its supporting middleware3. inside the system platform.

Client Program Server Program

ApplicationLayer

MiddlewareLayer

Program component Flow of service request Hook

process boundaries

NetworkNetwork

Requester Component

ProviderComponent

OperatingSystem

Interaction

A typical client/server application.

Adapt. Programs

Trans. Shaping

Program Families

Dynamic Adapt.

OvervieOverview:w:Motivation

Realizations

Related Work

Conclusions

Language-Based

Middleware-Based

General Approach

Transparent shaping targets distributed applications. Depending on where the hooks are incorporated inside

an existing program during the first step of the shaping process, we identify three approaches to transparent shaping.1.1. inside an application program itselfinside an application program itself2.2. inside its supporting middlewareinside its supporting middleware3. inside the system platform.

TRAP

ACT

Page 12: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 12ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU

Middleware-Based

OutlineOutline

Motivation

General Approach

Middleware-Based Approach

Language-Based Approach

Related Work

Conclusions

OvervieOverview:w:Motivation

General Approach

Motivation

ACT

Case Study

Summary

Related Work

Conclusions

Language-Based

Page 13: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 13ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU Middleware-Based ApproachMiddleware-Based Approach

Motivation– We focus on adapting distributed systems.– Incorporating adaptive code inside middleware

produces transparency to the application code.– Most middleware have embedded interception

techniques.

Approach [ICDCS’04,ICAC’04]– We use CORBA portable interceptors– A generic interceptor is incorporated into a CORBA

program at startup time (adapt-ready)– Later at run time, the generic interceptor can be

used to insert adaptive code into the adapt-ready program (adaptable programs)

Motivation

Middleware-Based

OvervieOverview:w:Motivation

General Approach

ACT

Case Study

Summary

Related Work

Conclusions

Language-Based

Page 14: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 14ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU ACT Architecture OverviewACT Architecture Overview

The flow of a request/reply in an ACT-ready application.

ACT

Client Program Server Program

ApplicationLayer

MiddlewareLayer

OperatingSystem

Server Program

process boundaries

NetworkNetwork

Client ORB

ACT CoreRequester object

Generic Interceptor

Server ORB

ACT CoreProvider object

Generic Interceptor

Request flowRequest flowProgram component Hook

Middleware-Based

OvervieOverview:w:Motivation

General Approach

Motivation

Case Study

Summary

Related Work

Conclusions

Language-Based

Page 15: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 17ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU

Language-Based

OutlineOutline

Motivation

General Approach

Middleware-Based Approach

Language-Based Approach

Related Work

Conclusions

Motivation

TRAP

TRAP/J

Case Study

Summary

OvervieOverview:w:Motivation

General Approach

Related Work

Conclusions

Middleware-Based

Page 16: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 18ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU Language-Based ApproachLanguage-Based Approach

Motivation– Not all distributed systems use middleware.– Not all middleware provide facilities for interception.– Lack of behavioral reflection in many OO languages.– Need for direct modifications to source code.– Direct modification is difficult and error-prone

Approach [ICAC’05,DOA’04]– Using a compile- or load-time program

transformation technique compile-time aspect weaving (e.g., AspectJ) compile-time meta-object protocols (e.g., Open C++) load-time meta-object protocols (e.g., JOIE)

TRAP

TRAP/J

Case Study

Motivation

Summary

Language-Based

OvervieOverview:w:Motivation

General Approach

Related Work

Conclusions

Middleware-Based

Page 17: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 19ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU TRAPTRAP

Transparent Reflective Aspect Programming (TRAP) is an instance of transparent shaping – Supports dynamic adaptation in OO programs– Does not require direct modifications to source

code

A two-step approach to dynamic adaptation – The developer can select, at compile time, a subset

of classes in the existing program to be reflective at run time.

– The objects of such reflective classes can be adapted at run time.

Motivation

TRAP/J

Case Study

TRAP

Summary

Language-Based

OvervieOverview:w:Motivation

General Approach

Related Work

Conclusions

Middleware-Based

Page 18: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 21ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU TRAP/J Operation at Compile TimeTRAP/J Operation at Compile Time

Motivation

TRAP

Case Study

TRAP/J

Existing program

Selecting classes

Generating hooks

Weaving hooks

Existing program

Selecting classes

Generating hooks

Weaving hooks

Existing program

Selecting classes

Generating hooks

Weaving hooks

Existing program

Selecting classes

Generating hooks

Weaving hooksSummary

A configuration file (contains a list of classes to become reflective)

Original Application(.class files)

AspectJ Compiler (ajc)

Generated adapt-ready application (.class files)

Data Flow A File A Process TRAP/J Boundary

MetaLevelClass

BaseLevelClassAspect

MetaLevelClass

BaseLevelClassAspect

Wrapper-Level Class

Meta-Level Class

Intercepting Aspects

Intercepting Aspect Generator Reflective Class Generator

TRAP/J at Compile TimeLanguage-Based

OvervieOverview:w:Motivation

General Approach

Related Work

Conclusions

Middleware-Based

Page 19: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 24ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU

Related Work

Where and How?

When?

Conclusions

OutlineOutline

Motivation

General Approach

Middleware-Based Approach

Language-Based Approach

Related Work

Conclusions

OvervieOverview:w:Motivation

General Approach

Middleware-Based

Language-Based

Page 20: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 25ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU When?When?

When the adaptivr code is incorporated?

Hardwired Middleware: Electra, Totem, Horus, IsisCustomizable Middleware: Personal/Embedded Java, Orbix/EConfigurable Middleware: Eternal, IRL, FTS, TAO-LB, Rocks, Racks, Orbix, ORBacus, JacORB, QuOTunable Middleware: TAO, ZEN, CIAO, DynamicTAO, UIC, OpenCORBA, ACE, FlexiNet, Iguana/J, MetaXaMutable Middleware: Open ORB, Open COM

Middleware Type

Dynamic Middleware

Mutable

Tunable

Configurable

Customizable

Hardwired

Develop. Time Compile Time Startup Time Run Time Middleware Lifetime

Static Middleware

Transparent ShapingTransparent ShapingRelated Work

Where and How?

Conclusions

When?

OvervieOverview:w:Motivation

General Approach

Middleware-Based

Language-Based

Page 21: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 26ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU Where and How?Where and How?

Where the adaptive code resides? How the adaptive code is incorporated?

Where and How?

Related Work

When?

Conclusions

Adaptable Applications, Existing/Non-Adaptable Applications

Windows OS, Linux OS, Sun Solaris OS, Mac OS

Mid

dlew

are

Common Services

Domain-Specific Services

Application

System Platform

Host-Infrastructure Services

Distribution Services

Transparent shaping boundary

Java RMI, TAO,DynamicTAO,Orbix, JacORB, Squirrel,OpenCorba, OpenORB, Electra,…

BBS, …

QuO, OGS, …

MetaSockets, Java Net Package, ACE, Horus, Isis, Ensemble, …

Hooks to incorporate adaptive code dynamically

ACT/J, IRL,FTS,TAO-LB, …

TRAP/J, Composition Filters, RNTL ARCAD, …

KMX, Eternal, Rocks, Racks, DEOS, GRACE, Graybox, …

Iguana/J, PROSE, Guaraná, …

Tra

nsp

aren

tT

ran

spar

ent

Sh

apin

gS

hap

ing

OvervieOverview:w:Motivation

General Approach

Middleware-Based

Language-Based

Page 22: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 27ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU

Conclusions

OutlineOutline

Motivation

General Approach

Middleware-Based Approach

Language-Based Approach

Related Work

Conclusions

Related Work

OvervieOverview:w:Motivation

General Approach

Middleware-Based

Language-Based

Summary

Future Apps

Future Tools

Page 23: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 28ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU SummarySummary

A high level view of our accomplishments

ACTTRAP

Transparent Shaping

ACT/J

Proxies: Generic Proxy

TRAP/J

Audio Streaming App.

Filters: FEC, Encryption/Dec., Compression/Dec.

QoS Security QoS vs. Energy Man.

Delegates: MetaSockets

Image Retrieval App.

Rules: Conn. Management,App. Integration

App. IntegrationSelf-Management/Optimization

Frame Grabber App.

instantiates provides uses is applied to supports

Generic InterceptorsWrappers & Metaobjects

Coarse-Grained ..adaptive code

Existing Applications …………………...

Crosscutting Concerns ………….……………….

Core Assets

Hooks ….…………………………………

Fine-Grained ……

Programming Model

Extensions..…………………

Prototypes ……………..…….

Model …….…………………..

Summary

Conclusions

OvervieOverview:w:Motivation

Related Work

Language-Based

Middleware-Based

General Approach

Future Apps

Future Tools

Page 24: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 29ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU Future Work: ToolsFuture Work: Tools

TRAP.NET– All programming languages supported in .NET– Onyeka Ezenwoye and Ana Rodriguez– Lazaro Millo and Alain Rodriguez

TRAP.BPEL– Enabling Robustness in Existing BPEL Processes– Onyeka Ezenwoye

Safe Adaptation – specifying adaptation semantics and monitoring and

ensuring system invariants during adaptation (Zhang and Cheng, WADS05)

Safe Adaptation using Constraint Programming and Dynamic Testing– Drs. Xudong He, Peter Clarke, and Martine Ceberio– Gonzalo Argote

Future Tools

Conclusions

Future Apps

OvervieOverview:w:Motivation

Related Work

Language-Based

Middleware-Based

General Approach

Summary

Page 25: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 32ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU Future Work: ApplicationsFuture Work: Applications

IP_Comm (Futuristic Telecommunication)– Drs. Deng, Clarke, Hristidis, Rangaswami, Zhang,

Chen, Prabakar, Ege, and Li– Weixiang Sun, Yingbo, Onyeka Ezenwoye– Eduardo and Adeline

Constructing Autonomic Computing Systems by Combining Adaptive Software and Knowledge Discovery Techniques– Dr. Li

Knowledge Discovery for Computing System Management– Drs. Li and Zhang

Future Apps

Conclusions

Summary

Future Tools

OvervieOverview:w:Motivation

Related Work

Language-Based

Middleware-Based

General Approach

Page 26: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 33ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU References References (1)(1)

[Computer’04] Philip K. McKinley, S. Masoud Sadjadi, Eric P. Kasten, and Betty H. C. Cheng. Composing adaptive software. IEEE Computer, pages 56-64, July 2004.

[DOA'04] S. M. Sadjadi, P. K. McKinley, B. H.C. Cheng, and R. E. K. Stirewalt. “TRAP/J: Transparent generation of adaptable java programs,” To appear In the Proceedings of the International Symposium on Distributed Objects and Applications, Larnaca, Cyprus, October 2004.

[IWQoS'04] Z. Zhou, P. K. McKinley, and S. M. Sadjadi. On quality-of-service and energy consumption tradeoffs in fec-enabled audio streaming. In Proceedings of the 12th IEEE International Workshop on Quality of Service (IWQoS 2004), Montreal, Canada, June 2004.

[ICAC'04-1] S. M. Sadjadi, P. K. McKinley,``Transparent Self-Optimization in Existing CORBA Applications,'' To appear in Proceedings of the International Conference on Autonomic Computing (ICAC-04), New York, NY, May 2004.

[ICDCS'04] S. M. Sadjadi and P. K. McKinley. ACT: An adaptive CORBA template to support unanticipated adaptation. In Proceedings of the 24th IEEE International Conference on Distributed Computing Systems (ICDCS'04), Tokyo, Japan, March 2004. To appear.

[FTDCS'03] S. M. Sadjadi, P. K. McKinley, and E. P. Kasten. Architecture and operation of an adaptable communication substrate. In Proceedings of the Ninth IEEE International Workshop on Future Trends of Distributed Computing Systems, pages 46-55, San Juan, Puerto Rico, May 2003.

[ISWC'02] Philip K. McKinley, S. M. Sadjadi, E. P. Kasten, and R. Kalaskar. Programming language support for adaptive wearable computing. In Proceedings of International Symposium on Wearable Computers (ISWC'02), pages 205-214, Seattle, Washington, October 2002.

[ICAC'04-2] S. M. Sadjadi, P. K. McKinley, R. E. K. Stirewalt, and B. H.C. Cheng, ``Self-Optimization in Wireless Audio Streaming,'' To appear in Proceedings of the International Conference on Autonomic Computing (ICAC-04), New York, NY, May 2004.

OvervieOverview:w:Motivation

Related Work

Language-Based

Middleware-Based

General Approach

Conclusions

Page 27: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 34ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU References References (2)(2)

[Bruegge04] Bernd Bruegge and Allen H. Dutoit. Object-oriented software engineering using UML, patterns, and Java, second edition, Prentice Hall, 2004.

[Parnas76] David L. Parnas. On the design and development of program families. IEEE Transactions on Software Engineering, March 1976.

[Johnson01] Ralph Johnson. Introduction to “on the design and development of program families.” In Daniel M. Hoffman and David M. Weiss, editors, Software fundamentals: collected papers by David L. Parnas, pages 191–192. Addison-Wesley Longman Publishing Co., Inc., 2001.

[Maes87] Pattie Maes. Concepts and experiments in computational reflection. In Proceedings of the ACM Conference on Object-Oriented Languages. ACM Press, December 1987.

[Kiczales97] G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Videira Lopes, J. M. Loingtier, and J. Irwin. Aspect-oriented programming. In Proceedings of the European Conference on Object-Oriented Programming. Springer-Verlag LNCS 1241, June 1997.

[Szyperski99] C. Szyperski, Component Software: Beyond Object-Oriented Programming. Addison-Wesley, 1999.

[Blair97] Gordon Blair, Geoff Coulson, and Nigel Davies. Adaptive middleware for mobile multimedia applications. In Proceedings of the Eighth International Workshop on Network and Operating System Support for Digital Audio and Video, pages 259-273, 1997.

[Schmidt02] Douglas C. Schmidt. Middleware for real-time and embedded systems. Communications of the ACM, 45(6), June 2002.

[CORBA03] Object Management Group, Framingham, Massachusett. The Common Object Request Broker: Architecture and Specification Version 3.0, July 2003.

[Zinky97] John A. Zinky, David E. Bakken, and Richard E. Schantz. Architectural support for quality of service for CORBA objects. Theory and Practice of Object Systems, 3(1), 1997.

[Yang02] Z. Yang, B. H.C. Cheng, R. E. K. Stirewalt, J. Sowell, S. M. Sadjadi, and P. K. McKinley. An aspect-oriented approach to dynamic adaptation. In Proceedings of the ACM SIGSOFT Workshop On Self-healing Software (WOSS'02), November 2002.

OvervieOverview:w:Motivation

Related Work

Language-Based

Middleware-Based

General Approach

Conclusions

Page 28: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 35ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU AcknowledgementsAcknowledgements

Thanks to my colleagues at SENS laboratory for their insightful discussions and feedbacks (in alphabetical order). – Eric Kasten – Farshad Samimi – Jesse Sowell– Kurt Stirewalt– Laura K. Dillon – Scott Fleming– Udiyan Padmanabhan– Zhenxiao Yang – Zhinan Zhou

This work was supported in part by the U.S. Department of the Navy, Office of Naval Research under Grant No. N00014-01-1-0744, and in part by National Science Foundation grants CCR-9912407, EIA-0000433, EIA-0130724, and ITR-0313142.

OvervieOverview:w:Motivation

Related Work

Language-Based

Middleware-Based

General Approach

Conclusions

Page 29: Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing

May 21, 2005 36ICSE-DEAS Workshop Presentation by Sadjadi et al.

FIU MSU Contact InformationContact Information

Questions?

Thank you!

S. Masoud SadjadiAssistant Professor of Computer Science University Park, ECS 212C11200 S.W. 8th StreetMiami, FL 33199

Email: [email protected]: http://www.cs.fiu.edu/~sadjadi/

RAPIDware Project: http://www.cse.msu.edu/rapidware/

SENS Laboratory: http://www.cse.msu.edu/sens/

OvervieOverview:w:Motivation

Related Work

Language-Based

Middleware-Based

General Approach

Conclusions