Simulation Graphics - a White Paper
Maximizing Your Modeling Investment to
Reduce Cycle Times
Abstract
This paper explores the costs and benefits of using
graphics as part of the embedded systems modeling and simulation effort.
It defines the term "simulation graphics" and positions it in the
context of the overall development process. Finally, it offers
guidelines for how and when to use graphics to optimize the cost-
benefit ratio.
Introduction
Before explicitly defining the term "simulation
graphics", it is helpful to look at an example that illustrates the need
for simulation graphics.
An automobile company?s marketing department
determines that a "smart" cruise control system will differentiate it
from the competition. This system has radar to detect the position of
other cars and is meant to maintain safe following distances while
maximizing speed. Unlike its predecessor, this new cruise control can
automatically slow down the car and even apply the brakes.
These new capabilities seem straightforward enough,
but they affect a notable number of sub-systems in complex, untested
ways. Besides requiring a significant rewrite in the cruise control
software, this feature affects the engine control system, the braking
system, the suspension, and countless other components and electronics.
The people involved in the design and implementation of this new feature
include industrial designers, embedded programmers, electronics
engineers, mechanical engineers, control systems engineers and even
technical writers.
Because of its complex nature, the engineering team
decides to create a complete system-level model of the new feature and
the affected sub-systems. The engineers start the modeling process using
the written specifications from the marketing department. They simulate
the design, find defects and rapidly fix them. After six months of
effort, each of the participating engineering teams feels comfortable
with the results.
Before finalizing detail specifications to be used in
the implementation process, the engineering team decides to check the
model with the marketing department, company executives and a few
prospective customers. They start by showing the marketing department
their block diagrams, graphical plots and statistical analysis of
simulation results. Because of the abstract, dry nature of this
representation, the marketing manager becomes confused quickly. He
provides no useful feedback. The marketing manager tells engineering to
proceed by building a physical prototype.
Unsatisfied with the prospect of building an
expensive physical prototype without adequate initial feedback from
marketing, engineering builds an interactive, photo-realistic graphical
model of a dashboard that looks and behaves like a car?s real dash.
Figure 1 shows this view and the attached control system model. They add
a few other cars to simulate road conditions and connect this graphical
model to their simulation. The entire "virtual prototype" is sent back
to marketing. It is immediately put through its paces and within five
short minutes, a problem is found. Someone hits the brakes and expects
the cruise to turn off completely. Instead, the cruise control begins to
accelerate the car after the brake is released. The driver of this
virtual vehicle crashes into another car.
The team analyzes the cause of the problem. The
marketing department never explicitly accounted for this case in the
written specifications, so the software engineer made some assumptions
based on his own experience. "Of course you would want the car to
accelerate under these conditions. Why else would you want a smart
cruise control?" At this point, the programmer asserts that the
marketing manager was wrong to expect the cruise control to turn off
under these conditions. The marketing manager argues that it does not
matter whether he was right or wrong. The fact remains that he crashed
the car, and it is likely that other drivers would do the same. The
programmer agrees.
Figure 1: Simulation graphics for a cruise control
model.
More testing is done and twelve equally critical
problems are found. The specifications are rewritten and the model is
fixed. A total of one month is spent on the fixes. The team estimates
that the fix would have taken nine months if the problems were not found
at the early modeling stage using simulation graphics. In addition, it
would have cost over $250,000 to build the hardware prototype needed to
find the same bugs. More importantly, the amount of revenue lost during
this extra eight-month period would have been several million dollars.
This example illustrates an essential benefit of
simulation graphics. You can find mistakes early in the design process.
This saves money and reduces cycle time.
Modeling and Simulation Tools
Simulation graphics software is used to enhance the
value of modeling and simulation tools. Simulation graphics do not stand
alone. For this reason, a short discussion of the available modeling and
simulation tools is necessary.
Figure 2 is a chart of the simulation and modeling
tools for embedded systems development. From left to right the tool
chart covers the engineering disciplines involved including mechanical,
electrical, system and software design. From top to bottom the chart
spans the range of high-level design tools to low-level tools used at
the implementation stage.
Figure 2: Embedded system modeling and simulation tool
chart.
Manufacturers have used low-level tools as a standard
part of the development process for many years. CAD/CAM software, board
layout tools and software compilers are now mainstream products. These
tools are necessary to build embedded products. The high-level tools are
not yet necessary, but those who use them gain a significant competitive
advantage. As systems become more complex and competition strengthens,
these tools will change from being optional to necessary.
System simulation tools help manufacturers understand
and design very complex systems that integrate hardware and software.
Their most important contribution is to create an executable version of
the specifications, without the cost of building a physical prototype.
This executable specification is often referred to as a "virtual
prototype". The virtual prototype is valuable because, unlike a physical
prototype, it is relatively inexpensive, quick to change and easy to re-test
when an error is found.
While the value of these system simulation tools is
high, they have serious drawbacks. They can be very complex, and those
unfamiliar with them, such as managers and customers, do not typically
understand their operation or results. The purpose of simulation
graphics is to make the benefits of these tools accessible to the
customers and managers who must make the critical decisions about the
product?s development and marketing direction.
Simulation graphics software links to the high-level
design tools because it is the first representation a customer sees.
However, the value of graphics can be further enhanced if it also links
to low-level tools and various tools across engineering disciplines.
This provides a common view to the customer and enables high-level
testing at the low-level implementation stage of development.
Simulation Graphics
To understand the benefits and purpose of simulation
graphics, we must first define the term. Simulation graphics are the
graphical user interface components for viewing simulation data and
interacting with the simulation model. By simulation graphics, we do not
mean the graphical block diagrams used to build the basic model
structure. Nor do we mean the GUI that?s used to build this model.
Simulation graphics are classified into four major categories.
- Simulation Data Display
- Simulation User Interface
- System Visualization
- Virtual Front Panel
1. Simulation Data Display
Simulations produce a large amount of data. The more
complex the model, the more data produced. The usefulness of these
simulations not only depends on the completeness and accuracy of the
model, but also on the ability to view the resultant data in an
organized, convenient and comprehensive manner.
Figure 3: Simulation data display
components
including plots and strip charts.
Data display graphics show this data in several forms.
They include plots, strip charts and numeric displays. These are
"output-only" graphics, that is, the user simply views them. The user
does not add input that affects the simulation. Data display graphics
can be viewed in real-time or post-processed when the simulation
completes. Figure 3 is an example of such a display.
There are several benefits to a well thought out
graphical data display screen. First, when viewing data in real-time,
information is displayed quickly. A properly organized data screen
allows the user to see bugs and optimizations at a glance, even if the
data is scrolling by rapidly. Second, data is not only important by
itself, but also in relationship to other data. For example, a falling
tachometer by itself is not abnormal. However, if at the same time, the
speed is increasing and the accelerator is being pressed, then you know
there is a problem with the model. A well-designed data display can help
you catch these interactions. Third, the number of interesting data
streams can grow rapidly until, eventually, you have multiple pages of
data displays. The advantage of a good data display package is that it
allows you to collect your most important data and arrange it in one or
several well designed screens for easy viewing and navigation. With the
additional use of audible and visual alarms, colors, line styles, large
and bold fonts, etc., we can catch error conditions or optimization
opportunities that otherwise would have gone unnoticed. The ultimate
result is a shortened development cycle because mistakes in the model
and specifications are found as early as possible.
Data display graphics are typically for internal use
only. They are a debugging, optimizing and design tool. Although in some
cases, a well designed data display screen can be used to communicate
results to those who are not using the modeling tool directly. This type
of communication, however, is usually reserved for the photo-realistic,
virtual front panel stage of simulation graphics. We will discuss this
later.
Most modeling and simulation tools come with a basic
set of data display components. These have the advantage of being
tightly integrated and easy to use. They have the disadvantage of
limited functionality and are often difficult, if not impossible, to
extend. In this situation, the modeler must create his own display
software from scratch or use a third-party graphics package. If he is
displaying real-time graphics, this package must be integrated with the
simulation tool. If the data is being post-processed, the graphics
package must be able to read from files.
An advantage of going to a third party graphics
package is that the graphics displays can be re-used by other members of
the development team who are using different simulation tools. The basic
built-in graphics that are packaged with the simulation software, on the
other hand, can only be used with one tool. In addition, having a common
screen shared by different parts of the design process allow for a
consistent view of the data. This consistency is helpful as subsystems
are integrated to create the complete embedded product.
2. Simulation User Interface
All modeling and simulation software comes with some
type of Graphical User Interface (GUI). These GUIs allow the modeler to
create the graphical diagram and set parameters of the models. These
GUIs are typically general purpose and relatively complicated to learn;
therefore, only the modeling expert is qualified to change the model or
its parameters. Quite often, however, it is desirable to have an
application expert, who is not the modeler, make changes to the model
and its attributes so he can perform "what-if" scenarios to test and
optimize the system.
A high-level simulation user interface allows the
modeler to create a "model specific" GUI that others can use with little
or no training. It allows the application expert to set parameters and
make limited changes quickly and easily, without learning the modeling
tool. This saves significant time because the application expert does
not have to wait for help from the modeler. It also allows the
application expert ample time to "play" with the model without worrying
that he is tying up the modeler?s time and resources. This "pressure-free"
environment results in better, more complete model testing. Figure 4 is
an example of a simulation user interface that can be used by a
application expert to optimize conditions.
Figure 4: Simulation user interface for an automobile
engine control system.
Modelers can also use the simulation user interface
to log events created by the application expert. This provides an
elegant and efficient method of generating regression tests. This
simulation user interface often takes the form of simple, off-the-shelf
input or control components such as sliders, dials and numeric input
objects. They have the ability to work in run-time as well as the
development environment. The simulation user interface can even be run
over the web while the simulation is being run on a server in a central
location.
3. System Visualization
Most embedded products work as part of a larger
system, so the design of these products requires a simulation of the
entire system, not just the stand-alone product.
Figure 5: System visualization of an airplane flight
control system.
In these cases, it is useful to create an animated
graphical representation of the entire system. For example, a traffic
pattern of cars must accompany the car that is being simulated and
tested. Traffic lights, streets and pedestrians might also be
represented. In addition to interacting with other products, the product
itself is nothing more than a collection of sub-systems, which interact
and must be simulated and visualized. For example, besides showing the
cockpit of an airplane, which provides the obvious view into the
airplane?s engine parameters and status, you might want to see an
external view of the airplane to observe its pitch or yaw. You may want
to see the ailerons and rudder move while you view the artificial
horizon in the cockpit. You might also want to see a schematic view of
the hydraulic system and light up sections of the diagram as pressure is
rising or falling. Figure 5 shows this airplane system view just
described.
Unlike basic data displays, system visualizations
provide a more custom, application-specific view. An airplane?s pitch is
represented by an airplane, which moves on the screen at the appropriate
angle. It is not simply a number or plot that represents that pitch.
This provides several advantages. First, an application-specific system
visualization is much easier for the modeler to understand at a glance.
There is less time spent mentally converting abstract representations
and more time reconciling different conditions and parameters to
determine bugs and optimizations. This could be the difference between
catching a bug or missing it. The second advantage is that the
application-expert can understand and use the model.
The disadvantage is that it takes additional work to
create application-specific graphics. With data display components, you
can simply pull them out of a library. Some system visualization
components, however, require custom graphics work. This will take some
additional effort and the value added must be weighed against the
benefits.
4. Virtual Front Panel.
One of the most powerful and dramatic benefits of
simulation graphics is achieved by allowing your customers to
participate in the modeling and simulation effort. This helps in two
ways. First, the customer will find mistakes in the specifications and
model that the systems engineers will most certainly miss. Second, it
will help solidify the customer?s idea of what he really wants, not what
he originally told you he wanted. This is critical, since the goal is to
build products that customers will ultimately buy.
Figure 6: Virtual front panel of an airplane cockpit.
Creating simulation graphics for customers is much
different than for internal use. The graphics must be much more
realistic, accurate and complete. This is for several reasons. First, a
customer cannot easily understand abstract representations. The modeler
understands the model thoroughly. The customer, however, is less
sophisticated and knowledgeable, so nothing must be left to the
imagination. Second, the customer?s impression of your product is at
stake. Even if you tell them "it is only an early prototype", they will
judge your product based on that first impression.
So how do you create impressive graphics without
breaking the bank or schedule? After all, don?t these 3-D, virtual
reality style animations take years of work, hundreds of programmers and
massive graphics workstations to create? No ? and the answer lies in
re-use and selective graphics design. The important thing is that the
prototype looks good, is interactive, has real-time response and is
accurate. It does not have to be a Hollywood production.
The looks are actually the easiest part. With today?s
plethora of excellent graphics packages such as PhotoShop, Freehand and
CorelDraw you can cheaply and easily create high-quality, photo-realistic
images. You can also import bitmap images from sources such as scanners,
digital cameras and 3-D rendering software. Such renderings are often
readily available as part of the early mechanical design and prototyping
process. These photo-realistic images provide more than enough graphics
fidelity. These images have the look of a 3-D prototype but the
interactive speed and ease of manipulation of 2-D graphics. At this
point you can add the interaction, behavior and animation to bring the
graphics to life. You connect the animated graphics to your simulation
model and you have a customer ready virtual prototype. The key is that
these graphics can be created quickly and do not require expensive
hardware to run in real-time.
When creating virtual front panels for customer use,
it is recommended that a graphics or industrial designer help create the
graphics images and animations. These people are much more effective at
creating realistic looking models, and they are a lot cheaper to use
than systems or software engineers. For example, the cockpit display in
figure 6 was created by a graphics designer at ¼ the cost and ½ the time
of a software engineer. More importantly, the result is much more
impressive.
Benefits of Simulation Graphics
As we discussed the different types of simulation
graphics, we touched on the benefits that each provides. This section
summarizes those benefits. Simulation graphics significantly enhance and
optimize the simulation and modeling process. Specifically, simulation
graphics provide the following advantages.
- Involve Customers
- Enable Collaboration
- Accelerate Debugging
To understand the benefits of simulation graphics we
must understand the development process. This means knowing where
mistakes are made, and what is the cost of those mistakes. This cost is
quantified in time, money and lost opportunity. A typical product
development process follows the following stages.
- Marketing researches customer needs
- Marketing writes product specification
- System engineering partitions and defines specs for functional sub-systems
- Individual engineering teams design and implement sub-systems
- System engineering integrates and tests
- Marketing tests prototype
- Back to step 2.
This loop continues until a) they get it right, b)
they run out of time, c) the project is cancelled.
Modeling and simulation are used to shorten this
cycle. By simulating at stage three, the development team can test
designs, architectures and assumptions about the specifications and
market research. A mistake caught here can save a significant amount of
time and expense. The absolute savings, of course, can vary from company
to company. For large automotive companies, the savings is in the
millions for each new car program. For a smaller company, it may save
ten to a hundred thousand dollars in product development cost. In either
case, the savings go right to the bottom line.
Figure 7: Benefits of graphics -- reduced cycle times
and cost.
Figure 7 illustrates these savings. The dotted line
represents the current process, without simulation or graphics. In this
case, engineering resources are spent at a steady state until a deadline
approaches. At this time, it is discovered that resources must be added
to make the deadline, and even then, it is often too late. In this case,
adding extra resources at the beginning does not help because there is
nothing for them to do until hardware prototypes are built. Also, you do
not know what kind of people to add until you have a better feel for the
over-all architecture.
Simulating provides a mechanism to get started on
these problems earlier. It takes additional effort to create the
simulation model, but then bottlenecks can be identified and the
appropriate resources can be brought into the project. In addition, you
can begin the software test and debug process long before hardware
prototypes are ready. This alone can make the difference in meeting the
deadline.
Graphics accelerate this process even more. Since
customers can get involved early, many of the specification errors can
be identified and a full-force implementation effort, without fear of
significant re-design, can begin as early as possible.
As enumerated above, the three advantages that
graphics provide include involving customers, enabling collaboration and
accelerating the debug process. These benefits are discussed in more
detail in the following pages.
-
Involve Customers
The only way to involve customers early is with simulation graphics.
Customers cannot use or understand the simulation models directly.
As discussed in the "virtual front panel" section above, the
advantages of involving customers early are clear. First, the
customer will find mistakes in the specifications and model that the
systems engineers will most certainly miss. Second, it will help
solidify the customer?s idea of what he really wants, not what he
originally told you he wanted. This is critical, since the goal is
to build products that customers will ultimately buy.
-
Enable Collaboration.
By collaboration, we mean three things. Sharing designs between 1)
different engineering disciplines, 2) multiple locations, 3)
different companies.
Models are complex and the tools to build and simulate them are
expensive and require significant computer power. For this reason,
they cannot be readily shared. Creating a graphics front end can
mitigate this problem. If the graphics architecture is defined
properly, a separate graphical user interface can be made
transportable and re-usable. This allows easy sharing, and in some
cases the simulation user interface can be viewed on the web over
multiple locations and computer operating systems, while the
simulation is running on a single, high-end server that can
accommodate the stringent performance and operating system
requirements of the simulation. This can save large amounts of
computer hardware and travel expenses. More importantly, engineers
work together early and often. The result is a better product
produced quicker.
-
Accelerates model debugging.
The first two benefits focus on the interaction of the modeler with
the outside world. However, simulation graphics have something to
offer the modeler alone. Simulation graphics, even in its simplest
form, can help the modeler visualize his system and thus find bugs
quicker. Although a modeler may know his model thoroughly, a new
perspective can offer a substantial advantage. Simulation graphics
provide that new perspective. Even if the graphics help to uncover
only one additional bug, they are well worth the effort because that
bug can make the difference between the product?s success or failure.
Guidelines for Using Simulation Graphics
For all its benefits, simulation graphics can be
improperly used. This section lists some guidelines for creating and
using simulation graphics so you optimize the benefits while minimizing
the costs.
-
If possible, separate the simulation graphics from your model. This
enables re-use and collaboration. It also ensures that your graphics
are not tied to any particular methodology. Therefore, if you change
modeling tools or methodologies, you can still use the same graphics.
-
If you are just working on a self-contained algorithm that does not
require visualization and nobody but the modeler will see the model,
then do not use custom, photo-realistic graphics. Use off-the-shelf
data visualization or simulation GUI components.
-
Get in the habit of using graphics immediately. Even for simple data
displays. It creates a solid foundation for you to build graphics
displays easily as the model gets complex.
-
If customers, executives or managers are going to see your model,
get help from a graphics professional. Compared to engineering
talent, it is relatively inexpensive. People notice good graphics
and it can enhance the perception of the accuracy and validity of
the model. It also provides a good first impression of your product.
-
If you are going to collaborate across multiple locations, build a
web page early in the process. It will be well worth the effort. As
you get further along in the process, you will have a hard time
justifying the need to create the web page, and you will regret not
doing it. Conversely, having this web page will help your model get
significant attention, which may translate to more resources from
customers and company executives.
Summary
Modeling and simulation has become an essential part
of the design process. Simulation graphics can significantly enhance the
value of these powerful yet costly models. Simulation graphics take on
many forms ranging from simple data visualization components to photo-realistic
virtual front panels. The degree of graphics fidelity required depends
on the purpose of the model. If customers are involved, photo-realistic
graphics are necessary. Likewise, if project funding is on the line,
impressive graphics are recommended. On the other hand, if the model is
going to be used for internal use only, then off-the-shelf, general-purpose
graphics components should be sufficient.
While there are many benefits of simulation graphics,
a modeler must also consider the cost. If used appropriately, however,
the cost of creating simulation graphics is typically negligible when
compared to the overall cost of the modeling effort.
The benefits of graphics include involving customers,
enabling collaboration and accelerating the model debugging process.
These benefits translate into shorter development cycles, lower cost and
better products. |