Introduction to Sysquake
This chapter introduces to the application Sysquake, the interactive design CAD
tool for getting insight into complicated scientific problems and designing
advanced technical devices. You should read it to know more
about what Sysquake is, what it may be used for, and how to use it for simple tasks.
Introduction
To design technical devices, or to understand the physical and mathematical
laws which describe their behavior, engineers and scientists frequently use
computers to calculate and represent graphically different quantities, such as
the sample sequence and the frequency response of a digital audio filter,
or the trajectory and the mass of a rocket flying to Mars.
Usually, these quantities are related to each other; they are different
views of the same reality. Understanding these relationships is the key to a
good design. In some cases, especially for simple systems, an intuitive
understanding can be acquired. For more complicated systems, it is often
difficult or impossible to "guess", for instance, whether increasing the
thickness of a robot arm will increase or decrease the frequency of the oscillations.
Traditionally, the design of a complicated system is performed in several
iterations. Specifications can seldom be used directly to calculate the value
of the parameters of the system, because there is no explicit formula to link
them. Hence each iteration is made of two phases. The first one, often called
synthesis, consists in calculating the unknown parameters of the system
based on a set of design variables. The design variables are more or
less loosely related to the specifications. During the second phase, called
analysis, the performance of the system is evaluated and compared
to the specifications. If it does not match them, the design variables are
modified and a new iteration is carried out.
When the relationship between the criteria used for evaluating the performance
and the design parameters is not very well known, modifications of the design
parameters might lead as well to poorer performance as to better one. Manual
trial and error may work but is cumbersome. This is where interactive design
may help. Instead of splitting each iteration between synthesis and analysis,
both phases are merged into a single one where the effect of modifying a parameter
results immediately in the update of graphics. The whole design procedure
becomes really dynamic; the engineer perceives the gradient of the change of
performance criteria with respect to what he manipulates, and the compromises
which can be obtained are easily identified.
Sysquake's purpose is to support this kind of design in fields such as automatic
control and signal processing. Several graphics are displayed simultaneously,
and some of them contain elements which can be manipulated with the mouse.
During the manipulation, all the graphics are updated to reflect the change.
What the graphics show and how their update is performed are not fixed, but
depend on programs written in an easy-to-learn language specialized for numeric
computation. Several programs are included with Sysquake for common tasks, such
as the design of PID controllers; but you are free to modify
them to better suit your needs and to write new ones for other design methods or
new applications.
Another area where Sysquake shines is teaching. Replacing the static figures
you find in books or the animations you see on the Web with interactive graphics,
where the student can manipulate himself the curves to acquire an intuitive
understanding of the theory they represent, accelerates and improves the learning
process tremendously.
How Sysquake can be used
Sysquake is expected to be used mainly for three different purposes.
- Understanding basic concepts
- In science as well as in engineering, theory is often not very intuitive at
first, because it relates quantities from different domains: energies and
positions, time and frequency, temperatures and entropies. In automatic
control, where feedback is used to improve performance of any kind of system,
transient behavior, such as settling time, overshoot, and risk of actuator
saturation, is typically analyzed in the time domain; while the stability, noise
rejection, and different kinds of robustness are more easily expressed in the
frequency domain. The basic mechanisms which relate these quantities can be
illustrated very effectively with Sysquake.
- Designing systems
- The quality of a device is always the result of a compromise. Multiple
objectives, such as the speed, the accuracy and the cost, must be taken into
account simultaneously and have contradictory requirements. Sysquake helps a lot
to find which compromises are feasible, how to push the design in the desired
direction, and how to modify the specifications in case they do not permit a
satisfying solution.
- Developing and testing new design methods
- Some design methods still in use were developed at the time when computers
were either nonexistent or too expensive, or too slow for interaction.
While they can also benefit from Sysquake, they are better complemented
or replaced by approaches which offer more degrees of freedom for better performances.
A lot of work can undoubtedly be done in this field.
There is more or less a one-to-one correspondence between these application fields
and the ways Sysquake can be used.
- Ready-to-use interactive figures
- A static figure which illustrates a basic concept in a book or a course on the
World Wide Web can be replaced with a dynamic figure, where the reader manipulates
an element and sees its effect. For instance, to show how the height of a building
influences the amplitude of its oscillations during an earthquake, the student is
invited to change the building height with the mouse and see how the earthquake simulation
is modified. To support this (and much more complicated interactive figures),
Sysquake loads an SQ file, a text file which contains the description
of the figures and the code necessary to support the interaction. SQ files do
not have to handle advanced features provided automatically by Sysquake, like
multiple undo, zoom, and scale options. They rely on built-in functions for
graphics related to linear dynamic systems, but can also compute and display
arbitrary data with a complete language.
- Set of programs for different design or analysis methods
- SQ files are not limited to a fixed set of figures and interaction. They can
implement all that is needed for a given design or analysis approach. Then the user chooses
what he wants to display, may enter numeric parameters which characterize the
problem, and manipulates the graphics until he obtains the desired results. He
can also save the parameters of his design in an SQD file (Sysquake Data
file) and load them later.
- Programs written from scratch
- The applications described above are based on SQ files, which
either come from those distributed with Sysquake or are contributed by
other users, or are written from scratch. Developing an SQ file is not
difficult; however, it requires some programming knowledge and
experience. For small problems, a simpler programming model is available,
SQ scripts.
These purposes are the raison-d'être of
Sysquake which make it different from any other general-purpose math software. However,
Sysquake can also be used as a powerful calculator for quick interactive
evaluation of expressions.
Another advantage of Sysquake is that it runs on
both Windows and
Mac OS X, with a polished user interface.
Other Calerga products share the programming language of Sysquake.
For example Sysquake Remote provides scientific computing and
graphics for Web applications (more informations can
be found on the Web site of Calerga,
https://calerga.com). The part
of the application which does not rely on Sysquake-specific features
(interactive graphics) can be easily reused in these products.


Copyright 1998-2016, Calerga.
All rights reserved.