Dartmouth SSF

Overview
Press Room
Documents & Papers
Download
FAQs
People
Related Links

Download Dartmouth SSF

Important Notice

We're in the middle of a transition from DaSSF to its next generation called iSSF. Therefore, we will stop supporting DaSSF very soon. The last DaSSF version can be downloaded here: dassf-3.2.5.tgz.

Instructions

Dartmouth SSF is free software, see copyright notice at the end of this page for copying permission.

DaSSF is distributed with open source. After downloading the file (dassf-*.tgz), you'll need to unzip it and untar it using gzip(gunzip) and tar command. For example,

gzip -cd dassf-1.0.4.tgz | tar xv
Check out README file in DaSSF root directory for further instructions on how to compile and install the system.

You can also apply patches to a previous version. You'll need to download the appropriate patch file (dassf-patch-*.gz). Note that a patch needs to be applied only to its immediate previous version. For example, dassf-patch-3.1.1.gz is the patch that should be applied only to version 3.1.0. After the download, you'll need to go to the DaSSF root directory and do something like following:

zcat dassf-patch-3.1.1.gz | patch -p0
This above command will upgrade DaSSF 3.1.0 to 3.1.1 by changing system source files in their proper subdirectories. The new kernel should be reconfigured and rebuilt afterwards.

Software

The following is the latest public release of Dartmouth SSF. Whenever there is a major bug fix or upgrade, a new release will become public as soon as the version is considered stable. Check out Dartmouth SSF Homepage for news about any upgrade.

For now on, we're putting the pre-released version here also. It should be understood that the pre-released version contains the latest bug fix, but, at the same time, is not fully tested. Use at your own risk if you choose to. The most recent snapshot of the pre-release can be download from here.

The latest release is 3.2.4.

We made the DML parser a separate library in case you want to use DML in a different context. The source code of the library can be downloaded from here.

Here's the description of recent releases:

  • DaSSF 3.2.4, available on 08/02/2002, made the following changes:
    • Improved DML library for handling large models.
    • Made work with stdc++ library, including the standard templates.
    • Ported to Mac OS X Darwin system.
    • Improved data packing/unpacking support.
    • Added quick memory support; a common memory pool for fast allocation and deallocation.
    • A number of bug fixes.

  • DaSSF 3.2.3, available on 04/16/2002, made a few changes:
    • Fixed the bug related to long long type ltime_t that appears only on some machines.
    • Better efficiency for handling simultaneous events on a timeline.
    • Fixed the bug related to DataPacked class. Thanks to Klaus Krauter.
    • Added QuickObject as DaSSF extension; it uses a memory pool for faster memory allocation and deallocation.

  • DaSSF 3.2.2, available on 02/20/2002, comes with the following updates:
    • Fixed problems with ltime_t being long long type.
    • Revised support for different machine architectures and operating systems.
    • Better and more complicated scripts for checking system configuration and software availability.
    • Removed software dependencies on flex and bison.

  • DaSSF 3.2.1, available on 01/24/2002 fixed a few mistakes:
    • A bug related to random number generator when random seed is reset.
    • User time collected for posix threads was incorrect on Irix, OSF, and Solaris platforms.

  • DaSSF 3.2.0 is available on 01/18/2002. It contains many improvements over version 3.1. The following is a list of major updates included in the new release.
    • Added appointment out-channel for support of zero-delay channels between timelines.
    • Added support for negative simulation times.
    • Added ProcedureContainer class for classes hosting procedures for SSF processes. The change increased flexibility of DaSSF process-oriented simulation world-view.
    • Completely revamped DaSSF's shared-memory management. Now it uses much more efficient memory allocators, namely Hoard from University of Texas at Austin, and Doug Lea's famous memory allocator as its backend.
    • A long list of bug fixes as well as miscellaneous features added for convenience.

The following is a historical account on the changes made to version 3.1, which is now outdated.

  • DaSSF 3.1.0 is available on 04/25/2001. Version 3.1 is a major upgrade from 3.0:
    • We added new SSF API support for distributed memory platforms. In addtion to using DML scripts, the user can programmatically create models in the main function. The new version also contains important bug fixes.
    • DaSSF 3.1 is not totally compatible with 3.0. However, models written with 3.0 can be upgraded easily to 3.1 with only minimal textual changes.

  • DaSSF 3.1.1 is available on 04/27/2001. DaSSF 3.1.1 contains two major fixes:
    • Redefinition of global new and delete operators to be consistent with the Standard Template Library (STL). Now, models written in DaSSF can use STL at will.
    • Fixed shared memory fragmentation problem.

  • DaSSF 3.1.2 is available on 04/30/2001. It fixed a major bug that is related to event cancellation of simultaneous events.
  • DaSSF 3.1.3 is made public on 05/11/2001. It comes with the following upgrades:
    • Fixed a compilation problem on IRIX machines using the native compiler.
    • Reduced memory consumption for entities by reclaiming memory that is no longer used after initialization.

  • DaSSF 3.1.4 comes out on 06/29/2001, with many updates.
    • Fixed p4 preprocessor; relaxed some of the constraints.
    • Add global function: now() and current_process() for the sake of convenience.
    • Fixed bugs that related to vector and enumeration templates. Also, fixed the memory leak associated with global barriers.
    • Add enable/disable-event-copy option at configuration. Processors on shared memory can either have distinct copies of events, or share events using lock-protected reference counters. This could have impact on application with large events.
    • On Sun multiprocessors, the user can now use 64-bit mode. The application should be compiled with the native compiler and with Sparc V9 option.
    • A race condition on Irix multiprocessors has been removed.

  • DaSSF 3.1.5 is released on 08/15/2001, with a few bug fixes.
    • Fixed a bug that related to fixed point numbers being simulation timestamps (i.e. ltime_t).
    • Fixed the line shifting problem when using debuggers.
    • Fixed the problem with virtual procedures.

The following releases are still supported, but they contain known bugs or don't come with newest update as with the newest release. Download them whenever you have to, at your own risk.

All the following old releases are not supported any more. Get the newest release whenever possible. Though we are trying to make the newer release compatible with the old ones, it may not be so in quite a lot of places. These places are (hopefully) documented in the manuals distributed with the each newer release.

Copyright

Copyright (c) 1998-2001 Dartmouth College

Permission is hereby granted, free of charge, to any individual or institution obtaining a copy of this software and associated documentation files (the "Software"), to use, copy, modify, and distribute without restriction, provided that this copyright and permission notice is maintained, intact, in all copies and supporting documentation.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL DARTMOUTH COLLEGE BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


Copyright 1998-2001, 
Dartmouth College. All rights reserved.

Created by Jason Liu on May 26, 1999.