53
Stanford University Engineering Informatics Group (http://eil.stanford.edu) Composition of Engineering Web Services David Liu Department of Electrical Engineering Jim Cheng Department of Civil and Environmental Engineering Jun Peng Department of Civil and Environmental Engineering Kincho Law Department of Civil and Environmental Engineering Gio Wiederhold Computer Science Department

Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

  • Upload
    buitruc

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityEngineering Informatics Group (http://eil.stanford.edu)

Composition of Engineering Web Services

David Liu Department of Electrical EngineeringJim Cheng Department of Civil and Environmental EngineeringJun Peng Department of Civil and Environmental EngineeringKincho Law Department of Civil and Environmental EngineeringGio Wiederhold Computer Science Department

Page 2: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University22

Agenda

• Ubiquitous Computing Environment

• Service Integration – FICAS

Page 3: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University33

Ubiquitous Computing Environment

Page 4: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University44

Ubiquitous Computing – An AEC Scenario

3D/4DModeling Tool

Set

ProjectPlanningTool Set

Designers

Project Managers

On SitePersonnel

On-LineInformation Store

Page 5: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University55

Distributed Engineering Service and Integration

Mediators (Content and Access)Information Exchange (DBMS, PSL, IFC, XML)

Service Integration (FICAS)

Engineering Application Services

Page 6: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University66

An Integrated Service Environment

Designers

Project Managers

On Site Personnel

CommunicationNetwork

Data IntegrationMobile Classes

SupplyChainTools

Autonomous Service Wrapper

ProjectPlanning

Tools

Autonomous Service Wrapper

3D/4DModeling

Tools

Autonomous Service Wrapper

IntegratedWork ProcessesUbiquitous Access

Data Integration

Service Integration

Page 7: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University77

Ubiquitous Computing Environment – Three Issues

• Ubiquitous Access– Wireless Network Infrastructure– Wireless Devices– Device-independent Software Services

• Data Integration

• Service Integration

Page 8: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University88

Supporting Multiple Devices Via Active Mediator

Messaging Bus / Internet

PDALaptopWorkstation

Information Content

Information Abstraction

Information Client

ActiveObjectQuery

SourceQuery

SourceContent

Client-SpecificContent

ObjectConstructor

SourceInformation

Services

Active Mediator

XMLObjects

XMLStyleSheet

Page 9: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University99

Active Mediator in Action

Active Mediator

MobileClass

Fetcher

MobileClass

Runtime

ExceptionHandling

MobileClassAPI

Library

InformationClient

Mobile ClassCache

ObjectConstructor

DataMediator

SourceInformation

Services

Queries

MobileClass

SourceObject

ResultObject

Request +Mobile Class

MobileClass

Page 10: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University1010

Using PSL As Standard Exchange Language

PSLPSL

PSLWrapper

PSLWrapper

PSLWrapper

PSLWrapper

PrimaveraP3

Vite

MSProject

4DViewer

Database(Oracle 8i)

Translator

Page 11: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University1111

Using FICAS For Service Integration

FICAS Buildtime

AutonomousService

Directory

CommunicationNetwork

CLAS Program

FICASControls

AutonomousService

Autonomous ServiceMediator

AutonomousService

Autonomous ServiceMediator

AutonomousService

Autonomous ServiceMediator

SoftwareApplication

Autonomous ServiceMediator

FICAS RuntimeFICAS Buildtime

MegaserviceControllerMegaservice

ControllerMegaserviceControllerMegaservice

Controller

Page 12: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University1212

FICAS(Flow-based Infrastructure for Composing Autonomous Services)

Page 13: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University1313

Service Composition

Coding

Integration

1970 1990 2010

Coding

Integration

1970 1990 2010

AutonomousService

AccessProtocol

OperatingSystem

Host

A

A

A

AutonomousService

AccessProtocol

OperatingSystem

Host

N

N

N

Physical Communication Backbone

MegaserviceConceptual Composition of

Autonomous Services

AutonomousService

AccessProtocol

OperatingSystem

Host

B

B

B

Megaservice Controller

......

Page 14: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University1414

Service Composition Infrastructure

• A Method to Integrate Software Applications– A access protocol for desired software functionalities– ASAP (Autonomous Service Access Protocol)

• A Method to Specify Functionality– A compositional language– CLAS (Compositional Language for Autonomous Services)

• An Environment to Execute Composed Services– A runtime environment that coordinates control-flows and data-flows– FICAS (Flow-based Infrastructure for Composition Autonomous

Services)

Page 15: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University1515

ASAP(Autonomous Service Access Protocol)

Page 16: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University1616

Autonomous Service Metamodel

• Service Core– Represents the core service functionality– Wraps an existing software application

• Data Containers– Handle input and output data– Form data-flows– Enable distributed data-flows

• Event Queues– Handle inquiries and issue requests– Form control-flows– Enable asynchronous service invocations

Data-flow

Control-flow

Input Data Container

Output Data Container

Input Event Queue

Output Event Q

ueue

Service Core

Page 17: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University1717

Autonomous Service Access Protocol (ASAP)

• ASAP– A light-weight, asynchronous and non-blocking event-based protocol– Defines how autonomous services respond to events – XML is used as transport medium for both control and data

• ASAP Events– SETUP, TERMINATE: Initialization / termination of autonomous services– INVOKE: Invocation of autonomous services– MAPDATA: Management of data-flow between autonomous services– CONTROLFILE: Execution of megaservice control files

Page 18: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University1818

Autonomous Service Wrapper (ASW)• Purposes of ASW

– Facilitate wrapping of software applications into autonomous services– Implement data containers and event queues– Implement ASAP protocol

Input Data Container

Output Data Container

Input Event Queue

Output Event Q

ueue

Service Core(ASAP Support)

Megaservice C

ontroller

EncapsulatedSoftware

Application

AutonomousServiceWrapper

public interface ServiceCore{

public boolean setup(Container inc,Container outc,FlowId inf);

public boolean execute(Container inc,Container outc,FlowId inf);

public boolean terminate(Container inc, Container outc,FlowId inf);

}

Page 19: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University1919

CLAS(Compositional Language for Autonomous Services)

Page 20: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University2020

CLAS

• Compositional Language for Autonomous Services– A high-level declarative language– Based on CLAM language developed in CHAIMS– Simple (Intended for domain experts, NOT technical experts)– Separation between composition and computation

• Features– Decomposition of a CALL statement into 4 primitives

• SETUP, INVOKE, EXTRACT, TERMINATE– Control primitives

• IF … THEN … ELSE• WHILE

– Mobile class• For specifying computational logic

Page 21: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University2121

Mobile Class for Specifying Computational Logic

• Mobile Class– Java based– Dynamic routines that performs

complex computational logic– Reusable

• Example of Mobile Class– Relational operators

σ cond (A), π attr (A), A ><cond B– Arithmetic operators

+, -, ×, /– Data aggregation and abstraction– Type conversions

/* Specification of a type conversion mobile class */

public class int2float implements MobileClass

{

public DataElement execute(Vector params) {

DataElement arg =

(DataElement) params.firstElement();

int val = arg.getIntValue();

return new DataElement().setValue(

new Double(val).doubleValue());

}

}

/* Using m-class in a CLAS program */

floatnum = MCLASS("int2float", num)

Page 22: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University2222

FICAS Buildtime

Executable

CompilationCLAS

Compiler

FICASControls

JavaCompiler

CLASPrograms

MobileClass

SourceCodes

MobileClasses

Source

CompositionalSpecification

ComputationalSpecification

Page 23: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University2323

Sample CLAS Program 1

SchedulingDemo "http://ficas.stanford.edu/Megaprogram"{

/* Setup Services */psl_svc = SETUP("SIPsl")p3_svc = SETUP("SIP3")notification_svc = SETUP("SINotification")

/* Invoke and extract information from PSL Service */psl = psl_svc.INVOKE("to-psl", "CEIL")ceil = psl.EXTRACT()

/* Invoke Rescheduling Service */p3 = p3_svc.INVOKE("reschedule", ceil)ceil2 = p3.EXTRACT()

/* Store information using PSL Service */oracle = psl_svc.INVOKE("to-oracle", ceil2)status = oracle.EXTRACT()

/* Invoke Notification Service */notif = notification_svc.INVOKE("171.64.55.32", 8250, status)

/* Terminate Services */psl_svc.TERMINATE()p3_svc.TERMINATE()notification_svc.TERMINATE()

}

Page 24: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University2424

FICAS Runtime

Page 25: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University2525

FICAS Runtime Architecture

Megaservice Controller

ServiceCore

Megaservice Controller

ServiceCore

CommunicationNetwork

AutonomousService

Directory

FICASControls

MobileClasses

Megaservice Controller

ServiceCore

Autonomous Service Wrapper

From FICAS

Buildtime

Page 26: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University2626

Megaservice Controller

ASAP Event Receiver

Outgoing Event Pool

FICASControls

Control Manager

FlowDependency

Table

VariableCache

Megaservice Controller

Autonomous Service Wrapper

FromAutonomous

Services

Input Event Queue

Output Event Q

ueue

Input Data Container

Output Data Container

Service Core

Active Mediator

ToAutonomous

Services

FICAS Control Sequence

……

<INVOKE><INVOCATIONHANDLE>Invocation1</INVOCATIONHANDLE><SERVICEHANDLE>Service1</SERVICEHANDLE>

</INVOKE><INVOKE><INVOCATIONHANDLE>Invocation2</INVOCATIONHANDLE><SERVICEHANDLE>Service2</SERVICEHANDLE>

</INVOKE><EXTRACT><VARIABLE>A</VARIABLE><INVOCATIONHANDLE>Invocation1</INVOCATIONHANDLE>

</EXTRACT><EXTRACT><VARIABLE>B</VARIABLE><INVOCATIONHANDLE>Invocation2</INVOCATIONHANDLE>

</EXTRACT><INVOKE><INVOCATIONHANDLE>Invocation3</INVOCATIONHANDLE><SERVICEHANDLE>Service3</SERVICEHANDLE><VALUELIST><VARIABLE>A</VARIABLE><VARIABLE>B</VARIABLE>

</VALUELIST></INVOKE>

……

Page 27: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University2727

Service Integration Models

M

S1

S2 S3

S4

M

S1

S2 S3

S4

M

S1

S2 S3

S4

M

S1

S2 S3

S4

(a) Centralized Control-flowCentralized Data-flow Model

(1C1D)

Control-flows

Data-flows

MegaserviceM

AutonomousServices

S

(b) Centralized Control-flowDistributed Data-flow Model

(1CnD)

(c) Distributed Control-flowCentralized Data-flow Model

(nC1D)

(d) Distributed Control-flowDistributed Data-flow Model

(nCnD)

Page 28: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University2828

Data Dependencies within Megaservice

/* Megaservice specified in CLAS */

Invocation1 = Service1.INVOKE();

Invocation2 = Service2.INVOKE();

A = Invocation1.EXTRACT();

B = Invocation2.EXTRACT();

Invocation3 = Service3.INVOKE(A, B);

C = Invocation3.EXTRACT();

Invocation4 = Service4.INVOKE(C)

D = Invocation4.EXTRACT();

Invocation1 Invocation2

Invocation3

Invocation4

A B

C

D

Page 29: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University2929

Event Dependency Graph – 1C1D

INVOKE(Service1)

INVOKE(Service2)

MAPDATA (A, Service1,Megaservice)

INVOKE(Service3)

MAPDATA(C, Service3,Megaservice)

MAPDATA(B, Service2,Megaservice)

INVOKE(Service4)

MAPDATA(D, Service4,Megaservice)

MAPDATA (A, Megaservice,

Service3)

MAPDATA (B, Megaservice,

Service3)

MAPDATA(C, Megaservice,

Service4)

Service 1

Service 2

Service 3

MegaService

Service 4

Page 30: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University3030

Event Dependency Graph – 1CnD

INVOKE(Service1)

INVOKE(Service2)

MAPDATA (A, Service1,

Service3)

INVOKE(Service3)

MAPDATA(C, Service3,

Service4)

MAPDATA(B, Service2,

Service3)

INVOKE(Service4)

MAPDATA(D, Service4,Megaservice)

Service 1

Service 2

Service 3

MegaService

Service 4

Page 31: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University3131

1C1D v.s. 1CnDINVOKE

Dest: Service1

MAPDATAData: AFrom: Service1To: Local

MAPDATAData: AFrom: LocalTo: Service3

INVOKEDest: Service3

MAPDATAData: CFrom: Service3To: Local

MAPDATAData: CFrom: LocalTo: Service4

INVOKEDest: Service2

MAPDATAData: BFrom: Service2To: Local

MAPDATAData: BFrom: LocalTo: Service3

INVOKEDest: Service4

INVOKEDest: Service1

MAPDATAData: AFrom: Service1To: Service3

INVOKEDest: Service3

MAPDATAData: CFrom: Service3To: Service4

INVOKEDest: Service2

MAPDATAData: BFrom: Service2To: Service3

INVOKEDest: Service4

Invocation1:

Invocation2:

Extract A:

Extract B:

Invocation3:

Extract C:

Invocation4:

(a) Centralized Data-flows (b) Distributed Data-flows

Extract D:MAPDATA

Data: DFrom: Service4To: Local

/* Megaservice specified in CLAS */

Invocation1 = Service1.INVOKE();

Invocation2 = Service2.INVOKE();

A = Invocation1.EXTRACT();

B = Invocation2.EXTRACT();

Invocation3 = Service3.INVOKE(A, B);

C = Invocation3.EXTRACT();

Invocation4 = Service4.INVOKE(C)

D = Invocation4.EXTRACT();

Page 32: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University3232

Performance Evaluation – Apache SOAP v.s. FICAS

SwitchMegeService

S1produces

and returns astring value

10mbps

S2consumes a

string

out

10mbps

in

(LAN) in = 10 mbps; out = 10 mbps(802.11b) in = 2 mbps; out = 0.5 mbps

ForwardingData { a = S1(size) S2(a) }

SingleCall { a = S1(size) }

Page 33: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University3333

Megaservice Performance on LAN Setting

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

0 100 200 400 800 1600 3200

Data Volume (KB)

Meg

aser

vice

Exe

cutio

n Ti

me

SOAP (Single Call) SOAP (Forwarding Data) FICAS (Forwarding Data)

FICAS incurs higher control-flow cost

SOAP incurs higher data-flow cost

Page 34: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University3434

Megaservice Performance on 802.11b Setting

0

10000

20000

30000

40000

50000

60000

70000

80000

1 2 3 4 5 6 7

Data Volume (KB)

Meg

aser

vice

Exe

cutio

n Ti

me

SOAP (LAN) SOAP (802.11b) FICAS (LAN) FICAS (802.11b)

SOAP creates bottleneck on the megaservice

communication link

FICAS is little affected since data-flows are distributed

Page 35: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University3535

Using Active Mediation for Performance Optimization

Example:Type Conversion Using Broker Services versus Mobile Classes

M

S1

(a) Type Brokers

T1

T2T1_T2 T2_T3

S2

T3

M

S1

(b) Type Mediation Mobile Classes

T3 S2

mobile classT1_T2

mobile classT2_T3

Control-flow

Data-flow

J. Ockerbloom, "Mediating Among Diverse Data Formats", Carnegie Mellon University, PhD. Thesis, 1998.

Page 36: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University3636

Executing Mobile Class on Active Mediator

Autonomous Service Wrapper

MobileClass

Fetcher

MobileClass

Runtime

ExceptionHandling

Mobile ClassCache

Mobile ClassRepository

Input Data Container

Output Data Container

MobileClassAPI

Library

Active Mediator

Page 37: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University3737

A Megaservice with a Mobile Class

SwitchMegeService

S1produces

and returns astring value

10mbps

S2consumes a

string

10mbps

Invocation1 = S1.INVOKE(size) A = Invocation1.EXTRACT()

B = MCLASS ("FILTER", A)

Invocation2 = S2.INVOKE(B)

10mbps

Mobile ClassFILTER

Page 38: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University3838

Performance Comparison for Mobile Class Placements

0

2000

4000

6000

8000

10000

12000

100 200 400 800 1600 3200

Data Volume (KB)

Meg

aser

vice

Exe

cutio

n Ti

me

Mobile Class on S1 Mobile Class on S2 Utility Autonomous Service

Page 39: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University3939

Distributed Component Models

Client-ServerActive Mediation

Client-ServerClient-ServerInvocation Model

Sync / AsynchronousSynchronousSync / AsynchronousSynchronicity

URLURLProxy ReferenceRemote Reference

Procedure CallProcedure CallMethod CallLanguage Paradigm

DistributedCentralizedCentralizedDataflow Model

Autonomous Service Directory

UDDI (Universal Description, Discovery and Integration)

CORBA Naming ServiceLocating Services

N/AWSDL (Web Service Description Language)

CORBA IDL (Interface Description Language)

Service Description

TCPHTTP, SMTPIIOPTransport Protocol

XMLXMLCDR (Common Data Representation)

Data Representation

FICASSOAP (Web Service)CORBA

Page 40: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University4040

FICAS Summary

• Objective– Investigate revolutionary approach to large-scale software composition

• Approach– Develop and validate a distributed data-flow based service composition

framework

• Contributions– Protocol (ASAP) support for constructing autonomous services– A high-level language (CLAS) that separates composition from

computation– Performance optimization with data-flow distribution– Active mediation to extend the capability of the compositional language

and to facilitate data-flow optimization

Page 41: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University4141

Demonstration

Page 42: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University4242

Putting It All Together – Demonstration

PSLXML

PrimaveraP3

Oracle 8iRelationalDatabase

4D Viewer

Active Mediator

Palm DesktopBrowser

MicrosoftProject

MicrosoftExcel

Page 43: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University4343

Review Design in 4D Viewer

4D Model Taken on 3/25/2001 From 4DViewer

Page 44: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University4444

Review Schedule in Primavera

Page 45: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University4545

Review Schedule in Microsoft Project

Page 46: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University4646

View Schedule on Site

http://med...!! HistorySCHEDULE

Review the schedule and make appropriate updates by changing thevalue in duration:

SCHEDULEIDSTARTDATEDURATION

18T1-3320101-31-2001 1.…………………….. Update

18T1-3324102-01-2001

http://med...!! History

SCHEDULE

Review the schedule and make appropriate updates by changing thevalue in duration:

SCHEDULEIDSTARTDATEDURATION

18T1-3320101-31-2001 1.…………………….. Update

18T1-3324102-01-2001

Page 47: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University4747

Modifying Schedule On-site

http://med...!! HistorySCHEDULE

Review the schedule and make appropriate updates by changing thevalue in duration:

SCHEDULEIDSTARTDATEDURATION

18T1-3320101-31-2001 40…………………….. Update

18T1-3324102-01-2001

http://med...!! HistorySCHEDULE

Review the schedule and make appropriate updates by changing thevalue in duration:

SCHEDULEIDSTARTDATEDURATION

18T1-3320101-31-2001 40…………………….. Update

18T1-3324102-01-2001

Change duration of activity18T1-33201 (“Erect Roof Elem 1”)From 1 day to 40 days

Page 48: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University4848

Invoke Rescheduling Megaservice

Network

ReschedulingMegaService

RescheduleService { model = PSLModel(modelname, 'oracle-to-psl') new_model = P3Scheduling(model, 'reschedule') PSLModel(new_model, 'psl-to-oracle') ExcelService(new_model, 'show') ChangeNotify(modelname) }

PSL

PrimaveraP3

PSLModel

Service

P3Scheduling

Service

ChangeNotify

Service

Page 49: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University4949

Review Modified Schedule in Primavera

Page 50: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University5050

Review Modified Design in 4D Viewer

4D Model Taken at 3/25/2001 From 4DViewer

Page 51: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University5151

Review Modified Schedule in Microsoft Project

Page 52: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University5252

Review Changed Activities in Desktop Browser

Actual Change

Affected

Activities

Page 53: Stanford Universityeil.stanford.edu/ficas/FICAS032703.pdf · Primavera P3 Vite MS Project 4D Viewer ... notification_svc = SETUP ... 30 Stanford University Event Dependency Graph

Stanford UniversityStanford University5353

Review Modified Schedule in Excel

Actual Change