Simanij (Simulate + Manage) is a general purpose text-processing tool that uses input template files to generate a graphical user interface (GUI), run simulations/executables, and produce and display output. User selections in the GUI are used to dynamically create the input files for consumption by any executable process that accepts flat file input. Executions can also be completed without the use of the GUI by running Simanij from a command line; in this case, default values defined in the template files are used as the “user selections.” This capability makes Simanij a good tool for automated testing of any executable.
The capability to run batch simulations and generate study matrices in which variables are systematically varied is supported along with the capability to distribute multiple simulation runs over a network. Network distribution, which is controlled by the Simanij utility called SimServer, allows large-scale analyses to be performed in much less time.
Simanij uses a tag markup language similar to XML. In Simanij, the tagged contents of template files are used to generate a GUI. Through the GUI a user can edit entries, makes choices, and run simulations based on the new edits and related default tag attributes. Simanij was developed to support a simulation program; but any command line program which uses ASCII text files to control the behavior of the program can be executed and managed by Simanij. For example, Simanij has been used to augment and automate the use of Python®, Supressor®, SIAP’s Integrated Architecture Behavior Model, and Simajin®.
Simanij can support the extraction of results from automated testing activities. When a simulation is run in a networked environment, the results are collected back on the local controlling computer and saved as tab-delimited text, HTML, or graphic images. There is a simple graphing interface that can be used to view the results. For simulation jobs involving a study matrix, results can be summarized and plotted for each cell in the matrix. It is also possible to view result files and run external programs to analyze or view results.
Simanij also supports automated test execution including regression testing. Results extracted from test or simulation executions can be tested against expected values or ranges of values to define passing or failing conditions. Regression test results can be drilled into to locate specific test runs, machines, or requirements that pass or fail. Simanij can also notify users via email of completed tests or simulations to include regression test results.
Simanij also supports extracting results from Java Properties files, as well as, a simple text format. Simanij can also associate text files with test results for cross-referencing test requirements. Simanij uses either a XML data store or Microsoft SQL Server for saving results, studies, and test data. Microsoft SQL Server must be purchased separately.