ASE2 CARD CATALOG ENTRY |
Instructions:
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
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.
22 January 1992 Douglas W. Jones Initial release to ASSET 11 December 1993 ASSET Initial release to the PAL
This prologue must be included in all copies of this software. Restrictions on use or distribution: NONE
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.
Powered by the Generic Web-Based Reuse Library (GWRL)