Simj a framework to develop distributed simulators scsc06

656 views

Published on

Conference Presentation, at the 2006 Summer Computer Simulation Conference, Calgary, Canada

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
656
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Simj a framework to develop distributed simulators scsc06

  1. 1. Summer Computer Simulation Conference 2006 (SCSC'06), July 31st - August 2nd, Calgary, CA 1 SimJ A Framework to Develop Distributed Simulators Andrea D’Ambrogio, Daniele Gianni and Giuseppe Iazeolla Dept. of Computer Science University of Roma “Tor Vergata” Roma (Italy) Presented by Daniele Gianni PhD Student Dept. Of Computer Science University of Roma “TorVergata” Roma (Italy) Visiting Student Georgia Institute of Technology Parallel and Distributed Simulation Research Group
  2. 2. Summer Computer Simulation Conference 2006 (SCSC'06), July 31st - August 2nd, Calgary, CA 2 Presentation Overview  Problems of using HLA  Fewer problems by use of SimJ • SimJ main goals • SimJ main components  SimJ Example  SimJ Effort Saving
  3. 3. Summer Computer Simulation Conference 2006 (SCSC'06), July 31st - August 2nd, Calgary, CA 3 Problems of using HLA  What HLA offers: • A general framework to develop several kinds of distributed simulators • Distributed simulation oriented services  What HLA does not support: • Federate internal issues as:  Events management,  Federate logic – RTI synchronizations,  Etc. • Explicit simulation paradigms (Continuous Simulation, Discrete Event Simulation (DES) – PI, ES, AS –, etc.)
  4. 4. Summer Computer Simulation Conference 2006 (SCSC'06), July 31st - August 2nd, Calgary, CA 4 Steps in developing HLA simulators  Development of an HLA distributed simulator requires:  HLA knowledge  Decisions on design choices: • Which federates to be developed? Which can be reused? • Which time management modality? • Which data to be exchanged and with which? • Which communication modalities to be used?
  5. 5. Summer Computer Simulation Conference 2006 (SCSC'06), July 31st - August 2nd, Calgary, CA 5 This paper problem How to develop an HLA-based discrete event distributed simulator • Without  knowledge of HLA  need of decisions on HLA-related design choices • As it were a local simulator
  6. 6. Summer Computer Simulation Conference 2006 (SCSC'06), July 31st - August 2nd, Calgary, CA 6 This paper solution Introduce a technology to  Elevate the HLA conceptual framework to the level of the DES conceptual one  Ease the development of HLA-based DES simulators In other words:  A technology to develop distributed HLA-based simulators • In a simple and quick way • With a negligible extra effort compared to the one for the local version
  7. 7. Summer Computer Simulation Conference 2006 (SCSC'06), July 31st - August 2nd, Calgary, CA 7 The SimJ technology  SimJ includes • A Java Library • A DES framework  An interface of DES services implemented both in a local and distributed environment  A set of components to be customized in the necessary domain
  8. 8. Summer Computer Simulation Conference 2006 (SCSC'06), July 31st - August 2nd, Calgary, CA 8 SimJ Advantages  HLA simulators can be developed without explicit HLA knowledge by simple use of standard DES services  Distributed HLA-based simulators can be developed as they were local ones  Simple reuse of SimJ local simulators and components to develop SimJ distributed simulators
  9. 9. Summer Computer Simulation Conference 2006 (SCSC'06), July 31st - August 2nd, Calgary, CA 9 SimJ main components 1  Entity: a logical process, i.e. a fundamental building block in the PI paradigm. • Can be  Local  Remote  Event: the basic events in the PI paradigm (e.g. start, notify, sleep, etc.)  Port: used by Entities to send and receive Events • Can be of  input or output type  local or remote type
  10. 10. Summer Computer Simulation Conference 2006 (SCSC'06), July 31st - August 2nd, Calgary, CA 10 SimJ main components 2  Link: connects output Ports to input Ports • Can be  point-to-point  multi-sender  multi-recipient  local or distributed  Engine: facility for the simulator initialization and execution • Local and Distributed PI  FederationManager (HLA federate) to direct the execution of the whole federation
  11. 11. Summer Computer Simulation Conference 2006 (SCSC'06), July 31st - August 2nd, Calgary, CA 11 SimJ Entities E1 ev1 ev3 ev2 ev4 E2 E3 Key Entity Input Port Out Port Link/Event ev
  12. 12. Summer Computer Simulation Conference 2006 (SCSC'06), July 31st - August 2nd, Calgary, CA 12 Simj Engines Current hierarchy (additions and restylings will not affect the other Simj components) SimEngine ES_SimEngine AS_SimEngine PI_SimEngine PI_Local_SimEngine PI_HLA_SimEngine
  13. 13. Summer Computer Simulation Conference 2006 (SCSC'06), July 31st - August 2nd, Calgary, CA 13 SimJ Applications Use-1: Integration of already developed simulators • Integrating existing heterogeneous simulators from remote sites • Integration includes reuse in case the existing simulators were developed in SimJ Use-2: Development of new distributed simulators • Build the whole simulator as it were a local one and then distribute it to the remote sites
  14. 14. Summer Computer Simulation Conference 2006 (SCSC'06), July 31st - August 2nd, Calgary, CA 14 Use-2 Example (system) Internet LAN Gateway Client 2 Web Server 1 Web Server 8 Web Server 7 Web Server 6 Web Server 5 Web Server 4 Web Server 3 Web Server 2 Client 1
  15. 15. Summer Computer Simulation Conference 2006 (SCSC'06), July 31st - August 2nd, Calgary, CA 15 Use-2 Example (local simulator) Client 1 Client 2 LAN Internet Key SimJ Entity Input port Out port Link Web Server 1 Web Server 2 Web Server 3 Web Server 4 Web Server 5 Web Server 6 Web Server 7 Web Server 8 Gate- way
  16. 16. Summer Computer Simulation Conference 2006 (SCSC'06), July 31st - August 2nd, Calgary, CA 16 Use-2 Example (distributed simulator) Client 1 Client 2 LAN Internet Key SimJ Entity Input port Out port Link Web Server 1 Web Server 2 Web Server 3 Web Server 4 Web Server 5 Web Server 6 Web Server 7 Web Server 8 Gate- way Federate1 Federate2 Federate3
  17. 17. Summer Computer Simulation Conference 2006 (SCSC'06), July 31st - August 2nd, Calgary, CA 17 Use-2 Example (Federate1) Client 1 Client 2 LAN Gate- way Internet Key SimJ Local Entity SimJ RemoteEntityRef Input port Output port Link Remote Input port DIS Link Client 1 Client 2 LAN Internet Key SimJ Entity Input port Out port Link Web Server 1 Web Server 2 Web Server 3 Web Server 4 Web Server 5 Web Server 6 Web Server 7 Web Server 8 Gate- way Federate1 Federate2 Federate3
  18. 18. Summer Computer Simulation Conference 2006 (SCSC'06), July 31st - August 2nd, Calgary, CA 18 Use-2 Example (Federate2) Gate- way Internet Web Server 1 Web Server 2 Web Server 3 Web Server 4 Web Server 5 Web Server 6 Web Server 7 Web Server 8 Key SimJ Local Entity SimJ RemoteEntityRef Input port Output port Link Remote Input Port Remote Output Port DIS Link Client 1 Client 2 LAN Internet Key SimJ Entity Input port Out port Link Web Server 1 Web Server 2 Web Server 3 Web Server 4 Web Server 5 Web Server 6 Web Server 7 Web Server 8 Gate- way Federate1 Federate2 Federate3
  19. 19. Summer Computer Simulation Conference 2006 (SCSC'06), July 31st - August 2nd, Calgary, CA 19 Use-2 Example (Federate3) Internet Web Server 5 Web Server 6 Web Server 7 Web Server 8 Key SimJ Local Entity SimJ Remote EntityRef Input port Output port Link Remote Input port DIS Link Client 1 Client 2 LAN Internet Key Simj Entity Input port Out port Link Web Server 1 Web Server 2 Web Server 3 Web Server 4 Web Server 5 Web Server 6 Web Server 7 Web Server 8 Gate- way Federate1 Federate2 Federate3
  20. 20. Summer Computer Simulation Conference 2006 (SCSC'06), July 31st - August 2nd, Calgary, CA 20 SimJ Effort Savings  SimJ developers can concentrate on the simulation logic only  This brings an effort savings (in MM) of • Around 30% for average experienced developers • Around 60% for beginners Compared with a HLA simulator developed without SimJ  Besides a fixed saving of about 1.2 MM per federate
  21. 21. Summer Computer Simulation Conference 2006 (SCSC'06), July 31st - August 2nd, Calgary, CA 21 Conclusions  SimJ: A Java library that eases the development of distributed discrete event simulators  By SimJ the HLA conceptual framework is elevated to the DES conceptual framework  Development of distributed DES simulators as they were local ones  Significant savings in effort for HLA-based DES simulators

×