HLA Support in a Discrete Event Simulation Language DiS-RT’99, Greenbelt, MD. Friday, October 22nd, 1999 C. D. PhamR. L. Bagrodia Department of Computer.

Slides:



Advertisements
Similar presentations
Time Management in the High Level Architecture Roger McFarlane School of Computer Science McGill University Montréal, Québec CANADA 19 March 2003.
Advertisements

Parallel Simulation. Past, Present and Future C.D. Pham Laboratoire RESAM Universit ₫ Claude Bernard Lyon 1
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.
Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007.
Time Management in the High Level Architecture. Outline Overview of time management services Time constrained and time regulating federates Related object.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
Network Operating Systems Users are aware of multiplicity of machines. Access to resources of various machines is done explicitly by: –Logging into the.
Introduction To System Analysis and Design
Chapter 3 Simulation Software
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
Seyed Mohammad Ghaffarian ( ) Computer Engineering Department Amirkabir University of Technology Fall 2010.
1 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz Quality Objects: Advanced Middleware for Large Scale Wide Area.
Parallel Simulations on High-Performance Clusters C.D. Pham RESAM laboratory Univ. Lyon 1, France
Parallel and Distributed Simulation Object-Oriented Simulation.
Building Parallel Time-Constrained HLA Federates: A Case Study with the Parsec Parallel Simulation Language Winter Simulation Conference (WSC’98), Washington.
Chapter 11 Operating Systems
Lecture 12 Synchronization. EECE 411: Design of Distributed Software Applications Summary so far … A distributed system is: a collection of independent.
Course Instructor: Aisha Azeem
An Introduction to Rational Rose Real-Time
The chapter will address the following questions:
OMNET++. Outline Introduction Overview The NED Language Simple Modules.
Introduction To System Analysis and design
MVC pattern and implementation in java
IMS 4212: Distributed Databases 1 Dr. Lawrence West, Management Dept., University of Central Florida Distributed Databases Business needs.
Parallel and Distributed Simulation FDK Software.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
Hardware Supported Time Synchronization in Multi-Core Architectures 林孟諭 Dept. of Electrical Engineering National Cheng Kung University Tainan, Taiwan,
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
Integrating a Distributed Agent-Based Simulation into an HLA Federation Gary Kratkiewicz Amelia Fedyk Daniel Cerys.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
1 06/00 Questions 10/6/2015 QoS in DOS ECOOP 2000John Zinky BBN Technologies ECOOP 2000 Workshop on Quality of Service in Distributed Object Systems
DBSQL 14-1 Copyright © Genetic Computer School 2009 Chapter 14 Microsoft SQL Server.
High Level Architecture Overview and Rules Thanks to: Dr. Judith Dahmann, and others from: Defense Modeling and Simulation Office phone: (703)
Introduction To System Analysis and Design
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
Modeling and Simulating Software Acquisition Process Architectures James Choi and Walt Scacchi Computer Science Dept. Institute for Software Research California.
The High Level Architecture Introduction. Outline High Level Architecture (HLA): Background Rules Interface Specification –Overview –Class Based Subscription.
High Level Architecture (HLA)  used for building interactive simulations  connects geographically distributed nodes  time management (for time- and.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Parallel and Distributed Simulation Distributed Virtual Environments (DVE) & Software Introduction.
Distributed Virtual Environment and Simulation Package Stephen Lawrence
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
Computing Simulation in Orders Based Transparent Parallelizing Pavlenko Vitaliy Danilovich, Odessa National Polytechnic University Burdeinyi Viktor Viktorovych,
Framework of a Simulation Based Shop Floor Controller Using HLA Pramod Vijayakumar Systems and Industrial Engineering University of Arizona.
Jini Architecture Introduction System Overview An Example.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
Distributed simulation with MPI in ns-3 Joshua Pelkey and Dr. George Riley Wns3 March 25, 2011.
Introduction to Object-Oriented Programming Lesson 2.
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.
CSE300 EAIusing EJB & XML CSE Enterprise Application Integration Using EJB and XML by Prithwis Sett Mumtaz Lohawala Nayana Paranjape.
Parallel and Distributed Simulation Data Distribution II.
Adding Time-Step Management to Distributed Ptolemy-HLAcerti framework Yanxuan LI, Janette Cardoso, Pierre Siron 11th Biennial Ptolemy Miniconference Berkeley,
Concurrent Object-Oriented Programming Languages Chris Tomlinson Mark Scheevel.
Clock Synchronization (Time Management) Deadlock Avoidance Using Null Messages.
IHP Im Technologiepark Frankfurt (Oder) Germany IHP Im Technologiepark Frankfurt (Oder) Germany ©
A service Oriented Architecture & Web Service Technology.
National Security Analysis Department HLA-E PDG Conform # 1 What is Conformance? u Specification of what it means when a piece of software claims to have.
Gary Kratkiewicz Amelia Fedyk Daniel Cerys
Development of a Simulator for the HANARO Research Reactor (Communication Protocol) H.S. Jung.
Parallel and Distributed Simulation Techniques
High Level Architecture
Section 11.1 Class Variables and Methods
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Mark McKelvin EE249 Embedded System Design December 03, 2002
High Level Architecture Module 2 Advanced Topics
Presentation transcript:

HLA Support in a Discrete Event Simulation Language DiS-RT’99, Greenbelt, MD. Friday, October 22nd, 1999 C. D. PhamR. L. Bagrodia Department of Computer Science University of California, Los Angeles U.S.A. RESAM laboratory Université Claude Bernard, Lyon FRANCE

Outline Overview of HLA and DES The main points for HLA integration into a DES language An example with the Parsec language Conclusions

The HLA framework Runtime Infrastructure (RTI) Federation Management Declaration Management Object Management Ownership Management Time Management Data Distribution Management The High Level Architecture calls for a federation of simulations to achieve interoperability and reuse of software. Federation Without HLA, simulations are mostly independents and interoperability is not easy. Logical simulations Hardware, human-in-the loop real-time simulators Display, statistics Rules for the federation and the federates behavior An Object Model Template to describe the simulation objects An Interface Specification simulator real-time players tools

Real system Objects can have attributes HLA: How to interoperate? Interoperability is achieved by subscription and publication of object’s attributes between the federates in the federation execution. communication node throughput, position radio transmitter power, frequency wired node # links

RTI Ambassador Federate RTI HLA: Publication and Subscription Publication of an attribute means a federate can produce values for that attribute. Federate Ambassador RTI Ambassador I can provide the position for mobile hosts publishObjectClass I want to know the position of all mobile hosts. startUpdates subscribeObjectClass Attribute reflectAttributesValues Subscription to an attribute means a federate wishes to receive values for that attribute. updateAttributeValues Federate Ambassador

HLA: Time management HLA includes advanced time management services with receive order and time stamped messages FEDERATE Time-constrained 25 RTI RO23RO25 Time-regulated FEDERATE 25 Lookahead = 2 RTI NO! RO Compute a Lower Bound Time Stamp (LBTS) Ask for time advance grant

Discrete Event Simulation A model consists of simulation objects and events. Only time stamped events are exchanged between objects. Objects’ state can only be modified upon reception of an event and by the object itself. Simulated time advances according to the timestamp of the processed events.

Support of HLA in a DES language Difficulties come from the differences in… the time management: HLA is still mainly oriented towards real-time while DES is mainly logical. the way simulated objects interact:HLA is publication/subscription-based while DES is event-driven. Easier to develop HLA compliant logical time simulators. Rapid porting of a large number of existing DES simulations into the HLA framework. BUT

The solution adopted All the HLA interface specification (v1.3) is supported: users can call the RTI functions directly if needed. Some RTI functions or set of functions are provided by additional high-level functions for sake of simplicity and transparency.

Time management Logical time simulations are usually time- constrained and time-regulated. Time advancement is usually transparent in logical time simulations.

Time advance RTI Simulated objects interact directly with the RTI but do not wait explicitly for a time advance grant HLA_timeAdvanceGrantRequest() Request and wait for a time advance grant using nextEventRequest. Simulated object blocking function call

Translation of notifications Each simulated object can not provide its own set of callback functions. We use pre-defined generic callback functions. A notification from the RTI is translated into a simulation message and sent back to the objects. –Need registration and multicast features. Ensure that both TSO and RO messages can be mixed into the DES system. –RO messages have to be timestamped.

Differences introduced by callback messages All messages are timestamped, even those that were initially of the RO type. The handling of the callback functions is done by the object itself: –direct access to the object’s variables

Registration and callback masks Simulated objects can register to receive a given set of notification types  callback masks. RTI callback reflectAttributeValues c1.a1 h has subscribed to c1.a1 has registered to reflect and discover HLA_registerEntity( self, reflect | discover); #define DECLARATION_MANAGEMENT_SET \ startRegistrationForObjectClass|\ stopRegistrationForObjectClass|\ turnInteractionsOn|\ turnInteractionsOff Callback messages of a given type are multicasted to the simulated objects has subscribed to c1.a1 has registered to reflect and discover Receive the notification message

Advantages of multicasting Replicated simulated objects in a simulation usually have identical behavior. The multicast mechanism allows each object to take independent actions. The complexity is put in the simulated object rather than in the callback functions. –an object knows exactly which classes it has subscribed to. In HLA Callback notifications are sent on a federate basis: one notification of a given type per federate. Not well-suited for multiple objects simulations More knowledge is put in callback functions to call the appropriate object ’s processing function. Practically, there are as many if statements as the number of object ’s classes the federate has susbscribed to.

The PARSEC language LP are programmed as an actor or entity all activities of an entity are initiated on message receipts An LP cannot directly modify the state of another LP Event are represented by message communications e(t,p,a): send message m(e) at time t to LP p On receiving m(e), p executes actions a change its state represented by local variables schedule events (messages) at time >=t LPs are scheduled with a large variety of algorithms Conservative with null-messages, conditional events, synchronous, optimistic and adaptive algorithms. Message-based, process-interaction approach

The pcHello example Similar to the HelloWorld but... –Event-driven instead of time-stepped Defines a country with a name and an initial population. Each country publishes its name and population and subscribes to the same attributes. The population increases periodically.

Initialization of the federate 1 entity driver(int argc, char **argv) { 2 3 rtiAmb = HLA_createAmbassador(); 4 5 RTI_RTIambassador_createFederationExecution( 6 &ex, rtiAmb, "HelloWorld", "helloWorld.fed"); 7 8 countryId = new Country(self, argv[1], argv[2]); 9 10 while (!Joined && (numTries++ < 20)) { 11 RTI_RTIambassador_joinFederationExecution( 12 &ex,ms_rtiAmb,"USA","HelloWorld", HLACallbackStruct); HLA_enableTimeConstrained(); 15 HLA_enableTimeRegulation(0.0, 1.0); 16 }

Main simulation loop 94 receive (HLACallback m) { 95 switch (m.type) { 96 case discoverObjectInstance: 97 if (m.theObjectClassHandle == ms_countryTypeId) { 98 /* creates new structures, saves the object handle */ 99 } 100 break; case reflectAttributeValues: 103 p = Country_Find(m.theObjectHandle); 104 if (p) Country_UpdateRemote(pCountry, 105 m.theAttributeHandleValuePairSet); 106 break; case receiveInteraction: 109 if (m.theInteractionClassHandle == ms_commTypeId) 110 Country_UpdateInteraction( 111 m.theParameterHandleValuePairSet); 112 break;

Main simulation loop (con’t) 118 case turnUpdatesOnForObjectInstance: 119 if (m.theObjectClassHandle == ms_countryTypeId) 120 Country_SetUpdateControl(RTI_Boolean_RTI_TRUE, 121 m.theAttributeHandleSet); 122 break; } or timeout after(0) {} /* Here we update the country state */ 128 receive (Survey theSurvey) { 129 CountryUpdateTime(); 130 } HLA callback messages are checked first

Conclusions HLA support in a DES language enables a rapid development of HLA-compliant logical time simulators. We have presented some general design issues, and an implementation within the Parsec language. Future work: more transparency regarding the time advance mechanism.