Distributed Virtual Environment and Simulation Package Stephen Lawrence

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

Introduction to Macromedia Director 8.5 – Lingo
OPERATING SYSTEMS PROCESSES
More on Processes Chapter 3. Process image _the physical representation of a process in the OS _an address space consisting of code, data and stack segments.
Module R2 CS450. Next Week R1 is due next Friday ▫Bring manuals in a binder - make sure to have a cover page with group number, module, and date. You.
Distributed System Structures Network Operating Systems –provide an environment where users can access remote resources through remote login or file transfer.
Parallel and Distributed Simulation Lookahead Deadlock Detection & Recovery.
Lookahead. Outline Null message algorithm: The Time Creep Problem Lookahead –What is it and why is it important? –Writing simulations to maximize lookahead.
More on protocol implementation Version walks Timers and their problems.
ZEIT2301 Design of Information Systems Behavioural Design: State Machines School of Engineering and Information Technology Dr Kathryn Merrick.
Introduction to Windows Programming. First Windows Program This program simply displays a blank window. The following code is the minimum necessary to.
Time Management in the High Level Architecture. Outline Overview of time management services Time constrained and time regulating federates Related object.
RTI: Federation Management Stephen c. Ulrich jr
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Multi-criteria infrastructure for location-based applications Shortly known as: Localization Platform Ronen Abraham Ido Cohen Yuval Efrati Tomer Sole'
Prometheus Design Tool (CAFnE Extension) v0.1: WeatherApplication.pd PDT/CAFnE Workspace is organized into four main panes Component Descriptor pane contains.
Midterm Presentation 24/05/04 Virtual Traffic Signal Presented by: Ron Herman Ofir Shentzer Instructor: Mr. Mony Orbach Technion – Israel Institute Of.
CS320n –Visual Programming Interactive Programs Mike Scott (Slides 5-1)
Use Case Analysis – continued
Final (Part A) Presentation 31/10/04 Virtual Traffic Signal Presented by: Ron Herman Ofir Shentzer Instructor: Mr. Mony Orbach Technion – Israel Institute.
1 Distributed Systems: Distributed Process Management – Process Migration.
Domain Modeling (with Objects). Motivation Programming classes teach – What an object is – How to create objects What is missing – Finding/determining.
The chapter will address the following questions:
CPT 140 Programming Constructs1 OBJECT ORIENTED TECHNOLOGY Terminology and Basic Concepts.
QualNet 2014/05/ 尉遲仲涵. Outline Directory Structure QualNet Basic Message & Event QualNet simulation architecture Protocol Model Programming.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Parallel and Distributed Simulation FDK Software.
Welcome to CIS 083 ! Events CIS 068.
16 Services and Broadcast Receivers CSNB544 Mobile Application Development Thanks to Utexas Austin.
LiveCycle Data Services Introduction Part 2. Part 2? This is the second in our series on LiveCycle Data Services. If you missed our first presentation,
Utterly Useless Widget creating your own Chameleon widget...
Deceit System This overview is meant to provide a coherent understanding of the Deceit System and Engine. The distribution of clients and servers, the.
C H A P T E R T E N Event-Driven Programming Programming Languages – Principles and Paradigms by Allen Tucker, Robert Noonan.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Introduction to Concurrency.
The High Level Architecture Introduction. Outline High Level Architecture (HLA): Background Rules Interface Specification –Overview –Class Based Subscription.
Parallel and Distributed Simulation Distributed Virtual Environments (DVE) & Software Introduction.
A university for the world real R © 2009, Chapter 9 The Runtime Environment Michael Adams.
Sensor Network Simulation Kevin Driver, Russell Glasser, Oswin Housty.
Games Development 2 Overview & Entity IDs and Communication CO3301 Week 1.
Games Development Game Architecture: Entities CO2301 Games Development 1 Week 22.
The Abstract Window Toolkit (AWT) supports Graphical User Interface (GUI) programming. AWT features include: a rich set of user interface components; a.
CSCI-383 Object-Oriented Programming & Design Lecture 12.
Framework of a Simulation Based Shop Floor Controller Using HLA Pramod Vijayakumar Systems and Industrial Engineering University of Arizona.
Module 4: Configuring Active Directory Sites and Replication.
Jini Architecture Introduction System Overview An Example.
Copyrighted material John Tullis 12/16/2015 page 1 04/08/00 MQ Series Middleware Presentation John Tullis DePaul Instructor
Dead Reckoning. Outline Basic Dead Reckoning Model (DRM) –Generating state updates –Position extrapolation Refinements –Time compensation –Smoothing.
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.
Essentials of Visual Modeling w/ UML Instructor Notes
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Data Distribution. Outline Fundamental concepts –Name space –Description expressions –Interest expressions Static Data Distribution: HLA Declaration Management.
High Level Architecture Time Management. Time management is a difficult subject There is no real time management in DIS (usually); things happen as packets.
Operating Systems (CS 340 D) Dr. Abeer Mahmoud Princess Nora University Faculty of Computer & Information Systems Computer science Department.
Parallel and Distributed Simulation Data Distribution II.
UML - Development Process 1 Software Development Process Using UML.
Diistributed Data Management DDM in HLA. Distributed Data Management HLA by default does one sort of interest management: functional. Your federate can.
Overview of Previous Lesson(s) Over View  Windows Programming  WinMain()  Where execution of the program begins and basic program initialization is.
Active-HDL Server Farm Course 11. All materials updated on: September 30, 2004 Outline 1.Introduction 2.Advantages 3.Requirements 4.Installation 5.Architecture.
CHAPTER 6 Threads, Handlers, and Programmatic Movement.
Project Management: Messages
Event Loops and GUI Intro2CS – weeks
Event-driven programming
Operating Systems (CS 340 D)
Introduction to Triggers
AE684 Project Plan Presentation October 26, 2004 Roger Wuerfel
intro to notifications in iOS 10
Timewarp Elias Muche.
Android Topics Threads and the MessageQueue
Use Case Analysis – continued
Games Development Game Architecture: Entities
Presentation transcript:

Distributed Virtual Environment and Simulation Package Stephen Lawrence

Overview of Topics Type of Simulation Federation Organization Class Organization Internals of some DVESIM classes Creating a Federate Creating Simulation Objects

Type of Simulation –Object Based Simulation (using c++) Simulator, object(such as a tank or projectile), and battlefield classes new object types are created by sub-classing existing objects –Event Driven Classes define event handlers to process events –Federated (using DRTI) Each federate has local and non-local entities object updates are only send when needed Messages are sent between user and entities

Federation Organization Simulator Federate UI Federate Simulator Federate

Federation Organization (cont) Simulator Federates –Each controls a number of objects within the simulation world –Sends and received updates and interactions concerning it’s objects, and objects controlled by other federates UI Federates –Allows users to view and interact with object in the Federation

Class Organization Entity Structure Projectile Tick New Object Collision Order Movement Simulator Federate Classes SimulatorEventObjectBattlefield = subclass

Internals: Simulator Class Each simulator federate runs one instance of the simulator class Manages Event Queue –Schedules events –Dispatches events to objects Simulates Battlefield –Collision/proximity detection –Projectile detonation Federate communication –sends and receives events such as object updates and messages

Internals: Simulator Class (continued)

Simulation Class Execution –init() Schedule all new object events for all local objects. Sets up simulation state schedules first new state event –run() while event-queue not empty –process event –deliver event to object if necessary –finishUp()

Internals: Simulator Class Example 1.The federates executive function removes the tick event from the event queue. 2.The tick event is passed to the federates tick event handler (a method of it's simulator class). 3.The tick event is forwarded, by the simulators event handler, to all objects in the battlefield. 4.The simulator class checks for collision between it's local objects and all objects in the battlefield (local and foreign). 5.A new tick event is created and scheduled for some small time in the future.

Internals: Battlefield Class Manages objects –objects hashed by RTI::ObjectHandle for fast access –Provides means for objects to access other objects –Contains both locally controlled objects, and objects controlled by other federates. Terrain Information (not implemented) –provides terrain type for given coordinates on the battlefield –objects view the world in only two dimensions, the battlefield provides additional elevation and slope information when needed

Internals: Event Class Stores Event Information (TimeStamp, details) Tick Event -> triggers location updates and collision detection New Object Event -> adds a new object to the battlefield Order Event -> sends object and simulation messages, such as orders, simulation over, etc… Other Events –Movement Event, Collision Event, Proximity Event,Detonation Event, User Defined Events

Internals: Event Class Example 1.Collision event is passed to the event handler by the executive function when it is safe to process. 2.The event handler passes the collision event to the local object involved in the collision (if two local objects are in collision, each will get it's own event). 3.The object reacts to the collision event. The default action is to do nothing, but subclasses of the object type can redefine the event handlers to do something interesting, such as stop, change direction, or calculate a new path.

Internals: Object Class Physical State Information (location, velocity, acceleration) Processes New State events to update it’s physical state Entity Subclass –Provides basic movement services (set heading/location, etc) –Fires projectiles

Internals: Object Class (continued) Object Class Execution –A new object is created and stored in new object event –The simulator later processes new object event Calls object init() function Sends New State and other events to object Object is removed by a call to exitObject() objects finishUp() function is called, and the object is deleted

Internals: Object Class Example 1.Simulator federate #1 schedules schedules a new object event for object A at time 1, register's an object instance for it within the federation, and sends an attribute update for the the object with timestamp 1 2.Simulator federate #2 discovers the object, creates a new object instance, and puts it in a temporary holding place. 3.When requesting a Next Event Request for time 1, federate #2's RTI ambassador delivers the attribute update for object A 4.Federate #2, now having received the first attribute information about object A, schedules a new object event with timestamp 1, which will be processed to add object A to it's battlefield. 5.After completing a Next Event Request for timestep 1, federate #1 will be able to process it's new object event and add object A to it's battlefield.

Internals: Visualization Display’s all the objects in the federation Paces the simulation with wallclock time Allows user to send messages to the objects (entities)