A unique guide to the design and implementation of simulation software
This book offers a concise introduction to the art of building
simulation software, collecting the most important concepts and
algorithms in one place. Written for both individuals new to the field
of modeling and simulation as well as experienced practitioners, this
guide explains the design and implementation of simulation software used
in the engineering of large systems while presenting the relevant mathematical elements, concept discussions, and code development.
The book approaches the topic from the perspective of Zeigler’s
theory of modeling and simulation, introducing the theory’s fundamental
concepts and showing how to apply them to engineering problems. Readers
will learn five necessary skills for building simulations of complicated
systems:
Working with fundamental abstractions for simulating dynamic systems
Developing basic simulation algorithms for continuous and discrete event models
Combining continuous and discrete event simulations into a coherent whole
Applying strategies for testing a simulation
Understanding the theoretical foundations of the modeling constructs and simulation algorithms
The central chapters of the book introduce, explain, and demonstrate
the elements of the theory that are most important for building
simulation tools. They are bracketed by applications to robotics,
control and communications ,
and electric power systems; these comprehensive examples clearly
illustrate how the concepts and algorithms are put to use. Readers will
explore the design of object-oriented simulation programs, simulation
using multi-core processors, and the integration of simulators into
larger software systems.
The focus on software makes this book particularly useful for and computer engineering courses in simulation that focus on building
simulators. It is computer science indispensable reading for undergraduate and graduate
students studying modeling and simulation, as well as for practicing
scientists and engineers involved in the development of simulation
tools.