Presentation is loading. Please wait.

Presentation is loading. Please wait.

January 1999 CHAIMS1. January 1999 CHAIMS2 CHAIMS: Compiling High-level Access Interfaces for Multi-site Software CHAIMS Stanford University Objective:

Similar presentations


Presentation on theme: "January 1999 CHAIMS1. January 1999 CHAIMS2 CHAIMS: Compiling High-level Access Interfaces for Multi-site Software CHAIMS Stanford University Objective:"— Presentation transcript:

1 January 1999 CHAIMS1

2 January 1999 CHAIMS2 CHAIMS: Compiling High-level Access Interfaces for Multi-site Software CHAIMS Stanford University Objective: Investigate new approaches to large-scale software composition. Approach: Develop and validate a composition-only language, a protocol for large, distributed, heterogeneous and autonomous megamodules, and a supporting system.

3 January 1999 CHAIMS3 C o d i n g I n t e g r a t i o n 1970 1990 2010 Shift in Programming Tasks

4 January 1999 CHAIMS4 Typical Scenario - Logistics A general has to ship troops and/or various material from L.A. to Chicago: –different kind of material, not every airport equally suited –congestion, prices, weather constraints –exact due or ready dates –different transport service providers Today: ·calling different companies, looking up information on the web, reservations by hand ·hand coded systems Future: fast system development by tools supporting automated composition

5 January 1999 CHAIMS5 What CHAIMS does: Composition of megamodules by a composition only language (CLAM) that also provides run-time cost estimation and allows automatic run-time invocation scheduling. Composition is automated by using the protocol CPAM on top of several distribution systems by hiding protocol details in CLAM, and by providing a compiler for CLAM.

6 January 1999 CHAIMS6 Megamodules - Definition from different providers: several services from different providers available for similar tasks autonomous: maintenance of megamodule and control over resources remains with provider heterogeneous: accessible by various distribution protocols like RMI, DCE, CORBA distributed: to be used by more than one client large: computation intensive, data intensive, ongoing processes Megamodules are large, autonomous, distributed, heterogeneous services or processes.

7 January 1999 CHAIMS7 Examples of Megamodules RoutePlan - AllRoutes - CityPairList -... RouteCost - OneRoute- Cost -... InputOutput - write - ask -... BestPick - Optimum -... RouteChoose - BestRoute -... General I/O-megamodule Travel information: »Computing all possible routes between two cities »Computing the air and ground cost for each route given data about the goods to be transported Calculating optimal routes »Two megamodules from different suppliers offering similar services

8 January 1999 CHAIMS8 e RM I CHAIMS Repository add information to b CORBA Process - Providing Megamodules writes CPAM compliant megamodule d MEGA Modules Megamodule Providers c Wrapper Templates a wrap legacy megamodules DCE

9 January 1999 CHAIMS9 Process - Composing Megamodules CHAIMS Repository read Composers Megaprogram write in CLAM Megaprogram CHAIMS Compiler generates Client Side Run Time compiled megaprograms information

10 January 1999 CHAIMS10 Process - Running a Megaprogram Distribution System (CORBA, RMI, …) with CPAM Protocol Client Side Run Time located on the client located on several servers b CORBA e c a DCE d MEGA Modules

11 January 1999 CHAIMS11 server side client side Process - Summary Distribution Systems (CORBA, RMI…) writes Composer Client Side Run Time Megaprogram CHAIMS Compiler generates e d a b c MEGA Modules CHAIMS Repository adds information to Megamodule Provider provides megamodules Wrapper Templates

12 January 1999 CHAIMS12 CHAIMS - Special Features CHAIMS supports megamodule heterogeneity: The CHAIMS compiler ensures that clients support the various megamodule distribution systems The CHAIMS data encoding-rules facilitates heterogeneous data transmission between megamodules CHAIMS preserves megamodule autonomy: The CHAIMS repository contains the information necessary to access megamodules Run-time cost estimation allows to leave control over resources to providers CHAIMS enables optimized composition: Parallelism, invocation monitoring, and cost estimation allow clients to optimize the invocation sequence to megamodules Global pre-setting of parameters and partial extraction of results allow minimized data flow between megamodules

13 January 1999 CHAIMS13 Primitives in CHAIMS Pre-invocation: SETUP: set up a connection to a megamodule SET-, GETPARAM: preset / get parameters in a megamodule ESTIMATE: get cost estimation for optimization Invocation and result gathering: INVOKE: start a specific method EXAMINE: test status and progress of an invoked method EXTRACT: extract results from an invoked method TERMINATE: terminate a method invocation TERMINATEALL: terminate the connection to a megamodule Termination:

14 January 1999 CHAIMS14 CHAIMS proves that... »We can do composition in a high-level language and hide technical details »Large-scale composition can be automated »Run-time cost estimation is essential for invocation scheduling optimization.

15 January 1999 CHAIMS15 Focus for Future Applying CHAIMS to a larger real-life example. Automated scheduling of invocations and extractions, automatic optimization of dataflows. Automatic generation of direct dataflows between megamodules. Flexible interaction with megamodules; extracting and handling overview results. Enhancing CHAIMS language CLAM and complementing it by graphical front-end.

16 January 1999 CHAIMS16 CHAIMS


Download ppt "January 1999 CHAIMS1. January 1999 CHAIMS2 CHAIMS: Compiling High-level Access Interfaces for Multi-site Software CHAIMS Stanford University Objective:"

Similar presentations


Ads by Google