UTEP Computer Science Colloquium, August 16, 2005 Transparent Autonomization: Transparent Autonomization: A Practical Approach to Autonomic A Practical Approach to Autonomic Computing Computing S. Masoud Sadjadi Autonomic Computing Research Laboratory (ACRL) School of Computing and Information Sciences Florida International University Email: [email protected]URL: http://www.cs.fiu.edu/~sadjadi/
62
Embed
UTEP Computer Science Colloquium, August 16, 2005 Transparent Autonomization: A Practical Approach to Autonomic Computing S. Masoud Sadjadi Autonomic Computing.
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
UTEP Computer Science Colloquium, August 16, 2005
Transparent Autonomization:Transparent Autonomization:A Practical Approach to Autonomic A Practical Approach to Autonomic
ComputingComputing
S. Masoud Sadjadi
Autonomic Computing Research Laboratory (ACRL)School of Computing and Information Sciences
FIUACRL Increase in Software ComplexityIncrease in Software Complexity
The ever increasing complexity of computing systems has been accompanied by an increase in the complexity of their management.
Contributing factors – Increasing heterogeneity of software and hardware
components.– Dramatic growth of the size of individual networks and
the Internet.– The deployment of new networking technologies.– The emergence of pervasive computing.– A2A and B2B Integration.
We focus on management that requiresdynamic adaptation.
OvervieOverview:w:Motivation
Overview
Realizations
Case Study
Related Work
Conclusions
Aug. 16, 2005 4UTEP Computer Science Colloquium
FIUACRL
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.)
Why Dynamic Adaptation?Why Dynamic Adaptation?
Wearable Computing Military Applications
OvervieOverview:w:Motivation
Overview
Realizations
Case Study
Related Work
Conclusions
Aug. 16, 2005 5UTEP Computer Science Colloquium
FIUACRL
Demand for Critical Systems– Must continue to operate correctly during exceptional
situations. Examples:
Why Dynamic Adaptation?Why Dynamic Adaptation?
Need for dynamic adaptation– hardware component failures
– network outages
– software faults
– security attacks
OvervieOverview:w:Motivation
Overview
Realizations
Case Study
Related Work
Conclusions
Financial Networks Water/Power Systems
Aug. 16, 2005 7UTEP Computer Science Colloquium
FIUACRL
Solution using Autonomic Solution using Autonomic ComputingComputing
Observation:– Processor time is becoming virtually free.– Human time/effort is becoming more expensive.
Autonomic Computing:– Initiated by IBM and originated in the human autonomic
nervous system, autonomic computing promises self-managed and long-running systems that require only limited, high-level human guidance.
Approach:– Embed management of complex systems inside the systems
themselves
Risk:– Entangling code for self-management with the code for the
business logic of the original systems
Management complexity may actually increase!
OvervieOverview:w:Motivation
Overview
Realizations
Case Study
Related Work
Conclusions
Aug. 16, 2005 8UTEP Computer Science Colloquium
FIUACRL Observation 1Observation 1
Autonomic behavior is concerned only with their non-functional requirements.
Definition– Functional requirements describe the interaction between
the system and its actors (e.g., end users and other external systems) independent of its implementation.
– Non-functional requirements describe aspects of the system that are not directly related to the functional requirements of the system (e.g., QoS, security, scalability, performance, fault-tolerance, and self-*).
Assumption– Software systems are composed of functional and non-
functional code, corresponding to the functional and non-functional requirements of the system, respectively.
OvervieOverview:w:Motivation
Overview
Realizations
Case Study
Related Work
Conclusions
Aug. 16, 2005 9UTEP Computer Science Colloquium
FIUACRL Observation 2Observation 2
Non-functional code tends to crosscut the functional code.– It is impossible to localize non-functional aspects
(e.g., security) into functions or objects using procedural or object-oriented languages.
– Therefore, non-functional code is typically tangled into functional code.
– Therefore modification (maintenance/offline) and adaptation (run time/online) of non-functional code requires modification of functional code, which is error-prone and hard to accomplish.
How to solved this problem:– Separation of concerns both offline and online!
OvervieOverview:w:Motivation
Overview
Realizations
Case Study
Related Work
Conclusions
Aug. 16, 2005 10UTEP Computer Science Colloquium
FIUACRL AgendaAgenda
Motivation
Overview
Realizations
Case Study
Related work
Conclusions
OvervieOverview:w:Motivation
Overview
Realizations
Case Study
Related Work
Conclusions
Aug. 16, 2005 11UTEP Computer Science Colloquium
FIUACRL RAPIDware ProjectRAPIDware Project
Funded by U.S Office of Naval Research– Adaptable Software / Critical Infrastructure Protection
Program Software adaptation technologies for:
– Detecting and responding to environmental changes
– Strengthening self-auditing capabilities of “always-on” systems
Evolved from Transparent Shaping, which was developed in RAPIDware project.
Definitions: – Transparent Autonomization
provides a new software development methodology that supports autonomic behavior in new, as well as in existing, software systems without the need to modify the code for the business logic of the systems.
– Autonomic Program is a program that can automatically respond to unexpected
changes at run time.
– Adaptable Autonomic Program is one whose autonomic behavior can be changed
(adapted) dynamically (at run time).
– Adapt-Ready Program is one that initially behaves similar to the original program,
but can accommodate new autonomic behavior at run time as need arises.
OvervieOverview:w:Motivation
Overview
Realizations
Case Study
Related Work
Conclusions
Aug. 16, 2005 13UTEP Computer Science Colloquium
FIUACRL ChallengesChallenges
New programs (developing from scratch)– Autonomic code is scattered over functional code.
Code for self-healing, self-optimization, self-protection, and self-configuration tend to crosscut functional code.
– Unanticipated and transient adaptations. Not all events/exceptions at run time are expected. Limited resources such as memory.
Enhancing existing programs– Source code may not be available.
Legacy code
– It may not be desirable to modify the source code. New bugs may be introduced over time.
OvervieOverview:w:Motivation
Overview
Realizations
Case Study
Related Work
Conclusions
We use transparent autonomization to weave self-management code into existing applications.
Aug. 16, 2005 14UTEP Computer Science Colloquium
FIUACRL Key Concepts and TechnologiesKey Concepts and Technologies
– Dynamic reconfiguration need separated concerns at run time.
Business LogicTangled Code
Woven Code
Run Run TimeTime
Aspect Weaver
Compile Compile TimeTime
AspectsBusiness Logic
Dev. Dev. TimeTime
“We have found many programming problems for which neither procedural nor object-oriented programming techniques are sufficient to clearly capture some of the important design decisions the program must implement.” [Kiczales97]
OvervieOverview:w:Motivation
Overview
Realizations
Case Study
Related Work
Conclusions
Aug. 16, 2005 16UTEP Computer Science Colloquium
FIUACRL
Base Level
1
Message flow Intercepted Message flow
Base-Level Objects Sender ObjectReceiver Object
Behavioral ReflectionBehavioral Reflection
Meta LevelGeneric MOP
Dynam
ic MOPs
Meta-Level Objects
Metaobjects
2”
1’2’3”
Separation of concerns at run time Base Level: Application objects are represented. Meta Level: Metaobjects are categorized into MetaObject Protocols Interception: Base-level messages are intercepted
“Computational reflection is the activity performed by a computational system when doing computation about (and by that possibly affecting) its own computation.” [Maes87]
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
Transparent Autonomization provides transparent application integration– Alternative solutions using TRAP and ACT– Supports interoperation among Java RMI, CORBA,
and .NET applications through Web service.
Remaining issues– Automatic translation – Automatic service discovery
OvervieOverview:w:Motivation
Overview
Realizations
Case Study
Related Work
Conclusions
Aug. 16, 2005 53UTEP Computer Science Colloquium
FIUACRL AgendaAgenda
Motivation
Overview
Realizations
Case Study
Related work
Conclusions
OvervieOverview:w:Motivation
Overview
Realizations
Case Study
Related Work
Conclusions
Aug. 16, 2005 54UTEP Computer Science Colloquium
FIUACRL 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 Shaping
OvervieOverview:w:Motivation
Overview
Realizations
Case Study
Related Work
Conclusions
Aug. 16, 2005 55UTEP Computer Science Colloquium
FIUACRL Where and How?Where and How?
Where the adaptive code resides? How the adaptive code is incorporated?
and Prabakar.– Students: Onyeka Ezenwoye, Eduardo Monterio,
Adelein Rodriguez, and Weixian Sun. TRAP
– Studetns: Onyeka Ezenwoye, Lazaro Millo, Alain Rodriguez, and Ana Rodriguez.
Robust Web Services– Studetn: Onyeka Ezenwoye
Safe Adaptation– Drs. He, Cheng, McKinley, Clarke, and Ceberio.– Student: Gonzalo Argote and Farshad Samimi.
Knowledge Discovery in AC– Drs. Li and Zhang.– Student: Wei Peng.
OvervieOverview:w:Motivation
Overview
Realizations
Case Study
Related Work
Conclusions
Aug. 16, 2005 61UTEP Computer Science Colloquium
FIUACRL AcknowledgementsAcknowledgements
This work was supported in part by– U.S. Navy, Office of Naval Research
Grant No. N00014-01-1-0744
– National Science Foundation grants CCR-9912407 EIA-0000433 EIA-0130724 ITR-0313142
Thanks to my colleagues at SENS laboratory for their insightful discussions and feedbacks (in alphabetical order). – Betty Cheng, Kurt Stirewalt, Laurie Dillon– Eric Kasten, Farshad Samimi, Zhenxiao Yang, Zhinan
Zhou, Jesse Sowell, and others.
OvervieOverview:w:Motivation
Overview
Realizations
Case Study
Related Work
Conclusions
Aug. 16, 2005 62UTEP Computer Science Colloquium
FIUACRL 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
Overview
Realizations
Case Study
Related Work
Conclusions
Aug. 16, 2005 63UTEP Computer Science Colloquium
FIUACRL 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.