Ptolemy II 11-0 includes the ability to use the High-Level Architecture (HLA) to realize distributed discrete-event simulation.
What is hlacerti
in Ptolemy II?
The Ptolemy-HLA 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 Cardoso 2018,
Lasnier 2013, Li 2015.
Ptolemy-HLA demos are in $PTII/org/hlacerti
in the development tree.
Check the
ptII-hlacerti wiki
for more information.
hlacerti
: Leveraging Ptolemy and HLA
Key features | Ptolemy | HLA | hlacerti |
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
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 see here.
The minimum set of instructions is in this page.
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:
- 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.
- 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.
- 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.
The table below shows some HLA services. The ones with a * are sent from RTI to Federates (callbacks);
all other services are from Federates to RTI.
Table 1: Hla Services.
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.
What is JCERTI?
JCERTI is the Java API. It is compliant with both standards, HLA 1.3 and IEEE 1516.
For more information, check the CERTI wiki.
Ptolemy/HLA Papers
- Cardoso J., Siron P. (2018) Ptolemy-HLA: A Cyber-Physical System Distributed Simulation Framework. In: Lohstroh M., Derler P., Sirjani M. (eds) Principles of Modeling. Lecture Notes in Computer Science, vol 10760. Springer
- Gilles Lasnier, Janette Cardoso, Pierre Siron, Claire Pagetti, Patricia Derler. "Distributed Simulation of Heterogeneous and Real-time Systems", 17th IEEE/ACM International Symposium on Distributed Simulation and Real Time Applications, November, 2013, pp, 55-62; Received Best Paper Award.
- Li, Yanxuan and Cardoso, Janette and Siron, Pierre. "Adding time-step time management to a distributed Ptolemy-HLAcerti framework", In: 11th Biennial Ptolemy Miniconference, 16 October 2015 (Berkeley, United States).
- A. V., Brito, A. V. Negreiros, "Allowing Large-Scale Systems Evaluation with Ptolemy through Distributed Simulation," 2013 III Brazilian Symposium on Computing Systems Engineering (SBESC), 4-8 Dec. 2013. (Only the abstract is in English)
- Brito, A.V.; Negreiros, A.V. ; Roth, C. ; Sander, O. ; Becker, J.Development and Evaluation of Distributed Simulation of Embedded Systems Using Ptolemy and HLA," 2013 IEEE/ACM 17th International Symposium on Distributed Simulation and Real Time Applications (DS-RT), Oct. 30 2013-Nov. 1 2013.
- Christoph Roth, Harald Bucher, Alisson Brito, Oliver Sander, Juergen Becker, "A Simulation Tool Chain for Investigating Future V2X-based Automotive E/E Architectures," Proceedings of Embedded Real Time Software and Systems Conference, Toulouse, France, 2014.
- José Cláudio V. S. Júnior, Alisson V. Brito, and Tiago P. Nascimento, "Verification of Embedded System Designs through Hardware-Software Co-Simulation," International Journal of Information and Electronics Engineering (IJIEE), 2015 Vol.5(1): 68-73 ISSN: 2010-3719
See Also