High-Level Architecture

Ptolemy II includes the ability to use the High-Level Architecture (HLA) to realize distributed discrete-event simulation.

The demos are in $PTII/org/hlacerti in the development tree. As of February, 2017, this directory is not shipped with the release, so you must obtain it via the SVN repository, see Installing Ptolemy II.

1.  What is hlacerti in Ptolemy II?

The HLA-PTII co-simulation framework (called hlacerti in Ptolemy tree) leverages two open source tools: Ptolemy II and HLA/CERTI. It allows to distribute the execution of a Ptolemy model by using the HLA standard (implemented by CERTI), and is a easy way to produce a HLA federate in a Federation using CERTI. For more information about the HLA-PTII co-simulation framework see Lasnier 2013, Li 2015. HLA-PTII demos are in $PTII/org/hlacerti in the development tree.

hlacerti: Leveraging Ptolemy and HLA
Key featuresPtolemyHLAhlacerti
Heterogeneity 
Hierarchy 
Distribution 
Interoperability 

Ptolemy-hlacerti allows for:

  • Distribution of a simulation, allowing the scalling up for big models and performance (see Figure 1);
  • Interoperability of tools, allowing reusability and interfacing with other simulators (see Figure 2).

Figure 1: hlacerti allows for distributing a Ptolemy model in one or more computers.

Figure 2: hlacerti allows for interoperability with real devices or other simulators.

It does not work when the url is replaced by the attach


Rock on!

The image is right-aligned, and the text wraps on the left side of the image.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et

For more information, check the ptII-hlacerti wiki.

2.  What is Ptolemy II?

Ptolemy II is an open-source software framework supporting experimentation with actor-oriented design. Actors are software components that execute concurrently and communicate through messages sent via interconnected ports. A model is a hierarchical interconnection of actors. In Ptolemy II, the semantics of a model is not determined by the framework, but rather by a software component in the model called a director, which implements a model of computation.

General instructions for installing Ptolemy II are at http://chess.eecs.berkeley.edu/ptexternal/ . The minimum set of instructions is in this page.

3.  What is High-level Architecture (HLA)?

The High-Level Architecture (HLA) is a standard for distributed discrete-event simulations, generally used to support analysis, engineering and training. The approach promotes reusability and interoperability. In HLA terminology, the entire system to be simulated is represented by a federation which is a collection of federates, i.e. simulation entities performing a sequence of computations. Federates are connected via the Run-Time Infrastructure (RTI), the underlying middleware functioning as the simulation kernel.

The HLA specification defines:

  1. An interface specification for a set of services required to manage the federates and their interactions. For instance, it describes how a federate can join or create a federation.
  2. An object model template (based on the OMT standard) which provides a common framework for the communication between HLA simulations. For each federation, a Federation Object Model (FOM) describes the shared objects, interaction classes and their attribute. The FOM can be specified in a Federeration Execution Data (FED) file or a XML file.
  3. A set of rules describing the responsibilities of federations and the federates. An example is the rule that all data exchange among federates shall occur via the RTI.

This table shows HLA services. The ones with a * are sent from RTI to Federates (callbacks); all other services are from Federates to RTI.

4.  What is CERTI?

http://savannah.nongnu.org/projects/certi says:

"CERTI is an Open Source HLA RTI. HLA (High-Level Architecture) is a general purpose architecture for distributed computer simulation systems. In HLA systems, the RTI (RunTime Infrastructure) manages data exchange between simulations. CERTI supports HLA 1.3 specifications (C++ and Java) and partial IEEE 1516-v2000 and IEEE 1516-v2010 (C++) ."
"CERTI is open source software (GPL, libraries are LGPL)."

For more information, check the CERTI wiki.

5.  Ptolemy/HLA Papers

6.  See Also