Presentation is loading. Please wait.

Presentation is loading. Please wait.

O2S Components Framework

Similar presentations


Presentation on theme: "O2S Components Framework"— Presentation transcript:

1 O2S Components Framework
Day 1, Session 1, Part 3 July 2006 Quanta JustPlay Seminar Justin Mazzola Paluska

2 Acknowledgements The O2S Components Framework is mostly the work of the Hubert Pham so he should get all of the credit for its implementation. These slides are derived from Hubert's slides.

3 Contents Motivation Objective Approach Model

4 Motivation Planner: high level goal  plan
O2S Component Framework: plan  actualize

5 Motivation Developing asynchronous, distributed software is (still) painful: slow performance adaptiveness is difficult stubs (distributed objects) hard to debug failures!

6 Motivation Traditional distributed applications: logic intertwined with implementation

7 Objective A distributed software component framework that optimizes for: Simplicity Construction API and Environment Debugging Adaptiveness Performance Platform and Language Independence

8 Approach

9 Approach

10 Approach

11 Approach Construct applications by instantiating distributed components and interconnecting them together: circuit diagram model Monitor and debug by processing serial messages from implementation

12 Approach Generic Components on a variety of platforms
Data Streams using a variety of protocols

13 Approach Synchronous Simple Environment Adaptable
Language and Platform Independent Asynchronous Parallel Low Performance Overhead

14 Approach: Example def setup_voice_rec():
voice_rec = system.lookup("Voice Recognizer", grammar = "voice_shell") event_queue = system.get_event_queue(handler = handle_event) voice_rec.set_recognition_target(event_queue) voice_rec_input = voice_rec.get_audio_sink() mic = hand_held_device.get_mic() system.connect(voice_rec_input, mic) def handle_event(new_event): if new_event.recognized_token == "Hello":

15 O2S Model Synchronous Simple Environment Adaptable
Language and Platform Independent Asynchronous Parallel Low Performance Overhead

16 O2S Stack The O2S Stack establishes the Control Environment
Properties: Many implementation technologies available for every layer Each layer depends only upon the abstractions established by the layer immediately beneath Can swap out any implementation for another

17 Transport Low level RPC and wire encoding for basic primitives.
A Few Known Implementations: XML-RPC SOAP Sun RPC O2S uses off-the-shelf XML-RPC

18 Network Object Provides network object packaging; transparency in passing and receiving references to remote objects; data serialization and marshaling. Some Implementations: Sun Java RMI OMG Corba O2S NPOP

19 O2S NPOP Network Portable Object Packaging
Language and Platform Independent Pass object references between methods, processes, and hosts Automatic Stub Generation Object Interning and Reference Tracking Named by a URI to an XML specification

20 O2S NPOP

21 System Management Provides “host-level” abstractions and services:
health monitoring event messaging directory services for network object discovery

22 System Management A Few Implementations: Sun Jini (uses RMI); JXTA
UPnP IETF Service Location Protocol O2S Architecture

23 O2S Architecture Entity host management
runtime environment for remote objects Registry health monitoring + subscription/notification (bootstrap) directory services Event / Message Passing

24 O2S Architecture Health Notification Subscription

25 Component Structuring
Provides a framework for constructing, interconnecting, bundling (abstracting), and hotswapping sets of distributed modules. Some Implementations: Weaves [Gorlick91] O2S Components In SVN HEAD, but not in the current snapshot

26 O2S Model Synchronous Simple Environment Adaptable
Language and Platform Independent Asynchronous Parallel Low Performance Overhead

27 Implementation Environment
Plaforms MS Windows GNU/Linux Apple OS X – PowerPC and x86 Devices HP iPAQ Nokia Mobile Phones GumStix

28 Implementation Environment
Low-Level Networking Protocols TCP Sockets Bluetooth UDP Datagrams (SVN HEAD) RTP (Soon!)

29 Implementation Environment
Languages Python Java, C External Interfaces X10 home automation Galaxy VR & Flite TTS SIP VoIP + Asterisk (Soon!) AOL Instant Messenger

30 Questions? Day 1, Session 1, Part 3 July 2006 Quanta JustPlay Seminar
Justin Mazzola Paluska


Download ppt "O2S Components Framework"

Similar presentations


Ads by Google