CSIM Tool News


  • CSIM-v4.10 Released Februrary 4, 2013
    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 See iGui.
    4. Updated Time-Line GUI to Gtk graphics. See 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. 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.

  • CSIM-v4.00 Released April 4, 2012
    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.

  • CSIM-v3.90 Released July 29, 2011
    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.

  • Ubuntu 64-bit OS Issues:
    • Recently, we are finding reports of a bug in 64-bit Ubuntu where it reports an error message claiming that an executable file does not exist, even though ls shows the file DOES exist. This happens when attempting to run an executable compiled for 32-bit Linux, on a 64-bit Linux system which does not have any 32-bit back-compatibility run-time libraries. The latter part of the situation seems more common with 64-bit versions of Ubuntu than 64-bit versions of Redhat.
    • We generally provide only a few CSIM Builds for pure 64-bit Linux systems, since so few people need this. On special request, we may provide other 64-bit versions at our option, or when funding is provided. For this reason, we recommend using the 32-bit version of Linux distributions, unless the 64-bit OS is absolutely required.

  • CSIM-v3.80 Released March 24, 2010
    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.

  • CSIM-v3.70 Released July 20, 2009
    1. Added convenient CSIM-launcher for both Posix and MS-Windows environments. Enables CSIM to be started by clicking on an icon from a file-browser, or the desktop, system menu, or tool-tray. Allows navigating to project directories before opening the GUI, so all tools have common project-location context. Traditional command-line operation is also supported.
    2. Added native MS-Windows (OTK) version of the Iterator-GUI. This completes the full set set of CSIM tools for native Microsoft usage.
    3. Refined the method of selecting either the Motif or OTK versions of the CSIM tools throughout the full tool-stream.
    4. Added Net-Book support in the GUI. Accommodates the very tiny screens common in new generations of Net-Book PC's. CSIM's GUI now detects the screen size, and if too small, optimally shrinks to fit within the screen.
    5. 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.
    6. Added support for installing CSIM under directory paths containing spaces in their names.

  • CSIM-v3.60 Released May 1, 2009
    1. Updated General-Blocks model library. Many safety improvements and debugging enhancements. New extensions 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.).

  • CSIM-v3.50 Released December 3, 2008
    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.

  • CSIM-v3.40 Released June 26, 2008 - - Several minor improvements and fixes.
    1. New function: CSIM_RESCHEDULE_EVENT( ThreadID, scheduled_absolute_time, new_absolute_time )
      Re-schedules 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

  • CSIM Course held June 16-17, 2008
    The CSIM course covered a general introduction, with specialization on wireless network modeling. Contact admin@csim.com to register for the next course. See Course syllabus. Specific areas can be covered in greater detail by prior request, such as Human Factors modeling, computer architectures and software modeling, IP-network modeling, and mission scenario simulation.

  • CSIM-v3.30 Released March 5, 2008 - Several minor improvements and new features.
    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:

  • Minor Rev. 12-21-07:   CSIM-v3.22
    1. Updated Mac OS X version to be processor independent (PPC+Intel) executables.
    2. Added SGI executables.

  • Minor Rev. 11-27-07:   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.

  • CSIM-v3.20 Released October 31, 2007 - Several improvements and new features.
    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.

  • CSIM Course Held: (10-31-07)
    A CSIM course was present ed October 31 - November 1, 2007. See Course syllabus. The course covered general introduction and specialized on the General-Blocks library. The next course is expected in the Spring'08 time-frame. Specific areas can be covered in greater detail by prior request.

  • CSIM-v3.10 Released August 6, 2007 - Includes many improvements and new features.
    1. 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 SysML, UML, or Visio.
    2. 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.
    3. Generic Publish/Subscribe models added to User-Contributed Models Library.
    4. 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.
    5. Improved installer for MS-Windows.
    6. 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 without installing any additional software.

  • CSIM Course: A CSIM course was held on March 27-28, 2007. See Course syllabus. The course covered general and broad topic areas, including Human Factors modeling. Contact admin@csim.com to register for the next course.

  • CSIM-v3.00 was released the week of Feb. 28, 2007 - Includes many improvements and new features, such as improved XML format for increased robustness and greater compatibility with other tools, as well as a new native Microsoft GUI (presently alpha version).
    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.)

  • CSIM-2.9 Released - (4-17-06)
    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.
    2. XGRAPH:
      • 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.
    3. SCHEDULER:
      • 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 multi_priority_pe.
      • 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 Block Models: Many improvements.
      • 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.

... past news ...

  • CSIM-2.8 Released - (11-22-05)
    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.

  • CSIM-2.7 Released - (8-1-05)
    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. 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.
      • TRIGGER_RECEIVE_ANY - A combination of RECEIVE_ANY and 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.
      • CALL_ON_RECEIVE_ANY - A combination of RECEIVE_ANY and CALL_THREAD. 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.
      • SET_WAITING_TRIGGER - A combination of WAIT and TRIGGER_THREAD. 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_WAITING_TRIGGER_WITH_TIMEOUT - Variants of above with time-out.
      • SET_WAITING_CALL_WITH_TIMEOUT - Variants of corresponding function above with time-out.
    5. 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
    6. Added -sbdt preprocessor option. Causes the preprocessor to produce a Summarization By Device Type. It shows the numbers of instances for each model-type in the compiled simulation. They are listed in order of most numerous to least numerous. This is handy to guide optimizations by indicating which models are most numerous, and how many of each type are instantiated.
    7. Added -quiet simulator option. Suppresses "Welcome ..." and "Exiting" messages. Useful for logged production runs, or where sims are embedded within larger systems.
    8. Added -runto xx simulator option. Like -batch, but causes continuous simulations to start running immediately and exit at time xx.
    9. Activated undelete in GUI.
    10. Fixed 90-degree rotation of encapsulated-postscript (.eps) outputs for easier incorporation of snapshots into reports and presentations.
    11. Added -noabbrev option in XGRAPH. See Command-line Options.
    12. Fixes to DigiLogic Library.
    13. 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.
    14. Several improvements to WinFrame 3D Viewer (WF3D) - Accepts SCZ compressed files directly, like XGraph above).
    15. Included SCZ compress/decompress utilities.

  • CSIM-2.6 Released - (3-21-05)
    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.
      • A '-testbox' option was added to replace all devices with the testbox for routing display.
      • New procedure for increasing pthreads_max on Linux.
    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..

  • CSIM-2.5 Released - (9-1-04)
    • 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.
    • 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. See: SCHEDULE_RESUME_WITH_PARAM.
    • 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.

  • CSIM-2.4 Released - (3-8-04)
    • 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: Radio Animation
    • Added 3D animation viewer (VPT WF3D).
    • Added color property for text notes.
    • Improved simulation efficiency, added more error checking.
    • Added "UnFlatten" to View menu of SimView.

  • CSIM-2.2 Released - (11-11-03)
    • 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.
    • 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.

  • CSIM-2.1 Released - (6-26-03)
    Several minor new features and improvements in this semi-annual distribution:
    • 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 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.
    • New Router options for additional checking and explicit formats.
      (-check1, -check2, -check3, -fullpath)
      See: Router-Options
    • General cleaning up loose-ends in the GUI. Eliminated many warning messages.
    • Improvements to simulation kernel for very large simulations.
    • Added default icon images to all General_Blocks models. Added new Examples and now block models. Added pop-up documentation to all models.
    • Added new models: generic button and slider box models to general_blocks and user_contributed libraries.
    • Added option to Scheduler to suppress warnings: -nowarn.
      Added option to CSIM Preprocessor to suppress consistency warnings: -lenient.
    • 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.

  • CSIM Course - A CSIM Course was held June 9th and 10th at CSIM.com's new facility. It covered the basic introductory topics the first day, and concentrated on various usage cases and development details on the second day,

  • CSIM-II Release - (1-27-03)              
    A host of significant new features and improvements in the Q1-2003 release increments CSIM's major version number, to become CSIM-2.0. CSIM-2.0 is the combined product of many people working across diverse organizations and projects over many years. A brief summary of some of the latest new features follow:
    • SCHEDULER Improvement - New Replicate construct added to CSIM's software SCHEDULER Tool. Enables parametric replication of Data Flow Graph (DFG) branches. For a detailed description, documentation and examples, see: Parallel Mapping. CSIM's GUI visually depicts replicated nodes with a shadow, to indicate the presence of multiple instances. A task's "Replicate" parameter can be set to a numeric value or algebraic expression. Very sophisticated parallel mappings can be expressed simply and elegantly. All control aspects of the replicated nodes and arcs are handled transparently by the SCHEDULER, significantly easing the maintenance of DFG diagrams, while reducing their complexity.

    • Export diagrams directly to Office Tools such as OpenOffice, StarOffice, or any tool supporting Office XML. Enables you to include block-diagrams and timeline graphs in your PowerPoint presentations and Word documents. Better than image-export (which is also supported by CSIM). Diagram objects can be edited, fonts/colors changed, re-sized, and printed, without loosing quality. You will access this from GUI's File/Print menu. From XGRAPH, access from Print menu.

    • File locking has been added to CSIM's GUI for improved safety on group projects. Prevents simultaneous edits on files, by restricting write-ownership during editing. Transparent unless a would-be collision is detected. If another modify/edit is attempted, a pop-up notice indicates who holds the lock, and places the second session in read-only mode, until the lock can be granted. Locks are automatically removed when leaving a file.

    • Click-able documentation as part of model definitions. You can now access documentation about a model from the GUI by clicking on an object's properties menu. Enables modelers to add documentation to their models which is accessible by users from the GUI.
      See: Clickable Documentation.

    • Life-cycle or Specialty-Engineering (-ilities) attributes added to GUI's properties dialogs. You can now attach additional information to your models. By virtue of XML, the information becomes accessible to/from other 3rd party tools about CSIM objects. 20 new information categories and relationships are now available, including:
      • requirements,
      • status,
      • purpose,
      • issues,
      • description,
      • cost(s),
      • weight/power/size,
      • requires,
      • depends-on,
      • class,
      • belongs-to,
      • reference-by,
      • availability,
      • reliability,
      • observations,
      • history,
      • owner,
      See: Life-cycle Support.

    • CSIM-II now supports MS-Windows, XP, NT, Win2000, Win98, Windows-95 - A full graphical version of the CSIM tools package for Microsoft Windows is included in the latest CSIM release. The tools have been tested on NT, XP, and Windows-95. All regular features are supported. Previously, only a non-graphical version of CSIM was available for Microsoft Windows, and many users relied on a terminal emulator, such as Exceed, to remotely connect to Unix or Linux. This new version permits CSIM to be used directly on any PC or laptop.

      With this addition, CSIM is now supported on virtually all popular computer platforms including: Sun Solaris, SGI Irix, HP UX-11, Apple Mac OSx, and PC's running Linux and Microsoft-Windows.

    • New Iterator-GUI - A GUI front-end has been added to the Iterator-Tool. This enables you to quickly design and launch multiple experiments, and to conveniently view aggregated results. It also allows you to change model parameters without recompiling simulations.
      See: Iterator-GUI.

    • New Time-Line Post-Processor GUI (TLPP-GUI) and Improved Time-Line Post-Processor (TLPP) - A GUI front-end has been added to the Time-Line Post-Processor Tool. This GUI helps you set options for viewing simulation results as time-line graphs. Although some models produce time-line graphs directly, their format was not be easily modified. The TLPP-GUI allows you to control the:
      • Order of devices on the y-axis,
      • Colors of specific event-types,
      • Annotation styles,
      • Sub-sets of devices displayed,
      • Time ranges displayed,
      • Styles and thickness of time-line bars,
      • Graph titles.
      • Communication event overlays (spider-plots)
      The newly added "spider-plot" capability over-lays communication transfers onto modified time-lines with arrow-heads showing the transfer directions. Individual transfers can be color-coded to indicate data-type or message contents.
      See: Time-Line GUI.

    • Three new model libraries added to CSIM standard release package:
      • Digital Logic - Gate logic models with inertial and propagation delays for FPGA or Deep-Submicron design. Documented and added to model libs directories.
        See: Digi-Logic.
      • Analog Circuits - Model analog systems, circuits, heat-flow/transfer modeling, mechanical mass-spring-damper systems, etc.. See: Analog Circuits.
      • Vehicle-Platform-Terrain (VPT) - Supports mission-level modeling.

    • New VGUI-2 - Updated the publicly available VHDL/Verilog GUI. Many new improvements/updates. Now interchanges diagrams directly with CSIM's GUI, and vice-versa. Digital models can be perfected in CSIM, and transferred to VHDL for synthesis. Direct synthesis path - CSIM tool-set supports System Design and Software, down-to Physical Implementation.

    • Simplified GUI Tools menu - Mode sensitive (fool-proof), Context aware. Changes options based on graph-type. Adds Update-Parameters-Only option. Just updates attribute values for an existing sim.exe without re-compiling. Saves time when just changing attribute values. Access from GUI's Tools menu.

    • New language features:
      • DEFAULT_ICON() - Keyword to attach icons to model-types. See: Default Icons.
      • RESUME_WITH_PARAM() - Enables awoken WAIT threads to identify who awoke them. See: RESUME_WITH_PARAM.

    • Num-Utils - Added pre-compiled Num-Utils tools to the CSIM distribution package. Useful for manipulating plotted data. See: Num-Utils.

    • Improved Warning Message Pop-ups

    • Performance Model Library Improvements -
      • Added documentation blocks to all models.
      • Added XGRAPH Y coordinate name attribute to all models.
      • Made inclusion of parameters.sim and subroutines.sim transparent and order independent to monitor.sim by wrapping them with %ifndef statements.
      • Enhanced the read_stimfile routine in subroutines.sim and updated multi_task_pe.sim to allow for two stim formats: separate delay statement or delay combined with the subgraph statement.
      • 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 a READ_ACK to the processor and added a 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.
      • In racepp_nic_fd.sim and racepp_xbar_fd.sim, incorporate user debug mods.

    • General-Block Library Improved / Exercised - Significant testing and expansion of CSIM's General-Blocks library occurred over the past six months. Significant documentation was added. This library equates to the functionality of the former BONeS (Block Oriented Network Simulation) tool of Cadence. An important validation exercise was accomplished in October/November, 2002. A working BONeS model consisting of 15 pages of diagrams containing 225 boxes was supplied by a BONeS user, along with requirements for several result graphs and statistical summaries. Two engineers replicated the model, block-for-block, with CSIM's General-Block (GB) library, and obtained virtually identical results and graphs. Several additional graphs and features, beyond BONeS capabilities, were also demonstrated. This indicates CSIM's GB library is gaining maturity and completeness.

... past news ...

  • Num-Utils - (12-5-02)
    Numerical Utilities have been added to the CSIM package. These are stand-alone utilities which perform common mathematical operations on files containing numbers. Num-Utils allow files to be treated as variables. Files may contain vectors or matrices. The files may be plotted by various tools, such as XGRAPH, so Num-Utils is a powerful means to manipulate data to be plotted.

    The Num-Utils are useful for DSP, statistics, numerical analysis, etc.. The utilities are a simple and inexpensive alternative, or complement, to other environments such as Octave, Matlab, Scilab, or programming libs such as LAPACK. They exploit the familiar capabilities of the operating system command-line and/or script files.

    The Num-Util are not strictly part of CSIM and can be used independently from CSIM. They have been useful within CSIM project, but are valuable by themselves and are very general-purpose. They are provided as source-code under GPL with a simple build-script.

    Num-Util are consistent with the convention of other file utilities, such as copy, diff, cat, sort, zip, grep, awk, xgraph, latex, etc.. All data files are ASCII text files, which are readable, printable, and convenient to produce, edit, or read with other programs.

    Because each Num-Util tool is an independent utility, they can be called from programs by system() calls without risk of library or symbol conflicts. They are normally called directly from the command-line, -interactively-, without need of writing new programs. Although many of the functions are trivial, the collection has value by virtue of its consistency and completeness.

    Num-Util presently supports four formats for data files:
          (1) Real Vector,   (2) Complex Vector,
          (3) Real Matrix,   (4) Complex Matrix.

    A simple XML-like convention in the data-file's first line indicates the file's type, and enables the tools to operate consistently on either kind of data-file. The header also specifies the file's dimension(s), as either vector or 2D matrix. The utilities include extensive checking and are fully documented. See Num-Utils for more information, documentation, examples, and downloads.

  • Automatic Design Optimizer / Iterator - (4-9-02)
    CSIM has gained the ability to perform multiple simulation parameter sweeps and aggregate the data from multiple runs for plotting. The new Iterator tool also enables Monte Carlo simulations, as well as ability to automatically optimize your design parameters by iterating simulations under control of adaptive optimization algorithms. Intelligent optimization learns the performance surface of your design and performs a series of steepest descent / genetic / and multi-grid optimizations on selected parameters. The nature of optimization algorithm is chosen on the observed performance surface: continuous, differentiable / discrete, non-differentiable, noisy, or piecewise characterizable regions. Adaptable focus of attention is exhibited through correlative parameter sensitivity analysis. I.E. At each stage, the most relevant parameters are identified, and more attention is paid to them. This advanced feature enables you to quickly optimize your designs for minimizing cost, maximizing performance, or a weighted combination there-of.

  • CSIM goes XML - (9-18-00)
    CSIM has adopted the universal standard XML format for capturing file information. This includes the graphical diagram files. The XML format is patterned directly after CSIM's original format, and is easily recognized by anyone familiar with the old format. The new format is easy to read and parse. It offers many advantages for greater latitude in object parameters. For example, arc, link, and node parameters can now be multi-term expressions. The new format is also more extensible. New attributes can be added without interfering with existing tools. This will facilitate much easier extensions to the tools than ever in the past.

    The XML capability enables uniform standard access of data from other tools, aside from CSIM. Additionally, information specific to other tools can be captured within CSIM models without interference. For example, requirements data such as tracking, derived-from, required-by, related-to, or critical-issues information can be attached to graph objects. Although such attributes are not used by CSIM, other tools, such as requirements tracking tools (eg. Doors, RTM, reliability analysis, etc.) can access the information.

    XML is consistent with-, and enables-, web-based access for distributed collaboration on projects to product data information as it evolves. We have only begun to realize the potentials created by this new universal information format.

  • Instance Attributes - (9-18-00)
    A new feature called Instance-Attributes has been added to the latest version of CSIM. Instance-Attributes enable you to assign arbitrary attributes to each object and graph in your hierarchical diagrams from the GUI. The attributes inherit downward through the hierarchies.

    The attributes can be used as graph-variables to quickly parameterize values in arcs, links, and nodes. The attributes can also be accessed within the user C-code of models.

    The attributes can be set to distinct values for each object in a graph. Therefore the name: Instantiation-Attributes.

  • Auto-Documentation Tool for C-code and CSIM Models - (1-10-00)
    There is a new tool included as part of the standard CSIM tool-set, called, C-2-HTML.
    It automatically generates hyper-text documentation of your C-programs which you can view from any web-browser.

    The generated documentation contains:

    1. A concise alphabetized index of your subroutines, hot-linked to their definitions,
    2. The calling-tree of your code, showing the hierarchy of your subroutines, what-calls-what, etc., and,
    3. A hyper-text annotated version of your source code. Calls to your subroutines are also hot-linked to their definitions.


(Questions, Comments, & Suggestions: admin@csim.com)