2007 Euro Simulation
Interoperability Workshop
Software Technologies for the Interoperability,
Reusability and Adaptability of Distributed
Simulators
Presented by
Daniele Gianni
Phd Candidate
A. D’Ambrogio, D. Gianni, and G. Iazeolla
Dipartimento di Informatica, Sistemi e Produzione
University of Rome “TorVergata”
2007 Euro Simulation
Interoperability Workshop
Overview
• Background
• HLA
• Problems in the design and development of DES
distributed simulators
• Proposed solutions
• CORBA-HLA
• SimJ
• Preliminary experiments
2007 Euro Simulation
Interoperability Workshop
High Level Architecture (HLA)
• Standard DMSO (1995)
• Facility OMG for Distributed Simulation (1998)
• Standard IEEE 1516 (2000)
• Four documents
• Objective: to improve distributed simulation SW
reusability and interoperability
2007 Euro Simulation
Interoperability Workshop
HLA simulations main components
• RTI: distributed simulation
middleware
• Federate: an instance of a
simulator
• Federation: a set of
instances of simulators
running in the same
distributed simulation
2007 Euro Simulation
Interoperability Workshop
RTI – Federate communications
Federate
RTI Ambassador
Federate Ambassador
Runtime Infrastructure (RTI)
2007 Euro Simulation
Interoperability Workshop
What HLA offers
• A general framework to develop distributed simulators
(military, discret events, Internet gaming, etc.).
• A set of simulation-oriented services to:
• Manage the federation (creation, destroying,
synchronization, etc.)
• Manage the simulation time (constrained or
constraining)
• Exchange data (objects, interactions, etc.)
• Etc.
2007 Euro Simulation
Interoperability Workshop
What HLA does not offer
• Internal event management
• Synchronization logic between local and distributed
environments
• Services for specific simulation paradigms
(continuous, discrete, process interaction, event scheduling, etc.)
2007 Euro Simulation
Interoperability Workshop
Development Effort
(When building new DES federates)
• Acquire HLA Know-how (una tantum)
• Adapt to a different conceptual framework
• Develop software components for:
• Synchronization and communication among local components
• Synchronization and communication between local –
distributed environments
Furthermore, simulation components depend on:
• Distributed simulation technology
• Execution environment
2007 Euro Simulation
Interoperability Workshop
Development Effort
(When reusing existing federates)
• Adapt to a different non-interoperable RTI
• Adapt exchanged data format, etc.
2007 Euro Simulation
Interoperability Workshop
Problem
How to reduce the design and development effort gap
between local and distributed simulators
i.e.:
How to reduce:
HLA know-how and development effort
By increasing:
• Interoperability,
• Reusability,
• Adaptability.
2007 Euro Simulation
Interoperability Workshop
Interoperability in HLA
Is:
• Running Java, C++ and ADA95 federates together in the
same federation
• Running, together, federates on etherogeneous SW and
HW platforms
Thus NOT:
• Inter-RTI interoperability
2007 Euro Simulation
Interoperability Workshop
Reusability in HLA
Is:
• Reuse of a federate in a new federation
• Reuse of the RTI SW across simulation domains and
applications
Thus NOT reuse of components for:
• Synchronization and communication
• Logical Process (LP) within each federate
2007 Euro Simulation
Interoperability Workshop
Adaptability in HLA
Not a HLA objective
HLA provides generic services for distributed simulation, e.g.:
• Data update only upon “significant” variation of values
• Event Sending an Receiving in TSO or RO
• Etc.
Adapting HLA to DES  modelling limitations
2007 Euro Simulation
Interoperability Workshop
Proposed solutions
We introduce two technologies:
• CORBA-HLA
• Improves interoperability and reusability
• SimJ
• Improves reusability and adaptability
2007 Euro Simulation
Interoperability Workshop
CORBA-HLA
2007 Euro Simulation
Interoperability Workshop
CORBA Architecture
IDL
Stub
IDL
Skeleton
Object Request Broker
Request
ClientClient
Object
Implementation
Object
Implementation
IDL
Stub
IDL
Skeleton
Object Request Broker
Request
ClientClient
Object
Implementation
Object
Implementation
(Server)
2007 Euro Simulation
Interoperability Workshop
Communication between
RTI and Federate
Federate
RTI Ambassador
Federate Ambassador
Runtime Infrastructure (RTI)
2007 Euro Simulation
Interoperability Workshop
Improving interoperability through …
Standard, open and highly interoperable protocols to vehicle
HLA service calls and data
Thus:
Federates using CORBA-HLA can switch to any HLA
implementation that exposes its services through IDL
interfaces, i.e. achieves technical interoperability [Tolk]
[Tolk] A. Tolk, J. Muguira, “The Level of Conceptual Interoperability”, The 2003 Fall Simulation
Interoperability Workshop, 03F-SIW-07
2007 Euro Simulation
Interoperability Workshop
Improving reusability through …
Interoperability: federates can be reused across several
RTIs
2007 Euro Simulation
Interoperability Workshop
CORBA-HLA Architecture
(hw/sw view)
Host 2
Host n
Host 1
CORBA-RTI Server
ORB
RTI
Implementation
Key
HLA Service request / response flow
Federate
...
Local RTI
Local RTI
Local RTI
RTI
Executive
Local RTI
CORBA-HLA (either Local RTI or RTI Executive)
Pitch Local RTI
2007 Euro Simulation
Interoperability Workshop
CORBA-HLA Architecture
(sw view)
Federate a
Federate Code
CORBA RTI Proxy
Federate
Ambassador
CORBA RTI
Ambassador
RTI Executive
Federate b
Federate Code
CORBA RTI Proxy
Federate
Ambassador
CORBA RTI
Ambassador
CORBA RTI Server
CORBA2Host
Converter
Local RTI Library
RTI
Ambassador
CORBA RTI Server
Host2CORBA
Converter
Local RTI Library
RTI
Ambassador
(1)
(2)
(3)
(4)
(5) (6)
(7)
(8)
(9)
(11)
(10)
ORB
IIOP
IPC
local
calls
2007 Euro Simulation
Interoperability Workshop
Example of use of CORBA-HLA
(Running federates on a different HLA implementation )
RTI B Executive
Federate 1
CORBA/HLA Client (Proxy)
CORBA/HLA Server (RTI B)
Federate 2
RTI B Local Library
Site 1 Site 2
RTI A Executive
CORBA/HLA Server (RTI A)
RTI A Local Library
IIOP
IPC
local
calls
2007 Euro Simulation
Interoperability Workshop
SimJ
Objective: to improve reusability and adaptability
2007 Euro Simulation
Interoperability Workshop
Improving reusability through …
Bringing LP-level reusability.
Simulation components (LP) can be reused across:
• Several local environments
• Local and distributed environment
• Several distributed environments
2007 Euro Simulation
Interoperability Workshop
Improving adaptability through …
A uniform interface (of DES type) for both local and
distributed execution
That is:
• Components are developed locally (as for any DES
framework)
• And then deployed either to local or distributed
environments
2007 Euro Simulation
Interoperability Workshop
SimJ
• Provides a framework to develop local and distributed
DES simulators
• Supports the PI simulation paradigm
• Is based on four layers
• Defines service, data and factory interfaces
2007 Euro Simulation
Interoperability Workshop
PI Paradigm
E1
ev1
ev3
ev2
ev4
E2
E3
Key
Entity
Input Port
Out Port
Link/Event ev
2007 Euro Simulation
Interoperability Workshop
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
2007 Euro Simulation
Interoperability Workshop
Preliminary Experiments
WAN
GATech's
LAN
Lecce
HLA over IIOP
SimLab
Executive
HLA over IIOP
US - Georgia Italy
Server
Local
HLA over IIOP
Federate
Key
pRTI 1516
CORBA + CORBA-HLA
IIOP protocol
Pitch protocol over TCP and UDP
Georgia Tech
CORBA-HLA
Client
Federation
Manager
TorVergata
CORBA RTI Server
Ascoli
Camerino SimJ
CORBA-HLA
Client
SimulatorSimJ
CORBA-HLA
Client
Simulator
SimJ
CORBA-HLA
Client
Simulator
SimJ
CORBA-HLA
Client
Simulator
SimJ
CORBA-HLA
Client
Simulator
SimJ
CORBA-HLA
Client
Simulator
2007 Euro Simulation
Interoperability Workshop
Conclusions
• Distributed simulation software do not exploit
advances of general-purpose distributed software
• HLA, particularly, suffers from low levels of quality
attributes (interoperability, reusability, adaptability)
• We have introduced two technologies that improve
such attributes:
• CORBA-HLA improves interoperability and reusability
• SimJ improves reusability and adaptability

Software Technologies for the Interoperability, Reusability and Adaptability of Distributed Simulators

  • 1.
    2007 Euro Simulation InteroperabilityWorkshop Software Technologies for the Interoperability, Reusability and Adaptability of Distributed Simulators Presented by Daniele Gianni Phd Candidate A. D’Ambrogio, D. Gianni, and G. Iazeolla Dipartimento di Informatica, Sistemi e Produzione University of Rome “TorVergata”
  • 2.
    2007 Euro Simulation InteroperabilityWorkshop Overview • Background • HLA • Problems in the design and development of DES distributed simulators • Proposed solutions • CORBA-HLA • SimJ • Preliminary experiments
  • 3.
    2007 Euro Simulation InteroperabilityWorkshop High Level Architecture (HLA) • Standard DMSO (1995) • Facility OMG for Distributed Simulation (1998) • Standard IEEE 1516 (2000) • Four documents • Objective: to improve distributed simulation SW reusability and interoperability
  • 4.
    2007 Euro Simulation InteroperabilityWorkshop HLA simulations main components • RTI: distributed simulation middleware • Federate: an instance of a simulator • Federation: a set of instances of simulators running in the same distributed simulation
  • 5.
    2007 Euro Simulation InteroperabilityWorkshop RTI – Federate communications Federate RTI Ambassador Federate Ambassador Runtime Infrastructure (RTI)
  • 6.
    2007 Euro Simulation InteroperabilityWorkshop What HLA offers • A general framework to develop distributed simulators (military, discret events, Internet gaming, etc.). • A set of simulation-oriented services to: • Manage the federation (creation, destroying, synchronization, etc.) • Manage the simulation time (constrained or constraining) • Exchange data (objects, interactions, etc.) • Etc.
  • 7.
    2007 Euro Simulation InteroperabilityWorkshop What HLA does not offer • Internal event management • Synchronization logic between local and distributed environments • Services for specific simulation paradigms (continuous, discrete, process interaction, event scheduling, etc.)
  • 8.
    2007 Euro Simulation InteroperabilityWorkshop Development Effort (When building new DES federates) • Acquire HLA Know-how (una tantum) • Adapt to a different conceptual framework • Develop software components for: • Synchronization and communication among local components • Synchronization and communication between local – distributed environments Furthermore, simulation components depend on: • Distributed simulation technology • Execution environment
  • 9.
    2007 Euro Simulation InteroperabilityWorkshop Development Effort (When reusing existing federates) • Adapt to a different non-interoperable RTI • Adapt exchanged data format, etc.
  • 10.
    2007 Euro Simulation InteroperabilityWorkshop Problem How to reduce the design and development effort gap between local and distributed simulators i.e.: How to reduce: HLA know-how and development effort By increasing: • Interoperability, • Reusability, • Adaptability.
  • 11.
    2007 Euro Simulation InteroperabilityWorkshop Interoperability in HLA Is: • Running Java, C++ and ADA95 federates together in the same federation • Running, together, federates on etherogeneous SW and HW platforms Thus NOT: • Inter-RTI interoperability
  • 12.
    2007 Euro Simulation InteroperabilityWorkshop Reusability in HLA Is: • Reuse of a federate in a new federation • Reuse of the RTI SW across simulation domains and applications Thus NOT reuse of components for: • Synchronization and communication • Logical Process (LP) within each federate
  • 13.
    2007 Euro Simulation InteroperabilityWorkshop Adaptability in HLA Not a HLA objective HLA provides generic services for distributed simulation, e.g.: • Data update only upon “significant” variation of values • Event Sending an Receiving in TSO or RO • Etc. Adapting HLA to DES  modelling limitations
  • 14.
    2007 Euro Simulation InteroperabilityWorkshop Proposed solutions We introduce two technologies: • CORBA-HLA • Improves interoperability and reusability • SimJ • Improves reusability and adaptability
  • 15.
  • 16.
    2007 Euro Simulation InteroperabilityWorkshop CORBA Architecture IDL Stub IDL Skeleton Object Request Broker Request ClientClient Object Implementation Object Implementation IDL Stub IDL Skeleton Object Request Broker Request ClientClient Object Implementation Object Implementation (Server)
  • 17.
    2007 Euro Simulation InteroperabilityWorkshop Communication between RTI and Federate Federate RTI Ambassador Federate Ambassador Runtime Infrastructure (RTI)
  • 18.
    2007 Euro Simulation InteroperabilityWorkshop Improving interoperability through … Standard, open and highly interoperable protocols to vehicle HLA service calls and data Thus: Federates using CORBA-HLA can switch to any HLA implementation that exposes its services through IDL interfaces, i.e. achieves technical interoperability [Tolk] [Tolk] A. Tolk, J. Muguira, “The Level of Conceptual Interoperability”, The 2003 Fall Simulation Interoperability Workshop, 03F-SIW-07
  • 19.
    2007 Euro Simulation InteroperabilityWorkshop Improving reusability through … Interoperability: federates can be reused across several RTIs
  • 20.
    2007 Euro Simulation InteroperabilityWorkshop CORBA-HLA Architecture (hw/sw view) Host 2 Host n Host 1 CORBA-RTI Server ORB RTI Implementation Key HLA Service request / response flow Federate ... Local RTI Local RTI Local RTI RTI Executive Local RTI CORBA-HLA (either Local RTI or RTI Executive) Pitch Local RTI
  • 21.
    2007 Euro Simulation InteroperabilityWorkshop CORBA-HLA Architecture (sw view) Federate a Federate Code CORBA RTI Proxy Federate Ambassador CORBA RTI Ambassador RTI Executive Federate b Federate Code CORBA RTI Proxy Federate Ambassador CORBA RTI Ambassador CORBA RTI Server CORBA2Host Converter Local RTI Library RTI Ambassador CORBA RTI Server Host2CORBA Converter Local RTI Library RTI Ambassador (1) (2) (3) (4) (5) (6) (7) (8) (9) (11) (10) ORB IIOP IPC local calls
  • 22.
    2007 Euro Simulation InteroperabilityWorkshop Example of use of CORBA-HLA (Running federates on a different HLA implementation ) RTI B Executive Federate 1 CORBA/HLA Client (Proxy) CORBA/HLA Server (RTI B) Federate 2 RTI B Local Library Site 1 Site 2 RTI A Executive CORBA/HLA Server (RTI A) RTI A Local Library IIOP IPC local calls
  • 23.
    2007 Euro Simulation InteroperabilityWorkshop SimJ Objective: to improve reusability and adaptability
  • 24.
    2007 Euro Simulation InteroperabilityWorkshop Improving reusability through … Bringing LP-level reusability. Simulation components (LP) can be reused across: • Several local environments • Local and distributed environment • Several distributed environments
  • 25.
    2007 Euro Simulation InteroperabilityWorkshop Improving adaptability through … A uniform interface (of DES type) for both local and distributed execution That is: • Components are developed locally (as for any DES framework) • And then deployed either to local or distributed environments
  • 26.
    2007 Euro Simulation InteroperabilityWorkshop SimJ • Provides a framework to develop local and distributed DES simulators • Supports the PI simulation paradigm • Is based on four layers • Defines service, data and factory interfaces
  • 27.
    2007 Euro Simulation InteroperabilityWorkshop PI Paradigm E1 ev1 ev3 ev2 ev4 E2 E3 Key Entity Input Port Out Port Link/Event ev
  • 28.
    2007 Euro Simulation InteroperabilityWorkshop 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
  • 29.
    2007 Euro Simulation InteroperabilityWorkshop Preliminary Experiments WAN GATech's LAN Lecce HLA over IIOP SimLab Executive HLA over IIOP US - Georgia Italy Server Local HLA over IIOP Federate Key pRTI 1516 CORBA + CORBA-HLA IIOP protocol Pitch protocol over TCP and UDP Georgia Tech CORBA-HLA Client Federation Manager TorVergata CORBA RTI Server Ascoli Camerino SimJ CORBA-HLA Client SimulatorSimJ CORBA-HLA Client Simulator SimJ CORBA-HLA Client Simulator SimJ CORBA-HLA Client Simulator SimJ CORBA-HLA Client Simulator SimJ CORBA-HLA Client Simulator
  • 30.
    2007 Euro Simulation InteroperabilityWorkshop Conclusions • Distributed simulation software do not exploit advances of general-purpose distributed software • HLA, particularly, suffers from low levels of quality attributes (interoperability, reusability, adaptability) • We have introduced two technologies that improve such attributes: • CORBA-HLA improves interoperability and reusability • SimJ improves reusability and adaptability