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

Slides:



Advertisements
Similar presentations
IEEE INFOCOM 2004 MultiNet: Connecting to Multiple IEEE Networks Using a Single Wireless Card.
Advertisements

IT in the Real World A look at IT in a Fortune 500 company Ed Nelson.
COM vs. CORBA.
TCP/IP MODEL Maninder Kaur
M. Muztaba Fuad Masters in Computer Science Department of Computer Science Adelaide University Supervised By Dr. Michael J. Oudshoorn Associate Professor.
Lab7: Introduction to Arduino
8 April Doors Network Configuration Parameters (Single Site Mode)
Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007.
Team 7 / May 24, 2006 Web Based Automation & Security Client Capstone Design Advisor Prof. David Bourner Team Members Lloyd Emokpae (team Lead) Vikash.
TINI/CORBA ORB Checkpoint Presentation Walter Leung Michael Wortley.
Developers: Alexey Rastvortsev, Ilya Kolchinsky Supervisors: Roy Friedman, Alex Kogan.
Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
Handheld TFTP Server with USB Andrew Pangborn Michael Nusinov RIT Computer Engineering – CE Design 03/20/2008.
Web Based Home Entertainment Center Remote Midterm Presentation Group 8 Josh McJilton Jose Guzman Edgar Ortiz.
490dp Introduction Robert Grimm. The Computer for the 21 st Century “The most profound technologies are those that disappear. They weave themselves into.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
CS490T Advanced Tablet Platform Applications Network Programming Evolution.
Introduction to Remote Method Invocation (RMI)
TENA Test and Training Enabling Architecture. TENA TENA is used in range environments, often in the L portion of LVC Slightly different emphasis; small.
Lecture 8 Epidemic communication, Server implementation.
Sybex CCENT Chapter 13: Network Address Translation Instructor & Todd Lammle.
COMPUTER TERMS PART 1. COOKIE A cookie is a small amount of data generated by a website and saved by your web browser. Its purpose is to remember information.
Interconnection Protocol Mustafa Kara Term Work.
NETWORK CENTRIC COMPUTING (With included EMBEDDED SYSTEMS)
Student Companion - Final Project Presentation Members in Sweden: Andreas Drake Asad Saleem Muhammad Usman Ghani Robert Lundquist Vasilis.
Bi-Directional RF Data Communication A Robot Control Device Team BDRFC.
BY SAGAR SINHA SAPTARSHI BAKSHI SARTHAK JAIN SHAILZA CHAUDHARY
Simple Mail Transfer Protocol (SMTP)
 Introduction to Operating System Introduction to Operating System  Types Of An Operating System Types Of An Operating System  Single User Single User.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
PC Maintenance: Preparing for A+ Certification Chapter 24: Modems.
1 Bandwidth Kevin Morrison Management Information Systems MWF 1-1:50pm.
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.
UNIX JIN GUO 08/30/00. AGENDA 1.Creation of Unix 2.Unix Uniqueness 3.Unix Architecture 4.Unix Application 5.Unix Security 6.Unix & Web.
Embedded Stroke Evaluation System Amanda Sweeney, 4ECE Supervisor: Dr. Martin Glavin.
Department of Electronic Engineering NUIG A Bluetooth and Ethernet Control System for Home Entertainment Devices By: Shane Long Supervisor: Mr. Frank Callaly.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Outline Overview Video Format Conversion Connection with An authentication Streaming media Transferring media.
Csi315csi315 Client/Server Models. Client/Server Environment LAN or WAN Server Data Berson, Fig 1.4, p.8 clients network.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Information Flow Across the Internet. What is the Internet? A large group of computers that link together to form the Worldwide Area Network (WAN)
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
RMI remote method invocation. Traditional network programming The client program sends data to the server in some intermediary format and the server has.
MultiModality Registration Using Hilbert-Schmidt Estimators By: Srinivas Peddi Computer Integrated Surgery II April 27 th, 2001 Final Presentation.
© 2007 Ideal Industries 1 of 32 Intro To Ideal 800 Power Analyzer Basics of IDEAL Industries 800 Series Power Analyzer.
Smart Parking System PREPARED BY : GHADEER AQRAA AND MARAH JABER.
Distributed Architectures for Medical Systems Andrew A. Kitchen Computer Integrated Surgery 8 March 2001.
Slide 1 Project 1 Task 2 T&N3311 PJ1 Information & Communications Technology HD in Telecommunications and Networking Task 2 Briefing The Design of a Computer.
T Iteration Demo BitPlayers I1 Iteration
Automated Time Tracking From proposal to production By Chris Gaffney.
Polaris Server Code: Java Implementation for TINI Andrew A. Kitchen Kevin Wiehe Computer Integrated Surgery 8 March 2001.
4000 Imaje 4020 – Connectivity Imaje 4020 – Content Content of Chapter Connectivity: 1. Interfaces 2. Serial connections 3. Ethernet connection.
Remote Method Invocation by James Hunt, Joel Dominic, and Adam Mcculloch.
24 Feb 2009ITCN 1 Introduction to Computer Networking M Clements.
FlowLevel Client, server & elements monitoring and controlling system Message Include End Dial Start.
Ch. 23, 25 Q and A (NAT and UDP) Victor Norman IS333 Spring 2015.
PREPARING FOR APRIL 15 JUDGING Nancy Goodman, Pace MBA Citibank VP, retired.
A service Oriented Architecture & Web Service Technology.
Serial / Ethernet Converter - IE-CS-2TX-XRS232/485
Java Distributed Computing
One-Stop Solution for Device Networking
Outline SOAP and Web Services in relation to Distributed Objects
Java Distributed Computing
LCGAA nightlies infrastructure
Outline SOAP and Web Services in relation to Distributed Objects
Prepared by :Adeel Ahmad
Network programming Lecture 1 Prepared by: Dr. Osama Mokhtar.
Presentation transcript:

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

Presentation Outline Project Overview Problems and Dependencies Deliverables Schedule What we’ve learned The Near and Distant Future

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 Hardware

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

Server Client Completely abstract Polaris Tracker Not actual size TINI Device Actual size Actual Information Flow Through Polaris Server / Client Ethernet (TCP) RS-232 (Null – Straight) In the LabAcross the Lab

Java Polaris Tracker Class 1.Init() – send serial break to reset Polaris and initialize 2.Config() – set Communication baud rate, number of bytes sent, etc. 3.GetTransformation(tool)- return Quarternian representing translation and rotation of tool, return RMS error. 4.PolarisStatus()– returns status of tools in ports 5.Start/StopTracking() – begin or end tracking mode

Presentation Outline Project Overview Problems and Dependencies Deliverables Schedule What we’ve learned The Near and Distant Future

Dependencies 1.External A.Access to TINI – Fulfilled. B.Access to Polaris – Partially Fulfilled. C.JacORB ported to TINI – Will Not Be Fulfilled. 2.Internal A.Working Java serial port code – Fulfilled. B.Basic Polaris server code – Mostly Fulfilled. C.Distributed Control with TCP – Will Be Fulfilled. D.Client code – Will Be Fulfilled.

What’s the Problem? 1.Controlling the TINI serial port A.The TINI won’t send data across the serial port Straight serial cable vs. Null modem cable B.The TINI refuses to allow control of the serial port Acquiring ownership of serial port from native TINI control required root access, which was granted by Dr. Koontz C.The documentation / support for TINI is horrendous—directed toward interest groups. Nowhere to turn to for quick answers Forced to troll mailing lists 2.Polaris Issues A.Loading passive tools proved too difficult Using active tools proved to be simple B.Access to Polaris was delayed Complete and unfettered access to Polaris since 27 April

Presentation Outline Project Overview Problems and Dependencies Deliverables Schedule What we’ve learned The Near and Distant Future

Projected Deliverables I. Minimum: Server code that implements Config(), LoadTool(tool), Init(), getToolFrame() and getToolPos() methods A Client that will demonstrate these methods in a distributed environment 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?)

Actual Deliverables I. Achieved: Single-threaded server code that implements Config(), Init(), getToolTranformation(), PolarisStatus(); for active markers. Basic serial communications with TINI. II. Will Be Achieved: Server code ported to TINI board. Simple client created to work across network using TCP. III. By the Way-side: Multi-threaded implementation. Client – Server communication using CORBA (either on TINI or on a PC).

Presentation Outline Project Overview Problems and Dependencies Deliverables Schedule What we’ve learned The Near and Distant Future

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

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

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 27 April:Begin testing server code on Polaris Device 8 May:Complete server code 13 May:Begin writing simple client 17 May:Complete Project (implementation of server and simple client) Black = done; Red = future & delayed Re - Revised Project Timeline

Presentation Outline Project Overview Problems and Dependencies Deliverables Schedule What we’ve learned The Near and Distant Future

What We’ve Learned – Technical More Java & Embedded Java than we thought existed Serial cable communications Server – client relationships Intimately acquainted with Polaris interface Enough CORBA to become intrigued by it

What We’ve Learned – Logistical Project Management –Communicate all the time! –Checkpoints! Checkpoints! Checkpoints! –Be a pessimist! “Expect the best; but be prepared for the worst.”—Kevin “All hope abandon, ye who enter here”—Drew Murphy’s Law –Something is always missing / there are always setbacks

What We’ve Learned – ERC Style Always have root access to your server. Your mentor(s) will always be busy. –If he leaves for the APL, make him come back for meetings –If his thesis is due, give him room, but he will always be in the lab! Don’t be afraid to ask other students for help. Speak-up! People will listen and help if you do. Try to get a CIS computer account—it saves lots of trouble. The ERC is busiest at night—after 11pm. Pizza on Wednesdays! Lectures too. It pays to have a soldering champ as a friend. (Thank you Darius!)

Presentation Outline Project Overview Problems and Dependencies Deliverables Schedule What we’ve learned The Near and Distant Future

Future Technologies Taking it the extra step Distributed control using CORBA –CORBA appears to be the cutting edge technology that promises the most in terms of future development. It claims to be easy to use and to integrate into existing programs and to make client-server communications using objects much easier than they currently are. Unfortunately, this doesn’t seem to be the case today. Hot-swappable and universal standards of communication –This would make it easier to work interfacing various devices. It would make using an intermediary such as TINI obsolete; devices could be connected directly to a network.

In the very near future We will deliver the ERC a client program that logs into a server on a TINI that controls a Polaris remotely.