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.