Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.