agile development of simulation systems with simware platform · 2020. 2. 21. · agile development...
Post on 30-Dec-2020
2 Views
Preview:
TRANSCRIPT
SIMWARE SOLUTIONS S.L.
marketing@simware.es www.simware.es
Agile Development of Simulation Systems
with Simware platform
SIMWARE SOLUTIONS S.L.
marketing@simware.es www.simware.es
1 INTRODUCTION
Agile and Lean Development principles, based on fast and incremental delivery of value to the
customer in a continuous and waste-less flow, working in a collaborative environment with
continuous feedback from the customer, are revolutionizing how complex systems (including
software intensive ones) are made. Compared to waterfall methods, agile & Lean techniques are
allowing many companies to produce better systems, more quickly and with far greater flexibility.
By applying agility in the product development processes, companies can adapt to changing
customer needs, competitive challenges and new strategic opportunities. Definitively, Agile is
providing a real value for business.
Unfortunately, Agility is still far to be fully implemented during the development of simulation
systems. Main reason is probably because simulation development techniques are still very
influenced by the waterfall and lineal oriented system engineering processes usually employed in
the development of military and aerospace systems. As a consequence, Simulation systems are
still, in many cases, lacking flexibility to adapt rapidly to new customer requirements and changing
market conditions. When you combine this lack of flexibility to changing requirements with the
long lead times to deliver the product to the customer, you have simulation systems that are not
providing the expected value to the customer when the system is delivered.
This paper applies the main Agile & Lean principles to the development of Simulation systems and
explains how Simware can support the implementation of these principles in your simulation
development processes.
2 AGILE & LEAN PRINCIPLES
Agile manifesto (http://agilemanifesto.org/ ) is based on a set of principles that look for increasing
the value of the products delivered to the customer and the productivity of the teams doing the
development:
Provide increasing value to the customer with early and continuous delivery of working
systems.
Welcome changing requirements. Harness
change for the customer’s competitive
advantage.
Deliver software frequently in a continuous
flow.
Be simple, eliminate “waste” that is not
adding value to the product.
Build-in quality. Be focused on technical
excellence and good design
Promote sustainable development, keep a
constant pace indefinitely.
Work in collaboration, promoting
continuous feedback and unrestricted
communication.
Be focused on continuous improvement
Work motivated in self-organizing teams.
Lean Thinking (http://www.lean.org/) is aligned with many of the agile principles, focusing on the
creation of value from the customer perspective, eliminating all the non value activities and
features – or waste -, delivering as soon as possible but taking decisions as late as possible and
only making what is pulled by the customer just-in-time.
Some benefits from Agility
20-50% increase in productivity
30-75% faster time to market
50+% defect reduction
Happier & more motivated teams
SIMWARE SOLUTIONS S.L.
marketing@simware.es www.simware.es
3 APPLYING AGILE & LEAN PRINCIPLES TO SIMULATION DEVELOPMENT
Based on former principles, what should Agile Simulation Development be?
1. First at all, Agile simulation development means to deliver a “working” simulator
incrementally. This is not only a good practice for the development team, because it allows
them to work in time-boxed iterations, focusing on the delivery of only what is valued by
the customer in each step, but it is also allowing the customer to get value from the product
since an early stage of the project. See in next chart how incremental delivery is delivering
better economics to the customer when you compared with the traditional way to deliver a
simulator in the lineal processes, in which you will only deliver a first version of the
simulator near the end of the project, normally with less than 100% of the features verified,
and, only after an (usually) long validation process with the customer, the simulator
features will be fully implemented (this is a the case of a successful project, many times
customer will accept the simulator with limited capabilities in order to start to operate the
system even with restrictions or even with capabilities not needed just because they were
already implemented). Early and continuous delivery of “working” versions of the
simulator, provides fast feedback of the real value delivered to the customer by the system,
allowing the customer to pull the development process, only implementing features that
are adding real value to the user. Besides that, many times, early delivery of functional
versions of the simulator will allow the customer to establish earlier an initial operational
capability for the simulator, accelerating the return of investment.
Figure 1
2. Agile simulation development means to be ready to adapt your simulator to changing
requirements and new market conditions. Unfortunately, it is no unusual, especially with
military simulators, that the simulator is already obsolete when it is first delivered to the
customer. Traditional simulation development processes and technical frameworks are not
enough flexible to incorporate new requirements or modify existing ones during the
development. If we combine this effect with the fact that many simulation projects,
especially again the military ones, have duration of several years (at least 2 or 3 years),
you can understand that there is a significant risk than the simulator is not well aligned
with the latest operational or technical needs when it is finally delivered to the customer.
SIMWARE SOLUTIONS S.L.
marketing@simware.es www.simware.es
Flexibility and adaptability in the simulation systems is the only way to keep the pace of
technological evolution and to be ready to respond to changing market conditions.
3. Agile simulation development means to build quality in. Your simulator should have a
simple design, with an architecture supporting the addition of new features at any time.
Final verification & validation of your simulator should not find defects, easy and
continuous integration should do it.
4. Agile simulation development means to be able to take decisions late in the process,
allowing to work with a set of potential solutions instead of with point-based solutions for
each functional component. This capability depends a lot on having an architecture for the
simulation system that can support the analysis and comparison of multiple solutions at
the same time, without delaying the project.
Figure 2
5. Applying agility to the simulation development means to assure communication between
the different teams involved in the project, sharing a common vision of the system. This
shared vision will allow them to work in parallel with autonomy, only focused on providing
the best technical solution for their assigned features. This concurrent engineering
practice, when combined with set-based designs can increase a lot the value of the product
delivered to the customer.
Figure 3
6. At last, but not least important, Agile Simulation development means to amplify learning
in your organization. Agile practices as short iterations, continuous feedback with the
customer and set-based design helps to achieve this goal, but this must be achieved also by
sharing platforms, tools and components in the organization. For example, reusability of
components is a very useful practice to amplify learning, because it allows to share
knowledge between different projects.
SIMWARE SOLUTIONS S.L.
marketing@simware.es www.simware.es
4 USING SIMWARE TO ACHIEVE AGILITY IN THE DEVELOPMENT OF YOUR SIMULATION SOLUTIONS.
Simware platform (www.simware.es) has been designed as a high productivity technical
framework for the development of any kind of simulation & training solution, as virtual training
devices, networks of simulators or even for new applications for simulation as web-based trainers
or as Cyber physical systems, part of the Internet of the Things.
Even when Simware is not a methodology but a technical framework, unique features in Simware
are the best technical companion to empower the implementation of Agile methodologies as Scrum,
Lean software dev or SAFe in any simulation organization. To be successful in the implementation
of Agility in the enterprise, any organization needs not only to embrace new ways to do system
engineering but also new system architectures that support the development of systems faster,
cheaper and with more quality. Large companies that base their success in continuous innovation
and fast delivery as Amazon, Uber, Netflix or Facebook have already migrated from the monolithic
macro systems to the so called microservices architectures to achieve this objective. Rooted in the
basic concepts or modularity and separation of functionalities, microservices architectures allows
the construction of complex systems out of as small as possible functional software subsystems.
The key concept here is that microservices are designed to be independently evolved. Lastly, in
order to provided holistic system functionality while retaining the independence of evolution,
services must rely on published interfaces and APIs that form the basis of the interoperability
contracts between them.
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.
Figure 4
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.
Read below as Simware unique features provide strong levers that simulation builders can use to
implement its own Agile simulation development process.
SIMWARE SOLUTIONS S.L.
marketing@simware.es www.simware.es
Lever#1, System of Systems platform
Simware is the only commercial simulation in the market that is designed to support the
development of any kind of simulation solution: from a standalone product to the more complex
federation of simulations. This feature provides any organization with the capability to standardize
the development platform in her full portfolio, sharing knowledge, components and experience
along the whole organization, embracing in this way agile and lean principles as amplifying
learning and going faster to the market:
1. It is enabling the development and maintenance of product-lines, sharing a common
platform and components between the projects. For example, a flight simulator
manufacturer can use Simware as the common platform for her whole training product-
line, from web-based courseware and cockpit procedures trainers to the full flight
simulator.
2. It is increasing the flexibility to the development, because any product developed with
Simware is ready to scale to new features and applications only by adding new Entities to
the middleware based runtime infrastructure. In this way, for example, Simware solves
the typical issue of how to integrate a standalone virtual simulator into a federation of
simulations: with Simware, the virtual simulator will be ready, because of its architecture,
to extend its capabilities by connecting to other simulators and real systems in the network.
3. Makes reusability easier into the organization. Simware allows to develop the simulation
components as services, with standardized interfaces that allow them to manage as
independent components that can be integrated in many products. Organizations can
develop their own repositories from scratch or build them based on repositories already
available as commercial packages in Simware (as the Virtual Vehicle Repository)
Figure 5
SIMWARE SOLUTIONS S.L.
marketing@simware.es www.simware.es
Lever #2, Data Centric Architecture.
Simware’s data-centric architecture is a real enabler of Agility in your simulator because:
1. Provides a simple but powerful architecture for the simulation product, Simware Core
provides out-of-the-box a common simulation infrastructure and shareable services in
which different Entities or microservices publish and subscribe to data in a standardized
way.
Figure 6
2. Allows the early and continuous delivery of the product, in an incremental way. Data model
design can be implemented by increments. Entities connected to Simware middleware (included in Simware Core) can implement its publish and subscribe interface in an
iterative way. Even the behavior and dynamics of the Entities can be implemented in an
incremental way, going from low-fidelity models for a rapid prototyping to the high-fidelity
models for the final validation of the product.
3. Provides a common vision for the simulator, that will be the simulation data-model.
Designer tools included in Simware, allow the data-centric design of the simulator, defining
the persistent (simulation objects) and temporary (interactions) data in a common, XML
based, data-model. This data-model provides also the integration rules for the simulation
solution, as the publishers and subscribers that each entity or component of the simulation
must implement. Simware Designer tools enable then the model and data driven
development of the solution, providing all the interfaces needed to be successful in the
integration. Communication between different teams is easy because all the interfaces and
integration agreements are contained in one and only artefact: the simulation data-model.
SIMWARE SOLUTIONS S.L.
marketing@simware.es www.simware.es
Figure 7
4. Provides an excellent platform to do test-driven development of the simulation systems.
Simware designer tools already provides directly from the data-model the data interfaces
that are needed to implement the test cases. Dummy software for testing can be done in
parallel to the development of the functional component only by using the same data
interface. Publish-Subscribe Service level Contracts can be modified only by changing
Simware Quality of Services (QoS) file. Deployment and data-distribution mechanisms can
be changed only by modifying some parameters. Simware R&P extension can be used to
record simulation testing executions and analyze the results after. SimDeveloper
engineering tool allows to test all the simulation models in Simulink, before even to create
any code.
Figure 8
5. Provides a flexible architecture to do a set-based concurrent engineering of your simulation
product. Simware data-centric architecture is only restricted by the designed data-model.
Multiple technical solutions can be implemented and tested for the different functional
components of the simulator, only by maintain the data interfaces. Set-based design and
rapid prototyping can also leverage the capability in Simware middleware to change the
deployment architecture by only changing a few parameters in the middleware
configuration and in the runtime infrastructure configuration file. For example, you can
experiment with the deployment of the same piece of software code in Linux or Windows,
distributed in one machine or in many, exchanging data in the network using HLA or DDS.
SIMWARE SOLUTIONS S.L.
marketing@simware.es www.simware.es
6. Welcomes changing requirements. Data-model can be extended without restrictions. If new
requirements appear, data-model can be easily modified or extended. In case of changing
existing data, already implemented by pairs of producers and consumers, only entities
publishing or consuming this data must be modified. In the case of extending the data-
model, upgrade is even more easy and straightforward because no change would be
required in the integrated components already working in the functional increment.
7. Allows the dev team to focus on providing value through the implementation of functional
requirements. Simware platform provides, just out-of-the-box, all the runtime and
middleware specific artefacts that are needed to integrate and deploy the simulation
solution as a distributed system. Developers must not be worried by non-functional
requirements such as time management, data distribution or synchronization of multiple
components, because everything is already provided by services contained in Simware
runtime infrastructure and in its real time middleware.
8. Allows the development of simulation systems in a modular way, driven by the delivery of
increasing capabilities, as the integration of simulation services.
Lever #3, Net-Centric platform
Simware is based on a middleware based architecture, that allows to build any simulation solution
as a modular and distributed system. Agile developers can leverage this net-centric architecture
by:
1. Delaying deployment decisions till the end of the development. Simware platform allows
to change the data-distribution mechanism and the deployment architecture just by
changing a few parameters and without needing to recompile any code. Only by changing
a parameter in the constructor of the middleware you can change the technology to be used
to exchange data in the distributed system : HLA from different vendors or DDS. Just by
changing a XML configuration file, the simulation architect can modify the deployment of
the simulator; for example from having all the simulation models running in an only host
to have the models distributed in several machines coordinated by one common scheduler
(see the below picture).
Figure 9
2. Building integrity into the product. Distributed architecture in Simware provides mature
and defect free simulation services that developers can use as the foundation of their
product. Many common services requested for any simulator, as simulation and time
management or the real time execution and synchronization of physics-based simulation
models, are already part of Simware distributed platform, a mature software already in its
6th generation. Besides that, many artefacts in Simware assures the integrity of the data-
centric design of the simulator, for example SimDeveloper allows to do a model driven
SIMWARE SOLUTIONS S.L.
marketing@simware.es www.simware.es
development of the simulation assets into Simulink in full coherence with the data
interface for the entity. Also, Simware designer tools generates automatically all the
interfaces in C++ and XML that are compliant with the simulation data domain created
for the simulator (see Figure 7)
Lever #4, Open Architecture
Simware platform is only based on industrial standards and open APIs. This feature is very useful
to achieve flexibility in your development because:
1. Allows to integrate third-party components very easily, allowing to choose the best
alternative in each case depending on the specific requirements of each project without
being worried about the integrity of the product. Simware can integrate all kind of COTS,
legacy and partner’s software through:
a. Tools and SDKs provided with Simware LVC extension to connect with systems
using a standard interface, for example to integrate a tactical environment in a
military simulator using HLA or DIS protocols or to integrate an DDS compliant
air traffic management system into a flight simulator.
b. Open APIs included in Simware Core and Simware Web. Simware provides C++
and Web APIs to integrate easily any kind of desktop or web/mobile base software,
even when it is using proprietary protocols or interfaces.
2. Allows to adapt the simulator to changing requirements very quickly and without any
technical risks. For example:
a. an stand-alone flight simulator can be easily connected to a federation of simulators
and operational systems without any change.
b. A traffic simulator used into a training device can be reused, integrated as part of
a test-site, only by connecting with real equipment in a laboratory, for example to
test new algorithms for an autonomous car.
3. Allows to extend the capabilities of the simulation product by interoperating or integrating
with third-party products that use standard interfaces. Simware supports in a native way
or through bridges many industrial standards as HLA, DDS, DIS, CIGI, JAUS, LTI, etc.
(see the full list here). For example, it is very easy to evolve a simulation based courseware
made with Simware from a desktop configuration to a class-room solution managed by an
e-learning platform as Moodle, in this case only by leveraging web integration capabilities
provided by Simware Web extension and its LTI based API.
4. Allows to integrate multi-architecture solutions without interoperability restrictions. This
is a capability long requested by any customer that is trying to connect multiple simulators
in a federation, as a military customer looking for a mission distributed training solutions
or a car manufacturer looking for a simulation solution to do simulation based concurrent
engineering of a new vehicle.
Figure 10
SIMWARE SOLUTIONS S.L.
marketing@simware.es www.simware.es
5 SUMMARY
Implementing Agile processes to develop simulation systems is not only about choosing an Agile
methodology as Scrum, Lean software development or SAFe. Any agile methodology will be useless
if the development team doesn’t embrace agility in its development environments and technical
frameworks. Any simulation technology user will have to do the same evolution that well known
technological companies as Amazon has already made: they have evolved to agile solutions not only
by adopting agile processes but also by evolving its products architectures and technical
frameworks to “agile ready” architectures as the microservices architecture. Simware is the micro-
service architecture for the simulation domain, allowing to develop simulation applications as a
suite of independently, small and modular simulation services in which each service provides an
unique feature through a well-defined and lightweight mechanism.
As it has been explained in the paper, Simware provides the best technical platform to implement
an Agile simulation development methodology in your organization. Unique features in Simware
provides strong levers to adopt agility in your organization without any technical or business risk.
Next table summarizes how Simware levers can be used to achieve the main principles that should
be adopted by any simulation organization embracing agility in its development processes.
Agile Simulation Development Principle Leveraged by
Deliver working software incrementally Data-Centric Architecture
Adapt to changing requirements SoS platform, Data-Centric & Open architecture
Build quality in Data-Centric & distributed architecture
Take decisions as late as possible Data-Centric & Distributed & Open Architecture
Facilitates communication and
concurrent engineering
Data-Centric & Open Architecture
Amplify Learning SoS platform, Data-Centric & Open architecture
SIMWARE SOLUTIONS S.L.
marketing@simware.es www.simware.es
6 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 available to build and federate simulations in
compliance with initiatives at SISO and NATO related to the use of Simulations assets as Services
in the Network. Simware platform provides, out-of-the-box, seamless interoperability of SISO
simulation standards like HLA, DIS or CBML with the OMG DDS standard. Multi-standard
compliance makes affordable to any budget the development and deployment of LVC simulations
over any kind of network.
Beyond our products, our commitment is with standards, actual and future; because of that, we
are working at SISO and NATO to develop the future standards and technical architectures for
distributed simulation and for the use of M&S as Services (MSaaS).
top related