Marcelo de Paiva Guimarães Bruno Barberi Gnecco Marcelo Knorich Zuffo

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

Threads, SMP, and Microkernels
Operating System.
Components of GIS.
Christian Delbe1 Christian Delbé OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis November Automatic Fault Tolerance in ProActive.
Introduction To Java Objectives For Today â Introduction To Java â The Java Platform & The (JVM) Java Virtual Machine â Core Java (API) Application Programming.
Brief Introduction to Java and C# Dahai Guo Oracle Certified Java Programmer (SCJP) Associate Professor and Program Director Software Engineering Program.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
The road to reliable, autonomous distributed systems
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
Visual Solution to High Performance Computing Computer and Automation Research Institute Laboratory of Parallel and Distributed Systems
Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
DEPARTMENT OF COMPUTER ENGINEERING
ANDROID OPERATING SYSTEM Guided By,Presented By, Ajay B.N Somashekar B.T Asst Professor MTech 2 nd Sem (CE)Dept of CS & E.
UNIX Chapter 01 Overview of Operating Systems Mr. Mohammad A. Smirat.
Using Tweek to Create Graphical User Interfaces in Virtual Reality Patrick Hartling IEEE VR 2003.
1 Component Description Alice 3d Graphics Software Human Computer Interaction Institute Carnegie Mellon University Prepared by: Randy Pausch,
Chapter 6: An Introduction to System Software and Virtual Machines
–Streamline / organize Improve readability of code Decrease code volume/line count Simplify mechanisms Improve maintainability & clarity Decrease development.
Overview of Computer Graphics Chapter 1. Bird’s Eye View  Overview of Computer Graphics –Basic concept of computer graphics, system, programming platforms,
What is R By: Wase Siddiqui. Introduction R is a programming language which is used for statistical computing and graphics. “R is a language and environment.
Sikuli Ivailo Dinkov QA Engineer PhoneX Team Telerik QA Academy.
So just what is the Sedona Framework? –The Framework is an embedded device programming and control environment with two major facets –Open Source Free.
Technology Overview. Agenda What’s New and Better in Windows Server 2003? Why Upgrade to Windows Server 2003 ?  From Windows NT 4.0  From Windows 2000.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
CHAPTER FOUR COMPUTER SOFTWARE.
ICOM Noack Operating Systems - Administrivia Prontuario - Please time-share and ask questions Info is in my homepage amadeus/~noack/ Make bookmark.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 14, 2005 Operating System.
Introduction to Interactive Media Interactive Media Tools: Software.
Why Java? A brief introduction to Java and its features Prepared by Mithat Konar.
ISYS 573 Special Topic – VB.Net David Chao. The History of VB Early 1960s:BASIC-Beginner’s All-Purpose Symbolic Instruction Code –Teaching –Simple syntax,
1 Haptic Systems Mohsen Mahvash Lecture 4 12/1/06.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Chapter 2 Operating System Overview
Invitation to Computer Science 5 th Edition Chapter 6 An Introduction to System Software and Virtual Machine s.
INVITATION TO COMPUTER SCIENCE, JAVA VERSION, THIRD EDITION Chapter 6: An Introduction to System Software and Virtual Machines.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
HP Overview. HP Overview is a family of integrated network and system management solution for managing the complete IT enterprises, including networks,
Achieving High Software Reliability Using a Faster, Easier and Cheaper Method NASA OSMA SAS '01 September 5-7, 2001 Taghi M. Khoshgoftaar The Software.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
A Summary of the Distributed System Concepts and Architectures Gayathri V.R. Kunapuli
Grid-based Collaboration in Interactive Data Language Applications Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University,
Getting started with Programming using IDE. JAVA JAVA IS A PROGRAMMING LANGUAGE AND A PLATFORM. IT CAN BE USED TO DELIVER AND RUN HIGHLY INTERACTIVE DYNAMIC.
X-WindowsP.K.K.Thambi The X Window System Module 5.
ICMC 2004 – Nov. 5 1 Andante: Composition and Performance with Mobile Musical Agents Leo Kazuhiro Ueda Fabio Kon
Model View Controller MVC Web Software Architecture.
An Architecture to Support Context-Aware Applications
CPSC 171 Introduction to Computer Science System Software and Virtual Machines.
Vizard Virtual Reality Toolkits Vizard Virtual Reality Toolkits.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Java Example Presentation of a Language. Background Conception: Java began as a language for embedded processors in consumer electronics, such as VCR,
A Remote Collaboration Environment for Protein Crystallography HEPiX-HEPNT Conference, 8 Oct 1999 Nicholas Sauter, Stanford Synchrotron Radiation Laboratory.
Ubiquitous Access for Collaborative Information System Using SVG July Sangmi Lee, Geoffrey Fox, Sunghoon Ko, Minjun Wang, Xiaohong Qui
Building Virtual Environments that are Reconfigurable, Scalable, Extensible Lance Arsenault John Kelso University Visualization and Animation Group
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
August 21, 2002 Command and Control Visualization NAVCIITI Tasks 2.1a & 2.1b.
What is O.S Introduction to an Operating System OS Done by: Hani Al-Mohair.
Java to C++: What would be needed ? Norman Graf (SLAC) ILC-CLIC Software, CERN May 28, 2009.
Java State Explorer by: Richard Sherman Stephanie Taylor.
 Can access all API’s made available by OS vendor.  SDK’s are platform-specific.  Each mobile OS comes with its own unique tools and GUI toolkit.
Chapter 5 Operating Systems.
.NET Omid Darroudi.
Project Target Develop a Web Based Management software suit that will enable users to control Hardware using standard HTTP & Java Applet compatible web.
Spark Presentation.
Introduction to .NET Framework Ch2 – Deitel’s Book
Introduction to Operating System (OS)
Chapter 1: Introduction
Chapter 2: System Structures
Presentation transcript:

Marcelo de Paiva Guimarães Bruno Barberi Gnecco Marcelo Knorich Zuffo Integrated Systems Laboratory Polytechnic School - University of São Paulo - Brazil 2004 Graphical Interaction Devices for Distributed Virtual Reality Systems

Introduction The contribution of the present research project is to simplify the design of graphical interfaces and their interaction with the VR application The contribution of the present research project is to simplify the design of graphical interfaces and their interaction with the VR application –freeing the designer from having to know all the details of the individual technologies, and to use PDAs as interaction device No programming knowledge from the GUI designer No programming knowledge from the GUI designer

Introduction The PDA application communicates transparently with a cluster, via any underlying network system, which processes the events and maintains the synchrony of the rendered images in real-time The PDA application communicates transparently with a cluster, via any underlying network system, which processes the events and maintains the synchrony of the rendered images in real-time the interface and its configuration can be changed at run-time the interface and its configuration can be changed at run-time This solution is part of Glass This solution is part of Glass

What is Glass? A library for distributed computing A library for distributed computing –Extensible and flexible –Portable and interoperable –Easy to use and learn: transparent –High performance –Network protocol independent –Reliable and fault tolerant –Completely thread safe

Overview Written in C++ Written in C++ –Easy to interface with C, C++, Java, etc All functionality is provided by plugins All functionality is provided by plugins Glass core provides internal functionality Glass core provides internal functionality –Network system –Plug-in management (Barriers, Events,Alias...) –Node management Fault tolerant Fault tolerant –If a node dies, Glass detects and deals with it. –Computation does not stop –Deadlocks are prevented

PDA Editor Born from desire to control our CAVE with a PDA Born from desire to control our CAVE with a PDA Glass runs in PDA Glass runs in PDA Editor generates GUI in a straightforward, graphical way Editor generates GUI in a straightforward, graphical way –No programming knowledge required

PDA Editor Code is generated automatically Code is generated automatically –Programmer has only to write an event handler Interface is in Java Interface is in Java –Run it anywhere: PDA or desktop

PDA Editor:

PDA Applicaton: screenshot All input are propagated as asynchronous events, which can be either polled or handled by callbacks on the application. There’s no limit to the number of PDAs that can be used simultaneously in an application Each PDA may be controlling a different vehicle, or the participants may share a GUI and work collectively on a project.

The PDA is a cluster node Glass is used underneath Glass is used underneath –To Glass, the PDA is just another node

PDA software layers Application Java Java Virtual Machine JNI Glass Operational System (Linux, Windows CE, Windows)

Celestia Application

Cathedral Application

Conclusions PDAs PDAs –improve the user interaction in immersive environments –can be used to control the VR system itself running applications running applications controlling lights and projectors, etc controlling lights and projectors, etc –It’s an efficient way to manipulate large volumes of data –the user is already familiar with the GUI approach used

Conclusions The tool for designing GUIs presented The tool for designing GUIs presented –which generates code automatically, requiring no knowledge of computer programming from the user The interface runs on Java, which has the advantage of easy portability to any platform The interface runs on Java, which has the advantage of easy portability to any platform The routine for treatment of events on the main application is also generated automatically The routine for treatment of events on the main application is also generated automatically

Conclusions The interface integrates directly with the main application, which is running on a cluster. The interface integrates directly with the main application, which is running on a cluster. As future work, we plan to enhance GUIs to be multimedia, including animations and sounds As future work, we plan to enhance GUIs to be multimedia, including animations and sounds