Sunday, November 17, 2013

SimGe – A Tool for Developing HLA Object Models

This is my first post on the simulation and simulator engineering blog. And, I would like to introduce you a free High Level Architecture (HLA) federation object model editor, called SimGe. Simulation Generator (SimGe) is a fully-dressed High Level Architecture (HLA) object model editor and a code generator that is intended to generate code automatically for HLA based distributed simulations.
Currently, SimGe has the following abilities: FOM Development, Code Generation, and Report Generation. FOM development supports HLA 1.3 and IEEE 1516-2010 standards. It has an object editor that allows the user to manage the object model and enables the creation and modification of HLA object model template and object models and the import and export of the HLA related files (i.e. HLA 1.3 Federation Execution Details (FED), HLA 1516-2010 Federation Object Model (FOM) Document Data (FDD)), which contains configuration data for the federation execution. Its code generator generates object model and application federate classes in C# for Microsoft .NET Framework. The target platform for code generation is an HLA Runtime infrastructure (RTI) abstraction layer called RTI abstraction component for .NET (RACoN). The architecture of the generated code by SimGe conforms to the layered architectural style. Report generator is employed to generate HLA OMT documentation and the generated report can easily be exported in pdf or word format.
SimGe is a research and an academic tool that is not intended for a production environment. It is mainly developed as a lab tool for a graduate level distributed simulation course. The students in mind, SimGe comes with a well-written user manual. So, the user may easily learn how to use the tool. Of course, the user must have an introductory-level HLA background. SimGe also includes a sample federation project: Chat Federation. Chat is an HLA based distributed interactive application that provides basic chatting functionalities such as selecting a nickname, entering a chat room, and so on. Although Chat application is not a simulation, it is a good and short example to give the basic essence of federation object modeling. SimGe also maintains a User’s Forum (as a Google Group), where a forum member may ask technical questions, report bugs, and request new features or feature enhancements.
You can easily download SimGe standalone installation file, User Manual, and Architecture Book from SimGe website: http://www.ceng.metu.edu.tr/~otopcu/simge/. SimGe is released regularly. So, don’t forget to check its website. Or you can follow SimGe twitter account (@OTOT_SimGe) for new releases.

Tuesday, September 10, 2013

Roots of Distributed Simulation, revisiting SIMNET

Recently I was digging the roots of distributed simulation and trying to make some reading about the history. Any reference that I read starts straightly with the SIMNET effort. The discussion that started in the mid 70's about enabling technologies for distributed and interactive simulation are summarized in many references. Here at this post, I just would like to revisit SIMNET and summarize my notes from the "kind of" famous paper of Duncan Miller and Jack Thorpe,  SIMNET: The Advent of Simulator Networking
It is noted that not long ago but in late 70s, development and application of simulation technology was only available in engineering research and development labs. Considering the 30-40 year operation life-cycle of platforms, this means, we are currently seeing at most the simulators for second generations of the first simulated platforms. Like now we are discussing the training devices for 5th generation fighters or 4th generation (fly by wire) airliners, on the other hand, the first that had training simulators were 4th generation fighters and 3rd generation airliners.
The next interesting note to mention is the motivation back in 78 while they are trying to launch a networked simulation technology development project, was to enable training for improving the collective skills of teams. So it wasn't the platform simulated that challenged the simulation technology back at 70's, but the training goals. Today on the other hand, while we widely use distributed simulation to train teams, we can not think in any other way to simulate large and complex systems (of systems) of today's world.
While SIMNET was launched in 1983, the aim was to demonstrate networked simulation technologies in 4 interconnected testbeds, each of which would have at least 50-100 vehicles.  And due to high data rate requirements of the flight simulators, the project started with ground vehicles. To me, these numbers are still amazing to develop and demonstrate a technology. Aren't they?
Then the project achieves number of important milestones, each of which are cornerstones at today's simulation technology. First distributed simulation concept demonstration in 1984, first real time out of the window demonstration in 1985, first mission level scenario with re-configurable image generators and number of moving objects in 1986 and first air platform in 1987. At the end 250 simulators were installed in 9 operational training sites.
As the last note, maybe, we can list the technologies SIMNET inherited to simulation literature. First to mention of course is communication protocol, Distributed Interactive Simulation (DIS) which will then turn out to be an IEEE standard that is still actively maintained. One of the cornerstones introduced with DIS can be pronounced as the dead reckoning algorithms. Then we need to mention the realistic control/display interactions in manned vehicle simulators were first demonstrated in SIMNET. And lastly, the earliest implementations of Semi Automated Forces (SAF) were introduced in SIMNET.
It was a nice reading for me at all. And I would strongly recommend Miller's paper to anyone who would like to revisit the history of distributed simulation.  

Sunday, September 1, 2013

A Blog for Simulation and Simulator Engineering

Software engineering community has always been that active in sharing what they do and what they know. There are more than dozens of very well known programming and software engineering blogs. One can easily list Joel on Software, Coding Horror, Martin Fowler at the first place. The simulation community, while has not been as good, there are some good blogs and web sites out there. When I hit the idea of maintaining a simulation and simulator engineering blog, I made a call from linkedin to list good M&S blogs and web sites. Here is the list we came up with:

At the first place, I was after, and still willing to have a collaborative blog. One very nice one from our sister domain gaming, http://www.playthepast.org/. I did a collaboration call from linkedin for this blog but failed to collect any interest. Here with this first post, I would like to welcome any simulation and simulator engineering fellow to contribute in this blog in which I would like to blog on technologies, advances and applications of simulation and simulator engineering. Just put an e-mail, add a comment and let me know that you would like to contribute to this blog.
There are couple of books from M&S community I like a lot. One is Simulation Engineering from Jim Ledin. Jim defines simulation engineering as applying engineering principles and techniques to develop valid, useful simulations of complex dynamic systems. Then he also adds another definition of simulation engineering as using simulations to engineer or say develop products. These definitions are really useful to define the scope of this blog. I would like have post about both of these definitions.
As we are discussing the definitions of simulation engineering, I would like to reference one of the best text that discusses this definition from Professor Tolk  and his colleagues, Do We Need M&S Science? . They define simulation engineering having its roots from academic foundations  named as simulation science but focuses on solution patterns that can be used to various simulation applications by which real world problems are solved. While this blog is named by engineering, its scope sometimes can be extended to simulation science.