Organon Project

26
Organon Project Mat Laibowitz 1/15/2003

description

Organon Project. Mat Laibowitz 1/15/2003. 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. CORBA. Common Object Request Broker Architecture - PowerPoint PPT Presentation

Transcript of Organon Project

Page 1: Organon Project

Organon Project

Mat Laibowitz1/15/2003

Page 2: Organon Project

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

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

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

CORBA Components

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

Page 6: Organon Project

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

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

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

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

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

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

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

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

PORBA and PIDL

Mat Laibowitz1/15/2003

Page 15: Organon Project

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

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

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

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

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

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

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

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

Demo Application

Mat Laibowitz1/15/2003

Page 24: Organon Project

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

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

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