1 / 16

CHAIMS

CHAIMS. CHAIMS. CHAIMS: C ompiling H igh-level A ccess I nterfaces for M ulti-site S oftware. Stanford University. Objective : Investigate new approaches to large-scale software composition .

glen
Download Presentation

CHAIMS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CHAIMS CHAIMS

  2. CHAIMS CHAIMS: Compiling High-level Access Interfaces for Multi-site Software 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. CHAIMS

  3. Shift in Programming Tasks I n t e g r a t i o n C o d i n g 1970 1990 2010 CHAIMS

  4. 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 CHAIMS

  5. 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. CHAIMS

  6. 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. CHAIMS

  7. Examples of Megamodules 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 RoutePlan - AllRoutes - ... RouteCost - OneRoute- Cost - ... Calculating optimal routes • Two megamodules from different suppliers offering similar services BestPick - Optimum - ... RouteChoose - BestRoute - ... InputOutput - write - ask - ... CHAIMS

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

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

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

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

  12. 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 CHAIMS

  13. 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 Termination: TERMINATE: terminate a method invocation TERMINATEALL: terminate the connection to a megamodule CHAIMS

  14. 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. CHAIMS

  15. 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. CHAIMS

  16. CHAIMS CHAIMS

More Related