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
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
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.)
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?
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

Simj a framework to develop distributed simulators scsc06

  • 1.
    Summer Computer Simulation Conference2006 (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.
    Summer Computer SimulationConference 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.
    Summer Computer SimulationConference 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.
    Summer Computer SimulationConference 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.
    Summer Computer SimulationConference 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.
    Summer Computer SimulationConference 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.
    Summer Computer SimulationConference 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.
    Summer Computer SimulationConference 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.
    Summer Computer SimulationConference 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.
    Summer Computer SimulationConference 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.
    Summer Computer SimulationConference 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.
    Summer Computer SimulationConference 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.
    Summer Computer SimulationConference 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.
    Summer Computer SimulationConference 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.
    Summer Computer SimulationConference 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.
    Summer Computer SimulationConference 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.
    Summer Computer SimulationConference 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.
    Summer Computer SimulationConference 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.
    Summer Computer SimulationConference 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.
    Summer Computer SimulationConference 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.
    Summer Computer SimulationConference 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