Programming with live distributed objects
Sponsored Links
This presentation is the property of its rightful owner.
1 / 93

Programming with Live Distributed Objects PowerPoint PPT Presentation


  • 73 Views
  • Uploaded on
  • Presentation posted in: General

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.

Download Presentation

Programming with Live Distributed Objects

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

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

“Live Objects", Krzysztof Ostrowski


Object-Orientation has Benefits

“Live Objects", Krzysztof Ostrowski


Object-Orientation has Benefits

“Live Objects", Krzysztof Ostrowski


Distributed Systems: Out of Luck

“Live Objects", Krzysztof Ostrowski


Building a Collaborative App

“Live Objects", Krzysztof Ostrowski


Building a Collaborative App

“Live Objects", Krzysztof Ostrowski


Building a Collaborative App

“Live Objects", Krzysztof Ostrowski


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

“Live Objects", Krzysztof Ostrowski


Many Layers In the Middleware

“Live Objects", Krzysztof Ostrowski


Many Layers In the Middleware

“Live Objects", Krzysztof Ostrowski


Many Layers In the Middleware

“Live Objects", Krzysztof Ostrowski


Many Layers In the Middleware

“Live Objects", Krzysztof Ostrowski


Many Layers In the Middleware

“Live Objects", Krzysztof Ostrowski


Many Layers In the Middleware

“Live Objects", Krzysztof Ostrowski


Many Layers In the Middleware

“Live Objects", Krzysztof Ostrowski


Many Layers In the Middleware

“Live Objects", Krzysztof Ostrowski


Many Layers In the Middleware

“Live Objects", Krzysztof Ostrowski


Protocols = Components ???

“Live Objects", Krzysztof Ostrowski


…But Not In Java/.NET/COM/*

“Live Objects", Krzysztof Ostrowski


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 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 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

“Live Objects", Krzysztof Ostrowski


Every Protocol Instance = Object

“Live Objects", Krzysztof Ostrowski


Objects

“Live Objects", Krzysztof Ostrowski


Defining Live Distributed Objects

“Live Objects", Krzysztof Ostrowski


Defining Live Distributed Objects

“Live Objects", Krzysztof Ostrowski


Defining Live Distributed Objects

“Live Objects", Krzysztof Ostrowski


Live Objects vs. .NET Objects

“Live Objects", Krzysztof Ostrowski


Live Objects vs. .NET Objects

“Live Objects", Krzysztof Ostrowski


Live Objects vs. .NET Objects

“Live Objects", Krzysztof Ostrowski


Live Objects vs. .NET Objects

“Live Objects", Krzysztof Ostrowski


Live Objects vs. .NET Objects

“Live Objects", Krzysztof Ostrowski


Live Objects vs. .NET Objects

“Live Objects", Krzysztof Ostrowski


Live Objects vs. .NET Objects

Service = Behavior

“Live Objects", Krzysztof Ostrowski


References

“Live Objects", Krzysztof Ostrowski


Creating a Live Object

“Live Objects", Krzysztof Ostrowski


Creating a Live Object

“Live Objects", Krzysztof Ostrowski


Creating a Live Object

“Live Objects", Krzysztof Ostrowski


Creating a Live Object

“Live Objects", Krzysztof Ostrowski


Creating a Live Object

“Live Objects", Krzysztof Ostrowski


Creating a Live Object

“Live Objects", Krzysztof Ostrowski


Creating a Live Object

“Live Objects", Krzysztof Ostrowski


Creating a Live Object

“Live Objects", Krzysztof Ostrowski


Creating a Live Object

“Live Objects", Krzysztof Ostrowski


Composition

“Live Objects", Krzysztof Ostrowski


Connecting Objects

“Live Objects", Krzysztof Ostrowski


Connecting Objects

“Live Objects", Krzysztof Ostrowski


Connecting Objects

“Live Objects", Krzysztof Ostrowski


Dependencies as Endpoints

“Live Objects", Krzysztof Ostrowski


Creating Composite Objects

“Live Objects", Krzysztof Ostrowski


Creating Composite Objects

this is happening on a single machine

“Live Objects", Krzysztof Ostrowski


Creating Composite Objects

this is happening on a single machine

“Live Objects", Krzysztof Ostrowski


Creating Composite Objects

this is happening on a single machine

“Live Objects", Krzysztof Ostrowski


Creating Composite Objects

“Live Objects", Krzysztof Ostrowski


Creating Composite Objects

this is happening on a single machine

“Live Objects", Krzysztof Ostrowski


Creating Composite Objects

this is happening on a single machine

“Live Objects", Krzysztof Ostrowski


Creating Composite Objects

this is happening on a single machine

“Live Objects", Krzysztof Ostrowski


Creating Composite Objects

“Live Objects", Krzysztof Ostrowski


Compatibility

“Live Objects", Krzysztof Ostrowski


Defining Endpoint Types

“Live Objects", Krzysztof Ostrowski


Defining Endpoint Types

“Live Objects", Krzysztof Ostrowski


Defining Endpoint Types

“Live Objects", Krzysztof Ostrowski


Defining Endpoint Types

“Live Objects", Krzysztof Ostrowski


Defining Endpoint Types

“Live Objects", Krzysztof Ostrowski


Defining Live Object Types

“Live Objects", Krzysztof Ostrowski


Types

“Live Objects", Krzysztof Ostrowski


Defining Live Object Types

“Live Objects", Krzysztof Ostrowski


Defining Live Object Types

“Live Objects", Krzysztof Ostrowski


Defining Endpoint Types

“Live Objects", Krzysztof Ostrowski


Behavioral Constraints

“Live Objects", Krzysztof Ostrowski


Behavioral Constraints

annotation

alias for a

live object type

“Live Objects", Krzysztof Ostrowski


Constraints

“Live Objects", Krzysztof Ostrowski


Behavioral Constraints

“Live Objects", Krzysztof Ostrowski


Behavioral Constraints

“Live Objects", Krzysztof Ostrowski


Behavioral Constraints

“Live Objects", Krzysztof Ostrowski


Constraint Formalisms

“Live Objects", Krzysztof Ostrowski


Constraint Formalisms

“Live Objects", Krzysztof Ostrowski


Constraint Formalisms

“Live Objects", Krzysztof Ostrowski


Constraint Formalisms

“Live Objects", Krzysztof Ostrowski


Constraint Formalisms

“Live Objects", Krzysztof Ostrowski


Constraint Formalisms

“Live Objects", Krzysztof Ostrowski


Constraint Formalisms

“Live Objects", Krzysztof Ostrowski


Authentication

“Live Objects", Krzysztof Ostrowski


Authentication

“Live Objects", Krzysztof Ostrowski


Authentication

“Live Objects", Krzysztof Ostrowski


Authentication

“Live Objects", Krzysztof Ostrowski


Authentication

“Live Objects", Krzysztof Ostrowski


Demo

“Live Objects", Krzysztof Ostrowski


http://liveobjects.cs.cornell.edu

“Live Objects", Krzysztof Ostrowski


  • Login