SlideShare a Scribd company logo
Reference: Simware Technical Library
Date: May-2017
Version : 1
© SIMWARE SOLUTIONS S.L., 2017. All rights reserved.
Technical Resources
[ Understanding Simware Platform ]
SIMWARE Technical Resources
Understanding Simware architecture Date: May 2017
Page 2 of 24
Property of SIMWARE SOLUTIONS S.L.
marketing@simware.es – www.simware.es
1 OBJECTIVE
This document describes the main features and capabilities in Simware
platform and some use cases for the platform.
2 INTRO TO SIMWARE PLATFORM
Simware platform is based on a microservices architecture, named Layered
Simulation Architecture or LSA. LSA is the first microservices architecture for
simulation, specifically designed to support the development of real time and
Net-Centric simulation products. As any other microservices architecture, LSA
allows to decompose the simulation product into small and easily manageable
components. Microservices are called Entities in Simware and interoperate with
other entities by exchanging data through a distributed simulation runtime
infrastructure, that is working as the ESB (Enterprise Service Bus) of the simulation
product.
Simware platform provides a loosely coupled architecture, composed by multiple
layers that can work alone or in collaboration, depending on the project’s
requirements. Simware layers provided everything you need to develop real
time simulations that can be connected with web and legacy applications in
any kind of simulation & training solution.
SIMWARE Technical Resources
Understanding Simware architecture Date: May 2017
Page 3 of 24
Property of SIMWARE SOLUTIONS S.L.
marketing@simware.es – www.simware.es
3 SIMWARE DESIGN’S PATTERN
Simware platform evolves the traditional design pattern of a real time
simulation, based on the structural model pattern or AVSM, first introduced in
the simulation domain by SEI in 19931, to support Net-Centric and data-centric
open simulations.
Simware architecture supports a design pattern with three levels of artefacts:
- The executive level, applications and services that handle coordination
issues: real-time scheduling of subsystems, synchronization between
applications, event management, data sharing, and data integrity.
- The application level, handling the computation of the simulation. Its
functions are implemented by Entities and simulation services that are
composed by simulation models.
- The interface level, handling the integration of third-party components.
External applications can be integrated in Simware platform by using the
1 Technical Report CMU/SEI-93-TR-14. Structural Modeling: An application framework and development process for flight simulators
SIMWARE Technical Resources
Understanding Simware architecture Date: May 2017
Page 4 of 24
Property of SIMWARE SOLUTIONS S.L.
marketing@simware.es – www.simware.es
open APIs provided in Simware or by using a standard interface as HLA,
DIS, DDS, CIGI, etc.
Integration of all the artefacts at the different level is achieved by the use of a
real time middleware, that provides a publish-subscribe interface to the two
data models in Simware, one for the management of the simulation and the
other for the exchange of simulation data.
Simware provides 4 main artefacts at the Executive level:
- Scheduler. It is doing the functions of the AVSM’s timeline synchronizer. It
keeps the state of the simulation, manage the tick of the clock and
controls the operational status of the Entities. It also commands the
creation and destruction of new instances of the simulation objects,
under the request of the ACS or of any external application.
- A XML configuration file, which defines the simulator structure (number of
hosts and Entities running in each host), simulation conditions (master sim
frequency, number of hosts, conditions for the cyclical execution of the
entities and services, initial conditions, etc.)
- A control data-model, which defines the management object model for
the simulation (state machine, clock, management of instances of the
objects, etc.)
- SimEngine, it is the periodic sequencer in Simware platform. One
instance of the SimEngine is running in each host in which periodic
simulations are executed. SimEngine manages the cyclical execution of
the periodic simulations using the simulation conditions defined in the
configuration file (order, frequency, etc.) and the state and time control
data provided by the scheduler.
Event handler functions are performed in Simware by the simulation
middleware. It is the middleware which process the publications of interactions
(the way to model events in Simware) to the subscribers connected to the
network. Delivery conditions to the subscribers will be specified in the specific
QoS contract for each subscriber.
At the Application level, Simware supports Simulation models that can be
integrated in Entities (subsystems) or can be deployed as Simulation Services.
Entities can be connected to Simulation Services through the middleware.
Entities and Sim services exchange data as is defined in the simulation data
model: simulation objects (permanent data) and interactions (events).
SIMWARE Technical Resources
Understanding Simware architecture Date: May 2017
Page 5 of 24
Property of SIMWARE SOLUTIONS S.L.
marketing@simware.es – www.simware.es
Interactions are used in Simware to send orders/request between the Entities
and Sim services2.
Entities and Simulation services can be asynchronous components, event-
based applications that don’t need from a SimEngine or synchronized
components working under the command of a SimEngine.
Simware platform provides also the foundation of an IOS: the ACS application.
ACS is a container of control panels created automatically directly from the
simulation data-model and provides a visual interface to manage the
execution of the simulation and the management of instances of the simulation
objects and interactions.
At the Interface Level, Simware provides open APIs and tools to create control
and simulation data interfaces with third-party applications. Simware provides
C++ and Web APIs to integrate other desktop and web applications and tools
and SDKs to develop gateways with systems that are using different standard
protocols as HLA, DIS, JAUS, CIGI, DDS, etc3 Gateway SDK can be also be used
to develop gateways with proprietary protocols. This capability enables the
easy integration of components provided by other partners in the supply chain
of the simulator, including COTS components.
One or several Entities and simulation services can be integrated together as a
Component, that would be a kind of micro-service. This services can be
deployed on dedicated simulation servers, that can connected to several
simulation sessions at the same time (know further at section 5)
2 Learn more about how Simware leverages the interactions to provide interoperability at a component level in the technical paper
“Doing smart connected simulations” at http://www.simware.es/resources.html
3 To learn more about the standards and protocols supported in Simware goes to http://www.simware.es/simware--
standards.html
SIMWARE Technical Resources
Understanding Simware architecture Date: May 2017
Page 6 of 24
Property of SIMWARE SOLUTIONS S.L.
marketing@simware.es – www.simware.es
4 SIMWARE’S LAYERED ARCHITECTURE
Simware’s bedrock is his data-centric, layered and modular architecture. All
the artefacts explained in above section are organized in separate layers. Our
layered architecture provides a great modularity and flexibility of use.
Simware is composed by next layers:
- Data-exchange layer. Right now, Simware is compliant with DDS and
HLA. Different implementations of both standards can be used to
exchange data in the network between the different applications in
Simware and even with others external to Simware. This is one of the
main features included in Simware: any source-code developed with
Simware can be deployed on HLA or DDS without any change, only by
changing a parameter in the construction of the simulation session.
- Simulation Data-Bus. Simware provides a pure data-centric simulation
middleware to connect different applications. This middleware includes
APIs to manage the data-models used in Simware.
SIMWARE Technical Resources
Understanding Simware architecture Date: May 2017
Page 7 of 24
Property of SIMWARE SOLUTIONS S.L.
marketing@simware.es – www.simware.es
- Runtime Infrastructure. This layer contains the main artefacts at the
Executive level and its use is optional4 in Simware. You will only need it in
case you are dealing with synchronized simulations using a common
wall-clock or need to deal with the cyclical and deterministic
execution of physics-based simulations. This layer can be used then to
build the host of a real time simulator or to manage the real time
execution of different simulation services running on a simulation server.
Simware, as a pure distributed architecture, allows the distribution of
the cyclical computation of physics based simulation models in
different machines, synchronized by a shared wall-clock and a
common state machine. Two services are provided in the runtime
infrastructure to manage this distributed simulation: Scheduler and
SimEngines. Scheduler manages the clock and command the transition
between the different states of the simulation. A SimEngine is an artifact
running in each machine that it is executing physics-based sim models.
This SimEngine manage the cyclical execution of the sim model based
on the tick of the clock and the state of the simulation.
- SimWeb Server. This optional layer opens Simware data-centric
architecture to web and mobile applications. It leverages LTI standard
(Learning Tool Interoperability) to provide an interface between the
typical client-server architecture in web and mobile apps and the
data-centric architecture in Simware.
- Gateway. This optional layer provides the capability to connect the
basic classes for the publishers and listeners in Simware with systems that
use standard based or proprietary connectivity protocols. This layer then
provides a bridge between the internal data-models in Simware and
heterogeneous systems, that can be both simulations or real systems.
4.1 SIMWARE = DATA-CENTRIC
The main difference in Simware when you compare with any other COTS in the
market it is its pure data-centric architecture. Simware only leverages data to
enable the interactions between all the entities connected to the platform.
Data is used to exchange information about the dynamics and behaviors of
the different simulated objects, including the interactions between them.
4 This layer can be also used to integrate third-party simulation engines and legacy simulation models. See “SIMWARE_RESOURCES :
Integrating legacy sim models” to know how to do it”.
SIMWARE Technical Resources
Understanding Simware architecture Date: May 2017
Page 8 of 24
Property of SIMWARE SOLUTIONS S.L.
marketing@simware.es – www.simware.es
Simware also use data to manage the execution of the simulation in a
distributed environment (control of the state-machine and the clock,
management of instances of the different objects, etc.).
Data-models in Simware are based on HLA standard. Simware uses the HLA
Object Model Template spec as the base to design its own data-models. You
will find two data-models in any Simware simulation:
- Simulation data-model. It can be any data-model. Simulation data-
models in Simware are composed by persistent entities (simulation
objects) and events (interactions in HLA terminology). Data-models are
built with Modeler tool included in Simware Core package. Modeler will
build automatically an instance of the middleware in Simware (called
NCWare Sim) from the HLA-style XML file.
- Control Data-Model. It is a fixed data-model, used to manage the
simulation (its state-machine, the simulation’s wall clock and the
management of the simulation objects).
SIMWARE Technical Resources
Understanding Simware architecture Date: May 2017
Page 9 of 24
Property of SIMWARE SOLUTIONS S.L.
marketing@simware.es – www.simware.es
Data-centric middleware maintains the state of the simulation using the control
data model. It manages the simulated content using simulation objects and
interactions with the same structure as specified in HLA standard.
Interactions in Simware are used not only to declare events in the simulation
but also to call the methods and procedures of other entities. For example, a
fighter entity can use interactions to command external simulation services to
launch flares, missiles or bombs. In this way, interactions enable dynamic
interoperability between the simulation entities as it is defined by LCIM (Levels
of Conceptual Interoperability Model)5
During execution of a session with Simware, a simulation data-domain will be
created in the network, to publish and subscribe the objects and interactions
in the Simulation data-Model and to exchange management information
about the state of the simulation using the control data-model.
Simware allows to have several simulations running at the same time in only
one physical network. Different “logical” simulation domains will be managed
for each one of the simulation executions. A Simware simulation domain is the
equivalent of a federation execution in HLA ((know further at section 5)
In each simulation session, you will have several applications that are publishing
and subscribing to any number of objects and interactions. In HLA terminology,
you will call each of them a federate. In Simware we call them Simulation
Entities or Services.
5 Know further at “SIMWARE_RESOURCES : Doing Smart Connected Simulations”
SIMWARE Technical Resources
Understanding Simware architecture Date: May 2017
Page 10 of 24
Property of SIMWARE SOLUTIONS S.L.
marketing@simware.es – www.simware.es
4.2 SIMWARE = NET-CENTRIC
Our fully distributed architecture is another key feature in Simware. Simware is
the only commercial real time simulation platform in the market fully leveraging
the best advantages of distributed systems. This feature allows to develop Net-
Centric simulators, ready to be deployed in the network and be connected to
other systems there.
Net-Centric architecture, besides to make easier the connectivity with other
systems in the network, enables the distributed computing of the simulation
system. This feature is very important even in the case of a standalone
simulator: standalone simulators used to be deployed on several computers,
Simware allows then to distribute the Entities in the different computers without
any limitation. A very typical example of how to use this capability is to balance
the load of the host of a real-time simulator between different computers.
Simware allows to distribute the artefacts in the Executive and application
levels in any machine of the network of the simulator.
SIMWARE Technical Resources
Understanding Simware architecture Date: May 2017
Page 11 of 24
Property of SIMWARE SOLUTIONS S.L.
marketing@simware.es – www.simware.es
4.3 SIMWARE = OPEN APIS
Each main layer in Simware has their own API to develop and configure the
services and features included in it:
• NCWare Sim. It is a C++ based API available on Simware Core license
for Windows and Linux. It is the API that is used with the simulation data-
bus to interface with the simulation data-model. With this API, the
developer can:
1. create/destroy simulations sessions or join to one already existing
2. Manage publishers and subscribers for the objects and interactions
in the Simulation data-model.
3. Manage synchronization points that can be used to synchronize
different entities in a Simware simulation.
4. Manage a logger and system traces for code depuration. These
traces can be stored in a file to do a deeper review of the execution
of the simulation.
• Simware Control Library (SCL). It is another C++ API, also provided with
Simware Core, for Linux and Windows. This library provides a set of
classes to get access to the Simware Control datamodel. This includes
methods to manage the simulation state machine, to control the
creation and destruction of instances of the objects and interactions
included in the simulation data-model and to define the initial
condition for the exercises. SCL is then managing the execution of the
artifacts included in Runtime Infrastructure layer (Scheduler and
SimEngine).
• Simware Web API. SimWeb Server provides a RESTful API, compliant with
the LTI std, to connect web and mobile applications to the control and
simulation data-models in Simware. SimWeb Server is generated
automatically from the data-models using the Web generator included
in Simware Web extension. A simplified C++ API is provided with this
extension in order to build LTI based applications that can connect to
the simulation and control data-models in Simware. A LtiClient C++
class is provided with the Simware Web package that helps the C++
developer to create and manage LTI messages. Clients can also be
done in other languages as Java, Python, C#, etc.
SIMWARE Technical Resources
Understanding Simware architecture Date: May 2017
Page 12 of 24
Property of SIMWARE SOLUTIONS S.L.
marketing@simware.es – www.simware.es
• eHost API. It is an XML based API that allows the configuration of the
execution of the runtime infrastructure and its deployment in the
network. The XML File allows to configure all the parameters that are
required to run a real-time simulation in the network as the overall
simulation frequency, the simulation frequency and execution order for
the sim models, the physical deployment of each sim model in the
network, etc. Basically, eHost, SCL API and the ACS tool (included also
in Simware Core package) allows to configure and manage the
execution of a simulation session as shown in the picture
SIMWARE Technical Resources
Understanding Simware architecture Date: May 2017
Page 13 of 24
Property of SIMWARE SOLUTIONS S.L.
marketing@simware.es – www.simware.es
5 SIMWARE’S DEPLOYMENT ARCHITECTURE
In execution, Simware is deployed as any micro-services architecture, with a
simulation infrastructure deployed on top of the network. Basic parameters of
the execution (distribution of the Simulation Entities, overall frequency of the
simulation, etc.) are defined in the eHost Config file. Specific mechanism to
exchange data in the network will be declared in the construction of the
middleware (DDS or HLA).
Several sessions of the simulation can be running at the same time on the same
network. Simware supports the concept of Domains, that it is a logical scope
(or "address space") for the data-models definitions. Simulation Domains are
completely independent from each other. For two Simware Entities to
communicate with each other they must join the same simulation Domain. This
feature enables the deployment of simulation servers, that are machines that
can execute several simulation sessions of the Entities at the same time, each
one serving a different simulation domain.
Specific service level agreements between the publishers & subscribers and the
middleware will be defined in a QoS file. Middleware will create messaging
channels in each domain between the publishers and subscribers of each type
of data contained in the control and simulation data models. These channels
will be based on shared memory in the case of flows of data between entities
running on the same machine or UDP based messaging in the case of entities
running on different machines.
SIMWARE Technical Resources
Understanding Simware architecture Date: May 2017
Page 14 of 24
Property of SIMWARE SOLUTIONS S.L.
marketing@simware.es – www.simware.es
One Scheduler service will be running on one machine of the simulation
network. Command of the simulation can be made through ACS console
provided with the software or by any application using the SCL API to connect
to the control data model.
Periodic simulations will run under the control of a SimEngine. One SimEngine
service will be running in each machine that it is running periodic simulations,
as physic-based simulation models.
Event based Entities can be also running in the simulation infrastructure. This kind
of aperiodic applications can use the synchronization services provided by the
Scheduler Service (common state-machine, common wall-clock) or run
asynchronously only coordinated by specific interactions defined in the
simulation data-model. For example, an interaction can be a Request_LOS that
is processed by an aperiodic Terrain simulation service. Any Entity requesting a
Line of Sight service will publish the interaction and the simulation service will
publish the LOS for the provided location.
Other entities can be connected to the middleware to consume or publish
data. This Entities can be integrated in Simware infrastructure through the C++
and Web APIs or by using a gateway.
SIMWARE Technical Resources
Understanding Simware architecture Date: May 2017
Page 15 of 24
Property of SIMWARE SOLUTIONS S.L.
marketing@simware.es – www.simware.es
6 AGILE DEVELOPMENT WITH SIMWARE PLATFORM
Simware innovations are not only in the software architecture. Simware
platform has been also designed as a productivity platform6, looking for the
rapid design and development of the simulator.
Simware provides an integrated development environment that supports many
of the best agile&lean software practices as model driven development, test-
driven development and continuous integration/delivery. The uncoupled and
data-centric architecture in Simware allows to develop the simulator in an
incremental way, having flexibility to add or change requirements during the
development process7.
Simware provides visual tools that
allows to generate rapidly the
structure of the simulator directly
from the simulation data-model
that can deployed directly on the
network using HLA or DDS.
Simware Designer tools, included
in Simware Core license,
generate, directly from the data-
model, C++ and XML file
describing the publish-subscribe interface of all the Entities and simulation
services. Simware tools create also directly the instantiation of the integration
infrastructure based on the designed simulation data-model, including the
publish-subscribe interfaces to the middleware, the Web server to connect LTI
based web/mobile applications and the Logger server to record the exercises.
All these artefacts are generated automatically, direct from the data-model.
Designer tools generates C++, LTI and XML interfaces. XML interfaces define in
HLA format the publish-subscribe interface of each subsystem/component. This
XML file, or Interface Definition File, IDF, in Simware terms, is used by
SimDeveloper tool, an extension to the Core in our portfolio, to do model-driven
development of the subsystems/components in the simulation. SimDeveloper
6 Go to http://www.simware.es/products.html to learn more about the commercial packages in Simware portfolio
7 Go to http://www.simware.es/agile-simware.html to learn more about how to adopt Agility with Simware platform
SIMWARE Technical Resources
Understanding Simware architecture Date: May 2017
Page 16 of 24
Property of SIMWARE SOLUTIONS S.L.
marketing@simware.es – www.simware.es
is an integrated simulation development environment into Simulink, that allows
to develop, integrate and test the simulations models using Mathworks
products: Simulink, Matlab and StateFlow. Once the simulation modules have
been verified into Simulink environment, automatic generation of C++ code is
provided as a feature in Simdeveloper. SimDeveloper is also very useful in the
case of the development of hi-fi training devices that are using the engineering
data-package of the vehicle and its main systems. In this case, the
manufacturer and its OEMs can provide the data-package as Simulink libraries,
that could be used in SimDeveloper as input to develop the simulation models
for the simulator.
Simware Web extension provides a Web server generator to create
automatically the web interface of the simulator directly from the data-model.
This web server provides a translation to LTI messages of the data-models in
Simware.
Simware Record&Play extension has also the capability to create a Recorder
server directly from the data-model. Simware Recorder Generator generates
automatically a Logger server from the simulation data model.
Simware LVC extension provides PowerLink tool to generate automatically
gateways to DIS and HLA simulators and a Gateway SDK to speed up the
development of interfaces to any other standard or proprietary protocol.
SIMWARE Technical Resources
Understanding Simware architecture Date: May 2017
Page 17 of 24
Property of SIMWARE SOLUTIONS S.L.
marketing@simware.es – www.simware.es
SIMWARE Technical Resources
Understanding Simware architecture Date: May 2017
Page 18 of 24
Property of SIMWARE SOLUTIONS S.L.
marketing@simware.es – www.simware.es
7 EXAMPLES OF USING SIMWARE ARCHITECTURE
In this chapter, you will find several examples of how Simware is used to build
and integrate different types of applications. These are only some examples of
how the different layers in Simware can be combined together to build a
simulation.
7.1 VISUALIZATION APPLICATION.
In the case of a 2D or 3D app, they will
normally only would need to connect
to the simulation Data-model in
Simware. In this case, the developer
will use a software architecture as
shown in the picture
7.2 CONTROL STATION
In the case of a control station, as an
Instructor Operated Station (IOS), the
developer will need also to have
access to the control data-model in
Simware, in order to be able to
manage the execution of the
simulation session.
SIMWARE Technical Resources
Understanding Simware architecture Date: May 2017
Page 19 of 24
Property of SIMWARE SOLUTIONS S.L.
marketing@simware.es – www.simware.es
7.3 REAL TIME SIMULATION HOST
In the case of developing a simulation engine that it is managing the distributed
execution of different simulation models (working or not synchronized by a
common wall clock), the developer would need to add the runtime
infrastructure to its development.
In this case the basic software
architecture would be as in the
picture. This architecture is useful
to build many real time simulations
as for example:
- The Host of a real time
simulator
- A Simulation Server
- A Computer Generated
Forces Engine.
7.4 INTEGRATION OF WEB/MOBILE
APPLICATIONS
In case that you need to connect web
or mobile apps with your Simware
simulation you would need to add a
SimWeb server to your deployment, in
order to provide the interface
between the LTI’s Send & Request
messages and the data-centric
architecture in Simware.
SIMWARE Technical Resources
Understanding Simware architecture Date: May 2017
Page 20 of 24
Property of SIMWARE SOLUTIONS S.L.
marketing@simware.es – www.simware.es
7.5 HLA SIMULATION SERVER CONTROLLED BY A WEB’S BASED IOS
You can combine above architectures to build more complex examples. For
instance you could deploy a real time simulation server in the network, as a HLA
federate, providing weapon simulation services to the federation of
simulations. This simulation server could be managed into a DMOC (Distributed
Mission Operation Center) using a web based IOS.
7.6 REAL TIME SERVER PROVIDING SIMULATION SERVICES TO HLA NETWORK
As an advanced case of the former example you could have a HLA federate
providing simulation services from a farm of servers. In this case to support the
distributed computation of the simulation services in several servers, DDS will be
used in order to take advantage of the best performance versus HLA. This DDS
server would need in this case a gateway to be connected to the main HLA
network. From a development point of view, main difference in this example
when comparing the simulation server with the one in former example is that in
this case the integration engineer will modify the eHost config file in order to
change the deployment of the simulation services to more than one node (it
will create more than a SimEngine) and will deploy the NCWare middleware
on DDS instead of HLA. Simulation services will be the same as in the other
example.
SIMWARE Technical Resources
Understanding Simware architecture Date: May 2017
Page 21 of 24
Property of SIMWARE SOLUTIONS S.L.
marketing@simware.es – www.simware.es
7.7 REAL TIME SIMULATOR WITH MOTION PLATFORM
In another complex integration, the real time components in a training device,
for example the simulation host and the motion platform, could leverage the
distributed architecture in Simware and the deterministic exchange of data
available with DDS to work integrated as in the example. This architecture will
leverage the QoS in DDS to guarantee deterministic performance in the
exchange of data between the physic-based sim models allocated in the host
and the motion platform.
SIMWARE Technical Resources
Understanding Simware architecture Date: May 2017
Page 22 of 24
Property of SIMWARE SOLUTIONS S.L.
marketing@simware.es – www.simware.es
7.8 FLIGHT SIMULATOR8
Simware can be used as the backbone to build high-fidelity virtual simulators,
as a flight simulator. In this case, DDS based simulation data-bus can be used
as the backbone of the simulator, using the open APIs in Simware to integrate
desktop based and web-based components, developed in-house, by third-
party partners or COTS.
8 To know more about how to use Simware for virtual training, download the technical Resource Developing Training Devices with
Simware at http://www.simware.es/resources.html or visit our page http://www.simware.es/training-devices.html
SIMWARE Technical Resources
Understanding Simware architecture Date: May 2017
Page 23 of 24
Property of SIMWARE SOLUTIONS S.L.
marketing@simware.es – www.simware.es
7.9 LVC SIMULATION
Complex LVC simulations, involving multiple architectures and protocols, can
be also be implemented and deployed with Simware. In this case, full
capabilities of Simware will be unleashed, integrating native and legacy
applications in multi-architecture simulation environments in which the
seamless interoperability of HLA, DDS, DIS, Web and other standards will be
managed by the multiple layers in Simware9.
One example is shown in next picture. This picture shows the high level
architecture of a real use case for Simware, the CITIUS Lab. This is an example
of a multi-architecture solution that leverage the data-centric architecture in
Simware and its connectivity capabilities to integrate real and simulated
systems in a common virtual environment. In this case heterogeneous systems
are connected to a common simulation environment using different interfaces
as DDS, HLA, DIS, JAUS or MSDL/CBML.
9 To know more about how to use Simware for LVC simulation go to technical Resource Doing LVC Simulation with Simware at
http://www.simware.es/resources.html
SIMWARE Technical Resources
Understanding Simware architecture Date: May 2017
Page 24 of 24
Property of SIMWARE SOLUTIONS S.L.
marketing@simware.es – www.simware.es
8 SUMMARY
This technical document is only showing some of the multiple choices the
developer has when is developing with Simware. Loosely coupled architecture
in Simware allows to combine the different layers in many ways. Modularity
allows only to use the requested layers in each integration, avoiding any
unnecessary overhead and minimizing the impact of the platform in the
performance of the whole product.
You can find more information about the platform and her architecture, the
APIs and the tools, and how to use them in the documents and examples that
are provided with the installation of the different Simware packages. Our web-
site (simware.es) also includes more technical resources as this one that can
help you to master Simware platform quickly. You can also contact our sales
team at marketing@simware.es to know how the specific requirements in your
project could be solved using Simware.
9 ABOUT SIMWARE SOLUTIONS
Simware Solutions is leading the introduction of Open platforms into the
Simulation & Training markets. Our platform, Simware, leverages the new
Layered Simulation Architecture or LSA to fulfill the requirements of the lead
users of the industry, which are demanding open architectures, better
interoperability and increasing economical returns for their investments in
simulation and training solutions.
Our platform is the first commercial product in the market supporting the
Internet of Simulations concept. IoS is about to embrace technologies as
internet, distributed systems, open platforms, cloud computing and service
oriented architectures for the development and deployment of open, net-
centric and interoperable simulations.
Simware is the only simulation platform in the market supporting Net-Centric
simulation without restrictions, enabling new business models for simulation as
the use of simulation as a Service (MSaaS) or the use of simulation platforms as
a service (SPaaS).
Simware is the only simulation platform in the market that is useful in all the
phases of the simulation based system engineering of industrial and consumer
products.

More Related Content

PDF
Getting Started with DDS in C++, Java and Scala
PPTX
Real time simulation with HLA and DDS
PDF
Distributed Simulations with DDS and HLA
PDF
The Data Distribution Service
PPTX
Virtualization security for the cloud computing technology
PPTX
Chap 1 introduction to cloud computing
PPT
Introduction to Cloud Computing
PDF
AWS reInvent 2022 reCap AI/ML and Data
Getting Started with DDS in C++, Java and Scala
Real time simulation with HLA and DDS
Distributed Simulations with DDS and HLA
The Data Distribution Service
Virtualization security for the cloud computing technology
Chap 1 introduction to cloud computing
Introduction to Cloud Computing
AWS reInvent 2022 reCap AI/ML and Data

What's hot (20)

PPTX
Basics of Cloud Computing
PPTX
Cloud Migration - Cloud Computing Benefits & Issues
PPTX
PPTX
What is private cloud Explained
PDF
A complete-guide-to-oracle-to-redshift-migration
PPTX
Cloud Architecture in the Data Center
PPTX
iPaaS: A platform for Integration technology convergence
PPTX
Cloud computing
PPTX
Atom and rss
PPTX
cloud computing technology
PPT
Security & Privacy In Cloud Computing
DOCX
History of virtualization
PPTX
Basics AWS Presentation
PDF
Measuring Web Performance
PPTX
Compute Services con AWS
PPTX
Introduction to Amazon Web Services (AWS)
PPTX
PDF
Building Modern Streaming Analytics with Confluent on AWS
PDF
MVC Seminar Presantation
PDF
Cloud Migration: Moving Data and Infrastructure to the Cloud
Basics of Cloud Computing
Cloud Migration - Cloud Computing Benefits & Issues
What is private cloud Explained
A complete-guide-to-oracle-to-redshift-migration
Cloud Architecture in the Data Center
iPaaS: A platform for Integration technology convergence
Cloud computing
Atom and rss
cloud computing technology
Security & Privacy In Cloud Computing
History of virtualization
Basics AWS Presentation
Measuring Web Performance
Compute Services con AWS
Introduction to Amazon Web Services (AWS)
Building Modern Streaming Analytics with Confluent on AWS
MVC Seminar Presantation
Cloud Migration: Moving Data and Infrastructure to the Cloud
Ad

Similar to Understanding Simware platform (20)

PPT
IBM SmartCloud Orchestration
DOCX
International Conference on Advances in Computing, Communicati.docx
DOCX
REPORT1 new
PPTX
introduction to cloudsim
PDF
Virtual appliance creation and optimization in cloud
PDF
Virtual appliance creation and optimization in cloud
DOCX
Web based booking a car taxi5
PPT
Cloud models and platforms
PDF
Models in the Cloud
PDF
Web Based Investment Management System
PPTX
all-ibm-cloud-architecture-icons-October2019.pptx
PDF
Automatic Test Generation for Space
PDF
Cisco project ideas
PPT
C-System Models Presentation files .ppt
PPTX
Dvorkin: Software Defined Datacenter Presentation #SDDC14
PDF
WSO2 Complex Event Processor - Product Overview
PPTX
Visualizing Software Architecture and visualizations
PDF
Final_Poster
PDF
Final_Poster
PDF
MIMIC–SNMP Based Simulation of Enterprise Networks
IBM SmartCloud Orchestration
International Conference on Advances in Computing, Communicati.docx
REPORT1 new
introduction to cloudsim
Virtual appliance creation and optimization in cloud
Virtual appliance creation and optimization in cloud
Web based booking a car taxi5
Cloud models and platforms
Models in the Cloud
Web Based Investment Management System
all-ibm-cloud-architecture-icons-October2019.pptx
Automatic Test Generation for Space
Cisco project ideas
C-System Models Presentation files .ppt
Dvorkin: Software Defined Datacenter Presentation #SDDC14
WSO2 Complex Event Processor - Product Overview
Visualizing Software Architecture and visualizations
Final_Poster
Final_Poster
MIMIC–SNMP Based Simulation of Enterprise Networks
Ad

More from Simware (14)

PDF
The Internet of Simulations and the agile development of Cyber-physical systems
PDF
Industry 4.0, Internet of Simulations and Simware
PDF
FUTURE OF SIMULATION : EVOLVING TOWARDS MSaaS CONCEPT
PDF
SOLVING LVC INTEROPERABILITY PROBLEMS WITH SIMWARE
PPTX
Nads & presagis teaming to innovate in distributed simulation xx
PDF
SISO LSA AND OMG DDS
PPTX
SIMWARE RTI : HLA powered by DDS
PDF
A comparison of Simulation and Operational Architectures
PDF
Simware and the new SISO LSA
PDF
Sp MoD M&S Infrastructure based on SimWare
PPT
How To Develop True Distributed Real Time Simulations
PDF
How to Develop True Distributed Real Time Simulations? Mixing IEEE HLA and OM...
PDF
Use of the OMG DDS standard in Simulation. A new Way for developing Real Time...
PDF
Developing Simulation & Training Solutions With Cots
The Internet of Simulations and the agile development of Cyber-physical systems
Industry 4.0, Internet of Simulations and Simware
FUTURE OF SIMULATION : EVOLVING TOWARDS MSaaS CONCEPT
SOLVING LVC INTEROPERABILITY PROBLEMS WITH SIMWARE
Nads & presagis teaming to innovate in distributed simulation xx
SISO LSA AND OMG DDS
SIMWARE RTI : HLA powered by DDS
A comparison of Simulation and Operational Architectures
Simware and the new SISO LSA
Sp MoD M&S Infrastructure based on SimWare
How To Develop True Distributed Real Time Simulations
How to Develop True Distributed Real Time Simulations? Mixing IEEE HLA and OM...
Use of the OMG DDS standard in Simulation. A new Way for developing Real Time...
Developing Simulation & Training Solutions With Cots

Recently uploaded (20)

PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Electronic commerce courselecture one. Pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
KodekX | Application Modernization Development
PDF
Machine learning based COVID-19 study performance prediction
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Electronic commerce courselecture one. Pdf
Building Integrated photovoltaic BIPV_UPV.pdf
KodekX | Application Modernization Development
Machine learning based COVID-19 study performance prediction
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
sap open course for s4hana steps from ECC to s4
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Spectral efficient network and resource selection model in 5G networks
The Rise and Fall of 3GPP – Time for a Sabbatical?
Programs and apps: productivity, graphics, security and other tools
Agricultural_Statistics_at_a_Glance_2022_0.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
NewMind AI Weekly Chronicles - August'25 Week I
20250228 LYD VKU AI Blended-Learning.pptx
Encapsulation_ Review paper, used for researhc scholars

Understanding Simware platform

  • 1. Reference: Simware Technical Library Date: May-2017 Version : 1 © SIMWARE SOLUTIONS S.L., 2017. All rights reserved. Technical Resources [ Understanding Simware Platform ]
  • 2. SIMWARE Technical Resources Understanding Simware architecture Date: May 2017 Page 2 of 24 Property of SIMWARE SOLUTIONS S.L. marketing@simware.es – www.simware.es 1 OBJECTIVE This document describes the main features and capabilities in Simware platform and some use cases for the platform. 2 INTRO TO SIMWARE PLATFORM Simware platform is based on a microservices architecture, named Layered Simulation Architecture or LSA. LSA is the first microservices architecture for simulation, specifically designed to support the development of real time and Net-Centric simulation products. As any other microservices architecture, LSA allows to decompose the simulation product into small and easily manageable components. Microservices are called Entities in Simware and interoperate with other entities by exchanging data through a distributed simulation runtime infrastructure, that is working as the ESB (Enterprise Service Bus) of the simulation product. Simware platform provides a loosely coupled architecture, composed by multiple layers that can work alone or in collaboration, depending on the project’s requirements. Simware layers provided everything you need to develop real time simulations that can be connected with web and legacy applications in any kind of simulation & training solution.
  • 3. SIMWARE Technical Resources Understanding Simware architecture Date: May 2017 Page 3 of 24 Property of SIMWARE SOLUTIONS S.L. marketing@simware.es – www.simware.es 3 SIMWARE DESIGN’S PATTERN Simware platform evolves the traditional design pattern of a real time simulation, based on the structural model pattern or AVSM, first introduced in the simulation domain by SEI in 19931, to support Net-Centric and data-centric open simulations. Simware architecture supports a design pattern with three levels of artefacts: - The executive level, applications and services that handle coordination issues: real-time scheduling of subsystems, synchronization between applications, event management, data sharing, and data integrity. - The application level, handling the computation of the simulation. Its functions are implemented by Entities and simulation services that are composed by simulation models. - The interface level, handling the integration of third-party components. External applications can be integrated in Simware platform by using the 1 Technical Report CMU/SEI-93-TR-14. Structural Modeling: An application framework and development process for flight simulators
  • 4. SIMWARE Technical Resources Understanding Simware architecture Date: May 2017 Page 4 of 24 Property of SIMWARE SOLUTIONS S.L. marketing@simware.es – www.simware.es open APIs provided in Simware or by using a standard interface as HLA, DIS, DDS, CIGI, etc. Integration of all the artefacts at the different level is achieved by the use of a real time middleware, that provides a publish-subscribe interface to the two data models in Simware, one for the management of the simulation and the other for the exchange of simulation data. Simware provides 4 main artefacts at the Executive level: - Scheduler. It is doing the functions of the AVSM’s timeline synchronizer. It keeps the state of the simulation, manage the tick of the clock and controls the operational status of the Entities. It also commands the creation and destruction of new instances of the simulation objects, under the request of the ACS or of any external application. - A XML configuration file, which defines the simulator structure (number of hosts and Entities running in each host), simulation conditions (master sim frequency, number of hosts, conditions for the cyclical execution of the entities and services, initial conditions, etc.) - A control data-model, which defines the management object model for the simulation (state machine, clock, management of instances of the objects, etc.) - SimEngine, it is the periodic sequencer in Simware platform. One instance of the SimEngine is running in each host in which periodic simulations are executed. SimEngine manages the cyclical execution of the periodic simulations using the simulation conditions defined in the configuration file (order, frequency, etc.) and the state and time control data provided by the scheduler. Event handler functions are performed in Simware by the simulation middleware. It is the middleware which process the publications of interactions (the way to model events in Simware) to the subscribers connected to the network. Delivery conditions to the subscribers will be specified in the specific QoS contract for each subscriber. At the Application level, Simware supports Simulation models that can be integrated in Entities (subsystems) or can be deployed as Simulation Services. Entities can be connected to Simulation Services through the middleware. Entities and Sim services exchange data as is defined in the simulation data model: simulation objects (permanent data) and interactions (events).
  • 5. SIMWARE Technical Resources Understanding Simware architecture Date: May 2017 Page 5 of 24 Property of SIMWARE SOLUTIONS S.L. marketing@simware.es – www.simware.es Interactions are used in Simware to send orders/request between the Entities and Sim services2. Entities and Simulation services can be asynchronous components, event- based applications that don’t need from a SimEngine or synchronized components working under the command of a SimEngine. Simware platform provides also the foundation of an IOS: the ACS application. ACS is a container of control panels created automatically directly from the simulation data-model and provides a visual interface to manage the execution of the simulation and the management of instances of the simulation objects and interactions. At the Interface Level, Simware provides open APIs and tools to create control and simulation data interfaces with third-party applications. Simware provides C++ and Web APIs to integrate other desktop and web applications and tools and SDKs to develop gateways with systems that are using different standard protocols as HLA, DIS, JAUS, CIGI, DDS, etc3 Gateway SDK can be also be used to develop gateways with proprietary protocols. This capability enables the easy integration of components provided by other partners in the supply chain of the simulator, including COTS components. One or several Entities and simulation services can be integrated together as a Component, that would be a kind of micro-service. This services can be deployed on dedicated simulation servers, that can connected to several simulation sessions at the same time (know further at section 5) 2 Learn more about how Simware leverages the interactions to provide interoperability at a component level in the technical paper “Doing smart connected simulations” at http://www.simware.es/resources.html 3 To learn more about the standards and protocols supported in Simware goes to http://www.simware.es/simware-- standards.html
  • 6. SIMWARE Technical Resources Understanding Simware architecture Date: May 2017 Page 6 of 24 Property of SIMWARE SOLUTIONS S.L. marketing@simware.es – www.simware.es 4 SIMWARE’S LAYERED ARCHITECTURE Simware’s bedrock is his data-centric, layered and modular architecture. All the artefacts explained in above section are organized in separate layers. Our layered architecture provides a great modularity and flexibility of use. Simware is composed by next layers: - Data-exchange layer. Right now, Simware is compliant with DDS and HLA. Different implementations of both standards can be used to exchange data in the network between the different applications in Simware and even with others external to Simware. This is one of the main features included in Simware: any source-code developed with Simware can be deployed on HLA or DDS without any change, only by changing a parameter in the construction of the simulation session. - Simulation Data-Bus. Simware provides a pure data-centric simulation middleware to connect different applications. This middleware includes APIs to manage the data-models used in Simware.
  • 7. SIMWARE Technical Resources Understanding Simware architecture Date: May 2017 Page 7 of 24 Property of SIMWARE SOLUTIONS S.L. marketing@simware.es – www.simware.es - Runtime Infrastructure. This layer contains the main artefacts at the Executive level and its use is optional4 in Simware. You will only need it in case you are dealing with synchronized simulations using a common wall-clock or need to deal with the cyclical and deterministic execution of physics-based simulations. This layer can be used then to build the host of a real time simulator or to manage the real time execution of different simulation services running on a simulation server. Simware, as a pure distributed architecture, allows the distribution of the cyclical computation of physics based simulation models in different machines, synchronized by a shared wall-clock and a common state machine. Two services are provided in the runtime infrastructure to manage this distributed simulation: Scheduler and SimEngines. Scheduler manages the clock and command the transition between the different states of the simulation. A SimEngine is an artifact running in each machine that it is executing physics-based sim models. This SimEngine manage the cyclical execution of the sim model based on the tick of the clock and the state of the simulation. - SimWeb Server. This optional layer opens Simware data-centric architecture to web and mobile applications. It leverages LTI standard (Learning Tool Interoperability) to provide an interface between the typical client-server architecture in web and mobile apps and the data-centric architecture in Simware. - Gateway. This optional layer provides the capability to connect the basic classes for the publishers and listeners in Simware with systems that use standard based or proprietary connectivity protocols. This layer then provides a bridge between the internal data-models in Simware and heterogeneous systems, that can be both simulations or real systems. 4.1 SIMWARE = DATA-CENTRIC The main difference in Simware when you compare with any other COTS in the market it is its pure data-centric architecture. Simware only leverages data to enable the interactions between all the entities connected to the platform. Data is used to exchange information about the dynamics and behaviors of the different simulated objects, including the interactions between them. 4 This layer can be also used to integrate third-party simulation engines and legacy simulation models. See “SIMWARE_RESOURCES : Integrating legacy sim models” to know how to do it”.
  • 8. SIMWARE Technical Resources Understanding Simware architecture Date: May 2017 Page 8 of 24 Property of SIMWARE SOLUTIONS S.L. marketing@simware.es – www.simware.es Simware also use data to manage the execution of the simulation in a distributed environment (control of the state-machine and the clock, management of instances of the different objects, etc.). Data-models in Simware are based on HLA standard. Simware uses the HLA Object Model Template spec as the base to design its own data-models. You will find two data-models in any Simware simulation: - Simulation data-model. It can be any data-model. Simulation data- models in Simware are composed by persistent entities (simulation objects) and events (interactions in HLA terminology). Data-models are built with Modeler tool included in Simware Core package. Modeler will build automatically an instance of the middleware in Simware (called NCWare Sim) from the HLA-style XML file. - Control Data-Model. It is a fixed data-model, used to manage the simulation (its state-machine, the simulation’s wall clock and the management of the simulation objects).
  • 9. SIMWARE Technical Resources Understanding Simware architecture Date: May 2017 Page 9 of 24 Property of SIMWARE SOLUTIONS S.L. marketing@simware.es – www.simware.es Data-centric middleware maintains the state of the simulation using the control data model. It manages the simulated content using simulation objects and interactions with the same structure as specified in HLA standard. Interactions in Simware are used not only to declare events in the simulation but also to call the methods and procedures of other entities. For example, a fighter entity can use interactions to command external simulation services to launch flares, missiles or bombs. In this way, interactions enable dynamic interoperability between the simulation entities as it is defined by LCIM (Levels of Conceptual Interoperability Model)5 During execution of a session with Simware, a simulation data-domain will be created in the network, to publish and subscribe the objects and interactions in the Simulation data-Model and to exchange management information about the state of the simulation using the control data-model. Simware allows to have several simulations running at the same time in only one physical network. Different “logical” simulation domains will be managed for each one of the simulation executions. A Simware simulation domain is the equivalent of a federation execution in HLA ((know further at section 5) In each simulation session, you will have several applications that are publishing and subscribing to any number of objects and interactions. In HLA terminology, you will call each of them a federate. In Simware we call them Simulation Entities or Services. 5 Know further at “SIMWARE_RESOURCES : Doing Smart Connected Simulations”
  • 10. SIMWARE Technical Resources Understanding Simware architecture Date: May 2017 Page 10 of 24 Property of SIMWARE SOLUTIONS S.L. marketing@simware.es – www.simware.es 4.2 SIMWARE = NET-CENTRIC Our fully distributed architecture is another key feature in Simware. Simware is the only commercial real time simulation platform in the market fully leveraging the best advantages of distributed systems. This feature allows to develop Net- Centric simulators, ready to be deployed in the network and be connected to other systems there. Net-Centric architecture, besides to make easier the connectivity with other systems in the network, enables the distributed computing of the simulation system. This feature is very important even in the case of a standalone simulator: standalone simulators used to be deployed on several computers, Simware allows then to distribute the Entities in the different computers without any limitation. A very typical example of how to use this capability is to balance the load of the host of a real-time simulator between different computers. Simware allows to distribute the artefacts in the Executive and application levels in any machine of the network of the simulator.
  • 11. SIMWARE Technical Resources Understanding Simware architecture Date: May 2017 Page 11 of 24 Property of SIMWARE SOLUTIONS S.L. marketing@simware.es – www.simware.es 4.3 SIMWARE = OPEN APIS Each main layer in Simware has their own API to develop and configure the services and features included in it: • NCWare Sim. It is a C++ based API available on Simware Core license for Windows and Linux. It is the API that is used with the simulation data- bus to interface with the simulation data-model. With this API, the developer can: 1. create/destroy simulations sessions or join to one already existing 2. Manage publishers and subscribers for the objects and interactions in the Simulation data-model. 3. Manage synchronization points that can be used to synchronize different entities in a Simware simulation. 4. Manage a logger and system traces for code depuration. These traces can be stored in a file to do a deeper review of the execution of the simulation. • Simware Control Library (SCL). It is another C++ API, also provided with Simware Core, for Linux and Windows. This library provides a set of classes to get access to the Simware Control datamodel. This includes methods to manage the simulation state machine, to control the creation and destruction of instances of the objects and interactions included in the simulation data-model and to define the initial condition for the exercises. SCL is then managing the execution of the artifacts included in Runtime Infrastructure layer (Scheduler and SimEngine). • Simware Web API. SimWeb Server provides a RESTful API, compliant with the LTI std, to connect web and mobile applications to the control and simulation data-models in Simware. SimWeb Server is generated automatically from the data-models using the Web generator included in Simware Web extension. A simplified C++ API is provided with this extension in order to build LTI based applications that can connect to the simulation and control data-models in Simware. A LtiClient C++ class is provided with the Simware Web package that helps the C++ developer to create and manage LTI messages. Clients can also be done in other languages as Java, Python, C#, etc.
  • 12. SIMWARE Technical Resources Understanding Simware architecture Date: May 2017 Page 12 of 24 Property of SIMWARE SOLUTIONS S.L. marketing@simware.es – www.simware.es • eHost API. It is an XML based API that allows the configuration of the execution of the runtime infrastructure and its deployment in the network. The XML File allows to configure all the parameters that are required to run a real-time simulation in the network as the overall simulation frequency, the simulation frequency and execution order for the sim models, the physical deployment of each sim model in the network, etc. Basically, eHost, SCL API and the ACS tool (included also in Simware Core package) allows to configure and manage the execution of a simulation session as shown in the picture
  • 13. SIMWARE Technical Resources Understanding Simware architecture Date: May 2017 Page 13 of 24 Property of SIMWARE SOLUTIONS S.L. marketing@simware.es – www.simware.es 5 SIMWARE’S DEPLOYMENT ARCHITECTURE In execution, Simware is deployed as any micro-services architecture, with a simulation infrastructure deployed on top of the network. Basic parameters of the execution (distribution of the Simulation Entities, overall frequency of the simulation, etc.) are defined in the eHost Config file. Specific mechanism to exchange data in the network will be declared in the construction of the middleware (DDS or HLA). Several sessions of the simulation can be running at the same time on the same network. Simware supports the concept of Domains, that it is a logical scope (or "address space") for the data-models definitions. Simulation Domains are completely independent from each other. For two Simware Entities to communicate with each other they must join the same simulation Domain. This feature enables the deployment of simulation servers, that are machines that can execute several simulation sessions of the Entities at the same time, each one serving a different simulation domain. Specific service level agreements between the publishers & subscribers and the middleware will be defined in a QoS file. Middleware will create messaging channels in each domain between the publishers and subscribers of each type of data contained in the control and simulation data models. These channels will be based on shared memory in the case of flows of data between entities running on the same machine or UDP based messaging in the case of entities running on different machines.
  • 14. SIMWARE Technical Resources Understanding Simware architecture Date: May 2017 Page 14 of 24 Property of SIMWARE SOLUTIONS S.L. marketing@simware.es – www.simware.es One Scheduler service will be running on one machine of the simulation network. Command of the simulation can be made through ACS console provided with the software or by any application using the SCL API to connect to the control data model. Periodic simulations will run under the control of a SimEngine. One SimEngine service will be running in each machine that it is running periodic simulations, as physic-based simulation models. Event based Entities can be also running in the simulation infrastructure. This kind of aperiodic applications can use the synchronization services provided by the Scheduler Service (common state-machine, common wall-clock) or run asynchronously only coordinated by specific interactions defined in the simulation data-model. For example, an interaction can be a Request_LOS that is processed by an aperiodic Terrain simulation service. Any Entity requesting a Line of Sight service will publish the interaction and the simulation service will publish the LOS for the provided location. Other entities can be connected to the middleware to consume or publish data. This Entities can be integrated in Simware infrastructure through the C++ and Web APIs or by using a gateway.
  • 15. SIMWARE Technical Resources Understanding Simware architecture Date: May 2017 Page 15 of 24 Property of SIMWARE SOLUTIONS S.L. marketing@simware.es – www.simware.es 6 AGILE DEVELOPMENT WITH SIMWARE PLATFORM Simware innovations are not only in the software architecture. Simware platform has been also designed as a productivity platform6, looking for the rapid design and development of the simulator. Simware provides an integrated development environment that supports many of the best agile&lean software practices as model driven development, test- driven development and continuous integration/delivery. The uncoupled and data-centric architecture in Simware allows to develop the simulator in an incremental way, having flexibility to add or change requirements during the development process7. Simware provides visual tools that allows to generate rapidly the structure of the simulator directly from the simulation data-model that can deployed directly on the network using HLA or DDS. Simware Designer tools, included in Simware Core license, generate, directly from the data- model, C++ and XML file describing the publish-subscribe interface of all the Entities and simulation services. Simware tools create also directly the instantiation of the integration infrastructure based on the designed simulation data-model, including the publish-subscribe interfaces to the middleware, the Web server to connect LTI based web/mobile applications and the Logger server to record the exercises. All these artefacts are generated automatically, direct from the data-model. Designer tools generates C++, LTI and XML interfaces. XML interfaces define in HLA format the publish-subscribe interface of each subsystem/component. This XML file, or Interface Definition File, IDF, in Simware terms, is used by SimDeveloper tool, an extension to the Core in our portfolio, to do model-driven development of the subsystems/components in the simulation. SimDeveloper 6 Go to http://www.simware.es/products.html to learn more about the commercial packages in Simware portfolio 7 Go to http://www.simware.es/agile-simware.html to learn more about how to adopt Agility with Simware platform
  • 16. SIMWARE Technical Resources Understanding Simware architecture Date: May 2017 Page 16 of 24 Property of SIMWARE SOLUTIONS S.L. marketing@simware.es – www.simware.es is an integrated simulation development environment into Simulink, that allows to develop, integrate and test the simulations models using Mathworks products: Simulink, Matlab and StateFlow. Once the simulation modules have been verified into Simulink environment, automatic generation of C++ code is provided as a feature in Simdeveloper. SimDeveloper is also very useful in the case of the development of hi-fi training devices that are using the engineering data-package of the vehicle and its main systems. In this case, the manufacturer and its OEMs can provide the data-package as Simulink libraries, that could be used in SimDeveloper as input to develop the simulation models for the simulator. Simware Web extension provides a Web server generator to create automatically the web interface of the simulator directly from the data-model. This web server provides a translation to LTI messages of the data-models in Simware. Simware Record&Play extension has also the capability to create a Recorder server directly from the data-model. Simware Recorder Generator generates automatically a Logger server from the simulation data model. Simware LVC extension provides PowerLink tool to generate automatically gateways to DIS and HLA simulators and a Gateway SDK to speed up the development of interfaces to any other standard or proprietary protocol.
  • 17. SIMWARE Technical Resources Understanding Simware architecture Date: May 2017 Page 17 of 24 Property of SIMWARE SOLUTIONS S.L. marketing@simware.es – www.simware.es
  • 18. SIMWARE Technical Resources Understanding Simware architecture Date: May 2017 Page 18 of 24 Property of SIMWARE SOLUTIONS S.L. marketing@simware.es – www.simware.es 7 EXAMPLES OF USING SIMWARE ARCHITECTURE In this chapter, you will find several examples of how Simware is used to build and integrate different types of applications. These are only some examples of how the different layers in Simware can be combined together to build a simulation. 7.1 VISUALIZATION APPLICATION. In the case of a 2D or 3D app, they will normally only would need to connect to the simulation Data-model in Simware. In this case, the developer will use a software architecture as shown in the picture 7.2 CONTROL STATION In the case of a control station, as an Instructor Operated Station (IOS), the developer will need also to have access to the control data-model in Simware, in order to be able to manage the execution of the simulation session.
  • 19. SIMWARE Technical Resources Understanding Simware architecture Date: May 2017 Page 19 of 24 Property of SIMWARE SOLUTIONS S.L. marketing@simware.es – www.simware.es 7.3 REAL TIME SIMULATION HOST In the case of developing a simulation engine that it is managing the distributed execution of different simulation models (working or not synchronized by a common wall clock), the developer would need to add the runtime infrastructure to its development. In this case the basic software architecture would be as in the picture. This architecture is useful to build many real time simulations as for example: - The Host of a real time simulator - A Simulation Server - A Computer Generated Forces Engine. 7.4 INTEGRATION OF WEB/MOBILE APPLICATIONS In case that you need to connect web or mobile apps with your Simware simulation you would need to add a SimWeb server to your deployment, in order to provide the interface between the LTI’s Send & Request messages and the data-centric architecture in Simware.
  • 20. SIMWARE Technical Resources Understanding Simware architecture Date: May 2017 Page 20 of 24 Property of SIMWARE SOLUTIONS S.L. marketing@simware.es – www.simware.es 7.5 HLA SIMULATION SERVER CONTROLLED BY A WEB’S BASED IOS You can combine above architectures to build more complex examples. For instance you could deploy a real time simulation server in the network, as a HLA federate, providing weapon simulation services to the federation of simulations. This simulation server could be managed into a DMOC (Distributed Mission Operation Center) using a web based IOS. 7.6 REAL TIME SERVER PROVIDING SIMULATION SERVICES TO HLA NETWORK As an advanced case of the former example you could have a HLA federate providing simulation services from a farm of servers. In this case to support the distributed computation of the simulation services in several servers, DDS will be used in order to take advantage of the best performance versus HLA. This DDS server would need in this case a gateway to be connected to the main HLA network. From a development point of view, main difference in this example when comparing the simulation server with the one in former example is that in this case the integration engineer will modify the eHost config file in order to change the deployment of the simulation services to more than one node (it will create more than a SimEngine) and will deploy the NCWare middleware on DDS instead of HLA. Simulation services will be the same as in the other example.
  • 21. SIMWARE Technical Resources Understanding Simware architecture Date: May 2017 Page 21 of 24 Property of SIMWARE SOLUTIONS S.L. marketing@simware.es – www.simware.es 7.7 REAL TIME SIMULATOR WITH MOTION PLATFORM In another complex integration, the real time components in a training device, for example the simulation host and the motion platform, could leverage the distributed architecture in Simware and the deterministic exchange of data available with DDS to work integrated as in the example. This architecture will leverage the QoS in DDS to guarantee deterministic performance in the exchange of data between the physic-based sim models allocated in the host and the motion platform.
  • 22. SIMWARE Technical Resources Understanding Simware architecture Date: May 2017 Page 22 of 24 Property of SIMWARE SOLUTIONS S.L. marketing@simware.es – www.simware.es 7.8 FLIGHT SIMULATOR8 Simware can be used as the backbone to build high-fidelity virtual simulators, as a flight simulator. In this case, DDS based simulation data-bus can be used as the backbone of the simulator, using the open APIs in Simware to integrate desktop based and web-based components, developed in-house, by third- party partners or COTS. 8 To know more about how to use Simware for virtual training, download the technical Resource Developing Training Devices with Simware at http://www.simware.es/resources.html or visit our page http://www.simware.es/training-devices.html
  • 23. SIMWARE Technical Resources Understanding Simware architecture Date: May 2017 Page 23 of 24 Property of SIMWARE SOLUTIONS S.L. marketing@simware.es – www.simware.es 7.9 LVC SIMULATION Complex LVC simulations, involving multiple architectures and protocols, can be also be implemented and deployed with Simware. In this case, full capabilities of Simware will be unleashed, integrating native and legacy applications in multi-architecture simulation environments in which the seamless interoperability of HLA, DDS, DIS, Web and other standards will be managed by the multiple layers in Simware9. One example is shown in next picture. This picture shows the high level architecture of a real use case for Simware, the CITIUS Lab. This is an example of a multi-architecture solution that leverage the data-centric architecture in Simware and its connectivity capabilities to integrate real and simulated systems in a common virtual environment. In this case heterogeneous systems are connected to a common simulation environment using different interfaces as DDS, HLA, DIS, JAUS or MSDL/CBML. 9 To know more about how to use Simware for LVC simulation go to technical Resource Doing LVC Simulation with Simware at http://www.simware.es/resources.html
  • 24. SIMWARE Technical Resources Understanding Simware architecture Date: May 2017 Page 24 of 24 Property of SIMWARE SOLUTIONS S.L. marketing@simware.es – www.simware.es 8 SUMMARY This technical document is only showing some of the multiple choices the developer has when is developing with Simware. Loosely coupled architecture in Simware allows to combine the different layers in many ways. Modularity allows only to use the requested layers in each integration, avoiding any unnecessary overhead and minimizing the impact of the platform in the performance of the whole product. You can find more information about the platform and her architecture, the APIs and the tools, and how to use them in the documents and examples that are provided with the installation of the different Simware packages. Our web- site (simware.es) also includes more technical resources as this one that can help you to master Simware platform quickly. You can also contact our sales team at marketing@simware.es to know how the specific requirements in your project could be solved using Simware. 9 ABOUT SIMWARE SOLUTIONS Simware Solutions is leading the introduction of Open platforms into the Simulation & Training markets. Our platform, Simware, leverages the new Layered Simulation Architecture or LSA to fulfill the requirements of the lead users of the industry, which are demanding open architectures, better interoperability and increasing economical returns for their investments in simulation and training solutions. Our platform is the first commercial product in the market supporting the Internet of Simulations concept. IoS is about to embrace technologies as internet, distributed systems, open platforms, cloud computing and service oriented architectures for the development and deployment of open, net- centric and interoperable simulations. Simware is the only simulation platform in the market supporting Net-Centric simulation without restrictions, enabling new business models for simulation as the use of simulation as a Service (MSaaS) or the use of simulation platforms as a service (SPaaS). Simware is the only simulation platform in the market that is useful in all the phases of the simulation based system engineering of industrial and consumer products.