CHAIMS January 1999 CHAIMS.

Slides:



Advertisements
Similar presentations
Database System Concepts and Architecture
Advertisements

RPC Robert Grimm New York University Remote Procedure Calls.
A Comprehensive Model for Arbitrary Result Extraction Neal Sample, Gio Wiederhold Stanford University Dorothea Beringer Hewlett-Packard.
June 1998 CHAIMS1 Interpreter instead of Compiler CHAIMS execution machine (interpreter and scheduler) user Interpreter: network CHAIMS-protocol complete.
January 2002FAST 2002 WIP Presentation1 The Armada framework for parallel I/O on computational grids Ron Oldfield and David Kotz Department of Computer.
Remote Procedure Call sockets TCP, UDP Internet Protocol (IP) Remote Procedure Call: hides communication details behind a procedure call and helps bridge.
Technical Architectures
Semantic description of service behavior and automatic composition of services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne France.
CHAIMS: Compiling High-level Access Interfaces for Multisite Software Neal Sample Stanford University.
Problem-Solving Environments: The Next Level in Software Integration David W. Walker Cardiff University.
June 1999 EJB1 EJB and CHAIMS Dorothea Beringer Enterprise Java Beans and how to build a CHAIMS infrastructure using the EJB paradigm.
November 1999 CHAIMS1 Compiling High-level Access Interfaces for Multi-site Software Stanford University Objective: Investigate revolutionary approaches.
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
June 1998 CHAIMS1 Challenge 1: Composition of Processes... versus composition and integration of Data »data-warehouses »wrapping data available on web.
June 1998 CHAIMS1 execution of a remote method invoke a method i e extract results setup / set attributes s s e i time decomposed (no benefit for one.
April 1999 CHAIMS1 Prof. Gio Wiederhold, Dr. Dorothea Beringer, Composing Autonomous Internet Services with CHAIMS CHAIMS Objective: Using and composing.
January 1999 CHAIMS1 Repository add information to e b CORBA / Process - Providing Megamodules writes CPAM compliant megamodules from scratch d MEGA Modules.
Megamodules domain expert writes megaprogram for composition CHAIMS automizes generation of client for distributed system megamodule provider provides.
January 1999 CHAIMS1 Objectives C H A I M S CLAM CPAM Scheduling ESTIMATE EXTRACT Provide high-level, composition-only language (or graphical front-end)
June 1999 CHAIMS1 Neal Sample Stanford University Objective: Investigate new approaches to large-scale software composition. Approach: Develop and validate.
January 1999 CHAIMS1 Megamodules - Definition from different providers: several services from different providers available for same tasks autonomous:
March 1999 CHAIMS1 Now: Compiler Compiler: megaprogram in CHAIMS language client code in C, C++, Java, stub code executable client (CSRT) composer CHAIMS.
February 1999 CHAIMS1 Prof. Gio Wiederhold, Dr. Dorothea Beringer, several Ph.D. and master students Stanford University
January 1999 CHAIMS1 Primitives in CPAM Pre-invocation: SETUP: set up a connection to a megamodule SET-, GETPARAM: preset / get parameters in a megamodule.
January 1999 CHAIMS1. January 1999 CHAIMS2 CHAIMS: Compiling High-level Access Interfaces for Multi-site Software CHAIMS Stanford University Objective:
CHAIMS ARCHITECTURE D i s t r i b u t i o n L a y e r ( CORBA, DCE, DCOM, RMI …) Megaprogram C H A I M S - C o m p i l e r M e g a m o d u l e S e r v.
Wrapping a Weather Module into a CHAIMS MegaModule Mike Laskin Tools and Process for Software Stanford University - CS Fall 1998 December 2, 1998.
June 1998 CHAIMS1 CLAM Why new language? –complexity: not all facilities of a common language –new paradigm: inhibiting traditional computational programming.
Microsoft ® Official Course Monitoring and Troubleshooting Custom SharePoint Solutions SharePoint Practice Microsoft SharePoint 2013.
Copyright 1998 Intellution, Inc. All Rights Reserved OPC Alarms and Events Technical Overview TM OLE for Process Control and Factory Automation Al Chisholm.
Adapting Legacy Computational Software for XMSF 1 © 2003 White & Pullen, GMU03F-SIW-112 Adapting Legacy Computational Software for XMSF Elizabeth L. White.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Living markets ® living agents ® Adaptive Execution in Business Networks January 21 st, 2002.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
7-1 Management Information Systems for the Information Age Copyright 2004 The McGraw-Hill Companies, Inc. All rights reserved Chapter 7 IT Infrastructures.
Grid Computing Research Lab SUNY Binghamton 1 XCAT-C++: A High Performance Distributed CCA Framework Madhu Govindaraju.
Abhishek Bachchan Vishal Patangia
Introduction Infrastructure for pervasive computing has many challenges: 1)pervasive computing is a large aspect which includes hardware side (mobile phones,portable.
Lecture 6: Sun: 8/5/1435 Distributed Applications Lecturer/ Kawther Abas CS- 492 : Distributed system & Parallel Processing.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Synergy Distributed Meeting Scheduling System Francisco Puente Arundhati Solapurkar Jung-Chi Lin.
Java Distributed Computing
CHAIMS: Mega-Programming Research
Graphical Data Engineering
Java Distributed Object System
Java Distributed Computing
Design and realization of Payload Operation and Application system of China’s Space Station Wang HongFei 首页.
How SCADA Systems Work?.
Distributed web based systems
Ch > 28.4.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
6. Software Composition Intelligent Information Systems Gio Wiederhold
DISTRIBUTED COMPUTING
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Module 01 ETICS Overview ETICS Online Tutorials
What's New in eCognition 9
Chapter 17: Client/Server Computing
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
WebServices Using JAX-RPC
Introduction to Web Services
AIMS Equipment & Automation monitoring solution
Overview of Workflows: Why Use Them?
Database System Architectures
DBOS DecisionBrain Optimization Server
What's New in eCognition 9
What's New in eCognition 9
Microsoft Virtual Academy
Scientific Workflows Lecture 15
Presentation transcript:

CHAIMS January 1999 CHAIMS

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

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

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 January 1999 CHAIMS

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. January 1999 CHAIMS

Megamodules - Definition Megamodules are large, autonomous, distributed, heterogeneous services or processes. 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 January 1999 CHAIMS

Examples of Megamodules 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 - ... General I/O-megamodule InputOutput - write - ask - ... January 1999 CHAIMS

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

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

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

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

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 January 1999 CHAIMS

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 January 1999 CHAIMS

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. January 1999 CHAIMS

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. January 1999 CHAIMS

CHAIMS January 1999 CHAIMS