February 1999 CHAIMS1 Prof. Gio Wiederhold, Dr. Dorothea Beringer, several Ph.D. and master students Stanford University

Slides:



Advertisements
Similar presentations
Database System Concepts and Architecture
Advertisements

A Comprehensive Model for Arbitrary Result Extraction Neal Sample, Gio Wiederhold Stanford University Dorothea Beringer Hewlett-Packard.
1 OBJECTIVES To generate a web-based system enables to assemble model configurations. to submit these configurations on different.
June 1998 CHAIMS1 Interpreter instead of Compiler CHAIMS execution machine (interpreter and scheduler) user Interpreter: network CHAIMS-protocol complete.
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
What iS RMI? Remote Method Invocation. It is an approach where a method on a remote machine invokes another method on another machine to perform some computation.
CHAIMS: Compiling High-level Access Interfaces for Multisite Software Neal Sample Stanford 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.
June 1998 CHAIMS1 Challenge 1: Composition of Processes... versus composition and integration of Data »data-warehouses »wrapping data available on web.
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.
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.
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
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:
Chapter 1: Overview of Workflow Management Dr. Shiyong Lu Department of Computer Science Wayne State University.
Communication in Distributed Systems –Part 2
1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 11 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8t h Ed.,
March 1999 CHAIMS1 Now: Compiler Compiler: megaprogram in CHAIMS language client code in C, C++, Java, stub code executable client (CSRT) composer CHAIMS.
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:
Chapter 2 Database Environment Pearson Education © 2014.
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.
.NET Mobile Application Development Remote Procedure Call.
June 1998 CHAIMS1 CLAM Why new language? –complexity: not all facilities of a common language –new paradigm: inhibiting traditional computational programming.
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
February Semantion Privately owned, founded in 2000 First commercial implementation of OASIS ebXML Registry and Repository.
WORKFLOW IN MOBILE ENVIRONMENT. WHAT IS WORKFLOW ?  WORKFLOW IS A COLLECTION OF TASKS ORGANIZED TO ACCOMPLISH SOME BUSINESS PROCESS.  EXAMPLE: Patient.
The Design Discipline.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
20 October 2006Workflow Optimization in Distributed Environments Dynamic Workflow Management Using Performance Data David W. Walker, Yan Huang, Omer F.
Chapter 1: Overview of Workflow Management Dr. Shiyong Lu Department of Computer Science Wayne State University.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Bayu Adhi Tama, M.T.I 1 © Pearson Education Limited 1995, 2005.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 10 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,
Dispatching Java agents to user for data extraction from third party web sites Alex Roque F.I.U. HPDRC.
Remote Method Invocation by James Hunt, Joel Dominic, and Adam Mcculloch.
Chapter 2 Database Environment.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Workflow Management Concepts and Requirements For Scientific Applications.
CEN6502, Spring Understanding the ORB: Client Side Structure of ORB (fig 4.1) Client requests may be passed to ORB via either SII or DII SII decide.
POLITECNICO DI MILANO A SystemC-based methodology for the simulation of dynamically reconfigurable embedded systems Dynamic Reconfigurability in Embedded.
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
18 May 2006CCGrid2006 Dynamic Workflow Management Using Performance Data Lican Huang, David W. Walker, Yan Huang, and Omer F. Rana Cardiff School of Computer.
A service Oriented Architecture & Web Service Technology.
Common object request broker
Distribution and components
Ch > 28.4.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Chapter 2 Database Environment Pearson Education © 2009.
6. Software Composition Intelligent Information Systems Gio Wiederhold
CS 425/625 Software Engineering Architectural Design
Component--based development
Database Environment Transparencies
CHAIMS January 1999 CHAIMS.
Presentation transcript:

February 1999 CHAIMS1 Prof. Gio Wiederhold, Dr. Dorothea Beringer, several Ph.D. and master students Stanford University Cost Estimation in CPAM, an Access Protocol for Remote and Autonomous Services 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.

June 1998 CHAIMS2 Composition of Services... versus composition of Components »reusing small components via copy/paste or shared libraries locally installed »large distributed components within same “domain” as composition, e.g. within one bank or airline versus composition and integration of Data »data-warehouses »wrapping data available on web CPAM/CHAIMS: » composing processes » composing services of remote, autonomous, large megamodules

February 1999 CHAIMS3 Assumption Composition of services that are remote, autonomous, heterogeneous, computation intensive ==> specific requirements Domain expert Client workstation Megamodules IO module a b c d e s e r v e r s at provider's sites c l i e n t CPAM and distribution systems control data IO module

February 1999 CHAIMS4 Challenge: Autonomy Megamodules are autonomous: »responsibility for maintenance is with provider »client has no direct control over availability of services and resources provided »heterogeneity concerning implementation languages, server platforms, distribution systems, and interface definitions (ontologies, ==> SKC project) »yet client might be able to choose from several providers Megamodule A at site Stanford provided by InfoLab Megamodule B at site SLAC provided by Admin Megamodule C at site NewCom provided by BestCalc

June 1998 CHAIMS5 Challenge: Heavy-weight Services What we would like: ==> monitoring progress of a service ==> possibility to choose cheapest or fastest service ==> exploiting parallelism among services Services are not free for a client: execution time of a service transfer time and fee for data fees for services

February 1999 CHAIMS6 Parallelism, Invocation Scheduling Distributed services ==> potential parallel execution focus is on parallelism of remote (long) services, not on parallelism of local operations a d e b c i1 e1 e2 e3 e4 e5 i2 i3 i4 i5 time a d e b c i1 e1 e4 e3 e2 i3 i4 i5 i2 e5 time dataflow dependency

February 1999 CHAIMS7 Cost Estimation for Scheduling (1) Scheduling of invocations: »defer shorter invocations so results will be extractable from all services at about the same time a d (<c) e b c (>a+b) i1 e1 e4 e3 e2 i3 i4 i5 i2 e5 time ==> ESTIMATE ( methodname), returns estimated execution time, fee, and datavolume of results

February 1999 CHAIMS8 Cost Estimation for Scheduling (2) Scheduling of invocations: »control-flow dependency (conditional block), yet no data- flow dependency a d e b c condi- tional i1 e1 e2 e3 e4 e5 i2 i3 i4 i5 time a b c e d dataflow dependency control flow dependency: results of c only needed under certain conditions, determined by b

February 1999 CHAIMS9 Cost Estimation for Scheduling (3) ==>cost-function based on cost information from a, b, and c a d e b c i1 e1 e4 e3 e2 i3 i4 i5 i2 e5 time Risk: waste of resources and money Risk: waste of time a e b c i1 e1 e2 e3 e4 e5 i2 i3 i4 i5 time d

February 1999 CHAIMS10 Cost Estimation for Selection Choosing megamodules: RouteChoose - Optimum - … BestPick - BestRoute -... CHAIMS clientCHAIMS client time SETUP () SETPARAM ( attributes essential for cost estimation ) (f1=fee, t1=time) = ESTIMATE (“Optimum”) SETUP () SETPARAM ( attributes essential for cost estimation ) (f2=fee, t2=time) = ESTIMATE (“BestRoute”) calculate cost function ==> today BestPick is better BestPick.INVOKE (“BestRoute”, …)

February 1999 CHAIMS11 Why Run-time Cost Estimation? Static cost information in repository or catalog: –upper bound? average? –fluctuation in resources and load of server –dependence on specific input data Run-time cost information from megamodule: –reflects actual load and resources –takes into account autonomy, no out-of-date cost information in a central repository, no daily updates –easily fits into CPAM and the concept of having several primitives for remote execution –yet: requires in megamodule either statistics of costs over typical loads and input data gained by previous invocations, or special functionality in (wrapped) server software

February 1999 CHAIMS12 Monitoring: Incremental Extraction CPAM primitive EXTRACT: Partial extract: all results are ready, but results are extracted step by step (always available) Partial extract: only some of the results are ready and can be extracted before rest of results is ready Progressive extract: preliminary version of a result is ready and can be extracted EXTRACT: takes list of result attributes to be returned, returns values of these attributes

February 1999 CHAIMS13 Monitoring: Progress Information CPAM primitive EXAMINE: EXAMINE allows to ask for the completion of: »an invocation: DONE, NOT_DONE, PARTIAL, ERROR EXAMINE allows to ask for the progress of: »a result attribute: returns current accuracy »an invocation: returns current progress Progress information is optional, not provided by every megamodule. ==> partial and progressive extraction ==> rescheduling of invocations, stopping slow invocations ==> getting preliminary results which influence program flow (e.g. invocation parameters)

February 1999 CHAIMS14 Primitives in CPAM Pre-invocation: SETUP: set up a connection to a megamodule SET-, GETPARAM: preset / get attributes 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: All primitives are procedure calls ==> asynchrony in method invocation

February 1999 CHAIMS15 server side client side CHAIMS Architecture CPAM protocol Distribution Systems (CORBA, RMI…) Composer writes Client Side Run Time CLAM program CHAIMS Compiler generates e d a b c MEGA Modules CHAIMS Repository adds information to Megamodule Provider provides megamodules Wrapper Templates

February 1999 CHAIMS16 CPAM and WfMS Composing services of autonomous, computation ==> intensive servers Issues like cost-estimation also important for WfMS Managing workflow across organizations computation-intensive, autonomous services run-time cost estimation, progress monitoring