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

Programming with Live Distributed Objects PowerPoint PPT Presentation


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

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


Programming with live distributed objects

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


Programming with live distributed objects

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


Programming with live distributed objects

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


Programming with live distributed objects

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


Programming with live distributed objects

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


Programming with live distributed objects

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


Programming with live distributed objects

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


Programming with live distributed objects

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


Programming with live distributed objects

Demo

“Live Objects", Krzysztof Ostrowski


Programming with live distributed objects

http://liveobjects.cs.cornell.edu

“Live Objects", Krzysztof Ostrowski


  • Login