PAL CARD CATALOG ENTRY

SHORT DESCRIPTION

Components for managing pending events for a simulation model


MOVEMENT WITHIN THE PAL CARD CATALOG
Move to top-level taxonomy
Move to keyword list

ASSET PROFILE

UNIT NAME
ESM
VERSION
22-JAN-92
REVIEW CODE
C1 1.0 A
INET ADDRESS
librarian@source.asset.com
AUTHOR
Douglas W. Jones
University of Iowa
RIGHTS
Approved for public release; distribution unlimited
COPYRIGHT
1992 Douglas W. Jones
DATE CREATED
22 January 1992
DATE RELEASED
11 December 1993
DATE LAST UPDATED
11 December 1993
LOCATION
ASSET
PAL
ENVIRONMENT
Not documented in PAL database
LIMITATIONS
Not documented in PAL database
CERTIFICATION
Ada System Certifier_1 1.0
Date/Time of Processing: Wednesday 25 May       1994 05:05:12Pm
Overall Assessment of System: OK
Classification of System: A
Basis of Classification --
Syntax Errors                               PASS
Completeness                                PASS
Independence from External Libraries        PASS
Independence from a Specific Ada Compiler   PASS

Number of ...
Files               1
Library Units       2
Lines             503
Statements        259
Comments          126

FILE LISTING

Directory Display


languages/ada/swcomps/esm:
  File Name                 Size
  ---------                 ----
  README                   1,467
  esm.zip                  4,947


Totals
  ==============  ==============
    2 Files                6,414

ABSTRACT

ASSET_A_412:  Event Set Manager Package
     This package allows for managing pending events for a simulation
model.   There are functions to get a new event (either from the free
list or to  allocate a new event), to free an event, to schedule a
future event to enter  the event set, and to get the next event from the
event set.  Event records are  used to hold all information about a
pending event in a simulation model,  including the time of the event,
where it is to happen, and what will happen. Event records are always
dynamically allocated and manipulated with pointers.   In many
simulation models, their number will vary dynamically during the life 
of the model.  All aspects of event-set structure are hidden;
conceptually, the event set may be viewed as a linked list ordered by
the time at which  events are scheduled to happen.  For the sake of
efficiency, a more complex  data structure, called a splay tree, is
used.
     The generic pending event set manager is a transliteration of a
Pascal version Doug Jones wrote some years ago, properly packaged in Ada
style to enforce information hiding.  The same Pascal source has been
transliterated into C by David Brower, and his C code was used as the
basis for a C++ version that is now in the GNU C++ standard
distribution.  The Pascal code has been bug free for a number of years
now, and has been widely used; the C code had only one bug in its first
release, and it has been bug free for years.


REVISION HISTORY

22 January 1992   Douglas W. Jones   Initial release to ASSET
11 December 1993  ASSET              Initial release to the PAL


RELEASE NOTICE

This prologue must be included in all copies of this software.
Restrictions on use or distribution:  NONE


DISCLAIMER

	This software and its documentation are provided "AS IS" and
without any expressed or implied warranties whatsoever.  No warranties
as to performance, merchantability, or fitness for a particular
purpose exist.
	The user is advised to test the software thoroughly before
relying on it.  The user must assume the entire risk and liability of
using this software.  In no event shall any person or organization of
people be held responsible for any direct, indirect, consequential or
inconsequential damages or lost profits.