! High Level Architecture (HLA): Background. ! Rules. ! Interface Specification. Maria Hybinette, UGA. ! SIMNET (SIMulator NETworking) ( )

Similar documents
Tutorial Parallel & Distributed Simulation Systems and the High Level Architecture

High Level Architecture (HLA) (Part 8)

U.S. Department of Defense. High Level Architecture Interface Specification. Version 1.3

HIGH LEVEL ARCHITECTURE

2001 European Simulation Interoperability Workshop University of Westminster, Harrow Campus June 25-27, 2001

Implementation of the DEVS Formalism over the HLA/RTI: Problems and Solutions 1

A ROLLBACK MANAGER FOR OPTMISTIC DISTRIBUTED HLA SIMULATIONS

An Approach for Federating Parallel Simulators

High. Level Architecture. Part I. Components. Federal Rules Interface Specification R.T.I. O.M.T. FEDEP

An Introduction to the HLA Part 1. Roger McFarlane School of Computer Science McGill University Montreal, CANADA

RTI Performance on Shared Memory and Message Passing Architectures

Appendix A: SimGe Installation and Remarks

An Introduction to the HLA Part 1. Roger McFarlane School of Computer Science McGill University Montreal, CANADA

Design and modeling techniques for real-time RTI time management ( 11S-SIW-045 )

An Object-Oriented HLA Simulation Study

AviationSimNet Specification

Distributed Interactive Simulation for Iridium Communication System Based on HLA and OPNET

Computer System Modeling. At The Hardware Platform Level

an author's

DISTRIBUTED SIMULATION SYSTEMS. Richard M. Fujimoto. College of Computing Georgia Institute of Technology Atlanta, GA 30332, U.S.A.

Implementation of DDM in the MAK High Performance RTI

Overview about the High Level Architecture for Modelling and Simulation and Recent Developments

v 5.3 Pitch prti USER S GUIDE

Performance Model of a Distributed Simulation Middleware CS672 Project Report May 5, 2004 Roger Wuerfel Yuhui Wang

Chair for Network Architectures and Services Prof. Carle Department of Computer Science TU München. Parallel simulation

Inheritance STL. Entity Component Systems. Scene Graphs. Event Systems

Clock Synchronization. Synchronization. Clock Synchronization Algorithms. Physical Clock Synchronization. Tanenbaum Chapter 6 plus additional papers

NAVAL POSTGRADUATE SCHOOL. THESIS This thesis was performed at the MOVES Institute

High Level Architecture

Reliable Multicast in the STOW RTI Prototype

RELEASE NOTES RELEASE NOTES. Version ID Delivery Date 23/04/2014. Product Technical Manager: Rodolfo Martín García

Extended Air Defense Testbed (EADTB) Migrates Toward High Level Architecture (HLA) Compatibility

MULTICAST GROUPING FOR DYNAMIC DATA DISTRIBUTION MANAGEMENT

FDK Users Guide (Version 3.0)

Integrating a Distributed Agent-Based Simulation into an HLA Federation

Distributed Simulation Modeling: A Comparison Of HLA, CORBA, and RMI

Management of the Joint Training Confederation Family of Specifications

Federate Migration in HLA-Based Simulation

Other Optimistic Mechanisms, Memory Management!

Interest Management in Agent-based Distributed Simulations

What Is a Distributed Simulation (i.e., A Federation)?

EXPERIENCES PARALLELIZING A COMMERCIAL NETWORK SIMULATOR. Hao Wu Richard M. Fujimoto George Riley

Part II. Integration Use Cases

A Federated Approach to Distributed Network Simulation

Adapting Functional Mockup Units for HLA-compliant Distributed Simulation

Class RTI::RTIambassador... iv

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective

Grand Central Dispatch

Topics in Object-Oriented Design Patterns

Concurrency Control in Distributed Systems. ECE 677 University of Arizona

THE HLA TUTORIAL A PRACTICAL GUIDE FOR DEVELOPING DISTRIBUTED SIMULATIONS PART 1 GET AN OVERVIEW OF HLA LEARN HOW TO DESIGN HLA FEDERATIONS

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic

Multifaceted Modeling and Simulation Framework for

SDC Design patterns GoF

Part 17: Networking Technology for Virtual Environments

Design and Implementation of Hierarchical RTI (HRTI)

Service Mesh and Microservices Networking

HIMES: HLA Interface for Mathematical and Engineering Simulation Tools

System Models for Distributed Systems

U.S. Department of Defense. High-Level Architecture Object Model Template Specification Version February 1998 (27 July 1998 Document Release)

Practical Experiences from HLA 1.3 to HLA IEEE 1516 Interoperability

Computing Global Virtual Time!

IT 540 Operating Systems ECE519 Advanced Operating Systems

SimWare-Kernel Real Time Communication System for Simulation (Paper by: Bruno Calvo, Ignacio Seisdedos)

DIS HLA Gateway. Major James McRae, Senior Engineer, Land 134 CTC-LIS; Mr Joseph Steel, Royal Military College of Science

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.

PARALLEL AND DISTRIBUTED SIMULATION. Richard M. Fujimoto. College of Computing Georgia Institute of Technology Atlanta, GA 3033, U.S.A.

Oracle. Service Cloud Using Knowledge Advanced

Indirect Communication

8.3 Networked Application. History and Evolution. U.S. Department of Defense (DoD) SIMNET NSA. i. Object-Event Architecture

Introduction. Analytic simulation. Time Management

The Impact of SOA Policy-Based Computing on C2 Interoperation and Computing. R. Paul, W. T. Tsai, Jay Bayne

Architecture or Parallel Computers CSC / ECE 506

OSEK/VDX. Communication. Version January 29, 2003

The Service Availability Forum Platform Interface

Designing and debugging real-time distributed systems

Towards a Standardized Federate Protocol for HLA 4

Indirect Communication

Numerical approach estimate

Synchronization. Chapter 5

2017 Paul Krzyzanowski 1

DIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: OUTLINE APPLICATIONS OF DIGITAL SIGNAL PROCESSING

HLA Based Collaborative Simulation with MATLAB Seamlessly Embedded

Implementation Guide for Delivery Notification in Direct

Under the Hood, Part 1: Implementing Message Passing

Last Class: Clock Synchronization. Today: More Canonical Problems

Activities Radovan Cervenka

Oracle. SCM Cloud Configurator Modeling Guide. Release 13 (update 17D)

An Architecture for Web-Services Based Interest Management in Real Time Distributed Simulation

Oracle Insurance Policy Administration. Version

High Level Architecture and Agent Technology based Astronautics Simulation Platform and Cluster Computing Environment s Construction

SYNCHRONIZED DATA DISTRIBUTION MANAGEMENT IN DISTRIBUTED SIMULATIONS

OTS 1.1 vs. OTS 1.2 Approvers Function Name Approvers comments Reviewers Function Name Reviewers comments

CprE Fault Tolerance. Dr. Yong Guan. Department of Electrical and Computer Engineering & Information Assurance Center Iowa State University

02 - Distributed Systems

Oracle Utilities Smart Grid Gateway Adapter Development Kit

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.

02 - Distributed Systems

Live-Virtual-Constructive Architecture Roadmap Implementation. Convergence Defining Architecture Characteristics and Activities

Investigation of System Timing Concerns in Embedded Systems: Tool-based Analysis of AADL Models

Transcription:

Outline CSCI 8220 Parallel & Distributed Simulation PDES: Distributed Virtual Environments Introduction High Level Architecture! High Level Architecture (HLA): Background! Rules! Interface Specification» Overview» Class Based Subscription» Attribute updates 2 HLA: Motivation Distributed Simulation in the DoD Department of Defense plagued by stovepipe simulations : individual simulations designed and tailored for a specific application! Not easily adapted for other uses, resulting in limited software reuse, much duplication of effort! Cannot easily exploit capabilities developed in other DoD modeling and simulation programs Goal of the High Level Architecture: define a common simulation infrastructure to support interoperability and reuse of defense simulations" Analytic simulations (e.g., war games)" Training (platform-level, command-level)" Test and Evaluation" 3! SIMNET (SIMulator NETworking) (1983-89)» DARPA and U.S. Army project» networked interactive combat simulators» tens to a few hundreds of simulators! DIS (Distributed Interactive Simulation) (1990-96)» rapid expansion based on SIMNET success» tens of thousands of simulated entities» IEEE standard! Aggregate Level Simulation Protocol (ALSP) (late 1980 s and 1990 s)» application of the networked simulations concept to war gaming models 4 HLA Development Process High Level Architecture (HLA)! 10/93-1/95:three architecture proposals developed in industry! 3/95: DMSO forms the Architecture Management Group (AMG)! 3/95-8/96: development of baseline architecture» AMG forms technical working groups (IFSpec, time management, data distribution management)» Run-Time Infrastructure (RTI) prototypes» prototype federations: platform level training, command level training, engineering test and evaluation, analytic analysis! 8/96-9/96: adoption of the baseline architecture» approval by AMG, Executive Council for Modeling and Simulation (EXCIMS), U.S. Under Secretary of Defense (Acquisition and Technology)» 10 September, 1996: Baseline HLA approved as the standard technical architecture for all U.S. DoD simulations! 9/96-present: continued development and standardization» Varying levels of adoption» Commercialization of RTI software» Standardization (IEEE 1516) 5 Background:! Based on a composable system of systems approach» no single simulation can satisfy all user needs» support interoperability and reuse among DoD simulations! Federations of simulations (federates)» pure software simulations» human-in-the-loop simulations (virtual simulators)» live components (e.g., instrumented weapon systems) 6

High Level Architecture (HLA) An HLA Federation The HLA consists of! Rules that simulations (federates) must follow to achieve proper interaction during a federation execution! Object Model Template (OMT) defines the format for specifying the set of common objects used by a federation (federation object model), their attributes, and relationships among them! Interface Specification (IFSpec) provides interface to the Run-Time Infrastructure (RTI), that ties together federates during model execution 7 Federates" Passive" Data" Viewers" Simulations" Interface Specification" Run-Time Infrastructure (RTI)" Interfaces" to Live" Components" 8 Federation Rules Federate Rules (cont) 1. Federations shall have an HLA Federation Object Model (FOM), documented in accordance with the HLA Object Model Template (OMT). 2. In a federation, all simulation-associated object instance representation shall be in the federates, not in the runtime infrastructure (RTI). 3. During a federation execution, all exchange of FOM data among joined federates shall occur via the RTI. 4. During a federation execution, joined federates shall interact with the RTI in accordance with the HLA interface specification. 5. During a federation execution, an instance attribute shall be owned by at most one federate at any given time. 6. Federates shall have an HLA Simulation Object Model (SOM), documented in accordance with the HLA Object Model Template (OMT). 7. Federates shall be able to update and/or reflect any instance attributes and send and/or receive interactions, as specified in their SOM. 8. Federates shall be able to transfer and/or accept ownership of instance attributes dynamically during a federation execution, as specified in their SOMs. 9. Federates shall be able to vary the conditions (e.g., thresholds) under which they provide updates of instance attributes, as specified in their SOM. 10. Federates shall be able to manage local time in a way that will allow them to coordinate data exchange with other members of a federation. 9 10 Interface Specification Message Passing Alternatives Category" Federation Management" Declaration Management" Object Management" Ownership Management" Time Management" Data Distribution Management" Functionality" Create and delete federation executions" join and resign federation executions" control checkpoint, pause, resume, restart" Establish intent to publish and subscribe to object attributes and interactions" Create and delete object instances" Control attribute and interaction publication" Create and delete object reflections" Transfer ownership of object attributes" Coordinate the advance of logical time and its relationship to real Supports efficient routing of data" 11! Traditional message passing mechanisms: Sender explicitly identifies receivers» Destination process, port, etc.» Poorly suited for federated simulations! Broadcast» Receiver discards messages not relevant to it» Used in SIMNET, DIS (initially)» Doesn t scale well to large federations! Publication / Subscription mechanisms» Analogous to newsgroups» Producer of information has a means of describing data it is producing» Receiver has a means of describing the data it is interested in receiving» Used in High Level Architecture (HLA) 12

A Typical Federation Execution 1. Initialize federation» Create Federation Execution (Federation Mgt)» Join Federation Execution (Federation Mgt) 2. Declare objects of common interest among federates» Publish Object Class Attributes (Declaration Mgt)» Subscribe Object Class Attributes (Declaration Mgt) 3. Exchange information» Update/Reflect Attribute Values (Object Mgt)» Send/Receive Interaction (Object Mgt)» Time Advance Request, Time Advance Grant (Time Mgt)» Request Attribute Ownership Assumption (Ownership Mgt)» Send Interaction with Regions (Data Distribution Mgt) 4. Terminate execution» Resign Federation Execution (Federation Mgt)» Destroy Federation Execution (Federation Mgt) 13 Class-Based Data Distribution! Federation Object Model (FOM) defines type of information transmitted among federates» Object classes (e.g., tank)» Attributes (e.g., position, orientation of turret)! A few key primitives (Federate/RTI interface)» Publish Object Class Attributes: Called by a federate to declare the object classes and attributes it is able to update» Subscribe Object Class Attributes: Declare the object classes and attributes that the federate is interested in receiving» Register Object Instance: Notify RTI an instance of an object has been created within the federate» Discover Object Instance*: Notify federate an instance of an object of a subscribed class has been registered» Update Attribute Values: notify RTI one or more attributes of an object has been modified» Reflect Attribute Values*: notify federate attributes to which it has subscribed have been modified * Denotes callback from RTI to federate" 14 Example Summary Federate 1 PublishOCA (Tank, position) handle := RegisterOI (Tank) UpdateAV (handle, position, <30,89>) RTI Federate 2 SubscribeOCA (Tank, position) DiscoverOI (Tank, instance) ReflectAV (instance, position, <30,89>)! The High Level Architecture is an example of an approach for realizing distributed simulations! HLA Rules define general principles that pervade the entire architecture! HLA Interface Specification defines a set of run-time services to support distributed simulations! Data distribution is based on a publication / subscription mechanism OCA = Object Class Attributes OI = Object Instance AV = Attribute Values 15 16 Outline PDES: Distributed Virtual Environments Time Management in the High Level Architecture! Overview of time management services! Time constrained and time regulating federates! Related object management services! Time Advance Request (TAR)! Next Event Request (NER)! Lookahead 18

HLA Message Order Services Time Synchronized Delivery! Receive order (RO): Messages passed to federate in an arbitrary order (unordered)! Time stamp order (TSO): Sender assigns a time stamp to message; successive messages passed to each federate have non-decreasing time stamps Property RO TSO Latency low higher reproduce before and after relationships? no yes all federates see same ordering of events? no yes execution repeatable? no yes typical applications training, T&E analysis! receive order minimizes latency, does not prevent temporal anomalies! TSO prevent temporal anomalies, but has somewhat higher latency 19 Consider interconnecting two sequential, discrete event simulators Simulator A! (tank)! Simulator B! (target)! fire! 10! 20! move! Logical Time! event! message! In the HLA, logical time is synonymous with simulation time 1. A sends TSO message to B w/ time stamp 10! 2. B advances to logical time 20! 3. Message arrives in B s past! Logical time advances by each simulator must be properly managed to ensure no simulator receives a message in its past. HLA Time Management (TM) services define a protocol for federates to advance their logical time; RTI will ensure TSO messages are not delivered in a federate s past 20 event" ordering" synchronized " delivery" HLA Time Management Services receive" order" messages" FIFO" queue" time stamp" order" messages" stamp" ordered" queue" state updates! and interactions! Runtime Infrastructure (RTI)" logical federate" local time and event management" mechanism to pace execution with wallclock time (if necessary)" federate specific techniques (e.g., compensation for message latencies)" logical time advances! wallclock (synchronized with other processors)" 21 Time Regulating & Time Constrained Federates Federates must declare their intent to utilize time management services by setting their time regulating and/or time constrained flags! Time regulating federates: can send TSO messages» Can prevent other federates from advancing their logical time» Enable Time Regulation! Time Regulation Enabled» Disable Time Regulation! Time constrained federates: can receive TSO messages» Time advances are constrained by other federates» Enable Time Constrained! Time Constrained Enabled» Disable Time Constrained! Each federate in a federation execution can be» Time regulating only (e.g., message source)» Time constrained only (e.g., Stealth)» Both time constrained and regulating (common case for analytic simulations)» Neither time constrained nor regulating (e.g., DIS-style training simulations) indicates callback to federate" 22 Related Object Management Services HLA Time Management (TM) Services Sending and Receiving Messages! Update Attribute Values! Reflect Attribute Values! Send Interaction! Receive Interaction Message Order (Receive Order or Time Stamp Order)! Preferred Order Type: default order type specified in fed file for each attribute and interaction! Sent Message Order Type:» TSO if preferred order type is TSO and the federate is time regulating and a time stamp was used in the Update Attribute Values or Send Interaction call» RO otherwise! Received Message Order Type» TSO if sent message order type is TSO and receiver is time constrained» RO otherwise Federates responsible for pacing logical time advances with wallclock time in indicates callback to federate" real-time executions" 24 23 HLA TM services define a protocol for federates to advance logical time; logical time only advances when that federate explicitly requests an advance! Time Advance Request: time stepped federates! Next Event Request: event stepped federates! Time Advance Grant: RTI invokes to acknowledge logical time advances Time Advance Request" or" Next Event Request" federate" Time Advance Grant" If the logical time of a federate is T, the RTI guarantees no more TSO messages will be passed to the federate with time stamp < T"

Time Advance Request (TAR) Code Example: Time Stepped Federate! Typically used by time stepped federates! Federate invokes Time Advance Request (T) to request its logical time (LT) be advanced to T! RTI delivers all TSO messages with time stamp " T! RTI advances federate s time to T, invokes Time Advance Grant (T) when it can guarantee all TSO messages with time stamp " T have been delivered! Grant time always matches the requested time Typical execution sequence! Federate" LT=10" Wall clock" LT=20" TAR(20)" RAV (14)" RAV (18)" TAG(20)" TAR: Time Advance Request" RAV: Reflect Attribute Values " TAG: Time Advance Grant" " " Federate calls in black" RTI callbacks in red" T T T" 25 sequential simulator T = current simulation time update local simulation state T = T + #T; * Tick is only used in single threaded RTI implementations" federated simulator update local simulation state UpdateAttributeValues (!) PendingTAR = TRUE; TimeAdvanceRequest(T+ #T) while (PendingTAR) Tick*(!); T = T + #T; /* the following federate-defined procedures are called by the RTI */ Procedure ReflectAttributeValues (!) update local state Procedure TimeAdvanceGrant (!) PendingTAR = False; 26 Next Event Request (NER) Next Event Request (NER)! Typically used by event stepped federates! Goal: process all events (local and incoming TSO messages) in time stamp order local" events" TSO" messages" federate" Federate: next local event has time stamp T current" next" TSO" message" next" local" event"! If no TSO messages w/ time stamp < T, advance to T, process local event logical"! If there is a TSO message w/ time stamp T " T, advance to T and process TSO message 27 T " T " Federate invokes Next Event Request (T) to request its logical time be advanced to time stamp of next TSO message, or T, which ever is smaller If next TSO message has time stamp T " T RTI delivers next TSO message, and all others with time stamp T RTI issues Time Advance Grant (T ) Else RTI advances federate s time to T, invokes Time Advance Grant (T) Federate" Typical execution sequences! NER(T)" RAV (T )" RAV (T )" TAG(T )" RTI delivers events" Wall clock" Federate" NER(T)" NER: Next Event Request" TAG: Time Advance Grant" RAV: Reflect Attribute Values" TAG(T)" " Federate calls in black" RTI callbacks in red" no TSO events" 28 Code Example: Event Stepped Federate Lookahead sequential simulator T = current simulation time PES = pending event set T = time of next event in PES process next event in PES federated simulator T = time of next event in PES PendingNER = TRUE; NextEventRequest(T) while (PendingNER) Tick(!); process next event in PES /* the following federate-defined procedures are called by the RTI */ Procedure ReflectAttributeValues (!) place event in PES Procedure TimeAdvanceGrant (!) PendingNER = False; NER: concurrency limited to events containing exactly the same time stamp" each federate must process events in time stamp order! event! Federate D! Federate C! Federate B! Federate A! T" Federation Time Axis! without lookahead! possible message" OK to process" not OK to process yet" 29 30

Lookahead Lookahead in the HLA NER: concurrency limited to events containing exactly the same time stamp" each federate must process events in time stamp order! event! Federate D! Federate C! Federate B! Federate A! T" T+L" Federation Time Axis! without lookahead! possible message" OK to process" with lookahead! possible message" OK to process" not OK to process yet" Each federate using logical time declares a lookahead value L; any TSO message sent by the federate must have a time stamp the federate s current time + L" Lookahead is necessary to allow concurrent processing of events with different time stamps (unless optimistic event processing is used)" 31! Each federate must declare a non-negative lookahead value! Any TSO sent by a federate must have time stamp at least the federate s current time plus its lookahead! Lookahead can change during the execution (Modify Lookahead)» increases take effect immediately» decreased do not take effect until the federate advances its logical time 1. Current time is T, lookahead L" T " T+L " Logical 2. Request lookahead decrease by L to L " L- T" T " 3. Advance T, lookahead, decreases T" T+ T" T+L " Logical L " T+ L" L " T+L " Logical 4. After advancing L, lookahead is L " 32 Federate/RTI Guarantees Federate at logical time T (with lookahead L)! All outgoing TSO messages must have time stamp $ T+L (L>0) Time Advance Request (T)! Once invoked, federate cannot send messages with time stamp less than T plus lookahead Next Event Request (T)! Once invoked, federate cannot send messages with time stamp less than T plus the federate s lookahead unless a grant is issued to a time less than T Time Advance Grant (T) (after TAR or NER service)! All TSO messages with time stamp less than or equal to T have been delivered Summary! HLA time management designed to support interoperability of simulations with different time advance mechanisms» Time stepped federates» Event-driven federates! Time management services include services to order messages (time stamp ordered delivery) and mechanisms to advance simulation time! Time regulating/constrained used to turn on time management! Per federate lookahead supported 33 34