icse-deas 2005 workshop presentation may 21, 2005 transparent shaping of existing software to...
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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