ICSE-DEAS 2005 Workshop Presentation May 21, 2005 Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing S. Masoud Sadjadi.

Slides:



Advertisements
Similar presentations
Towards Self-Testing in Autonomic Computing Systems Tariq M. King, Djuradj Babich, Jonatan Alava, and Peter J. Clarke Software Testing Research Group Florida.
Advertisements

Kernel-Middleware Interaction to Support Adaptation in Pervasive Computing Environments F. Samimi, P. McKinley, S. Sadjadi, P. Ge Software Engineering.
Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
The road to reliable, autonomous distributed systems
1 Assessing Contemporary Modularization Techniques for Middleware Specialization Akshay Dabholkar & Aniruddha Gokhale OOPSLA ACoM.
COP th Lecture September 26, 2005 COP 4009 Component-Based Software Engineering Fall 2005 Instructor: Masoud Sadjadi
Transparent Robustness in Service Aggregates Onyeka Ezenwoye School of Computing and Information Sciences Florida International University May 2006.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Distributed Systems Architectures
1 12/10/03CCM Workshop QoS Engineering and Qoskets George Heineman Praveen Sharma Joe Loyall Richard Schantz BBN Technologies Distributed Systems Department.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
An Aspect-Oriented Approach to Dynamic Adaptation August 8, 2002 Presented by: Sherri Goings Advisors: Dr. Dillon, Dr. Cheng, Dr. Stirewalt SENS Lab
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Safe Dynamic Adaptation Department of Computer Science & Engineering Ji Zhang and Zhenxiao Yang Advisor: Prof. Betty H.C. Cheng Software Engineering and.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
23 September 2004 Evaluating Adaptive Middleware Load Balancing Strategies for Middleware Systems Department of Electrical Engineering & Computer Science.
PhD Qualifier Oral Exam. on Thursday, July 24, 2003 A Survey of Adaptive Middleware SeyedMasoud Sadjadi Software Engineering.
Philip K. McKinley Software Engineering and Network Systems Laboratory Department of Computer Science and Engineering Michigan State University RAPIDware:
Run-Time Support for Adaptive Communication Services By: SeyedMasoud Sadjadi Advisor: Dr. Philip K. McKinley Computer Science and Engineering Michigan.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Univ. Notre Dame, September 25, 2003 Support for Run-Time Adaptation in RAPIDware Philip K. McKinley Software Engineering and Networking Systems Laboratory.
26 Sep 2003 Transparent Adaptive Resource Management for Distributed Systems Department of Electrical Engineering and Computer Science Vanderbilt University,
An Introduction to Software Architecture
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
Introduction to MDA (Model Driven Architecture) CYT.
Aspect Oriented Programming Razieh Asadi University of Science & Technology Mazandran Babol Aspect Component Based Software Engineering (ACBSE)
Reflective- Adaptive Middleware Leila Jalali Distributed Systems Middleware – ICS 237 Prof. Venkatasubramanian Fall 2008.
Transparent Grid Enablement Using Transparent Shaping and GRID superscalar I. Description and Motivation II. Background Information: Transparent Shaping.
A SENS Internal Presentation on Friday, October 3, 2003 TRAP Transparent Reflective Aspect Programming SeyedMasoud Sadjadi Supervised by Dr. McKinley
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
1 Javier Ocasio Pérez Mentor: Masoud Sadjadi Graduate Students: Fernando Trigoso Ana M. Sanchez Tuan Cameron Allen Lee A Remote Composer for TRAP.NET.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
What caught your eye at DEAS 2005? 40 DEAS 2005 Participants.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
UTEP Computer Science Colloquium, August 16, 2005 Transparent Autonomization: A Practical Approach to Autonomic Computing S. Masoud Sadjadi Autonomic Computing.
International Symposium on Distributed Objects and Applications (DOA 2002) MetaSockets MetaSockets Run-Time Support for Adaptive Communication Services.
SCALABLE EVOLUTION OF HIGHLY AVAILABLE SYSTEMS BY ABHISHEK ASOKAN 8/6/2004.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Dynamic and Selective Combination of Extension in Component-based Applications Eddy Truyen, Bart Vanhaute, Wouter Joosen, Pierre Verbaeten, Bo N. Jørgensen.
CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi Software Engineering and Networking Systems Laboratory Department of.
1 BBN Technologies Quality Objects (QuO): Adaptive Management and Control Middleware for End-to-End QoS Craig Rodrigues, Joseph P. Loyall, Richard E. Schantz.
1 010/02 Aspect-Oriented Interceptors Pattern 1/4/2016 ACP4IS 2003John Zinky BBN Technologies Aspect-Oriented Interceptors Pattern Dynamic Cross-Cutting.
ENABLING ADAPTABILITY IN COMPOSITE SERVICES USING TRANSPARENT SHAPING TECHNIQUES Onyeka Ezenwoye Autonomic Computing Research Laboratory School of Computing.
Jim Dowling, DSG. Introduction to Reflection1 Reflection and the Metaobject Protocol paradigm by Jim Dowling.
Survey of Tools to Support Safe Adaptation with Validation Alain Esteva-Ramirez School of Computing and Information Sciences Florida International University.
Software Connectors Acknowledgement: slides mostly from Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic,
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 Distributed Systems Architectures l Architectural design for software that executes on more than one.
RobustBPEL2: Transparent Autonomization in Business Processes through Dynamic Proxies Onyeka Ezenwoye S. Masoud Sadjadi Autonomic Computing Research Lab.
CEN-4015, Software Project, Spring 2006 Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing S. Masoud Sadjadi Autonomic.
1 Javier Ocasio Pérez Mentor: Masoud Sadjadi Graduate Students: Fernando Trigoso Ana M. Sanchez Tuan Cameron Allen Lee A Remote Composer for TRAP.NET.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
The Role of Reflection in Next Generation Middleware
CORBA Alegria Baquero.
Reflective- Adaptive Middleware
Model-Driven Analysis Frameworks for Embedded Systems
CORBA Alegria Baquero.
Inventory of Distributed Computing Concepts
TRAP.NET: A Realization of Transparent Shaping in .NET
Software models - Software Architecture Design Patterns
An Introduction to Software Architecture
Automated Analysis and Code Generation for Domain-Specific Models
Quality Assurance for Component-Based Software Development
Presentation transcript:

ICSE-DEAS 2005 Workshop Presentation May 21, 2005 Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing S. Masoud Sadjadi School of Computer Science Florida International University Miami, FL Philip K. McKinley Dept. of Computer Science and Engineering Michigan State University East Lansing, MI Betty H.C. Cheng Dept. of Computer Science and Engineering Michigan State University East Lansing, MI

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 2 Outline  Motivation  General Approach  Middleware-Based Approach  Language-Based Approach  Related Work  Conclusions Overview: Motivation Related Work Conclusions Language-Based Middleware-Based Pervasive Comp. Autonomic Comp. General Approach Observation

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 3  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? Overview: Motivation Autonomic Comp. Observation Wearable Computing Military Applications Related Work Conclusions Language-Based Middleware-Based General Approach

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 4  Demand for Autonomic Computing –Promises self-management in complex and critical systems.  Examples: Pervasive Comp. Why Dynamic Adaptation?  Need for dynamic adaptation –hardware component failures –network outages –software faults –security attacks Autonomic Comp.Overview: Motivation Observation Financial Networks Water/Power Systems Related Work Conclusions Language-Based Middleware-Based General Approach

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 5 RAPIDware 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. Overview: Motivation Pervasive Comp. Autonomic Comp. Observation Related Work Conclusions Language-Based Middleware-Based General Approach

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 6 Adapt. Programs General Approach Trans. Shaping Program Families Dynamic Adapt.Overview: MotivationOutline  Motivation  General Approach  Middleware-Based Approach  Language-Based Approach  Related Work  Conclusions Related Work Conclusions Language-Based Middleware-Based Realizations

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 7 Adaptable 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. ProgramsOverview: Motivation Trans. Shaping Program Families Dynamic Adapt. Realizations Related Work Conclusions Language-Based Middleware-Based General Approach

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 8 Transparent 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 Shaping Trans. Shaping Adapt. Programs Program Families Dynamic Adapt.Overview: Motivation Realizations Related Work Conclusions Language-Based Middleware-Based General Approach

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 9 Families 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.Overview: Motivation Realizations Related Work Conclusions Language-Based Middleware-Based General Approach

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 10 Dynamic Adaptation Dynamic adapt. Adapt. Programs Trans. Shaping Program FamiliesOverview: Motivation Realizations X4X4 X3X3 X8X8 Second Step: at run time X5X5 X7X7 X6X6 X9X9 S1S1 S2S2  Dynamic adaptation in two steps X 1 (adapt-ready program) First Step: at compile, startup, or load time X 2 (adapt-ready program) X 0 (existing program) X working programreversible design decisiondesign decision subfamily boundary  Dynamic adaptation in two steps 1.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 steps 1.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, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 11 Transparent 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 itself 2.inside its supporting middleware 3.inside the system platform. Client ProgramServer Program Application Layer Middleware Layer Program componentFlow of service request Hook process boundaries Network Requester Component Provider Component Operating System Interaction A typical client/server application. Adapt. Programs Trans. Shaping Program Families Dynamic Adapt.Overview: 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.inside an application program itself 2.inside its supporting middleware 3.inside the system platform. TRAP ACT

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 12 Middleware-BasedOutline  Motivation  General Approach  Middleware-Based Approach  Language-Based Approach  Related Work  Conclusions Overview: Motivation General Approach Motivation ACT Case Study Summary Related Work Conclusions Language-Based

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 13 Middleware-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-BasedOverview: Motivation General Approach ACT Case Study Summary Related Work Conclusions Language-Based

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 14 ACT Architecture Overview The flow of a request/reply in an ACT-ready application. ACT Client ProgramServer Program Application Layer Middleware Layer Operating System Server Program process boundaries Network Client ORB ACT Core Requester object Generic Interceptor Server ORB ACT Core Provider object Generic Interceptor Request flow Program componentHook Middleware-BasedOverview: Motivation General Approach Motivation Case Study Summary Related Work Conclusions Language-Based

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 15 Case Study: Image Retrieval Application Image ClientImage Server Application Layer Middleware Layer Program objectFlow of service request Hook process boundaries Network Operating System Interaction Generic Interceptor readSmall GetStatus RemoveInterceptor InsertInterceptor CORBA ORB read stub generic interceptor dynamic interceptor send_request AP-1: 11 Mbps, Dept. subnet AP-2: 2 Mbps, Dept. subnet AP-3: 11 Mbps, College subnet AB C D Image Server Image Client pipeline rule Rule-Based Interceptor Case Study Middleware-BasedOverview: Motivation General Approach Motivation ACT Summary Related Work Conclusions Language-Based

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 16 ACT Summary  ACT is a middleware-base approach to transparent shaping.  ACT implements interception and redirection inside the supporting middleware.  ACT enables interoperation among otherwise incompatible adaptive middleware frameworks.  ACT/J is a prototype of ACT in Java.  The overhead introduced by ACT/J is negligible, while the adaptation provided is highly flexible.  Reusable assets –Generic interceptors as hooks –Rule-based interceptors and rules as adaptive code Summary Middleware-BasedOverview: Motivation General Approach Motivation ACT Case Study Related Work Conclusions Language-Based

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 17 Language-BasedOutline  Motivation  General Approach  Middleware-Based Approach  Language-Based Approach  Related Work  Conclusions Motivation TRAP TRAP/J Case Study SummaryOverview: Motivation General Approach Related Work Conclusions Middleware-Based

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 18 Language-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-BasedOverview: Motivation General Approach Related Work Conclusions Middleware-Based

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 19 TRAP  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-BasedOverview: Motivation General Approach Related Work Conclusions Middleware-Based

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 20 BaseLevel Multicast- Socket Class Sender Class ms sender usesremoved Class Library Heap BaseLevel Multicast- Socket Class Sender Class ms sender usesremoved Class Library Heap WrapperLevel WrapperLevel_ MulticastSocket Class ms MetaLevel MetaLevel_ MulticastSocket Class meta-level objects BaseLevel Multicast- Socket Class Sender Class ms sender usesremoved Class Library Heap AdaptReady WrapperLevel WrapperLevel_ MulticastSocket Class ms TRAP Architecture: Layered Class Graph Motivation TRAP/J Case Study TRAP Summary Language-BasedOverview: Motivation General Approach Related Work Conclusions Middleware-Based

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 21 TRAP/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 hooks Summary 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 FlowA FileA ProcessTRAP/J Boundary MetaLevel Class BaseLevel Class Aspect MetaLevel Class BaseLevel Class Aspect Wrapper-Level Class Meta-Level Class Intercepting Aspects Intercepting Aspect Generator Reflective Class Generator TRAP/J at Compile Time Language-BasedOverview: Motivation General Approach Related Work Conclusions Middleware-Based

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 22 Sender Receiver Ad-Hoc Wireless Network Audio Stream Path close pipeline filter MetaSocket ASA SenderASA Receiver Application Layer Middleware Layer Program objectFlow of service request Hook process boundaries Ad Hoc Network Operating System Interaction GetStatus RemoveDelegate InsertDelegate Java Socket Class send wrapper object meta object delegate WrapperLevel_Socket InvokeMethod Case Study: Wireless Audio Streaming Motivation TRAP TRAP/J Case Study Summary Language-BasedOverview: Motivation General Approach Related Work Conclusions Middleware-Based

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 23 TRAP Summary  TRAP is a language-based approach to transparent shaping.  TRAP/J is a prototype of TRAP in Java.  TRAP/J is transparent to both the application and JVM.  Reusable assets –Pairs of wrapper and meta classes as hooks –Delegates realize adaptive code  A MetaSocket delegate can be replaced with a more appropriate one, if required. Motivation TRAP TRAP/J Case Study Summary Language-BasedOverview: Motivation General Approach Related Work Conclusions Middleware-Based

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 24 Related Work Where and How? When? ConclusionsOutline  Motivation  General Approach  Middleware-Based Approach  Language-Based Approach  Related Work  Conclusions Overview: Motivation General Approach Middleware-Based Language-Based

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 25 When?  When the adaptivr code is incorporated? Hardwired Middleware: Electra, Totem, Horus, Isis Customizable Middleware: Personal/Embedded Java, Orbix/E Configurable Middleware: Eternal, IRL, FTS, TAO-LB, Rocks, Racks, Orbix, ORBacus, JacORB, QuO Tunable Middleware: TAO, ZEN, CIAO, DynamicTAO, UIC, OpenCORBA, ACE, FlexiNet, Iguana/J, MetaXa Mutable 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 Shaping Related Work Where and How? Conclusions When?Overview: Motivation General Approach Middleware-Based Language-Based

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 26 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 Middleware 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á, … TransparentShaping Overview: Motivation General Approach Middleware-Based Language-Based

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 27 ConclusionsOutline  Motivation  General Approach  Middleware-Based Approach  Language-Based Approach  Related Work  Conclusions Related WorkOverview: Motivation General Approach Middleware-Based Language-Based Summary Future Apps Future Tools

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 28 Summary  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. QoSSecurityQoS vs. Energy Man. Delegates: MetaSockets Image Retrieval App. Rules: Conn. Management,App. Integration App. IntegrationSelf-Management/Optimization Frame Grabber App. instantiatesprovidesusesis 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 ConclusionsOverview: Motivation Related Work Language-Based Middleware-Based General Approach Future Apps Future Tools

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 29 Future 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 AppsOverview: Motivation Related Work Language-Based Middleware-Based General Approach Summary

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 30 TRAP.NET – Adapt-Ready Generator Future Tools Conclusions Future AppsOverview: Motivation Related Work Language-Based Middleware-Based General Approach Summary

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 31 TRAP.NET – Composer Interface Future Tools Conclusions Future AppsOverview: Motivation Related Work Language-Based Middleware-Based General Approach Summary

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 32 Future 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 ToolsOverview: Motivation Related Work Language-Based Middleware-Based General Approach

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 33 References (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 [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 [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 [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 [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 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 [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 , Seattle, Washington, October [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.Overview: Motivation Related Work Language-Based Middleware-Based General Approach Conclusions

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 34 References (2) [Bruegge04] Bernd Bruegge and Allen H. Dutoit. Object-oriented software engineering using UML, patterns, and Java, second edition, Prentice Hall, [Parnas76] David L. Parnas. On the design and development of program families. IEEE Transactions on Software Engineering, March [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., [Maes87] Pattie Maes. Concepts and experiments in computational reflection. In Proceedings of the ACM Conference on Object-Oriented Languages. ACM Press, December [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 [Szyperski99] C. Szyperski, Component Software: Beyond Object-Oriented Programming. Addison-Wesley, [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 , [Schmidt02] Douglas C. Schmidt. Middleware for real-time and embedded systems. Communications of the ACM, 45(6), June [CORBA03] Object Management Group, Framingham, Massachusett. The Common Object Request Broker: Architecture and Specification Version 3.0, July [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), [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.Overview: Motivation Related Work Language-Based Middleware-Based General Approach Conclusions

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 35 Acknowledgements  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. N , and in part by National Science Foundation grants CCR , EIA , EIA , and ITR Overview: Motivation Related Work Language-Based Middleware-Based General Approach Conclusions

May 21, 2005ICSE-DEAS Workshop Presentation by Sadjadi et al. FIU MSU 36 Contact Information Questions? Thank you! S. Masoud Sadjadi Assistant Professor of Computer Science University Park, ECS 212C S.W. 8 th Street Miami, FL URL: RAPIDware Project: SENS Laboratory: Motivation Related Work Language-Based Middleware-Based General Approach Conclusions