Polaris Server Code: Java Implementation for TINI Andrew A. Kitchen Kevin Wiehe Computer Integrated Surgery 8 March 2001.

Slides:



Advertisements
Similar presentations
Remote Visualisation System (RVS) By: Anil Chandra.
Advertisements

Executional Architecture
Polaris Server Code: Java Implementation for TINI Andrew A. Kitchen Kevin Wiehe Computer Integrated Surgery 11 May 2001.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
Implementing Remote Procedure Calls Andrew Birrell and Bruce Nelson Presented by Kai Cong.
TINI/CORBA ORB Checkpoint Presentation Walter Leung Michael Wortley.
VxWorks Real-Time Kernel Connectivity
Remote Method Invocation
Computer Monitoring System for EE Faculty By Yaroslav Ross And Denis Zakrevsky Supervisor: Viktor Kulikov.
Technical Architectures
David Adams ATLAS DIAL Distributed Interactive Analysis of Large datasets David Adams BNL March 25, 2003 CHEP 2003 Data Analysis Environment and Visualization.
DISTRIBUTED FILE SYSTEM USING RMI
BUNI (Bluetooth Universal Navigation Interface) Design Team: Ben Doherty (Manager) Jeremy Gummeson Chris Campetti Phil Murray Faculty Advisor: Lixin Gao.
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Event Application Using Pushlets by Patricia Ferrao December, 2002.
System for Engine Location Of a Web Train Paul Wimmer and Adam Weintrop Dr. Irwin and Dr. Schertz 4/3/06.
INTERNET DATABASE Chapter 9. u Basics of Internet, Web, HTTP, HTML, URLs. u Advantages and disadvantages of Web as a database platform. u Approaches for.
Design and Development of High Performance PC Based Logic Analyzer MSc Project by Rab Nawaz Advisor: Dr. Shahid Masud.
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
Octopus system1 Moshe Tocker Avihai Mejer. Octopus system2 The Octopus system Goal The system’s primary goal is to Measure performance parameters in real.
Design and Implementation of a Virtual Reality Glove Device Final presentation – winter 2001/2 By:Amos Mosseri, Shy Shalom, Instructors:Michael.
Multiple Tiers in Action
ECE 4220 Real Time Embedded Systems Final Project Presentation Spring 2014 University of Missouri Columbia By: Michael Brauch Temperature Data Logger.
TENA Test and Training Enabling Architecture. TENA TENA is used in range environments, often in the L portion of LVC Slightly different emphasis; small.
Presented By: Ayelet Birnbaum Yael Kazaz Supervisor: Viktor Kulikov 07/05/12.
CSIT 320 (Blum)1 Client-Server Interaction Based on Appendix 1 in Computer Networks and Internets, Comer.
Interconnection Protocol Mustafa Kara Term Work.
Applets & Servlets.
Common Object Request Broker Architecture (CORBA) CS-328.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
ITIS 1210 Introduction to Web-Based Information Systems Chapter 23 How Web Host Servers Work.
NATIONAL INSTITUTE OF SCIENCE & TECHNOLOGY Presented by: Santosh kumar Swain Technical Seminar Presentation by SANTOSH KUMAR SWAIN Roll # CS
Department of Electronic Engineering NUIG A Bluetooth and Ethernet Control System for Home Entertainment Devices By: Shane Long Supervisor: Mr. Frank Callaly.
Cli/Serv.: rmiCORBA/131 Client/Server Distributed Systems v Objectives –introduce rmi and CORBA , Semester 1, RMI and CORBA.
By Matt Deakyne, Adam Krasny, and Derek Meek. History of ICE ICE stands for Internet Communications Engine Object-oriented middleware allowed programmers.
REVIEW On Friday we explored Client-Server Applications with Sockets. Servers must create a ServerSocket object on a specific Port #. They then can wait.
Implementing Remote Procedure Calls Authored by Andrew D. Birrell and Bruce Jay Nelson Xerox Palo Alto Research Center Presented by Lars Larsson.
New features for CORBA 3.0 by Steve Vinoski Presented by Ajay Tandon.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
4BP1 Electronic & Computer Engineering Paul Gildea th Year Interim Project Presentation.
A Distributive Server Alberto Pareja-Lecaros. Introduction Uses of distributive computing - High powered applications - Ever-expanding server so there’s.
Android Security Model that Provide a Base Operating System Presented: Hayder Abdulhameed.
Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved Chapter 43 Remote Method Invocation.
Using a simple Rendez-Vous mechanism in Java
Distributed Architectures for Medical Systems Andrew A. Kitchen Computer Integrated Surgery 8 March 2001.
Application Development
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Web Services Using Visual.NET By Kevin Tse. Agenda What are Web Services and Why are they Useful ? SOAP vs CORBA Goals of the Web Service Project Proposed.
Remote Method Invocation by James Hunt, Joel Dominic, and Adam Mcculloch.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Hanging Messages - MLE January 2001 Emily L. Chang - Software Agents Group - MLE January 2001.
438 labs. Labs Lab 1: Refreshing C and Linux Programming 2 Lab 1: Refreshing C and Linux Programming 2 – First: Getting familiar with development.
CSE 434: Computer Networks Project Single vs. Per Connection vs. Pooling Threading Techniques Dominic Hilsbos, Dorothy Johnson, Chris Volpe, Andy Wong,
WebScan: Implementing QueryServer 2.0 Karl Geiger, Amgen Inc. BRS NA UG August 1999.
Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved Chapter 29 Remote Method.
Remote Method Invocation Internet Computing Workshop Lecture 17.
Java Distributed Computing
Java Distributed Object System
Project Center Use Cases Revision 2
Distributed Computing
Java Distributed Computing
Remote Method Invocation
Project Center Use Cases Revision 3
Project Center Use Cases Revision 3
DUCKS – Distributed User-mode Chirp-Knowledgeable Server
Multiple Processor Systems
Presentation transcript:

Polaris Server Code: Java Implementation for TINI Andrew A. Kitchen Kevin Wiehe Computer Integrated Surgery 8 March 2001

Plan of Attack Brief outline of Polaris Server Code Project Implementation Overview Progress Thus Far Revised Plan of Action Particular Problems Encountered Dependencies

Polaris Server Code: Java Implementation for TINI Creation of Server (and Client) code for distributed control of a Polaris Tracker device—in Java for the TINI device

The Polaris Device Efficient Optical Tracker Communicates via an RS232 port Already has C++ code written for it It is available in the ERC and is vital for other ERC endeavors

The TINI Device Communicates via an RS232 port & an Ethernet port Dedicated board with sufficient RAM & speed Runs JAVA Cheap & Small

Plan of Attack Brief outline of Polaris Server Code Project Implementation Overview Progress Thus Far Revised Plan of Action Particular Problems Encountered Dependencies

JacOrb Server Client Polaris Tracker IDL Stub TINI Device Information Flow Through Polaris Server / Client Ethernet RS-232 Outside the LabIn the Lab

Single Threaded Approach Client TINI (Server) Polaris Client sends a request(a Polaris command) to TINI using CORBA 2.TINI handles the request in CORBA and sends it to Polaris in ASCII via RS TINI listens to the serial port waiting for a response from Polaris that it received the request, and any data the request solicited. 4.TINI translates the Polaris response into CORBA and passes it on to the Client. Client receives a response to its initial request.

Double Threaded Approach Client TINI (Server) Polaris 1 2 . TINI continuously queries Polaris and stores all data in a database residing in TINI. Client sends a request(a Polaris command) to TINI using CORBA 2.Given that all real time information is now stored on TINI, TINI can send back the response to the initial request. 

Plan of Attack Brief outline of Polaris Server Code Project Implementation Overview Progress Thus Far Revised Plan of Action Particular Problems Encountered Dependencies

Deliverables I.Minimum: I.Server code that implements Config(), LoadTool(tool), Init(), getToolFrame() and getToolPos() methods II.A Client that will demonstrate these methods in a distributed environment III.A single threaded server implementation II.Maximum: I.Server code that implements all Polaris functions (loading and tracking multiple tools, tracking both passively and actively, etc.) II.A multi-threaded implementation of the server code III.Ability to scale well with multiple clients (multi-threaded implementation?)

2 – 12 March: Dissect & Study the C++ Tracker Reference Model 12 March: Begin Porting C++ Tracker Reference Model to Embedded Java 12 March:Define interaction of server IDL and JacOrb 26 March:Begin writing server code 15 April:Begin re-writing basic functions, such as setConfig() & getTool() in Embedded Java 22 April:Begin writing simple client 30 April:Complete Project (implementation of server and simple client) Original Project Timeline

Plan of Attack Brief outline of Polaris Server Code Project Implementation Overview Progress Thus Far Revised Plan of Action Particular Problems Encountered Dependencies

2 – 12 March: Dissect & Study the C++ Tracker Reference Model 12 March:Define interaction of server IDL and JacOrb 26 March:Begin writing server code *3 April:Began serial port coding 9 April:Begin re-writing basic functions, such as setConfig() & getTool() in Embedded Java *22 April:Complete serial port code *22 April:Begin testing server code on Polaris Device *29 April:Complete server code 29 April:Begin writing simple client 11 May:Complete Project (implementation of server and simple client) Black = done; Blue = future; Red = future & delayed; * = new Revised Project Timeline

Plan of Attack Brief outline of Polaris Server Code Project Implementation Overview Progress Thus Far Revised Plan of Action Particular Problems Encountered Dependencies

What’s the Problem? I. We had difficulty implementing the serial port control code I.Java JDK1.3 doesn’t contain the necessary libraries for serial port control I.Solution: Get Java.Comm library from Sun II.Does the TINI support the Java.Comm library? I.Solution: We aren’t sure, but it is small, so we can port it to the TINI board if we have to—no problem.

Plan of Attack Brief outline of Polaris Server Code Project Implementation Overview Progress Thus Far Revised Plan of Action Particular Problems Encountered Dependencies

Internal Dependencies I.Working serial port code I.Effectively done – 22 April 2001 II.Basic Server code III.(Distributed Control?) IV.Client code

I.Access to TINI Device – focus of project I.Currently accessible in ERC II.Access to Polaris Tracker - needed to effectively test the server code I.Thesis work of Adam Morris & Andy Bzostek – done 20 April III.TINI JacOrb Implementation- needed for maximum deliverable, this dependency must be met I.Mike Wortley & Walter Leung’s Project External Dependencies