1 / 26

Organon Project

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

liam
Download Presentation

Organon Project

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Organon Project Mat Laibowitz 1/15/2003

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

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

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

  5. CORBA Components • Interface Definition Language (IDL) • Object Request Broker (ORB) • Dynamic Invocation Interface (DII) • Interface Repository (IR) • Object Adapters (OA)

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

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

  8. 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 }

  9. Object Request Broker • Delivers requests to objects • Returns output values back to client • This is a product • Microsoft COM/DCOM • Iona Orbix

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

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

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

  13. 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)

  14. PORBA and PIDL Mat Laibowitz 1/15/2003

  15. 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)

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

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

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

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

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

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

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

  23. Demo Application Mat Laibowitz 1/15/2003

  24. 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)

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

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

More Related