Modeling and Simulation Environment for developing and deploying scientific and engineering simulators without writing any Graphical User Interface code.
How do you develop the graphical user interface (GUI) for your scientific or engineering simulators? Do you find it hard to develop and deploy windows-based simulation software? Do you spend more time on developing the GUI front-end than the actual simulator core routines? Do you create an ad hoc GUI for each and every simulator? How do you let your users know what input ranges they should use? How do you resolve the unit discrepancies between the user input/output and your simulator? How do you synchronize the changing input specifications between your simulator and the GUI? Does the GUI development force you to learn yet another programming language? Do your users request GUI environments for your legacy simulation code? Is the GUI only a shell to invoke your simulator without run-time user controls? Do you outsource your GUI project to consultants but find it already obsolete as soon as it is delivered to them? Does the GUI cost you too much to develop, maintain, and support?
SansGUI has been developed to address all of these issues for you. Using the innovative SansGUI software, you get a modern, highly interactive, object-oriented modeling and simulation environment for your simulators without writing a single line of GUI code.
The SansGUI Solution
For simulation developers, research scientists or engineers, SansGUI is a framework for modeling physical or abstract systems. You can use SansGUI to create models with different levels of complexity, from a few simple data forms, to a single level network of parts and links, or to as complex as multiple levels of assemblies with interconnections and reference data in many scientific and engineering disciplines.
One of the many innovative concepts introduced by SansGUI is the SansGUI Data Object, a simple and easy-to-implement protocol for simulation engines to communicate with SansGUI. One data object format and one application programming interface (API) are the only requirements for creating simulators tightly coupled with SansGUI. Such simplicity implies that it requires only minimal effort from developers to master the whole system and be ported to other platforms or translated to other protocols easily.
A simulation developer uses SansGUI to specify the classes of model building blocks in a target system as a Schema Definition which compiles it into an Object Library and a set of source routines, in supported programming languages, for implementing the behavior of the classes. A simulation user installs the Object Library and the associated simulator executables from the simulation developer to create a Project Model with a model configuration, a certain input data set, and parameters. SansGUI takes care of user interaction, hierarchical model configuration, object sharing, data entry assistance and validation, unit conversion, dynamic memory allocation, multi-thread/process simulator execution, simulation control, result logging, displaying, plotting, and most importantly, evolving the user's model data in the event that the simulator experienced Schema Definition changes between versions.
SansGUI currently implements continuous, cycle-driven simulation control for highly interactive, tightly-coupled, in-process simulators. Stand-alone, external process simulators are not limited to built-in simulation flow controls. An external process simulator receives a textual Model File, in Tabular Data Blocks or XML Model Data formats, with a flattened model configuration. SansGUI provides a mechanism to integrate legacy simulators written in any programming language. Dealing with hierarchical models and object-orientation is highly recommended, but not required.
The Application Domains
The following are some sample application domains that can take advantage of SansGUI's modeling capabilities:
Run-Time Environment System Requirements
Developer Environment System Requirements
Development Environment for In-Process Simulators
Development Environment for External Process Simulators
More about SansGUI
* MATLAB is a registered trademark of The Mathworks, Inc. OpenGL is a registered trademark of Silicon Graphics, Inc.