CSIM Revision History

2-4-2013:   CSIM-v4.10

  1. Major improvements to new Gtk-based GUI stability for MS-Windows.
  2. Added Drag-and-drop capability to GUI. Select under Edit / Drag-and-Drop
  3. Updated Iterator-GUI to Gtk graphics. See iGui.
  4. Updated Time-Line GUI to Gtk graphics. See TLPP-Gui.
  5. Updated CSIM Tool-Launcher to modern Gtk graphics.
  6. Fixed the slow-execution issue in Windows-7.
  7. Added convenient help summary option to csim-preprocessor and simulator. See -help.
  8. Upgraded CSIM'S attribute expression processing - now more robust.
  9. Fixed -count_threads option for C++ simulations.
  10. Improved Calc, interactive command-line calculator tool.
  11. XGraph - Added option to interactively plot equations. Upgraded internal data storage from single to double precision.
  12. Made csim_printf() a monolithic "safe" function.
  13. Changed name of "mswin_installer" to "mswin_package" to pacify security filters.
  14. Added example of using CSIM models as Live Network Emulator, or Simulator In-The-Loop (SITL), to study the effects of network performance on real applications.

4-2-2012:   CSIM-v4.00

  1. Major upgrade to Gtk graphics. Now provides turn-key support on Microsoft Windows, Mac OSx, and Linux. Gtk versions of the CSIM GUI, SimView, and XGRAPH are now included. Nearly identical in features to the Motif X-Windows and OTK implementations, the new Gtk-based versions offer modern look & feel, as well as easier installation on all platforms. In particular, major improvement in Microsoft support.
    New GUI Features:
    • Ability to select built-in text editor.
    • Ability to display .iscz compressed images.
    • Now you can to set box body (fill) colors in addition to border colors.
    • Now you can edit bounding-box colors and thicknesses.
    • Gui now considers boxes to be solid, so you can select them anywhere inside; not just on borders.
    • Added ability for GUI to check port-types, and provide immediate feedback if incorrect connections are made.
    • Right-clicking on an object now opens the object's properties directly.
  2. Created separate Mac OSx tools directories for PPC and Intel MacIntosh architectures.
  3. Added model-aliasing feature. Enables using multiple type-names, while avoiding reduplicating source-code for otherwise identical models.
  4. Fixed rare RECEIVE_ALL race-condition bug in simulator.
  5. In WinFrame-3D viewer:
    • Added object manipulation controls. Press Shift-"9" to bring up control window to manipulate the last selected object.
    • Added ability to insert X-Y-Z origin and axis markers by pressing Shift-"0". Useful for aligning and positioning objects during design. Positive X, Y, and Z axes appear in Red, Green, and Blue, respectively.
    • Added ability to generate and capture automatic camera scripts. Simply navigate to positions you wish to capture, and press Shift-"C". WinFrame will output the XML for moving and pointing the camera as positioned, with the coordinate values filled-in. Just copy&paste the XML into a file (or re-direct the output into a file), for future auto-navigation.
    • Added WFL2WFB and WB2WFL utilities, to convert Winframe3D XML files to- and from- a fast binary format (WFB). Added ability for Winframe3D to accept WFB files for faster read-in of large virtual world files.
  6. Added findall utility to the general_utilities directories. Findall is a tool for quickly finding files in directory branches, based on variety of rules, such as date-ranges, file-types, name substrings, content search-words, and to see rankings based on date or file sizes. For example, it can quickly find the newest, oldest, or largest files in deep directory branches.
  7. Enabled quick 2-step install process.

7-29-2011:   CSIM-v3.90

  1. GUI Updates:
        - Added direct diagram export capability to Powerpoint in .pptx format.
        - Updated diagram export capability to OpenOffice to use the new .odp format.
        - Enhanced diagram export to Office tools + PDF: OpenOffice, Powerpoint, + Acrobat.
               - Multi-diagram exports are now placed in single multi-page file.
               - Now displays solid boxes.
        - Added some UML/SysML widget support in diagram GUI editor.
        - Improved robustness of GUI font-loading for platforms with missing font libraries.
  2. Accelerated sim-build process for extremely large diagrams.
  3. Added iteration-count option to Iterator tool and Igui. See -icount option.
  4. Added new modeling function: CSIM_GET_DEVICE_ATTACHED_TO_PORT()
  5. Enhanced Cygwin installation instructions by adding pictures of each step.
        - Added CSIM tools build for Cygwin-1.7 to support MS-Windows-7 and Vista.
        - Added Cygwin 1.7 download ISO.
  6. Added Virtual Box install option. Enables simple install of CSIM with all compilers and development libraries on all platforms with single common CSIM build, through Oracle's VBox virtual machine.
  7. Added Visio diagram import+export translator. Enables creation and editing of diagrams in Visio, with simulation in CSIM.
  8. Further enhancements to Winframe-3D viewer.
        - Added vehicle trajectory tracing option.
        - Added switch to interactively disable and re-enable automatic camera control.
        - Constant-size control panel for any size window.
  9. Added "live" Heatbugs model example to web-pages: Heatbugs Example Model.
  10. Enhanced Winframe-3D viewer default window sizing for screen size, as well as control panel size.
  11. XGRAPH updates:
        - Added -liv4 option.
        - Revised printing capabilities. Direct output to PPTX, ODP, and PDF.
  12. Updated General-Blocks models library.
        - Improved HistogramProbe, HistogramProbeF2_F1, SR_Preempt_Server_Response_Probe, Service_wPriority_Preemption, and Generic_Batcher
        - Added Msg_Count box. Counts messages passed through and reports total at end of simulation.
        - Improved initialization and reporting of Attribute values (via Central_Utilities Att_Debug attribute).
        - Each Set_Preempt_Resource now handles up to 40 defined Limited Threads
        - Improvements to in-line documentation
        - Improvements to Service_wPriority_Preemption debugging
        - General code cleanup
  13. Updated Human-Factors models library.

3-24-2010:   CSIM-v3.80

  1. Improvements to Analog models library, due to user contributions. Added model documentation and bug fixes.
    See: Analog Systems Models
  2. Major updates to Winframe-3D (WF3D) Viewer. Now enforces full XML input syntax. Added control-panel buttons and on-line help panel.
    See: WF3D
  3. Many updates to the software+hardware architecture models library (Core_Models). The updates include support for a stochastic multi-level cache memory and enhanced error reporting and display for PCI bus models. Added new model, dual_port_mem.sim. It manages access of concurrent dual read/write data streams with overlapping addresses to memory.
    See: HW/SW Architecture Core Models
  4. Further enhancements to General Blocks models library.
    • Extended Multi Core processor model by implementing Core Locking.
    • Reporting of Utilization By Thread
    • Detect invalid, incomplete or ambiguous input data
    • Built In Self test
    • Enhanced initialization analysis and debug
    • Improved accuracy of Utilization reporting
    • Memory usage reductions and speed improvements
    • Regression test suite extended from 18 to 40+ simulations, including one which executes over 1.5 billion events.
    See: General Blocks Models
  5. Added fast optimal least-mean-squares curve-fitter.
    See: LS-Solver.

7-20-2009:   CSIM-v3.70

  1. Added convenient CSIM-launcher for both Posix and MS-Windows environments. Enables CSIM to be started by clicking on an icon on desktop, system menu, or tool-tray. Allows navigating to project directory before opening GUI, so all tools have project location context. Traditional command-line operation is also supported.
  2. New installer script for Posix. Creates Desktop starter icon in Gnome environments.
  3. Added OTK version of the Iterator-GUI. This completes the full set set of CSIM tools for use without Motif.
  4. Refined the method of selecting either the Motif or OTK versions of the CSIM tools throughout the full tool-stream.
  5. Added Net-Book support in GUI. To accommodate very tiny screens common in the new generation of Net-Book PC's, CSIM's GUI now detects the screen size, and if too small, optimally shrinks to fit within the screen.
  6. Added ability to install CSIM under directory paths which contain spaces in their names. (Note that command-aliases cannot support paths with spaces, but the newer graphical invocation method works.)
  7. Improved Scenario Entry Tool (ScenGen) - Added Map-Creator tool for downloading and configuring new maps. Added several new 3D vehicle models, and method for users to add your own models by simply placing them in the vpt/3dobjects directory.

5-1-2009:   CSIM-v3.60

  1. Updated General-Blocks model library. Many safety improvements and debugging enhancements. New extensions beyond the original BONES tool, such as for support of multi-core processor modeling.
  2. Fixed bug in Gui that caused temporarily highlighted link colors to be saved, as file was saved.
  3. Further improvements in native Microsoft versions.
  4. Major enhancements to Scenario Entry Tool.
  5. Minor fix to WinFrame3D beam-animations.
  6. Added binaries for latest Linux releases (libc for Fedora-10, et.al.).

12-3-2008:   CSIM-v3.50

  1. Added functions: CSIM_Get_Next_Event_Time(), CSIM_AddEventLoopPostFunc, and CSIM_RemoveEventLoopFunc. These are useful in supporting multi-simulation federations, such as DMSO HLA.
  2. Added drawline_between_boxes function in SimView. Supports richer hardware/software animations by dynamically visualizing the logical software mappings to physical hardware elements throughout run-time.
  3. Added Real-Time Clock Synchronizer models to User-Contributed models library. These convenience boxes force the simulation to run at wall-clock speed.
  4. For 3D Viewer, added 10 Unmanned Aerial Vehicle (UAV) 3D-object models. Added options to restrict camera view-point above ground-level.
  5. Improved display quality of Microsoft native version of the graphical tools. Added method to adjust display quality vs. performance on Otk tools. (Command option: -rend xx       Where xx default is 1.0. Smaller values (0.0 - 1.0) may give faster display, but poorer graphics on challenged PC's. Higher values may yield better quality graphics, but slower display on challenged PC's. Modern PC's will generally produce fast high-quality graphics by default.)
  6. Updated General-Blocks models.
    • Several improvements, fixes, and cleanups.
    • Upgraded all floating-point calculations to double-precision.
    • Added String-to-Number box.
  7. Added convenient Launch-Control panel for rocket launch-to-orbit model. The model is useful for optimizing the parameters to reach specific orbits, and is part of CSIM's Vehicles/Platforms/Terrains (VPT) model library.
  8. Iterator tool Auto-Optimize mode now sets simulation to best parameters after optimization completes. (Previously just listed the best parameters.)
  9. Added automatic connection-highlighting in the GUI. Now when a box is selected in CSIM's diagram editor GUI, all links connected to the selected box are highlighted, as well as all the directly connected boxes. This helps rapidly find all boxes connected to a given box in complex diagrams.
  10. Major improvements to Scenario Entry Tool (SET, also called ScenGen).
    • Supports multiple coordinate systems, and switches dynamically between them. (KM, Miles, Nautical Miles, Degrees Lat/Lon)
    • Displays current or previous events during play.
    • Easier panning, variable map detail -- sharp at any zoom level.

6-25--2008:   CSIM-v3.40

  1. New function: CSIM_RESCHEDULE_EVENT( ThreadID, scheduled_absolute_time, new_absolute_time )
    Reschedules a previously scheduled pending event to a new absolute time.
  2. Separated simulator kernel initialization from main-event-loop sections, so simulator can be called from an alternate main program. This feature is intended only for expert developers, especially when interfacing with legacy projects. Also added new function, see CSIM_RESET_EVENT_QUEUE().
  3. In SimView, fixed module-documentation loading.
  4. In GUI, improved or fixed file-browser which had broken on some platforms.
  5. Added automated GUI regression testing capability to OTK version of tools.
  6. Improved OS version detection for Linux, and support for several newer releases.
  7. In WinFrame-3D, added new fog-control commands to XML and meta-menu. See: Fog Control Commands and Modifying Fog Settings Interactively

3-5--2008:   CSIM-v3.30

  1. GUIs:
    • Added level indicator. Indicates hierarchy-level being viewed. Helps with navigation, especially during searches.
    • Improved "Find-Box" and "Find-Next" functions. Sequentially finds all instances within hierarchies.
    • Major fixes to the Microsoft GUI file-browser.
  2. Simulator:
    • New function, CSIM_PREEMPT_EVENT_AT, added as companion to CSIM_PREEMPT_EVENT. The new function provides additional efficiency when the approximate time of the event is known.
  3. Vehicle/Terrain Models:
    • For orbital modeling, improved prompting for units in VPT calculate-orbits utility.
  4. 3D-Viewer:
    • Simplified manipulation and tracking of objects.
    • Nine advanced commands added to WF3D.
  5. Added hyper-notes to timelines produced by demo_examples: demo1 + demo3.
  6. General-Blocks Models:
    • Major enhancements to balance of models for greater efficiency, scalability, speed, stability, and robustness. Major reductions in memory and CPU resources.
  7. Web-Documentation:

12-21-2007:   CSIM-v3.22

  1. Updated Mac OS X version to be processor independent (PPC+Intel) executables.
  2. Added SGI executables.

11-27-2007:   CSIM-v3.21

  1. Extended GUI's new Find-Box feature to search within virtual diagram hierarchy instead of raw diagrams.
  2. Fixed CSIM preprocessor parser name-collision between the port CHECK(... function and the new CSIM_EVENT_CHECK(... function.

10-31-2007:   CSIM v3.20

  1. Winframe3D - Added automatic frame-rate throttling. Reduces compute resources. Avoids computing unused frames. See WF3d Options.
  2. GUI - Added ability designate project-specific object-attributes to be visible on diagrams. See Designating Visible Attributes.
  3. Activated ability to view documentation and life-cycle info on module instances.
  4. Added ability to add documentation to module/diagram definitions. See Format.
  5. Added option under View menu to see the documentation on the current diagram being viewed.
  6. Added ability to edit include-file names or paths under Edit / Special / Edit Include Files..
  7. Added "Find-Box by-name" option to Edit menu of GUI.
  8. GUI now displays the current navigation hierarchical path of diagram being viewed.
  9. Added ability to open external port properties. Identifies box and port an external link connects to. Provides button to jump there directly.
  10. Link properties dialog now has a Connections button which shows which boxes the selected link connects to.
  11. Enhanced file-browser includes fixes for some platforms.
  12. SimView - Additional animation time-display granularities in SimView.
  13. Simulator - Added function to test for existence of an event. Checks if a given event is still pending, and returns 1 if it does. Otherwise it returns 0. See CSIM_EVENT_CHECK for more information.
  14. Added function to clear any pending resumes or waits from a SYNCHRON. See CLEAR_SYNCHRON for more information.
  15. Enhanced C++ support.
  16. Model Libraries: General Block documentation updated. Documentation was added for a dozen new models and some missing older models. A new category of Deprecated Models was added. Some cleanup was done.

7-31-2007:   CSIM v3.10

  1. Added new model library-
          - Spatial Services library
  2. Two new tutorials:
  3. New tool added - Diagram Differencer. SimDiff compares two versions of a given diagram file that are expected to correspond closely, but perhaps not exactly. It shows any logical differences between them. This situation occurs frequently in projects in which experimental variants are sometimes created or evolve. SimDiff is helpful in quickly determining the relevant differences, if any. Being a logical-compare, it is insensitive to differences in order, sequence, formatting, geometry, or positioning. SimDiff also contains extra validation checks which are useful when importing diagrams from foreign translators, such as from Sys-ML, UML, or Visio.
  4. Upgraded Scenario Entry Tool (S.E.T.):
    • Added ability to repeat events, with time-period for a given duration.
    • Added option to filter display of tracks by time-window. Under View-menu.
    • Added ability to include other files (by include-tag reference) in a track-file.       Example: <include file="xyz.dat" />
    • Added ability to drag whole tracks. (Set drag-mode under Tools / Mouse menu.)
    • Promoted event scheduling format to full xml.
  5. Generic Publish/Subscribe models added to User-Contributed Models Library.
  6. Simulator updates:
    • Improved Synchron queuing. Faster, more scalable, more robust.
    • Added ability for model to access attributes on links connected to it. CSIM_GET_LINK_ATTRIBUTES.
  7. Improved installer for MS-Windows.
  8. New Native XGraph tool for MS-Windows:
    A fully operational MW-win native version of the XGraph data plotting tool in now available. This completes the full set of graphical tools in native executables for the MS-windows platform. The native executables do not depend on any extra libraries, such as Cygwin. They can be run individually on any MS-win PC.

2-12-2007:   CSIM v3.00

  1. Updated XML format for greater robustness and compatibility with other tools.
  2. Added support for C++ models. Compatibility with C++ compilers:
          - Modernized all parameter lists to ANSI style from old K&R style.
          - Explicit type-casting everywhere.
          - Input-only params cast as "Const".
  3. Added Change-Working-Directory option to File menu.
  4. Made GUI and CSIM prepocessor tolerate file-names and directory-paths having spaces in them.
  5. Added Re-Run / New-Sim button under Tools Menu of simulation control panel.
  6. Ability to prioritize events - for events that tie.
  7. RECEIVE_ALL_PORTS and CALL_ON_RECEIVE_ALL_PORTS - faster simpler alternatives to RECEIVE_ANY and CALL_ON_RECEIVE.
  8. Improvements to simulation speed.
          - For long port-queues (Split link-queues into send-side & rcv-side.)
          - Faster read-in routines.
  9. Improved DFG-Scheduling speed for large DFG's.
  10. Native MS-Windows version based on Open-Tool-Kit (OTK). Eliminates need for Cygwin DLL's. Uses much smaller MinGW compiler (Minimum Gnu for Windows). Free and easier to install. (Presently alpha-version.)

10-10-2006:  CSIM v2.95
  1. Added "CSIM_SET_EVENT_PRIORITY function to prioritize simultaneous events.
  2. Improved scalability and run-time of DFG-Scheduler tool.  
     Now handles large DFGs more efficiently.

8-11-2006:  CSIM v2.95
  1. Added "Change-Working-Directory" option to File/Special menu.
  2. Made GUI and CSIM prepocessor tolerate file-names and directory-paths
     having spaces in them.
  3. Made C++ versions of simulator (clsubs_cpp.o & grsubs_cpp.o).
     CSIM simulator compiled under g++ supports compiling/linking directly
     with models written in C++.

4-17-2006:  CSIM v2.9
 1. GUI & SimView:
      - User extendable tool menu - New keyword "EXTEND_TOOL_MENU" can be used in
        custom "gui_steups" files to add command options to the GUI's Tool menu.
        See:  Extending Tools Menu.
      - In Data Flow Graphs, GUI+SimView now display any non-zero initial arc amounts.
      - Added option to display time-axis values in day:hour:min:sec format.
        See:  DHMS
      - Added -wbgr option to display graphs with
	white background instead of default black background.
      - Update allows macro substitution and evaluation of user defined attributes.
        Allow multiple instantiations of the same DFG module to have different 
        parameter values.
 4. Core Models:
      - New PCI-Bus and PCI Bridge models.
      - Inserted advanced thread calls in many models to reduce the thread count
        and enhance simulation speed.
      - Added NIU mode and LocalPostList mode attributes to generic_pe and
      - Added new instructions in generic_pe and multi_priority_pe accounting for
        I/O bound compute operations.
 5. Human-Factors domain models library added to CSIM.
        See:  Hum-Fact Libs.
 6. General Blocks Models:
      - Uniform comprehensive checks of attribute data.
      - Enhanced detection of illegal Resource, Service, and Probe mappings.
      - Revamped key memory management functions.
      - Improved dynamic model debugging.
      - Added utilities to facilitate model verifications.
      - Enhanced presentation of output data.  Added plotting helpers.

11-1-2005:  CSIM v2.8
 1. Many fixes and improvements to General-Blocks model library.
 2. Improved multi-selection of default attribute values operation in GUI.
 3. Several minor tool fixes and improvements.
 4. Improved installer for Microsoft platforms.
 5. Improved VPT models and tools.  Added Scenario Generator, satellite model, and 3D-Plotting tools.
 6. Updates to some demo_example models due to tool changes.  Added 3D examples.

8-5-2005:  CSIM v2.7 
 1. Major acceleration of simulation builds for very large simulations (>100,000 nodes).
 2. New auto-placement feature in GUI.
     For diagrams missing geometry or box-placement
     information, such as when network topologies are imported from network discovery
     tools, UML tools, or external data sources.  Adding -autoplace on GUI command-line
     causes GUI to calculate reasonable positions for all boxes, based on connectivity.
     Minimizes long connections, overlaps, and cross-connections.
     Diagrams can then be further edited as desired.
 3. Incorporated dynamic decompression algorithm into XGRAPH.  Enables graph results data to
	be stored in compressed (.scz) format, and directly displayed.
	Reduces file sizes, and accelerates graphing large files.
 4. Added -quiet simulator option.  Suppresses "Welcome ..." and "Exiting" messages.
    Useful for logged production runs, or where sims are embedded within larger systems.
 5. Added -runto xx simulator option.  Like -batch, but causes continuous simulations to 
    start running immediately and exit at time xx.
 6. Activated undelete in GUI.
 7. Fixed 90-degree rotation of encapsulated-postscript (.eps) outputs for easier
    incorporation of snapshots into reports and presentations.
 8. Added -noabbrev option in XGRAPH.  See Command-line Options.
 9. Several new Advanced Functions reduce thread-counts and runtimes.
     CALL_THREAD - Like TRIGGER_THREAD, but does not create a new thread.
        Schedules named thread-routine to run under main kernel process 
        with unlimited stack space.
        Called routine must return without delays or blocking (waits).   <<<===== ***
        -- About 118x faster than TRIGGER_THREAD. 
        Enables threads to be freed while waiting for messages to arrive on ports.
        Only when a message arrives, the named thread is activated.
        -- About 2x slower than RECEIVE_ANY, but no standing threads.
        Enables threads to be freed while waiting for messages to arrive on ports.
        Avoids generating new threads even to handle arriving messages.
        Only when a message arrives, the named routine is called.
        Called routine must return without delays or blocking (waits).   <<<===== ***
        -- About 16x faster than RECEIVE_ANY, or 34x faster than 
           TRIGGER_RECEIVE_ANY, plus no standing threads.
        Enables threads to be freed while waiting for synchron to be resumed.
        Only when the synchron is resumed, is the named thread is activated.
        -- About 2x slower than standard WAIT, but no standing threads.
     SET_WAITING_CALL - A combination of WAIT and CALL_THREAD.
        Enables threads to be freed while waiting for synchron to be resumed.
        Avoids generating new threads even to handle resumed synchron.
        Only when the synchron is resumed, is the named thread is called.
        Called routine must return without delays or blocking (waits).    <<<==== ***
        -- About 32x faster than standard WAIT, plus no standing threads.
     SET_WATING_TRIGGER_WITH_TIMEOUT - Variants of above with time-out.
     SET_WATING_CALL_WITH_TIMEOUT - Variants of corresponding function above with time-out.
 10. Fixes/improvements to GeneralBlocks Library.
	New Models Added:
	  SystemLatencyProbe, MPGraph, Control_Signal_Generator, GlobalCount
	  GVCreate, Setup_GVElem, GVLen, Access_GVector
	  ReadFile_String, ReadFile_Line, WriteFile_Field,  WriteFile_AppendField, 
	  Global_Statistics, InsertMultipleTNow, InsertTNow, ServiceSetup InsertMultipleFieldParams
	Models/functions - Enhanced
	  CALL_ON_RECEIVE_ANY (converted many models for threadless operation)
	  set_alarm, reset_alarm,  FreeBasic, AllocateBasic
	  General Vector (GVec) data kind added (changes to GenericProbe, get_user_structures, InsertField)
	  UniformRangenParam, Poisson_PulseTrain, CreateCDFfile, Uniform_PulseTrain,  
	  Enabled_Uniform_PulseTrain, ProcessTimeLineProbe, SR_Preempt_Server_Occupancy_Probe, 
	  SR_Preempt_Server_Response_Probe, SR_Preempt_Server_Utilization_Probe, Central_Utilities 
	  SR_Preempt_Server_Utilization_Per_Priority_Probe, Service_wPriority_Preemption
	Models/functions - Corrected
	  UniformRangenParam, Int_Do_0_Nminus1, FIFO_wPeek, FIFOwPriority, Simple_FIFO, 
	   Simple_LIFO, OpenFileRead, ReadFile_Int
	Models/functions - Corrected Documentation
	   WeightedMeanAndVariance, MeanAndVariance, one_input_expression_I, one_input_expression_R, MemorySwitch
11. Fixes to DigiLogic Library.
12. New command-line option for Iterator tool, -icount, adds the iteration count to the first column
	of the "results.dat" file.  See Iterator Command-line Options.
13. Several improvements to WinFrame 3D Viewer (WF3D) - Accepts SCZ compressed files directly, like XGraph above).
14. Included SCZ compress/decompress utilities.
15. Activated license manager for all future versions.  Request valid license-string from

 3-1-2005: CSIM-2.6
    1. Simulator:
      - Changed SEND, RECEIVE, and TRIGGER_THREAD user-data type from
	(int) to (void *), to be more consistent with modern usage in passing
	structures, and to better support new 64-bit platforms.  All models
	in the distribution libraries have been updated accordingly, but
	user-created models may need minor updating.
	See:  Guidelines on data-types.
      - A '-testbox' option was added to replace all devices with the testbox for 
	routing display.
      - New procedure for increasing pthreads_max on Linux.  (See installation notes.)
    2. GUI enhancements:
      - Scalable text option.  Text will shrink or expand with zoom level.
	Select under View / Scale Text.  Setting is saved/restored with files.
      - Option to paste object's attributes on diagram next to object.
	Select under Edit / Special / Show Object Attributes.
	Attributes show up as text-notes that can then be edited, moved,
	rearranged or deleted.
      - Option to Delete All Unused Diagrams and Bundles.  Access this under 
	the "Edit / Special / Delete Unused Diagrams" menu.
      - Option to Delete All Empty Diagrams and Bundles.  Access this under 
	the "Edit / Special / Delete Empty Diagrams" menu.
      - Option to Weld-Port-Connections-to-Boxes.
	This is a global state that alters the policy for determining
	the attachment-points of links to boxes.  In this mode,
	the exact attachment points are preserved.  In the default
	mode, the closest attachment point is used.  This new mode
	can be set either by the "Options / Weld-Ports" menu, or
	by the < weld-ports/> tag in graph files, which will be
	saved when the GUI is in this mode.
	This feature may remedy the "Offset display of overlapping
	arc/link labels" issue, by enabling you to provide and
	preserve precise placements of links.
      - Option to Selectively display port-names.    Toggle display of 
	port-names on an individual port basis by selecting a link 
	(or group of links) and clicking Properties / Other Attributes.
      - Variable arrow-head sizes - You can vary the arrow-head sizes by
	clicking under the "Options" / "Arrow Sizes" menu.
	You can reduce and enlarge the displayed arrow sizes there.
	The last set arrow size will be saved with your file, and will
	be re-established whenever you open the file.
      -  Freeze-Scale Option - The normal ability to view diagrams at arbitrary
	scales (ex. zooming) can create difficulties in formatting 
	fixed-size text to specific locations and form-factors.
	To avoid re-sizing issues, select "Fixed Scale" under the "Options"
	menu.  It will force the scale to the default 8.5x11 inch mode.
	Although zooming will be disabled, you can still pan around large
	diagrams.  The fixed-scale option will be stored when you save the
	file.  The key benefit is that text will always display exactly
	where you positioned it, whenever you re-open the file or return to
	a diagram.  (This is an alternative to the "scalable-text" option above.)
      - Block names can span multiple lines -
	If a box is displayed too small to fit the full instance-name or 
	type-name of the box, then the name(s) will be wrapped to multiple 
	lines within the box.  The name(s) will only be wrapped at points 
	where underscores occur in the name.  Underscores are typical in long 
	names.  For example:  box_rapid_A_Module_5c_rev_28.
	Previously, names were truncated.
      - Fixed %ifdef and %ifndef nesting limitation.
      - GUI now displays the file name of the module being edited
	next to the module name at the top of the drawing canvas.
  3.  Router updates:
      - A '-testbox' option was added to the router to generate a netinfo.rte file 
	with the full paths for routing display.  A 'routecat' utility was added 
	general_utilities to allow users to combine the original netinfo.rte file 
	with the user generated displayed_routes file.
  4. Scheduler updates:
      - Support for Rate Monotonic Scheduling (RMS mode, options -loopcount and -looptime).
      - Added ProduceSequence support for Multicast node.
      - Added SINK node.
      - Added LITERAL_OP node for user defined functions.
      - fixed scientific notation format issue.
      - Tool for automatically generating rate monotonic DFG's from Access tool.
  5. Core_models library updates:
      - Changed to (void *) parameters in TRIGGER_THREAD and SEND functions.
      - Added new test_box.sim model, support for testbox routing option.
      - Support for LITERAL_OP options.
  6. General Block Library Updates:  New Resource and server models, prioritized preemptive
	and round-robin.  New probes.  Many fixes and enhancements to plotting boxes.
  7. New LAN-models library added.  For modeling IP-based networks, LANS, WANS, SANS, etc..

   9-1-2004: CSIM-2.5
        - New common setup file for all shells.
	- Added save-results option (-S) to Iterator tool, 
	  for automatically renaming results files from each iteration to unique save-names.
	- Added -symb option to Scheduler tool.  
	  Passes macro expressions in flow-graph parameters into program files (.prog files), which can 
	  be varied by Iterator tool or other hardware parameters.
	- Added -na option to core-models for starting 
	  simulations with animations off.
	- Added Cross-port routing-cost specification option to Router tool.
	- Scheduler: new MultiCast node, revised GEN node, and support for a hard EXIT node attribute.
	   See: Special DFG Attribute Options.
	- Improved Gen node for DFG's specifies periodic deadlines/timers, which can be
	   combined and overlapped.
	   See: Monotonic Scheduling.
	- Added ability to Cut & Paste Between GUI's without leaving either GUI -
	   See: Cutting & Pasting between GUI's.
	- Improved wireless/radio model animation capabilities.
	   See: Radio Animations.
	- Added SCHEDULE_RESUME_WITH_PARAM function for efficiently delaying synchron resumes.
	- Core Models Updates:
	   - Support new multimessg instruction and pendmessg instruction in generic_pe
	     and multi_priority_pe in static and dynamic scheduler modes.
	   - Allow for multiple monotonics in generic_pe.
	   - Support NoDisplay attribute in generic_pe and multipriority_pe.
	   - Handle hard EXIT case in generic_pe and multi_priority_pe.
	   - Detect invalid routes.
	   - Add nosource, nodest, nosrcdst classes to devices.
	   - Reverse direction of link animation for READ_REQ in Race++.
	   - Allow alternate output port designation in racepp_xbar.
        - Added ability to register user exit functions.  You can now register a function(s) which will
            be run when the simulation exits.
            See: CSIM_AddExitFunc.

   3-8-2004: CSIM-2.4
	- Added "Specific Instance Attribute" feature.  Allows setting attributes
	   on objects specific to a particular branch of hierarchy;  sensitive to path
	   navigated to get to a diagram.
	- Added ability for Scheduler to generate programs which pass variable attributes
	   to simulation models, which can then be varied by the Iterator.  Use -Symb option.
	- Improvements to Iterator and I-Gui tools.  
	- Improvements to TimeLine and TL-Gui tools.  Splits window for small screens.
	- Improved bi-directional animation functions for block-diagram simulations.
	   See: highlight_inlink/highlight_outlink.
	- Added new animation functions for wireless/radio network simulations, and wireless models.
	   See: www.csim.com/simulator/radio_animation.html
	   and: www.csim.com/models/wireless/index.html
	- Added 3D animation viewer (VPT WF3D).
	   See: www.csim.com/models/vpt/viewer
	- Added color property for text notes.
	- Improved simulation efficiency, added more error checking.
	- Fixed Postscript landscape mode problem for some printers.
	- Added "UnFlatten" to View menu of SimView.
	   See: simulator/graphical_sim.html#flatten
	- Fixed queue-length 100,000 limit bug caused by Wait_With_Timeout().

   11-11-2003: Minor Fall Release:  CSIM-2.2
	- Added long awaited unflatten capability.  This is the reverse of "flatten".
	  Selecting flattened objects and pressing ^U causes flattened diagrams 
	  to be re-aggregated in "SimView" simulation GUI.
	   See: simulator/graphical_sim.html#flatten
	- Added ability to set GUI options on a per-file basis, by placing
	  view-option settings in diagram files (ex. .sim or .dfg files).
	- Added silent-transfer capability in models and Scheduler tool.
	  Place "silent-transfer" attribute on DFG arcs will not produce 
	  explicit transfer in architecture.

   6-24-2003: Semi-Annual Release:   CSIM-2.1
	    - Added ability to export individual diagrams from GUI.
	       Access under File/Special/Export Diagram menu.
	    - Added "Quick-Dirs" and recently edited files feature to
	       GUI's file browser.  "Quick-Dirs" gets you to CSIM's
	       libraries, or back to your own initial directory, quickly.
	    - Ability to flip and rotate icon-images by box-instance,
	       as well as ability to flip and rotate flattened diagrams
	       on a module instance basis.  Access under the GUI's
	       Properties/Attributes/Orientation menu.
	    - Added default icon images to all General_Blocks models.
	    - Added new models: generic button and slider box models
	       to General_Blocks and User_Contributed libraries.
	    - New Router options, support additional checking and explicit formats.
	       (-check1, -check2, -check3, -fullpath)
	       See:  Router Options.
	    - Added option to Scheduler to suppress warnings: -nowarn.
	    - Improvements to simulation kernel for very large simulations.
	    - General cleaning up loose-ends in the GUI.
	       Eliminated many warning messages.
	    - Core models updates:
		Updated cascade_bus.sim and added bus_nic.sim. 
		 Allows cascade of different type buses.
		Added bus_buffer.sim and cbuf_module.sim for buffering between 
		 cascade bus models. Buffering allows each bus to run at its 
		 highest transfer rate.
		Added EventNote handling, detection of a missing simulation 
		 monitor, simulation statistics window attributes and network
		 device transfer attribute settings.
		Automatic expansion of number of device ports for multiport
		 devices based on topology connections.
		Live XGRAPH display of ProcTline and Spider plots using sockets.
		Added the ability to specify instance attributes to processor 
		 memory/buffer size parameters. 
		Added ArcName attribute handling for recording of message 
		 transfers in EventHist.dat file.

   1-27-2003:  Major Annual Release:  CSIM-2.0
	     Added two new tools: 
                GUI for Iterator, see IGui
                GUI for TimeLine-Postprocessor. see TL-PP
             Upgraded CSIM's GUI:
               Enabled clickable model documentation from GUI.
               Added Life-cycle (-ilities) attributes.
                See: GUI -ilities
               Added direct export of diagrams to Office Tools.
               Improved Tools menu:
                 - Update-Parameters-Only, avoids re-compiling models.
                 - Mode sensitive, context aware.  Changes options w/graph-type.
               Added keyword to attach icons to models by type.
                 DEFAULT_ICON();  see www.csim.com/simulator/icon.html
               Added file locking.  Supports group projects with safely.
               Fixed sporadic empty build message box.
               Improved warning message pop-ups in GUI.
             Added two new model libraries: Digital-Logic and Analog-Circuits.
                See: www.csim.com/models/digilogic
                See: www.csim.com/models/analog
             Fixed tick-mark/stretch-line visibility issues for GUI and XGRAPH.
             Upgraded SCHEDULER:
                Added parametric-parallelization keyword "Replicate".
                See: www.csim.com/tutorials/parallel_mapping/
             Upgraded CSIM (the core tool):
                Added RESUME_WITH_PARAM() function.
                 See: www.csim.com/simulator/csim_doc.html#anch_3.13 
                Added "POW(x,y)" and "STRCAT(s1,s2)" functions to attribute parser.
                Strengthened attribute parser to handle cascaded calls and larger number ranges.
             Added Num-Utils tools for data manipulation.
		See: www.csim.com/xgraph/numutil
	     Model Updates:
                  Added documentation blocks to all core models. 
                  Added XGRAPH Y coordinate name attribute to all models. 
                  Made inclusion of parameters.sim and subroutines.sim transparent 
			and order independent by wrapping %ifndef statements. 
                  Enhanced the read_stimfile routine in subroutines.sim and updated 
			multi_task_pe.sim to allow for two stim formats.
                  In generic_pe.sim, swapped src and dst fields on READ_REQ to correspond 
			to data source and destination rather than master/slave. 
                  In racepp_nic.sim and racepp_nic_fd.sim, swapped src and dst on READ_REQ, 
			returned READ_ACK to processor, added local_flow_control attribute. 
                  In racepp_xbar.sim and racepp_xbar_fd.sim, handling READ_ACK as ACK. 
                  Added EventHist tracing to racepp_nic.sim, racepp_nic_fd.sim, 
			racepp_xbar.sim and racepp_xbar_fd.sim. 
                  Corrected deep_clone_message_struct funct., added print_message_struct funct.

	     Added image file output capability to XGRAPH, GUI, and SimView,
		Enables snapshots to .xpm, .png., .gif, .jpg for reports.
	     Added GUI -read_only option/mode.
	     Added plot ideal spider+tline menu in GUI and SimView.
	     Added three new models to general_block model library.

   9-3-2002:   New options added: Edit/Special / Make Top-Diagram and Make Child.
	     Enables changing graph hierarchy without editing graph files manually 
		(changes top-diagram/child tags).
		 See: GUI-Docs
	     Several core_models feature updates. See core_models/update.log.
	     Continued updates of the general_block model library.
	     Added Encapsulated PostScript (EPS) capability to XGRAPH and GUI.

   8-13-2002:  Provided method to specify the Produce/Send sequences.  
		See:  Scheduler
	     Updated the GUI:  Now places "*" by default in arc-fields for convenience.
	     Provided feature to delete object attributes.

   8-8-2002:   Fixed GUI's file-open dialog which did not handle: $CSIM_ROOT, tilde (~),
          	dot (., as in ./xyz.sim, or just . or ./, etc.)
	     Fixed importing from a distant directory which then caused need for tedious 
		re-setting of "open" path.
	          - Now maintain separate "import" and "open" paths.
	          - Now recognizes:  $CSIM_ROOT, tilde (~), and dot (.).
	            (Dot sets path to user's-path, IE. launch-directory.)
	     Fixed GUI's "Edit / Macro" dialog which failed to handle spaces
	        around equals sign.
	     Fixed Scheduler problem - Ideal TimeLine Gen-nodes did not set color.
   6-3-2002:   Bundles are enabled.
		Gui-docs, Bundles
	     Non-Sticky Draw-mode Option Added to GUI -
		Gui-docs, sticky-mode
	     New param-file mode for Iterator tool, enables explicit parameter values.
		Iterator, explicit-params
	     New Post-Processor Utility - Utilization Histograms
	     Draw with object colors - 
		Gui-docs object-colors
	     Include-Marks is now the default - 
   5-1-2002:   Several minor new functions, including CSIM_HALT_POPUP().
   4-18-2002:  Minor incremental update.  Enables SEND/RECEIVE to be called from subroutines.
                Added non-sticky draw-mode option in GUI.  Fixed default attribute bug
                and half-duplex link queuing bug.
   3-14-2002:  Re-Build HP-UX version.
   3-1-2002:   Added three new kernel functions: WAIT_WITH_TIMEOUT, RECEIVE_ANY, and
                RECEIVE functions
             Improved selection of building either graphical simulations 
                or textual simulations from the GUI or command-line:
                Textual Simulator mode
                Command-line Options
             Added option to report errors by original source file name and 
                line number with -include_marks option.
                Command-line Options
             Added CSIM_EXIT_THREAD() function. 
             Fixed XML file-format to balanced tags in conformance to XML standards.
             Added CSIM_get_literal_attribute() function.
             Improved -count_threads option.
                Command-line Options
             Updated "aged" demo_example models to new features, corrected.
                See: demo_examples / demo1, demo3, demo4.
   2-22-2002:  Added new Iterator tool.
                Enables running parametric recursions and/or Monte Carlo's, while
                collecting and plotting results from the multiple simulation runs.
                Improved box-image-icon handling.  Now accepts true binary ppm formats.
                Fixed handling of quotes in macro/attributes.
   11-8-2001:  Added GUI feature to have icon images for box objects.
             Image format converter, ppm2bim, added to the general_utilities
                directory.  Converts ascii PPM images to "binary-image"
                or ".bim" format for more compactness and faster read-ins.
             Added "Apply" button to Object-Attribute-Edit dialog, so that
                multiple default-attributes can be made to "stick" without
                hitting the ok button.
             Added scroll-bars to the Object-Attributes-Edit dialog, so
                that more than 5 lines can be shown.
             Activated file-browser to "icon-attach" button.
             Fixed log-file capture bug in timeline tool.
             Fixed default_attribute cross-over bug in pre-processor.
	     Improved csim_wrapper (setup method for bash and other shells).
   7-23-2001:  Improvements to setup files.
   6-25-2001:  Fixed demo2_slider for non-Solaris systems.  Updated setup file message
		for Linux systems to be distribution and version independent.
   5-15-2001:  Rebuilt for SGI-IRIX.
   5-14-2001:  Several bugs and things tidied up a bit..
   3-28-2001:  Enabled multi-line annotations.
                Added default object attributes feature.
                Forced naming module's type before opening (popping down into) modules.
                Added "Re-Run" feature.
                Added status "check-boxes" to animation menus.
                Completely deactivated object-move/dragging from SimView.
                Created safer "get_attribute" function: CSIM_GET_ATTRIBUTE().
                Added warning popups when files cannot be written for saves.
                GUI now detects window close events and handles them properly.
                Added new feature to print *all* diagrams.
                Provides new shell-independent setup script.
                Two new "demo_example" directories, "heatbugs" and student exercises.
   12-26-2000: Fixed introduced bug in scheduler.  Added prototype for Get_Attribute in kernel.
   11-11-2000: Fixed bug in scheduler for *-links and simulator for attribute lists.
   11-11-2000: Updated download package to new XML based (v1.9) tools.
   10-16-2000: Fixed license bug for European time formats.
   10-5-2000:  Added 3 colors to Xgraph.  Fixed introduced bug that suppressed
		axis labels on first display.
   8-28-2000:  Made scheduler(s) know about PMOD_PROG environment variable.
   7-24-2000:  Added SIM_GRAPH environment switch for simulator-panel.
		Updated sun and sgi csim_v1.79 preprocessor tool.
		Fixed pe-identify problem in dynamic scheduler (SchedRoutines3b.sim).
   7-18-2000:  Updated SGI tools to be in-sync with recent sun-tools updates.
	     Made GUI restore module definitions in same order as read-in
	     for convenient differencing, (sun and sgi versions).
   7-6-2000:   Updated sun-tools package to include list_in/out_ports feature.
   6-30-2000:  Enabled csim_preproc to tolerate ascii-13's generated by some
		pc-dos editors.
   6-21-2000:  Fixes to SGI and Linux setup files for consistency.
		Updates to general_utilities for all platform consistency.
		Removal of old bus.sim references in models libraries.
		Removal of errant 3rd operand of RECEIVE_IR in some models.
		Updated Scheduler_2.0b9 and XGRAPH to version 1.03 which
		 now supports several new graph customization features.
		Common tools built in-sync for all platforms.
   6-12-2000:  Re-organized installation directories to uniformly support
		multiple platforms and operating systems.
   5-26-2000:  Scheduler enhancements: Option to produce ideal event-history files.
	     Timeline enhancements: Option to capture commented script files.
   5-16-2000:  Updated models to set and check protocol message field:  generic_pe.sim, 
		generic_xbar.sim, lbus.sim, race_nic.sim, race_xbar.sim, racepp_nic.sim, 
		racepp_xbar.sim and dynam_sched/dynamic_pe.sim.
   4-28-2000:  Updated models: generic_pe.sim, race_nic.sim  with consistent "mid=" print-messages.
   4-27-2000:  Improved GUI:  Added "waiting" pop-ups, and increased robustness.
   4-21-2000:  Added link-rate command-line option to scheduler_v2b8.
		Improved idealTline.dat display from scheduler.
   4-18-2000:  More model library updates.  - Mercury ++ models.
	     Tool update - Streamlined CSIM preprocessor+kernel.
	    	Moved much of kernel to precompiled linkable object.
		Re-Unified command-line and graphical version's source code.
   4-12-2000:  Model library - Fix to generic_xbar.sim.
	     Tool update - Improvements to GUI.  (When build without save, pop-up for save+build.)
   4-4-2000:   Model library update.
		Added board models (csim/model_libs/COTS_boards).
		 includes subdirectories for ALEX, CSPI and MERC boards.
		Added a new model to core_models, called latency.sim.
   3-30-2000:  Updated core_models model library.
		Included multi-tasking processor model.
		Updated monitor.sim to make all sim files portable through
		 environment variables.
		Added Readme.txt files, embellished comments.
   3-14-2000:  Updated GUI - Added option to modify executable commands under the 
	        Tools menu.  Added inter-lock to prevent accidentally invoking 
	        the DFG-SCHEDULER while editing a hardware graph, or conversely invoking 
	        the csim-preproc on a software graph.  Fixed a problem when importing 
		pure behavior files that caused the GUI to ignore the file.  Added 
	        "SIMULATION_TOOL" as a handle for specifying the simulation name from the 
	        GUI_SETUPS file.  Added ability to specify multiple words for commands
	        in the "GUI_SETUPS" file.  (GUI v1.08d)
	     Updated the SCHEDULER to fully utilize the programmable DEVICE_CLASS
		under the -e command-line option.  This classification, when added 
		to processor device definitions, together with the -e command-line option,
		forces the scheduler to direct -- and only generate -- software for the 
		programmable devices.  	(New version is: Scheduler2.0b7)
   2-23-2000:  Enabled Scheduler2.0b6 to know about wild-cards "*" in arc-parameters
		for hierarchical graphs.  
   2-16-2000:  Enabled Sim-Control Panel to know about $-environ %include variables.
	     Updated file-read version. Will no-longer print warning message on startup.
		  Displays SimControlPanel version number on opening screen.
		  Updates status indicator when "stop" button is pressed.
	     Enabled Scheduler2.0b5 to know about $-environ %include variables.
	     Enabled "HEADER_COMMENT:" / "END_HEADER_COMMENT." sections in HW and SW files.
   2-14-2000:  Fixed "Unknown Device" error message from gkern_v1.72.c,
		by changing ">=" to ">" in "lookup_link".
	     Updated ROUTER to be sensitive to "-n" again.
	     Updated GUI to know about "DEFINE_GLOBAL" blocks in DFG files,
		moved save of "DEFINE_GLOBAL" blocks to top of files,
		GUI now expands $environ-vars within %include file-names.
	        (GUI v1.08c)

For questions, contact:
	E-Mail: admin@csim.com