+ All Categories
Home > Documents > Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of...

Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of...

Date post: 28-Dec-2015
Category:
Upload: anthony-clarke
View: 212 times
Download: 0 times
Share this document with a friend
Popular Tags:
26
Organon Project Mat Laibowitz 1/15/2003
Transcript
Page 1: Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of object architecture and client- server design l My proposal.

Organon Project

Mat Laibowitz1/15/2003

Page 2: Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of object architecture and client- server design l My proposal.

Presentation Contents

Current state of the world of object architecture and client-server design

My proposal for a new standard My proposed demo application that

shows the new standard

Page 3: Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of object architecture and client- server design l My proposal.

CORBA

Common Object Request Broker Architecture

Standard (not a product) Object defined in this world as a

compiled component Client defined as object making request Server defined as object handling

request

Page 4: Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of object architecture and client- server design l My proposal.

CORBA Goal

CORBA allows the interconnection of objects and applications regardless of programming language, machine architecture, geographical location, or connection protocol.

Page 5: Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of object architecture and client- server design l My proposal.

CORBA Components

Interface Definition Language (IDL) Object Request Broker (ORB) Dynamic Invocation Interface (DII) Interface Repository (IR) Object Adapters (OA)

Page 6: Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of object architecture and client- server design l My proposal.

Interface Definition Language

Separates object implementation from interface• Basically a declarative language, similar in

appearance to C++• Defines types of objects by separating

interfaces, named operations and parameters

• A means by which the object implementation tells clients what operations are available and how to invoke them

Page 7: Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of object architecture and client- server design l My proposal.

Interface Definition Language (continued)

Mapped to a particular programming language (C , C++, Java)

IDL compilation produces stubs/skeletons• stub - local function call for the client• skeleton - server side of the object

implementation

Page 8: Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of object architecture and client- server design l My proposal.

IDL Example

IDL code: interface Console {

void print(in string message);

};

Compiled into:• stub:

class ConsoleImpl {

public:

void print(const char* message, CORBA_Environment& env);

};

• skeleton:void

ConsoleImpl::print(const char* message, CORBA_Environment&)

{

printf("%s\n", message); // Added after compilation

}

Page 9: Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of object architecture and client- server design l My proposal.

Object Request Broker

Delivers requests to objects Returns output values back to

client This is a product Microsoft COM/DCOM Iona Orbix

Page 10: Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of object architecture and client- server design l My proposal.

Dynamic Invocation Interface

Allows dynamic construction of object invocations• Application can thus make calls on objects without

compile time knowledge• More flexible than static approach; but more

complicated and less typesafe

• Steps Involved: Object::get_interface

InterfaceDef::describe_interface

Object::create_request

Request::add_argument

Request::invoke

Page 11: Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of object architecture and client- server design l My proposal.

Interface Repository

A service that provides persistent objects that represent the IDL information in a form available at runtime

Provides type information necessary to issue requests using the DII

Also stores additional information like debugging info, libraries of stubs or skeletons etc

Page 12: Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of object architecture and client- server design l My proposal.

Object Adapters

Provides a consistent interface to varied implementations, and controls lifecycle operations on objects

Objects can be implemented as C++/Java classes, C/Java functions, or even server-per-method

Allowing varied methods of implementation facilitates integration of legacy applications

When a client requests a service from an object, the OA maps the request to the appropriate implementation

Page 13: Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of object architecture and client- server design l My proposal.

Client Server Dialog

IDL compilation results in stubs(client-side) and skeletons (server side)

Client gets an object reference, and makes requests using it ORB translates the request into a form suitable for

transmission OA assists ORB in determining the exact implementation IFR helps ORB do appropriate type checking ORB decodes request, passes it on to the skeleton Skeleton services request, stub and skeleton pass it back to

the client (along with exception info, if any)

Page 14: Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of object architecture and client- server design l My proposal.

PORBA and PIDL

Mat Laibowitz1/15/2003

Page 15: Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of object architecture and client- server design l My proposal.

Phenomenology

20th Century philosophical movement dedicated to describing structures of experience as they present themselves to consciousness

Phenomenologists tend to oppose the acceptance of unobservable matters and grand systems erected in speculative thinking

Rejection of Cartesian dualism (mind-body separation), mind exists in response to senses

Famous Phenomenologists are Husserl (founder of phenomenology, “To the things themselves) and Heidegger (manifest what is hidden in ordinary, everday experience)

Page 16: Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of object architecture and client- server design l My proposal.

PORBA

Phenomenological Object Request Broker Architecture

A new standard for distributed objects mainly intended for the embedded, pervasive, and ubiquitous theatres, but applicable all the way up to mainframes and servers

Parallels life Standard as artwork and philosophy

Page 17: Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of object architecture and client- server design l My proposal.

PORBA

In the PORBA standard, the method of connection and communication is NOT transparent

PORBA objects present different interfaces to different methods of communication

Interplay between these interfaces is fully exploited

Method of communication can be a physical connection (IR, RF, contact, local control, ethernet, sensor input) or a protocol on a physical connection

Page 18: Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of object architecture and client- server design l My proposal.

PORBA examples

Which sense you use to experience something is critical to the experience

Braille example IM, Phone, Voicemail, Personal

example Sensor to RF object example

Page 19: Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of object architecture and client- server design l My proposal.

PORBA

The PORBA standard includes the ability for a server node to allow a client node to copy the server object itself into the client’s object repository over one or more of the server’s interfaces

Page 20: Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of object architecture and client- server design l My proposal.

PIDL

Phenomenological Interface Definition Language

Contains all of the original IDL syntax for defining interface constructs (methods, data, etc)

Adds ability to define and attach a specific channel (physical, protocol, stream) to an interface

PIDL compiler will compile the PIDL interface into stubs and skeletons

Page 21: Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of object architecture and client- server design l My proposal.

PORB

Phenomenological Object Request Broker Handles incoming requests Identifies object being requested and

connection channel Presents interfaces according to channel PORB itself is componentized and modular

allowing dynamic addition and enumeration of interface channels

Page 22: Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of object architecture and client- server design l My proposal.

Organon: PORBA Implementation v0.1

Node consists of two microcontrollers, one implements PORB, one is used for object repository

Interfaces for v0.1 are IR, RF, contact, 3 streams of sensor input, 1 RGB LED

Small, wearable, mobile form factor emphasizes Phenomenological philosophy

Page 23: Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of object architecture and client- server design l My proposal.

Demo Application

Mat Laibowitz1/15/2003

Page 24: Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of object architecture and client- server design l My proposal.

Neo-Phenomenology

21st century philosophical movement Upholds all constructs of the original phenomenological

movement Adds the construct of the desire to experience with full

sensoral interface those experiences identified from departure from the original phenomenological philosophies (i.e. bringing video game type experiences to the real world)

Neo-phenomenology term coined by T. Dorsey (MIT)

Page 25: Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of object architecture and client- server design l My proposal.

Bio

Studied film because of interest in artistic presentation of narrative structures

Past 6 years created game played over the course of an evening on the streets of New York where teams follow clues/puzzles around the city that fill in the narrative. Game written up in New Yorker magazine and discussed on NPR’s This American Life

You are all invited to play this summer

Page 26: Organon Project Mat Laibowitz 1/15/2003. Presentation Contents l Current state of the world of object architecture and client- server design l My proposal.

Organon Demo Application

Real World Adventure Game Adventure Video Game Narratives parallel PORBA standard

specification Characters (nodes) interact with one another and gain

capabilities and tools (copied objects). How they communicate to each other determines what they learn and ability to communicate with a different interface later. Tools gained can be used to advance the narrative. Objects could contain puzzles to solve to advance the narrative.

Possible collaborations include the Interactive Cinema group and the MIT Assassin’s guild

Neo-phenomenological application of a phenomenological motivated technology


Recommended