Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Programming with Live Distributed Objects
Krzysztof Ostrowski† in collaboration with Ken Birman†, Danny Dolev§, Jong Hoon Ahnn† †Cornell University, §Hebrew University
2
Introduction “Live Objects", Krzysztof Ostrowski
3
Modern Software Development
“Live Objects", Krzysztof Ostrowski
4
Object-Orientation has Benefits
“Live Objects", Krzysztof Ostrowski
5
Object-Orientation has Benefits
“Live Objects", Krzysztof Ostrowski
6
Distributed Systems: Out of Luck
“Live Objects", Krzysztof Ostrowski
7
Building a Collaborative App
“Live Objects", Krzysztof Ostrowski
8
Building a Collaborative App
“Live Objects", Krzysztof Ostrowski
9
Building a Collaborative App
“Live Objects", Krzysztof Ostrowski
10
Using Obscure, Proprietary APIs
ssize_t recvfrom( int socket, void *buffer, size_t length, int flags, struct sockaddr *address, socklen_t *address_len); Channel channel = new JChannel( "UDP:PING:FD:STABLE:NAKACK:UNICAST:" "FRAG:FLUSH:GMS:VIEW_ENFORCER:” "STATE_TRANSFER:QUEUE"); obscure proprietary low-level confusing “Live Objects", Krzysztof Ostrowski
11
Tightly Coupled Components
“Live Objects", Krzysztof Ostrowski
12
Many Layers In the Middleware
“Live Objects", Krzysztof Ostrowski
13
Many Layers In the Middleware
“Live Objects", Krzysztof Ostrowski
14
Many Layers In the Middleware
“Live Objects", Krzysztof Ostrowski
15
Many Layers In the Middleware
“Live Objects", Krzysztof Ostrowski
16
Many Layers In the Middleware
“Live Objects", Krzysztof Ostrowski
17
Many Layers In the Middleware
“Live Objects", Krzysztof Ostrowski
18
Many Layers In the Middleware
“Live Objects", Krzysztof Ostrowski
19
Many Layers In the Middleware
“Live Objects", Krzysztof Ostrowski
20
Many Layers In the Middleware
“Live Objects", Krzysztof Ostrowski
21
Protocols = Components ???
“Live Objects", Krzysztof Ostrowski
22
…But Not In Java/.NET/COM/*
“Live Objects", Krzysztof Ostrowski
23
Related Work Distributed objects Emerald, Argus, Globus, Linda, F.T. Corba, Croquet Protocol composition x-Kernel, Horus, Ensemble, BAST Protocol types CSP, π-calculus, BPEL, SSDL, WSCL, CFSM, TLA, IOA, IA, temporal logic, Protocol specifications Horus, Ensemble, Chockler et al. [2001] Distributed environments Jini, JXTA, WS-* specifications “Live Objects", Krzysztof Ostrowski
24
Related Work Distributed objects Emerald, Argus, Globus, Linda, F.T. Corba, Croquet Protocol composition x-Kernel, Horus, Ensemble, BAST Protocol types CSP, π-calculus, BPEL, SSDL, WSCL, CFSM, TLA, IOA, IA, temporal logic, Protocol specifications Horus, Ensemble, Chockler et al. [2001] Distributed environments Jini, JXTA, WS-* specifications “Live Objects", Krzysztof Ostrowski
25
Related Work Distributed objects Emerald, Argus, Globus, Linda, F.T. Corba, Croquet Protocol composition x-Kernel, Horus, Ensemble, BAST Protocol types CSP, π-calculus, BPEL, SSDL, WSCL, CFSM, TLA, IOA, IA, temporal logic, Protocol specifications Horus, Ensemble, Chockler et al. [2001] Distributed environments Jini, JXTA, WS-* specifications “Live Objects", Krzysztof Ostrowski
26
Every Protocol Instance = Object
“Live Objects", Krzysztof Ostrowski
27
Every Protocol Instance = Object
“Live Objects", Krzysztof Ostrowski
28
Objects “Live Objects", Krzysztof Ostrowski
29
Defining Live Distributed Objects
“Live Objects", Krzysztof Ostrowski
30
Defining Live Distributed Objects
“Live Objects", Krzysztof Ostrowski
31
Defining Live Distributed Objects
“Live Objects", Krzysztof Ostrowski
32
Live Objects vs. .NET Objects
“Live Objects", Krzysztof Ostrowski
33
Live Objects vs. .NET Objects
“Live Objects", Krzysztof Ostrowski
34
Live Objects vs. .NET Objects
“Live Objects", Krzysztof Ostrowski
35
Live Objects vs. .NET Objects
“Live Objects", Krzysztof Ostrowski
36
Live Objects vs. .NET Objects
“Live Objects", Krzysztof Ostrowski
37
Live Objects vs. .NET Objects
“Live Objects", Krzysztof Ostrowski
38
Live Objects vs. .NET Objects
Service = Behavior “Live Objects", Krzysztof Ostrowski
39
References “Live Objects", Krzysztof Ostrowski
40
Creating a Live Object “Live Objects", Krzysztof Ostrowski
41
Creating a Live Object “Live Objects", Krzysztof Ostrowski
42
Creating a Live Object “Live Objects", Krzysztof Ostrowski
43
Creating a Live Object “Live Objects", Krzysztof Ostrowski
44
Creating a Live Object “Live Objects", Krzysztof Ostrowski
45
Creating a Live Object “Live Objects", Krzysztof Ostrowski
46
Creating a Live Object “Live Objects", Krzysztof Ostrowski
47
Creating a Live Object “Live Objects", Krzysztof Ostrowski
48
Creating a Live Object “Live Objects", Krzysztof Ostrowski
49
Composition “Live Objects", Krzysztof Ostrowski
50
Connecting Objects “Live Objects", Krzysztof Ostrowski
51
Connecting Objects “Live Objects", Krzysztof Ostrowski
52
Connecting Objects “Live Objects", Krzysztof Ostrowski
53
Dependencies as Endpoints
“Live Objects", Krzysztof Ostrowski
54
Creating Composite Objects
“Live Objects", Krzysztof Ostrowski
55
Creating Composite Objects
this is happening on a single machine “Live Objects", Krzysztof Ostrowski
56
Creating Composite Objects
this is happening on a single machine “Live Objects", Krzysztof Ostrowski
57
Creating Composite Objects
this is happening on a single machine “Live Objects", Krzysztof Ostrowski
58
Creating Composite Objects
“Live Objects", Krzysztof Ostrowski
59
Creating Composite Objects
this is happening on a single machine “Live Objects", Krzysztof Ostrowski
60
Creating Composite Objects
this is happening on a single machine “Live Objects", Krzysztof Ostrowski
61
Creating Composite Objects
this is happening on a single machine “Live Objects", Krzysztof Ostrowski
62
Creating Composite Objects
“Live Objects", Krzysztof Ostrowski
63
Compatibility “Live Objects", Krzysztof Ostrowski
64
Defining Endpoint Types
“Live Objects", Krzysztof Ostrowski
65
Defining Endpoint Types
“Live Objects", Krzysztof Ostrowski
66
Defining Endpoint Types
“Live Objects", Krzysztof Ostrowski
67
Defining Endpoint Types
“Live Objects", Krzysztof Ostrowski
68
Defining Endpoint Types
“Live Objects", Krzysztof Ostrowski
69
Defining Live Object Types
“Live Objects", Krzysztof Ostrowski
70
Types “Live Objects", Krzysztof Ostrowski
71
Defining Live Object Types
“Live Objects", Krzysztof Ostrowski
72
Defining Live Object Types
“Live Objects", Krzysztof Ostrowski
73
Defining Endpoint Types
“Live Objects", Krzysztof Ostrowski
74
Behavioral Constraints
“Live Objects", Krzysztof Ostrowski
75
Behavioral Constraints
annotation alias for a live object type “Live Objects", Krzysztof Ostrowski
76
Constraints “Live Objects", Krzysztof Ostrowski
77
Behavioral Constraints
“Live Objects", Krzysztof Ostrowski
78
Behavioral Constraints
“Live Objects", Krzysztof Ostrowski
79
Behavioral Constraints
“Live Objects", Krzysztof Ostrowski
80
Constraint Formalisms
“Live Objects", Krzysztof Ostrowski
81
Constraint Formalisms
“Live Objects", Krzysztof Ostrowski
82
Constraint Formalisms
“Live Objects", Krzysztof Ostrowski
83
Constraint Formalisms
“Live Objects", Krzysztof Ostrowski
84
Constraint Formalisms
“Live Objects", Krzysztof Ostrowski
85
Constraint Formalisms
“Live Objects", Krzysztof Ostrowski
86
Constraint Formalisms
“Live Objects", Krzysztof Ostrowski
87
Authentication “Live Objects", Krzysztof Ostrowski
88
Authentication “Live Objects", Krzysztof Ostrowski
89
Authentication “Live Objects", Krzysztof Ostrowski
90
Authentication “Live Objects", Krzysztof Ostrowski
91
Authentication “Live Objects", Krzysztof Ostrowski
92
Demo “Live Objects", Krzysztof Ostrowski
93
“Live Objects", Krzysztof Ostrowski
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.