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
29
Embed
Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing
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
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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
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.
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
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?
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