|
| |
The Cinderella SDL Client API
The Cinderella SDL Client API (CSA) allows you to control various Cinderella
SDL operations from a separate application (a client application).
Typical operations are:
 |
Launching of Cinderella SDL.
|
 |
Loading of a CBF, PR or CIF file.
|
 |
Start and stop of simulation.
|
 |
Inquiry of information about the system, such as input/output signals.
|
 |
Sending of signals and monitoring of signals sent inside the system.
|
 |
Invocation of Cinderella SDL plug-ins, e.g. for generation of auxiliary
information useful for the client application. |
The client application can be any program which can load and use the
functional interface of a DLL. Areas where a client application is particular
useful are:
 |
Definition of a Graphical User Interface (GUI) to provide a more
user-friendly and realistic view of the SDL system. For example, an SDL
system for an ATM may have associated a GUI with buttons for entering
banking details, various displays, animation of cash reception etc. The GUI
could for example be developed using Visual Basic or Visual C++.
|
 |
Definition of a system tester. By means of scripting commands,
regression test of a system can be completely automated.
|
 |
Definition of a system wrapper which converts the API operations
to/from real-time communication primitives (such as CORBA interfaces or
Windows messages). This way, the simulated SDL system can take part of a
running system.
|
 |
Integration with other CASE tools. For example, Cinderella MSC uses the
API for verifying an MSC. Obviously, third party tools can also be
integrated. |

Cinderella SDL Client API Example
The Client application CSDLClientEx is a dialog-based sample which comes
with Cinderella SDL. Full source code for the sample is provided, thus making it
easy to develop a client application dedicated to a particular system.
The client sample supports:
 |
Buttons for loading CBF, PR or CIF files and buttons for starting,
breaking or stopping simulation.
|
 |
A general purpose user interface with buttons which manually or
automatically can be assigned to particular signals and with an output
window showing the signals sent from the system.
|
 |
Error logging.
|
 |
A simple script language which supports most of the API operations.
Scripts can be loaded and executed. Also, a simulation trace can be saved
and used as a script, thus making regression test possible.
|
 |
Batch-oriented test from the command line. |
The figure below shows the user interface.

The source code can be specialized to fit to your particular purpose. For
example, the GUI dialog box can be enhanced to reflect the nature of your
application or the set of script commands can be extended to provide more
advanced testing capabilities. Naturally, it can also be used "as is".
You can provide a script file as parameter when you start CSDLClientEx from the
command prompt. This is particular useful for batch-oriented testing of a
system, since the loading, simulation, saving of simulation results, exiting and
comparison with previous results this way can be completely automated.
|