Presentation is loading. Please wait.

Presentation is loading. Please wait.

CEN-4015, Software Project, Spring 2006 Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing S. Masoud Sadjadi Autonomic.

Similar presentations


Presentation on theme: "CEN-4015, Software Project, Spring 2006 Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing S. Masoud Sadjadi Autonomic."— Presentation transcript:

1 CEN-4015, Software Project, Spring 2006 Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing S. Masoud Sadjadi Autonomic Computing Research Laboratory (ACRL) School of Computing and Information Sciences Florida International University Email: sadjadi@cs.fiu.edu URL: http://www.cs.fiu.edu/~sadjadi/

2 CEN-4015, Software Project, Spring 2006. 2  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. Wearable Computing Military Applications TRAP.NET Language-Based Approach

3 CEN-4015, Software Project, Spring 2006. 3  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 Financial Networks Water/Power Systems TRAP.NET Language-Based Approach

4 CEN-4015, Software Project, Spring 2006. 4 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 Dynamic Adapt. Approach Realizations TRAP.NET Language-Based

5 CEN-4015, Software Project, Spring 2006. 5 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 Dynamic Adapt.Overview: Motivation Realizations Approach TRAP.NET Language-Based

6 CEN-4015, Software Project, Spring 2006. 6 Dynamic Adaptation Dynamic adapt. Adapt. Programs Trans. ShapingOverview: 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. Approach TRAP.NET Language-Based

7 CEN-4015, Software Project, Spring 2006. 7 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 Dynamic Adapt.Overview: Motivation Realizations 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 TRAP.NET Language-Based

8 CEN-4015, Software Project, Spring 2006. 8 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. TRAP/J Case Study TRAP Summary Language-BasedOverview: Motivation Approach TRAP.NET

9 CEN-4015, Software Project, Spring 2006. 9 TRAP/J Operation at Compile Time 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 Approach TRAP.NET

10 CEN-4015, Software Project, Spring 2006. 10 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 TRAP TRAP/J Case Study Summary Language-BasedOverview: Motivation Approach TRAP.NET

11 CEN-4015, Software Project, Spring 2006. 11 TRAP/J 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 TRAP TRAP/J Case Study Summary Language-BasedOverview: Motivation Approach TRAP.NET

12 CEN-4015, Software Project, Spring 2006. 12 TRAP.NET – Adapt-Ready Generator TRAP.NETOverview: Motivation Language-Based Approach

13 CEN-4015, Software Project, Spring 2006. 13 TRAP.NET – Composer Interface Overview: Motivation Language-Based Approach TRAP.NET

14 CEN-4015, Software Project, Spring 2006. 14 Contact Information Questions? Thank you! S. Masoud Sadjadi Assistant Professor of Computer Science University Park, ECS 212C 11200 S.W. 8 th Street Miami, FL 33199 Email: sadjadi@cs.fiu.edusadjadi@cs.fiu.edu URL: http://www.cs.fiu.edu/~sadjadi/http://www.cs.fiu.edu/~sadjadi/ RAPIDware Project: http://www.cse.msu.edu/rapidware/ http://www.cse.msu.edu/rapidware/ SENS Laboratory: http://www.cse.msu.edu/sens/ http://www.cse.msu.edu/sens/Overview: Motivation Language-Based Approach TRAP.NET


Download ppt "CEN-4015, Software Project, Spring 2006 Transparent Shaping of Existing Software to Support Pervasive and Autonomic Computing S. Masoud Sadjadi Autonomic."

Similar presentations


Ads by Google