SIMSCRIPT III Release 4.0 May 23th , 2016
1. Introduction
SIMSCRIPT III Release 4 is CACI’s forth release of a new modular object-oriented system for designing and building both discrete and combined discrete/continuous simulations. It contains excellent object-oriented graphics for building a GUI, visual presentation of results, and both 2-D and 3-D animation. Included is SimStudio, GUI/project based development environment for building simulation applications, and runtime reusable libraries. SimStudio also contains a comprehensive class-browser feature, to enable easier inspection and navigation of large simulation models. SIMSCRIPT III Release 4 supports DataBase Connection (SDBC) which provides APIs for database connectivity based on Open DataBase Connection (ODBC) with any database on the market.
SIMSCRIPT III Release 4 also supports the unique feature Check-Point/Restart, which facilitates easy creation of “What-if” scenarios mostly used in live, simulation-based training-exercises and studies. In analytical models especially in situations where a large amount of input data is needed for a particular initial simulation scenario, this feature can be used to automatically populate the data base creating the initial scenario for further analysis.
SIMSCRIPT III Release 4 includes SIMSCRIPT Business-Rules Interpreter which facilitates easy creation of pre-programmed missions for simulated units and operations during model execution without a need for model source code modifications. In complex logistics analytical simulations, user can change business rules during run-rime, introducing new business rules in certain decision points, experimenting with different what-if scenarios without changing the simulation model.
SIMSCRIPT III Example programs like graph_edit can be used as a jumpstart for building simulation tools for modeling and simulation of factory production processes, network topology for telecommunication networks performance analysis and optimization, etc
SIMSCRIPT III facilitates creation of Reusable libraries which can be used for fast prototyping simulation models in certain application areas. Both, Graph-edit and SIMSCRIPT Business-Rules Interpreter are packaged as SIMSCRIPT reusable libraries (subsystems). Graph_edit reusable library can speed-up building network topology in network analysis tools or it can also be used for building factory layout simulations, building input scenarios for war-gaming etc. Business Rules reusable library can speed-up adding business rules to Business process simulations, logistics simulations, transportation, war-gaming etc.
2. SIMSCRIPT III Release 4 New Enhancements:
The following new enhancements are supported in Release 4:
-
Checkpoint Restart new platform - 64-bit Windows
-
Compiler Enhancements
-
Debugger Enhancements
-
Simgraphic enhancements
-
New Audio capability
-
New Enhanced Example Programs
-
Deployment of Simgraphics programs
-
Run-time environment for models converted from MODSIM to SIMSCRIPT
2.1. Checkpoint/Restart
Checkpoint / Restore – unique SIMSCRIPT capability is now supported on both 64 bit LINUX and 64 bit WINDOWS platforms. Examples of checkpoint / restore are found in “/examples/simple/checkpoint”.
2.2 SIMSCRIPT III Compiler Enhancements – smart build
The SIMSCRIPT III compiler now includes a new “smart” build option “-j”. When applied, only those files specified that are out of date or have changed will be compiled. Dependency checking is performed – files that are in some way dependent on modified files (such as a public preamble) will be recompiled. When the “-j” option is used, all source files in the project must be specified on the command line. Not yet supported for SimStudio. The option will be utilized by the SIMSCRIPT III Eclipse workbench as soon as it becomes available.
2.3 SIMSCRIPT III Debugger Enhancements
Printing value of an object attribute
When using the SIMSCRIPT debugger and stopped in a object method, the user can now print the value of an object attribute of this method’s base class without specifying the name of the class. For example, assume that the attribute “current_fuel_level” belongs to a base class of the class called “destroyer” and “refuel” is an method of the class “destroyer”:
SimDebug> br destroyer’refuel
SimDebug> r
BREAK: User breakpoint
---- destroyer’refuel (destroyer.sim: 156-176)
# 156 process method destroyer’refuel
SimDebug> pv current_fuel_level
current_fuel_level = 1234
Handling Expressions
The SIMSCRIPT III debugger now supports handling of expressions when referring to an object attribute, class variable, entity attribute, global or local variable value that needs to be inspected or assigned. This affects the command “PV” (print value), “FP” (follow pointer), and “SV” (set value). The “syntax” for these expressions is identical to that used in SIMSCRIPT III. Specification of array attributes and variables is supported. Syntax errors are detected and reported if the user does not form the expression correctly.
SimDebug> fp destroyers(2)
SimDebug> pv fuel(destroyer(the_navy)(2))
Conditional Breakpoints
Conditional break points are now supported. The debugger commands “SB” (set breakpoint) and “BR” (break at) now allow the use of an optional “IF” clause after the breakpoint info on the command line. After “IF” the user specifies a Boolean expression much the same way as it would be seen if used in a SIMSCRIPT III “IF” statement. For example:
Simdebug> sb MyFunction 34 if fuel(destroyer(the_navy)(2)) > 10000
Simdebug> br MyRoutine if n.link_set(root_node(the_graph)) <> 0
2.4 SimGraphics performance improvements
-
Java code for simgraphics.jar was updated not to use ".sg2" file table of contents, and instead to use Java Buffered IO objects to read in .sg2 files. This results in a drastic improvement in performance when loading a large .sg2 file.
-
Support for loading an AutoCAD DXF into a 3d graphics program has been improved.
-
The version of JAVA that is shipped with SIMSCRIPT III was updated to version 1.7.0_51. This same version is used by all platforms
2.5 New Simple Audio Capability
Simple audio capabilitiy was added to SIMSCRIPT III via the new subsystem “audio.m”. The public preamble is found in the /defs folder. A project incorporating audio must use “simgld” to link the program or define the project as a “SIMSCRIPT III graphics program” in SimStudio. An example of audio is found under /examples/simple/audio/test. The program /examples/simple/continuous/bounce also uses audio.
2.6 Example programs - reorganized
SIMSCRIPT example programs included in Release 4 are located in /examples and are reorganized in three subfolders as follows:
-
demo --- subfolder contains full sized (non-instructional) demo simulations involving both 2d and 3d graphics. The new “graphedit” library and 2 applications are also located in this folder and programs such as airport" and "radar".
-
simple --- Smaller programs that are designed to be instructional and easier for a new SIMSCRIPT programmer to understand. Various aspects of SIMSCRIPT III are presented here:
-
New“business_rules” folder was added to “examples/simple” folder. This contains a new example program for the SIMSCRIPT business rules ("SBR") called the “jobshop” model. The job_shop model is documented and can be loaded with SimStudio.
-
manual - subfolder contains programs that are written up in SIMSCRIPT documentation.
-
legacy --- subfolder contains programs that do not use the new capabilities found in SIMSCRIPT III. Programs converted from MODSIM to SIMSCRIPT are also located here.
New and enhanced example programs
The “network editor” library and 2 example programs are added to example program(s) for the new graphedit library. The programs are added to ‘examples\demo\network_editor’ and are:
-
graphedit_lib -> SIMSCRIPT III "library" project containing basic subclassable graphedit.sim subsystem and implementation code.
-
graphedit_test - Simple example application build on the graphedit library. Allows user to create, load, save and edit node/link graphs but does not have any simulation associated with it.
-
factory - simulator that allows user to build a simulation of a manufacturing system without any coding. Also Imports from graphedit.sim and links with the library (.lib,.a) file generated by graphedit_lib project.
Enhanced AIRPORT demo model
The 3d version of the “airport” demo (found in /examples/demo/airport) has been updated to include more realistic flying and a new “radar” screen that can be activated by pressing on a button under at the bottom of the view (in the control-panel area). The radar view provides a “strategic” view from above of the airport and surrounding area that would resemble what an air traffic controller would see.
Enhanced RADAR demo model
A new demo was written that is a variation of the existing “radar” program. It is called the “radar scenario builder” and is found in /examples/demo/radar folder. This program is a combination of an editor and a simulator. It allows the user to place both surveillance and target aircraft icons on a map and define the paths that they will follow once the simulation is started. Other attributes can be edited by selecting the aircraft’s icon after it has been placed. Weather conditions can be set before running the simulation which will determine the effectiveness of the simulated tracking by radar.
New SIMSCRIPT II.5 programs:
-
Financial simulation program for portfolio selection and optimization, originally written in SIMSCRIPT II.5 by Nobel Laureate Prof Harry Markowitz and granted to CACI, was added in examples/simple/portfolio
2.7. Run-time environment for deployment of Simgraphics programs
A new utility called "DeploySG.bat" in %SIMHOME%/bin was added that when executed creates a runtime environment for simgraphics programs. When the utility is run from the program's "executable" folder, the environment is created an a special ".bat" file is generated to launch the executable.
2.8 SIMSCRIPT III programs automatically converted from MODSIM III
Runtime environment for MODSIM-to-SIMSCRIPT converted programs is provided. The programs can be compiled and linked with this release using command-line scripts as well as Simstudio.
It includes:
-
New folder called /defm contains all public preambles needed to compile MODSIM to SIMSCRIPT programs.
When compiling a converted MODSIM program, the “defm” folder must be included in the list of imported subsystems, (along with the “defs” folder).
-
Runtime libraries mstd.lib and msgr.lib for linking non-graphical and graphical MODSIM to SIMSCRIPT programs are in directory /lib. The MSGR and MSTD runtime libraries are now included for both compiling and linking programs that have been converted from MODSIM III to SIMSCRIPT III using CACI’s “MODSIM to SIMSCRIPT” converter program.
-
The link scripts "tsimld" and "tsimgld" for linking MODSIM-to-SIMSCRIPT programs both non-graphically and graphically are in directory /bin
-
Binary for the non-graphics converted MODSIM program “mstd.lib, mstd.a” is now linked automatically when simld is invoked.
-
For graphics programs, the binary “msgr.lib, msgr.a” is now linked when “simgld” is used. MODSIM to SIMSCRIPT conversion libraries are shipped for both 32 and 64 bit versions of windows, and for 64-bit Linux.
-
The standard graphics demos that were originally shipped with MODSIM III have been converted to SIMSCRIPT III (by the MODSIM to SIMSCRIPT converter) and are found in the “examples/legacy/modsim” folder.
NOTE: MODSIM to SIMSCRIPT converter program is NOT included in this release. If you need help in converting your existing MODSIM III models to SIMSCRIPT III please contact Ana Marjanski, Head of the Technical Department CACI Advanced Simulation Lab at Amarjanski@caci.com
3. 64-bit SIMSCRIPT Database Connection on Windows 7and 8
In order for SDBC example programs to work, on 64-bit Windows 7 and 8 platforms, the 64-bit data access libraries must be installed on the client machine. AccessDatabaseEngine_x64.exe can be found at microsoft.com site and must be installed to allow 64-bit SDBC program to communicate with data sources. As an alternative, the 64-bit version of Microsoft Office 2010 can be installed.
4. Supported Platforms
SIMSCRIPT III Release 4.0 - Professional version is available on the following computer platforms:
-
32-bit PC Windows Windows 7,8 with Microsoft Visual Studio 2010 Standard Edition
-
64-bit computers based on x86_64 processors with 64-bit RedHat Enterprise 5.5 Linux
-
64-bit PC Microsoft Windows7, 8 with Microsoft Visual Studio 2010 Standard Edition
Microsoft Visual Studio 2012 and 2013 are supported for both 32 and 64 bit "pro" versions of SIMSCRIPT. Visual Studio 2005, 2008 and 2010 are also still supported.
SIMSCRIPT III Release 4.0 - Standard version is available on the following computer platforms:
-
32-bit PC Windows Windows7,8 (no Microsoft C/C++ required)
SIMSCRIPT III Release 4.0 - Student version is available on the following computer platforms:
-
32-bit PC Windows Windows7,8 (no Microsoft C/C++ required)
5. Recompilation and Modification Requirements
SIMSCRIPT III Release 3 models have to be recompiled and re-linked with the new SIMSCRIPT III Release 4.
SIMSCRIPT II.5 models have to be recompiled and re-linked with the new SIMSCRIPT III Release 4 using “–e” compatibility switch.
6. Installation Procedures for Microsoft Windows Users
SIMSCRIPT III can be installed under a single arbitrary directory without system administrator privileges. The installation procedure is automatic and very simple. The “SIMHOME” environment variables is registered automatically during installation and SimStudio is ready to use. Also, a desktop shortcut is automatically created during installation that launches the SIMSCRIPT III command line interface window. This window can be used to launch the SIMSCRIPT III compiler and other tools. Another desktop shortcut is added that will launch SimStudio.
NOTE: These shortcuts assign environment variables that are needed to build SIMSCRIPT III programs. Programs such as “simc”, “simld”, “simgld” … should only be invoked through the command window created by the shortcut.
7. On-Line Documentation
SIMSCRIPT III Release 4.0 is supported by the following documentation which describes new object-oriented features, modularity and object–oriented Simulation Graphics:
-
SIMSCRIPT III Release 4.0 Release Notes (this document),
-
SIMSCRIPT III User's Manual
-
SIMSCRIPT III Programming Manual
-
SIMSCRIPT III Reference Manual
-
SIMSCRIPT III 2-D Graphics Manual,
-
SIMSCRIPT III 3-D Graphics Manual
-
SIMSCRIPT III Business Rules Interpreter
Since SIMSCRIPT III is a superset of SIMSCRIPT II.5 All on-line SIMSCRIPT II.5 documentation is available and applicable to SIMSCRIPT III Release 4.0
-
SIMSCRIPT II.5 User's Manual
-
SIMSCRIPT II.5 Simulation Graphics User's Manual,
-
SIMSCRIPT II.5 Programming Language
-
SIMSCRIPT II.5 Reference Manual
-
SIMSCRIPT II.5 Data Base Connectivity User’s manual
-
SIMSCRIPT II.5 Operating System Interface Manual
-
An Introduction to Simulation Using SIMSCRIPT II.5 (book)
-
Building Simulation Models using SIMSCRIPT II.5 (book)
SIMSCRIPT II.5 documents are in .PDF format and can be viewed by Acrobat Reader.
8. Notes for SIMSCRIPT II.5 users
All SIMSCRIPT II.5 models need to be recompiled and re-linked with the SIMSCRIPT III release 4.0. Some complex SIMSCRIPT II.5 models which use non-standard SIMSCRIPT II.5 features will get a lot of compilation errors and warnings. It is recommended that models be modified to conform to the stronger type checking and syntax rules.
Also models which use internal information about 32-bit headers of SIMSCRIPT II.5 dynamic arrays, entities and text variables will have to be modified to work properly with this release. Header sizes for both 32-bit and 64-bit SIMSCRIPT entities, object instances, arrays and text variables are all 16-bytes in length.
Command-Line Interface – development commands for compilation and linking are the same as existing SIMSCRIPT II.5 commands: simc, simld, simgld etc
To compile and link a SIMSCRIPT model use:
simc –c *.sim
simld –o model_name *.obj ‘’ for non-graphical models
simgld –o model_name *.obj ‘’ for graphical models
Compiler switches are the same as in the SIMSCRIPT II.5 with addition of the compatibility switch and selective suppression of compilation warnings.
New additional compiler switches:
–e provides compatibility with the SIMSCRIPT II.5 compiler,
but it also excludes benefits of increased execution speed.
-wn1, n2 provides capability of ignoring compilation warnings number n1, n2
Using these new compiler switches –e and –wn is not recommended. All compilation errors and warnings should be addressed and corrected in order to get full benefits of this new SIMSCRIPT III Release 4.0.
Some SIMSCRIPT II.5 syntax is deprecated. Full list of deprecated functionalities along with the recommended code modifications is given in the Appendix , of this Release Notes.
9. Contacting Technical Support
Questions regarding the installation, application, or use of this product should be directed to the CACI Technical Support Hotline. When contacting CACI for technical support, please include the following:
-
Serial number of the product
-
Your name and the name of your organization
-
An alternate method of contacting you
-
Name of product and release number
-
Name and release of operating system
For Technical Support in North and South America, your central point of contact is:
CACI Advanced Simulation Lab
1455 Frazee Road, suite 700
(619) 881-5806 [Voice]
(619) 692-1013 [FAX]
simscript@caci.com [Email]
For on-line technical support please fill the form at:
www.simscript.com
10. Simulation Services
CACI Advanced Simulatio Lab also provides broad range of simulation services and can help you build your new simulation model in areas like theatre-level interactive training exercises, communication network simulations, performance based logistics, transportation, railroad and railways scheduling simulations, health care emergency response simulation etc. Experienced simulation experts can provide guidance and perform simulation studies using SIMSCRIPT III , interface your existing model with reusable simulation libraries in C++ and Java, provide help in transitioning your existing SIMSCRIPT II.5 model to SIMSCRIPT III, or convert your existing MODSIM III simulation model to SIMSCRIPT III.
For more information about CACI modeling and Simulation services please contact:
Ana Marjanski,
Head of the CACI Advanced Simulation Lab.
Amarjanski@caci.com
Appendix:
SIMSCRIPT III unique feature Checkpoint/Restart (CR)
During a simulation run, model state is remembered in a number of checkpoint files, and simulation can be restarted from an arbitrary checkpoint file.
Checkpoint
To perform checkpoint SIMSCRIPT model has to be invoked using –cr command-line argument, like:
model_name –cr
Also, in model source code the following SIMSCRIPT statement has to be used:
record memory to unit_number, restore at label_name
At this point the model state will be saved in a file with extension .chk, for example:
SIMUxx.CHK
An arbitrary number of checkpoints can be created during the same simulation run.
Restart
Restart the model from a specific checkpoint can be done using the following command line:
modelname –cr –restore unit_number
modelname –cr –restore 01
SIMSCRIPT debugger, Simdebug, should be used the same way as in models which do not use CR.
Notes:
-
Checkpoint/Restart feature is supported on 64-bit Linux platforms and on 64-bit Windows 7 and 8 platforms
Example programs which illustrate usage of SIMSCRIPT III CR and CMR (Checkpoint/modify/Restart) are located in “/examples/simple/checkpoint”.
SIMSCRIPT III Business Rules Interpreter
SIMSCRIPT Business-Rules Interpreter (SBR Interpreter) which facilitates easy creation of pre-programmed missions for simulated units and operations during model execution without a need for model source code modifications. In complex logistics analytical simulations, user can change business rules during run-rime, introducing new business rules in certain decision points, experimenting with different what-if scenarios.
New subsystem for Simscript Business Rules called "sbr.m" is added to the SIMSCRIPTIII subsystems which can be imported and modified by the user. This subsystem allows business rules to be incorporated into a SIMSCRIPT III model. The public preamble file "sbr.m.sim" resides with the other public sub-systems preamble files in subdirectory "/defs" .
The “business_rules” folder was added to “examples/simple” folder. It contains a new example program for the SIMSCRIPT business rules ("SBR") called the “jobshop” model. The job_shop model is documented and can be loaded with SimStudio.
For more information about the SIMSCRIPT Business Rules Interpreter please see document entitled SBR_Interpreter.pdf’ , added to %SIMHOME%/help which explains how to use the SIMSCRIPT III business rules interpreter.
--------------------------- End of Appendix --------------------------------------
Share with your friends: |