Using GASP for collaborative Interaction within 3D Virtual Worlds Thierry Duval and David Margery IRISA - Siames.

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

Dead Reckoning Objectives – –Understand what is meant by the term dead reckoning. –Realize the two major components of a dead reckoning protocol. –Be capable.
Stereotypes Stereotypes provide the capability to create a new kind of modeling element. –They can be used to classify or mark modeling elements. –A type.
Visualization of Mobile Agents Project Update Ken Deeter CPSC 533C.
Adding Organizations and Roles as Primitives to the JADE Framework NORMAS’08 Normative Multi Agent Systems, Matteo Baldoni 1, Valerio Genovese 1, Roberto.
Activity Diagrams [Arlow and Neustadt, 2005] CS 425 / 625 Seminar on Software Engineering University of Nevada, Reno Department of Computer Science & Engineering.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Zero-programming Sensor Network Deployment 學生:張中禹 指導教授:溫志煜老師 日期: 5/7.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
CHEP04 - Interlaken - Sep. 27th - Oct. 1st 2004T. M. Steinbeck for the Alice Collaboration1/27 A Control Software for the ALICE High Level Trigger Timm.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
WSN Simulation Template for OMNeT++
February 12, 2009 Center for Hybrid and Embedded Software Systems Model Transformation Using ERG Controller Thomas H. Feng.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
Dynamic layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit.
Design Patterns academy.zariba.com 1. Lecture Content 1.What are Design Patterns? 2.Creational 3.Structural 4.Behavioral 5.Architectural 6.Design Patterns.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
QualNet 2014/05/ 尉遲仲涵. Outline Directory Structure QualNet Basic Message & Event QualNet simulation architecture Protocol Model Programming.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
Software Design Refinement Using Design Patterns Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1.eCognition Overview. 1 eCognition eCognition is a knowledge utilisation platform based on Active Knowledge Network technology eCognition covers the.
Modeling Process CSCE 668Set 14: Simulations 2 May be several algorithms (processes) runs on each processor to simulate the desired communication system.
Building Objects and Interactors for Collaborative Interactions with GASP Thierry Duval and David Margery IRISA - Siames.
Invitation to Computer Science 5 th Edition Chapter 6 An Introduction to System Software and Virtual Machine s.
Salim Hariri HPDC Laboratory Enhanced General Switch Management Protocol Salim Hariri Department of Electrical and Computer.
The NIProxy: a Flexible Proxy Server Supporting Client Bandwidth Management and Multimedia Service Provision Maarten Wijnants Wim Lamotte.
Distributed Virtual Environments Introduction. Outline What are they? DVEs vs. Analytic Simulations DIS –Design principles Example.
Attributed Visualization of Collaborative Workspaces Mao Lin Huang, Quang Vinh Nguyen and Tom Hintz Faculty of Information Technology University of Technology,
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
PARALLEL COMPUTING overview What is Parallel Computing? Traditionally, software has been written for serial computation: To be run on a single computer.
Distributed System Concepts and Architectures 2.3 Services Fall 2011 Student: Fan Bai
Welcome Experiences in the Use of MDA and UML in Developing NATO Standards 16 July 2008 Chris Raistrick, Kennedy KC.COM.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, University.
EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM
Lecture 12: Reconfigurable Systems II October 20, 2004 ECE 697F Reconfigurable Computing Lecture 12 Reconfigurable Systems II: Exploring Programmable Systems.
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
A user interface framework for Grid-based computational steering and visualization. Jason Wood*, Mark Riding and Ken Brodlie.
Chapter 1 Revealed Distributed Objects Design Concepts CSLA.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
INFSO-RI Enabling Grids for E-sciencE Using of GANGA interface for Athena applications A. Zalite / PNPI.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Gerhard Dueck -- CS3013Analysis 1. Gerhard Dueck -- CS3013Analysis 2 Why analysis?  Yield a more precise specification of the requirements.  Introduce.
Random Logic l Forum.NET l State Machine Mechanism Forum.NET 1 st Meeting ● December 27, 2005.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Microsoft Visual Basic 2015 CHAPTER ONE Introduction to Visual Basic 2015 Programming.
Chapter 1 Overview of UML for Java Programmers. 2 Outline Diagram Types Diagram Types Class Diagrams Class Diagrams Object Diagrams Object Diagrams Sequence.
Behavioral Interactive and Introspective Objects
Object-Oriented Analysis and Design
Unified Modeling Language
J. Michael, M. Shing M. Miklaski, J. Babbitt Naval Postgraduate School
Virtual Network Management
Dynamic Packet-filtering in High-speed Networks Using NetFPGAs
CSE 451: Operating Systems Winter Module 22 Distributed File Systems
Distributed File Systems
Distributed File Systems
CSE 451: Operating Systems Spring Module 21 Distributed File Systems
Distributed File Systems
CSE 451: Operating Systems Winter Module 22 Distributed File Systems
Design Yaodong Bi.
Distributed File Systems
Distributed File Systems
Information system analysis and design
Presentation transcript:

Using GASP for collaborative Interaction within 3D Virtual Worlds Thierry Duval and David Margery IRISA - Siames

Outline n GASP’s mission statement n GASP’s Framework n GASP’s run-time platform (Distributing a virtual world) n Sharing 3D virtual worlds n Interacting in 3D virtual worlds n Conclusion

Mission Statement n Enable the construction of virtual worlds êThat can be shared between users êWhose calculations can be distributed n Without having to deal with êNetwork programming ê3D visualisation ê3D interactions n By providing a complete framework êFor the programming of the entities populating the Virtual world

Framework - Overview n Based on an Object Oriented approach (C++) n Entities populating the virtual world are described by êan interface: the simulation object êa behaviour: the calculation object êa frequency at which the behaviour must be calculated n The virtual world is described by the entities populating it (configuration files)

Framework - Simulation Objects n They are the public interface of virtual entities êdescribe the outputs of the virtual entity : named and typed fields êdescribe the inputs known by construction so they can be connected to the outputs of other objects êdescribe control parameters (named and typed) than can be read and set by other objects position F1:Follower Followed positionposition F2:Follower Followed position

FC2:FollowerCalculFC1:FollowerCalcul Framework - Calculation Objects n Manages the creation and connection of the inputs of the entity n Read the inputs of the entity n Calculates and produces the outputs position F1:Follower Followed positionposition F2:Follower Followed position

Framework - Frequencies n Each object has it’s own frequency êThe connection between input and outputs is an abstract one for the programmer êInterpolation or extrapolation is fundamental to the framework êWhether the connection is local or uses a network is of no importance when the entity is written FC2:FollowerCalculFC1:FollowerCalcul position F1:Follower position F2:Follower Followed position 50hz25hz Followed position

GASP’s Distributed Run-Time Platform n Communication êHow are the data connections between entities implemented ? n Synchronisation êHow is the notion of frequency kept meaningful across a network of workstations ? n Consistency êHow is the virtual world kept coherent ?

Distribution - Communications FC2:FollowerCalcul FC1:FollowerCalcul position F1:Follower Followed position position F2:Follower Followed position 50hz 25hz Process A Process B position F1:Follower (Mirror)

Distribution - Synchronisation n A local controller is created on each node. n Basic algorithm : êProceed to simulation step of date T êWait for all controllers to have finished simulation step T êSend update values to distant mirrors. êWait for update values of local mirrors n Expensive synchronisation costs

Distribution - Synchronisation 2 n New algorithm (parameterised by latency) êProceed to simulation step of date T if all the update data of simulation step of date T-dt-latency from the other controllers is available (dt is the simulated time spent during one simulation step) êSend update values and repeat n Less time spent waiting as update values transit through the network during the calculations of a simulation step

Distribution - Consistency n Extrapolation of values avoids waiting for values n If latency is made to correspond to network latency, distribution doesn’t slow the simulation êideal view: time for the creation and copy of messages into the network subsystem buffers is taken on simulation time n Very little lag between the different machines

Visualizing 3D Virtual Worlds n Thanks to the « PsVisualization » entity: êit creates a visualization for each entity derivating from « PsGeoMeca » êit is based upon the SGI Performer 3D graphic library

Classes of the Framework PsGeoMeca PsObjetSimulPsCalcul 10..n

“The Train”

Inheritance for Visualization PsGeoMeca Follower FollowerCalcul PsObjetSimulPsCalcul 10..n 11

Sharing 3D Virtual Worlds n By instancing several « PsVisualizations » êinteractive visualizations… êappropriate interactors... n By distributing these entities upon several workstations êthanks to our kernel distribution possibilities

F8:Follower F7:Follower F6:Follower F5:Follower F4:Follower F3:Follower Single Process Simulation F2:Follower F1:Follower V1:Visualization Node 1

mF8:Follower mF7:Follower mF6:Follower mF5:Follower mF4:Follower mF3:Follower mF2:Follower mF1:Follower Delegated Visualization F8:Follower F7:Follower F6:Follower F5:Follower F4:Follower F3:Follower F2:Follower F1:Follower Node 1 V1:Visualization Node 2

mF8:Follower mF7:Follower mF6:Follower mF5:Follower mF4:Follower mF3:Follower mF2:Follower mF1:Follower Distribution F4:Follower F3:Follower F2:Follower F1:Follower Node 1 V1:Visualization Node 3 F8:Follower F7:Follower F6:Follower F5:Follower mF4:Follower Node 2

F4:Follower mF1:Follower F3:Follower mF1:Follower F2:Follower mF1:Follower F1:Follower F8:Follower mF7:Follower F6:Follower mF5:Follower F4:Follower mF3:Follower F2:Follower mF1:Follower mF8:Follower mF7:Follower mF6:Follower mF5:Follower mF4:Follower mF3:Follower mF2:Follower mF1:Follower (unefficient) Distribution Node 1 V1:Visualization Node 3 Node 2

Typical Collaborative Simulation F4:Follower F3:Follower F2:Follower F1:Follower Node 1 mF8:Follower mF7:Follower mF6:Follower mF5:Follower mF4:Follower mF3:Follower mF2:Follower mF1:Follower V1:Visualization Node 3 F8:Follower F7:Follower F6:Follower F5:Follower mF4:Follower Node 2 mF8:Follower mF7:Follower mF6:Follower mF5:Follower mF4:Follower mF3:Follower mF2:Follower mF1:Follower V2:Visualization Node 4

Interacting within Virtual Worlds n By adding « Interactors » entities: ênew entities that provide outputs for interaction êexisting entities specialized to provide such outputs n By linking these outputs to some inputs: êof existing entities ready for interaction êof specialized entities that have been made interactive using inheritance (and genericity) and then adding dynamically new inputs to them

“The Interactive Train”

Asking for Interaction FC1:FollowerCalcul FC2:FollowerCalcul FC8:FollowerCalcul position F1:Follower position F8:Follower InteractorCalcul positionF1 positionF2 Interactor positionF3 positionF4 positionF6 positionF5 positionF8 positionF7 position F7:Follower... mousePosition followedPosition Ask for control taking User event

FC1:FollowerCalcul FC2:FollowerCalcul FC8:FollowerCalcul CFC8:ControllableFollowerCalcul Accepting Interaction position F1:Follower position F8:Follower InteractorCalcul positionF1 positionF2 Interactor positionF3 positionF4 positionF6 positionF5 positionF8 positionF7 position F7:Follower... position mousePosition Accept the control taking followedPosition

Inheritance for Interaction ControllableFollowerControllableFollowerCalcul PsGeoMeca FollowerFollowerCalcul PsObjetSimulPsCalcul 10..n

Conclusion n GASP ensures its mission statements: êit enables the construction of virtual worlds: that can be shared between users whose calculations can be distributed êwithout having to deal with: network programming 3D visualisation 3D interactions êby providing a complete framework: for the programming of the entities

Ongoing Work n Improving the distribution: êperformances (PVM, …) êparadigms (duplicated objects) n Improving the interaction: êadding more interactors êmaking objects interactive more easily

Virtual Museum