Programming with live distributed objects
Download
1 / 93

Programming with Live Distributed Objects - PowerPoint PPT Presentation


  • 91 Views
  • Uploaded on

Programming with Live Distributed Objects. Krzysztof Ostrowski † in collaboration with Ken Birman † , Danny Dolev § , Jong Hoon Ahnn † † Cornell University, § Hebrew University http://liveobjects.cs.cornell.edu. Introduction. Modern Software Development. Object-Orientation has Benefits.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Programming with Live Distributed Objects' - minda


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Programming with live distributed objects

Programming with Live Distributed Objects

Krzysztof Ostrowski†in collaboration with

Ken Birman†, Danny Dolev§, Jong Hoon Ahnn†

†Cornell University, §Hebrew University

http://liveobjects.cs.cornell.edu


Introduction

“Live Objects", Krzysztof Ostrowski


Modern software development
Modern Software Development

“Live Objects", Krzysztof Ostrowski


Object orientation has benefits
Object-Orientation has Benefits

“Live Objects", Krzysztof Ostrowski


Object orientation has benefits1
Object-Orientation has Benefits

“Live Objects", Krzysztof Ostrowski


Distributed systems out of luck
Distributed Systems: Out of Luck

“Live Objects", Krzysztof Ostrowski


Building a collaborative app
Building a Collaborative App

“Live Objects", Krzysztof Ostrowski


Building a collaborative app1
Building a Collaborative App

“Live Objects", Krzysztof Ostrowski


Building a collaborative app2
Building a Collaborative App

“Live Objects", Krzysztof Ostrowski


Using obscure proprietary apis
Using Obscure, Proprietary APIs

low-level

ssize_trecvfrom(

intsocket, void *buffer, size_tlength, intflags, structsockaddr *address, socklen_t *address_len);

obscure

proprietary

Channel

channel =

newJChannel(

"UDP:PING:FD:STABLE:NAKACK:UNICAST:" +"FRAG:FLUSH:GMS:VIEW_ENFORCER:” + "STATE_TRANSFER:QUEUE");

confusing

“Live Objects", Krzysztof Ostrowski


Tightly coupled components
Tightly Coupled Components

“Live Objects", Krzysztof Ostrowski


Many layers in the middleware
Many Layers In the Middleware

“Live Objects", Krzysztof Ostrowski


Many layers in the middleware1
Many Layers In the Middleware

“Live Objects", Krzysztof Ostrowski


Many layers in the middleware2
Many Layers In the Middleware

“Live Objects", Krzysztof Ostrowski


Many layers in the middleware3
Many Layers In the Middleware

“Live Objects", Krzysztof Ostrowski


Many layers in the middleware4
Many Layers In the Middleware

“Live Objects", Krzysztof Ostrowski


Many layers in the middleware5
Many Layers In the Middleware

“Live Objects", Krzysztof Ostrowski


Many layers in the middleware6
Many Layers In the Middleware

“Live Objects", Krzysztof Ostrowski


Many layers in the middleware7
Many Layers In the Middleware

“Live Objects", Krzysztof Ostrowski


Many layers in the middleware8
Many Layers In the Middleware

“Live Objects", Krzysztof Ostrowski


Protocols components
Protocols = Components ???

“Live Objects", Krzysztof Ostrowski


But not in java net com
…But Not In Java/.NET/COM/*

“Live Objects", Krzysztof Ostrowski


Related work
Related Work

  • Distributed objectsEmerald, Argus, Globus, Linda, F.T. Corba, Croquet

  • Protocol compositionx-Kernel, Horus, Ensemble, BAST

  • Protocol typesCSP, π-calculus, BPEL, SSDL, WSCL, CFSM, TLA, IOA, IA, temporal logic,

  • Protocol specificationsHorus, Ensemble, Chockler et al. [2001]

  • Distributed environmentsJini, JXTA, WS-* specifications

“Live Objects", Krzysztof Ostrowski


Related work1
Related Work

  • Distributed objectsEmerald, Argus, Globus, Linda, F.T. Corba, Croquet

  • Protocol compositionx-Kernel, Horus, Ensemble, BAST

  • Protocol typesCSP, π-calculus, BPEL, SSDL, WSCL, CFSM, TLA, IOA, IA, temporal logic,

  • Protocol specificationsHorus, Ensemble, Chockler et al. [2001]

  • Distributed environmentsJini, JXTA, WS-* specifications

“Live Objects", Krzysztof Ostrowski


Related work2
Related Work

  • Distributed objectsEmerald, Argus, Globus, Linda, F.T. Corba, Croquet

  • Protocol compositionx-Kernel, Horus, Ensemble, BAST

  • Protocol typesCSP, π-calculus, BPEL, SSDL, WSCL, CFSM, TLA, IOA, IA, temporal logic,

  • Protocol specificationsHorus, Ensemble, Chockler et al. [2001]

  • Distributed environmentsJini, JXTA, WS-* specifications

“Live Objects", Krzysztof Ostrowski


Every protocol instance object
Every Protocol Instance = Object

“Live Objects", Krzysztof Ostrowski


Every protocol instance object1
Every Protocol Instance = Object

“Live Objects", Krzysztof Ostrowski


Objects

“Live Objects", Krzysztof Ostrowski


Defining live distributed objects
Defining Live Distributed Objects

“Live Objects", Krzysztof Ostrowski


Defining live distributed objects1
Defining Live Distributed Objects

“Live Objects", Krzysztof Ostrowski


Defining live distributed objects2
Defining Live Distributed Objects

“Live Objects", Krzysztof Ostrowski


Live objects vs net objects
Live Objects vs. .NET Objects

“Live Objects", Krzysztof Ostrowski


Live objects vs net objects1
Live Objects vs. .NET Objects

“Live Objects", Krzysztof Ostrowski


Live objects vs net objects2
Live Objects vs. .NET Objects

“Live Objects", Krzysztof Ostrowski


Live objects vs net objects3
Live Objects vs. .NET Objects

“Live Objects", Krzysztof Ostrowski


Live objects vs net objects4
Live Objects vs. .NET Objects

“Live Objects", Krzysztof Ostrowski


Live objects vs net objects5
Live Objects vs. .NET Objects

“Live Objects", Krzysztof Ostrowski


Live objects vs net objects6
Live Objects vs. .NET Objects

Service = Behavior

“Live Objects", Krzysztof Ostrowski


References

“Live Objects", Krzysztof Ostrowski


Creating a live object
Creating a Live Object

“Live Objects", Krzysztof Ostrowski


Creating a live object1
Creating a Live Object

“Live Objects", Krzysztof Ostrowski


Creating a live object2
Creating a Live Object

“Live Objects", Krzysztof Ostrowski


Creating a live object3
Creating a Live Object

“Live Objects", Krzysztof Ostrowski


Creating a live object4
Creating a Live Object

“Live Objects", Krzysztof Ostrowski


Creating a live object5
Creating a Live Object

“Live Objects", Krzysztof Ostrowski


Creating a live object6
Creating a Live Object

“Live Objects", Krzysztof Ostrowski


Creating a live object7
Creating a Live Object

“Live Objects", Krzysztof Ostrowski


Creating a live object8
Creating a Live Object

“Live Objects", Krzysztof Ostrowski


Composition

“Live Objects", Krzysztof Ostrowski


Connecting objects
Connecting Objects

“Live Objects", Krzysztof Ostrowski


Connecting objects1
Connecting Objects

“Live Objects", Krzysztof Ostrowski


Connecting objects2
Connecting Objects

“Live Objects", Krzysztof Ostrowski


Dependencies as endpoints
Dependencies as Endpoints

“Live Objects", Krzysztof Ostrowski


Creating composite objects
Creating Composite Objects

“Live Objects", Krzysztof Ostrowski


Creating composite objects1
Creating Composite Objects

this is happening on a single machine

“Live Objects", Krzysztof Ostrowski


Creating composite objects2
Creating Composite Objects

this is happening on a single machine

“Live Objects", Krzysztof Ostrowski


Creating composite objects3
Creating Composite Objects

this is happening on a single machine

“Live Objects", Krzysztof Ostrowski


Creating composite objects4
Creating Composite Objects

“Live Objects", Krzysztof Ostrowski


Creating composite objects5
Creating Composite Objects

this is happening on a single machine

“Live Objects", Krzysztof Ostrowski


Creating composite objects6
Creating Composite Objects

this is happening on a single machine

“Live Objects", Krzysztof Ostrowski


Creating composite objects7
Creating Composite Objects

this is happening on a single machine

“Live Objects", Krzysztof Ostrowski


Creating composite objects8
Creating Composite Objects

“Live Objects", Krzysztof Ostrowski


Compatibility

“Live Objects", Krzysztof Ostrowski


Defining endpoint types
Defining Endpoint Types

“Live Objects", Krzysztof Ostrowski


Defining endpoint types1
Defining Endpoint Types

“Live Objects", Krzysztof Ostrowski


Defining endpoint types2
Defining Endpoint Types

“Live Objects", Krzysztof Ostrowski


Defining endpoint types3
Defining Endpoint Types

“Live Objects", Krzysztof Ostrowski


Defining endpoint types4
Defining Endpoint Types

“Live Objects", Krzysztof Ostrowski


Defining live object types
Defining Live Object Types

“Live Objects", Krzysztof Ostrowski


Types

“Live Objects", Krzysztof Ostrowski


Defining live object types1
Defining Live Object Types

“Live Objects", Krzysztof Ostrowski


Defining live object types2
Defining Live Object Types

“Live Objects", Krzysztof Ostrowski


Defining endpoint types5
Defining Endpoint Types

“Live Objects", Krzysztof Ostrowski


Behavioral constraints
Behavioral Constraints

“Live Objects", Krzysztof Ostrowski


Behavioral constraints1
Behavioral Constraints

annotation

alias for a

live object type

“Live Objects", Krzysztof Ostrowski


Constraints

“Live Objects", Krzysztof Ostrowski


Behavioral constraints2
Behavioral Constraints

“Live Objects", Krzysztof Ostrowski


Behavioral constraints3
Behavioral Constraints

“Live Objects", Krzysztof Ostrowski


Behavioral constraints4
Behavioral Constraints

“Live Objects", Krzysztof Ostrowski


Constraint formalisms
Constraint Formalisms

“Live Objects", Krzysztof Ostrowski


Constraint formalisms1
Constraint Formalisms

“Live Objects", Krzysztof Ostrowski


Constraint formalisms2
Constraint Formalisms

“Live Objects", Krzysztof Ostrowski


Constraint formalisms3
Constraint Formalisms

“Live Objects", Krzysztof Ostrowski


Constraint formalisms4
Constraint Formalisms

“Live Objects", Krzysztof Ostrowski


Constraint formalisms5
Constraint Formalisms

“Live Objects", Krzysztof Ostrowski


Constraint formalisms6
Constraint Formalisms

“Live Objects", Krzysztof Ostrowski


Authentication

“Live Objects", Krzysztof Ostrowski


Authentication
Authentication

“Live Objects", Krzysztof Ostrowski


Authentication1
Authentication

“Live Objects", Krzysztof Ostrowski


Authentication2
Authentication

“Live Objects", Krzysztof Ostrowski


Authentication3
Authentication

“Live Objects", Krzysztof Ostrowski


Demo

“Live Objects", Krzysztof Ostrowski


http://liveobjects.cs.cornell.edu

“Live Objects", Krzysztof Ostrowski


ad