mirror of
https://github.com/nasa/trick.git
synced 2024-12-19 21:27:54 +00:00
Remove doxygen documentation now housed on wiki #189
moved the small amount of text we had in our "requirements" document to the wiki.
This commit is contained in:
parent
832679b7ee
commit
6848e31ddc
@ -1,5 +0,0 @@
|
||||
|
||||
/**
|
||||
@page LEVEL1 List of Acronyms:
|
||||
|
||||
*/
|
@ -1,9 +0,0 @@
|
||||
|
||||
/**
|
||||
@page LEVEL2 Adaptation Requirements
|
||||
|
||||
LEVEL3 Trick source code shall use a POSIX compliant API when accessing POSIX
|
||||
threads (pthreads), mutual exclusions (mutexes), signals, interrupts, and
|
||||
clock routines. [Trick-151]
|
||||
|
||||
*/
|
@ -1,38 +0,0 @@
|
||||
/**
|
||||
@page LEVEL1 Applicable and Reference Documents
|
||||
|
||||
@section LEVEL2 Applicable Documents
|
||||
The following documents are reference documents utilized in the development of this
|
||||
SRS. These documents do not form a part of this SRS and are not controlled by their
|
||||
reference herein.
|
||||
|
||||
<center>
|
||||
<table>
|
||||
<tr><th>Document Number</th><th>Revision/ Release Date</th><th>Document Title</th></tr>
|
||||
<tr><td></td><td></td><td></td></tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
@section LEVEL2 Reference Documents
|
||||
The following documents are reference documents utilized in the development of this SRS.
|
||||
These documents do not form a part of this SRS and are not controlled by their reference
|
||||
herein.
|
||||
|
||||
<center>
|
||||
<table>
|
||||
<tr><th>Document Number</th><th>Revision/ Release Date</th><th>Document Title</th></tr>
|
||||
<tr><td></td><td></td><td></td></tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
@section LEVEL2 Order of Precedence
|
||||
In the event of a conflict between the text of this specification and an applicable
|
||||
document cited herein, the text of this specification takes precedence.
|
||||
|
||||
All specifications, standards, exhibits, drawings or other documents that are invoked
|
||||
as "applicable" in this specification are incorporated as cited. All documents that are
|
||||
referred to by an applicable document are considered to be for guidance and information
|
||||
only, with the exception of Interface Control Documents (ICD) which will have their
|
||||
applicable documents considered to be incorporated as cited.
|
||||
|
||||
*/
|
@ -1,8 +0,0 @@
|
||||
|
||||
/**
|
||||
@page LEVEL2 Design and Implementation Constraints
|
||||
|
||||
LEVEL3 Trick shall not preclude that which cannot be precluded unless Trick is
|
||||
precluded from not precluding the unprecludable.
|
||||
|
||||
*/
|
@ -1,10 +0,0 @@
|
||||
|
||||
/**
|
||||
@page LEVEL2 Environment Requirements
|
||||
|
||||
LEVEL3 UNIX env?<br>
|
||||
LEVEL3 Trick shall plant a tree for every successful simulation built.<br>
|
||||
LEVEL3 Trick shall be dolphin safe.<br>
|
||||
LEVEL3 Trick shall recycle.<br>
|
||||
|
||||
*/
|
@ -1,5 +0,0 @@
|
||||
|
||||
/**
|
||||
@page LEVEL2 Functional Requirements
|
||||
|
||||
*/
|
@ -1,5 +0,0 @@
|
||||
|
||||
/**
|
||||
@page LEVEL2 Internal Data Requirements
|
||||
|
||||
*/
|
@ -1,22 +0,0 @@
|
||||
/**
|
||||
@page LEVEL1 Introduction
|
||||
|
||||
@section LEVEL2 Purpose
|
||||
This document establishes the Software Requirements Specification for the Trick
|
||||
Software.
|
||||
|
||||
@section LEVEL2 Scope
|
||||
This specification defines the functional, performance, and interface requirements
|
||||
for the Trick Software.
|
||||
|
||||
@section LEVEL2 Office of Primary Responsibility
|
||||
The Software Requirements Specification (SRS) is the responsibility of the
|
||||
National Aeronautics and Space Administration (NASA) Johnson Space Center (JSC)
|
||||
Engineering Directorate Automation, Robotics and Simulations Division (ER).
|
||||
|
||||
@section LEVEL2 Change Authority
|
||||
All changes to this document will be processed in accordance with somebody important.
|
||||
(Is there a board/person that has to approve the CR to baseline and update this document?).
|
||||
|
||||
*/
|
||||
|
@ -1,5 +0,0 @@
|
||||
|
||||
/**
|
||||
@page LEVEL2 Logistics Related Requirements
|
||||
|
||||
*/
|
@ -1,84 +0,0 @@
|
||||
/**
|
||||
@page requirements Trick Requirements
|
||||
|
||||
@subpage r01 "1 Introduction"<br>
|
||||
|
||||
@subpage r02 "2 Applicable and Reference Documents"<br>
|
||||
|
||||
@subpage r03 "3 Software Description"<br>
|
||||
@subpage r0301 "3.1 Functional Requirements"<br>
|
||||
@subpage r030101 "3.1.1 Executive Scheduler"<br>
|
||||
@subpage r030102 "3.1.2 Scheduled Job Queue"<br>
|
||||
@subpage r030103 "3.1.3 Realtime Synchronization"<br>
|
||||
@subpage r030104 "3.1.4 Realtime Clock"<br>
|
||||
@subpage r030105 "3.1.5 Sleep Timer"<br>
|
||||
@subpage r030106 "3.1.6 Command Line Arguments"<br>
|
||||
@subpage r0302 "3.2 Required States and Modes"<br>
|
||||
@subpage r0303 "3.3 Software Interfaces"<br>
|
||||
@subpage r0304 "3.4 Internal Data Requirements"<br>
|
||||
@subpage r0305 "3.5 Adaptation Requirements"<br>
|
||||
@subpage r0306 "3.6 Safety Requirements"<br>
|
||||
@subpage r0307 "3.7 Performance and Timing Requirements"<br>
|
||||
@subpage r0308 "3.8 Security and Privacy Requirements"<br>
|
||||
@subpage r0309 "3.9 Environment Requirements"<br>
|
||||
@subpage r0310 "3.10 Computer Resource Requirements"<br>
|
||||
@subpage r0311 "3.11 Design and Implementation Constraints"<br>
|
||||
@subpage r0312 "3.12 Personnel Related Requirements"<br>
|
||||
@subpage r0313 "3.13 Training Related Requirements"<br>
|
||||
@subpage r0314 "3.14 Logistics Related Requirements"<br>
|
||||
@subpage r0315 "3.15 Packaging Related Requirements"<br>
|
||||
@subpage r0316 "3.16 Precedence and Criticality Requirements"<br>
|
||||
|
||||
@subpage r04 "4 Traceability to Parent Requirements"<br>
|
||||
|
||||
@subpage r05 "5 Releases"<br>
|
||||
|
||||
@subpage r06 "6 Support"<br>
|
||||
|
||||
@subpage r07 "7 List of Acronyms"<br>
|
||||
|
||||
*/
|
||||
|
||||
// section 1
|
||||
#include "introduction.dox_in"
|
||||
|
||||
// section 2
|
||||
#include "applicable_docs.dox_in"
|
||||
|
||||
// section 3
|
||||
#include "software_description.dox_in"
|
||||
#include "functional_requirements.dox_in"
|
||||
#include "sim_services/Executive/docs/requirements.dox_in"
|
||||
#include "sim_services/ScheduledJobQueue/requirements.dox_in"
|
||||
#include "sim_services/RealtimeSync/docs/requirements.dox_in"
|
||||
#include "sim_services/Clock/docs/requirements.dox_in"
|
||||
#include "sim_services/Timer/docs/requirements.dox_in"
|
||||
#include "sim_services/CommandLineArguments/docs/requirements.dox_in"
|
||||
#include "required_states.dox_in"
|
||||
#include "software_interfaces.dox_in"
|
||||
#include "internal_data.dox_in"
|
||||
#include "adaptation.dox_in"
|
||||
#include "safety.dox_in"
|
||||
#include "performance.dox_in"
|
||||
#include "security.dox_in"
|
||||
#include "environment.dox_in"
|
||||
#include "resource.dox_in"
|
||||
#include "design_constraints.dox_in"
|
||||
#include "personnel.dox_in"
|
||||
#include "training.dox_in"
|
||||
#include "logistics.dox_in"
|
||||
#include "packaging.dox_in"
|
||||
#include "precedence.dox_in"
|
||||
|
||||
// section 4
|
||||
#include "traceability.dox_in"
|
||||
|
||||
// section 5
|
||||
#include "releases.dox_in"
|
||||
|
||||
// section 6
|
||||
#include "support.dox_in"
|
||||
|
||||
// section 7
|
||||
#include "acronyms.dox_in"
|
||||
|
@ -1,5 +0,0 @@
|
||||
|
||||
/**
|
||||
@page LEVEL2 Packaging Requirements
|
||||
|
||||
*/
|
@ -1,5 +0,0 @@
|
||||
|
||||
/**
|
||||
@page LEVEL2 Performance and Timing Requirements
|
||||
|
||||
*/
|
@ -1,5 +0,0 @@
|
||||
|
||||
/**
|
||||
@page LEVEL2 Persionnel Related Requirements
|
||||
|
||||
*/
|
@ -1,5 +0,0 @@
|
||||
|
||||
/**
|
||||
@page LEVEL2 Precedence and Criticality of Requirements
|
||||
|
||||
*/
|
@ -1,5 +0,0 @@
|
||||
|
||||
/**
|
||||
@page LEVEL1 Releases
|
||||
|
||||
*/
|
@ -1,5 +0,0 @@
|
||||
|
||||
/**
|
||||
@page LEVEL2 Required States and Modes
|
||||
|
||||
*/
|
@ -1,5 +0,0 @@
|
||||
|
||||
/**
|
||||
@page LEVEL2 Computer Resource Requirements
|
||||
|
||||
*/
|
@ -1,9 +0,0 @@
|
||||
|
||||
/**
|
||||
@page LEVEL2 Safety Requirements
|
||||
|
||||
There are no safety requirements for this software. Any simulations that use
|
||||
trick functions to control hazards are responsible for maintaining their safety
|
||||
requirements.
|
||||
|
||||
*/
|
@ -1,5 +0,0 @@
|
||||
|
||||
/**
|
||||
@page LEVEL2 Security and Privacy Requirements
|
||||
|
||||
*/
|
@ -1,5 +0,0 @@
|
||||
/**
|
||||
@page LEVEL1 Software Description
|
||||
|
||||
*/
|
||||
|
@ -1,5 +0,0 @@
|
||||
|
||||
/**
|
||||
@page LEVEL2 Software Interfaces
|
||||
|
||||
*/
|
@ -1,7 +0,0 @@
|
||||
|
||||
/**
|
||||
@page LEVEL1 Support
|
||||
|
||||
LEVEL2 Trick core team will provide support to users of the Trick software.
|
||||
|
||||
*/
|
@ -1,7 +0,0 @@
|
||||
|
||||
/**
|
||||
@page LEVEL1 Traceability to Parent Requirements
|
||||
|
||||
There are no formal parent requirements that flow into this SRS.
|
||||
|
||||
*/
|
@ -1,5 +0,0 @@
|
||||
|
||||
/**
|
||||
@page LEVEL2 Training Related Requirements
|
||||
|
||||
*/
|
@ -1,24 +0,0 @@
|
||||
/**
|
||||
|
||||
@page LEVEL3 Realtime Clock Requirements
|
||||
|
||||
<b>LEVEL4</b> Trick shall provide a framework to use a real-time clock source.
|
||||
|
||||
<b>LEVEL4</b> The framework shall provide a base real-time clock class that provides
|
||||
the following interface
|
||||
|
||||
<b>LEVEL5</b> Initialize the clock
|
||||
|
||||
<b>LEVEL5</b> Return the current time
|
||||
|
||||
<b>LEVEL5</b> Reset the clock
|
||||
|
||||
<b>LEVEL5</b> Wait/Spin on the clock to reach a requested time
|
||||
|
||||
<b>LEVEL5</b> Stop the clock
|
||||
|
||||
<b>LEVEL4</b> Trick shall provide a real-time clock based on the system gettimeofday
|
||||
clock (GetTimeofDay Clock).
|
||||
|
||||
*/
|
||||
|
@ -1,21 +0,0 @@
|
||||
/**
|
||||
|
||||
@page LEVEL3 Command Line Arguments Requirements
|
||||
|
||||
<b>LEVEL4</b> Trick shall save the number of command line arguments.\n
|
||||
|
||||
<b>LEVEL4</b> Trick shall save all command line arguments.\n
|
||||
|
||||
<b>LEVEL4</b> Trick shall determine and save the current directory of the simulation exectuable.\n
|
||||
|
||||
<b>LEVEL4</b> Trick shall determine and save the current name of the simulation exectuable.\n
|
||||
|
||||
<b>LEVEL4</b> Trick shall determine and save the current directory of the run input file.\n
|
||||
|
||||
<b>LEVEL4</b> Trick shall use the run input directory as the default output directory.\n
|
||||
|
||||
<b>LEVEL4</b> Trick shall allow the user to override the output directory.\n
|
||||
|
||||
<b>LEVEL4</b> Trick shall provide the option to create timestamped subdirectories within the output directory.\n
|
||||
|
||||
*/
|
@ -1,23 +0,0 @@
|
||||
/**
|
||||
|
||||
@page LEVEL3 Data Recording Requirements
|
||||
|
||||
<b>LEVEL4</b> Data Recording shall provide the capability to record one
|
||||
or more variables that a user has specified in a log group.
|
||||
|
||||
<b>LEVEL4</b> Data Recording shall provide the capability to record multiple
|
||||
log groups.
|
||||
|
||||
<b>LEVEL4</b> Data Recording shall time tag the recorded data with the
|
||||
simulation time.
|
||||
|
||||
<b>LEVEL4</b> Data Recording shall provide the capability to record each
|
||||
log group at its own user specified frequency
|
||||
|
||||
<b>LEVEL4</b> Data Recording shall provide the capability to record each
|
||||
log group only when user specified model data changes.
|
||||
|
||||
<b>LEVEL4</b> Data Recording shall provide the capability to write data
|
||||
to disk without affecting the real-time performance of the simulation.
|
||||
|
||||
*/
|
@ -1,125 +0,0 @@
|
||||
/**
|
||||
|
||||
@page LEVEL3 Scheduler Requirements
|
||||
|
||||
@section LEVEL4 Simulation Time
|
||||
-# %Trick shall track simulation elapsed time by an integer count of tics/second
|
||||
[ @anchor r_exec_time_0 r_exec_time_0 ]
|
||||
-# %Trick shall initialize simulation elapsed time after all initialization class jobs have completed.
|
||||
[ @anchor r_exec_time_1 r_exec_time_1 ]
|
||||
-# %Trick shall increment simulation elapsed time to the next lowest job call time greater than
|
||||
the current simulation time after all jobs at the current simulation time
|
||||
have completed.
|
||||
[ @anchor r_exec_time_2 r_exec_time_2 ]
|
||||
|
||||
@section LEVEL4 Modes
|
||||
-# %Trick shall provide an initialization mode
|
||||
[ @anchor r_exec_mode_0 r_exec_mode_0 ]
|
||||
-# %Trick shall provide a run mode
|
||||
[ @anchor r_exec_mode_1 r_exec_mode_1 ]
|
||||
-# %Trick shall provide a freeze mode
|
||||
[ @anchor r_exec_mode_2 r_exec_mode_2 ]
|
||||
-# %Trick shall provide an exit mode
|
||||
[ @anchor r_exec_mode_3 r_exec_mode_3 ]
|
||||
-# %Trick shall provide a mode command to transition to Freeze
|
||||
[ @anchor r_exec_mode_4 r_exec_mode_4 ]
|
||||
-# %Trick shall provide a mode command to transition to Run
|
||||
[ @anchor r_exec_mode_5 r_exec_mode_5 ]
|
||||
-# %Trick shall provide a mode command to transition to Shutdown
|
||||
[ @anchor r_exec_mode_6 r_exec_mode_6 ]
|
||||
|
||||
@section LEVEL4 Jobs
|
||||
-# %Trick shall provide a method for adding simulation objects to the
|
||||
scheduler prior to execution.
|
||||
[ @anchor r_exec_jobs_2 r_exec_jobs_2 ]
|
||||
-# %Trick shall order jobs by job_class, then phase, then sim_object id, then job_id
|
||||
[ @anchor r_exec_jobs_3 r_exec_jobs_3 ]
|
||||
|
||||
@section LEVEL4 Periodic Jobs
|
||||
-# %Trick shall execute periodic scheduled jobs during simulation
|
||||
run mode (all scheduled types)
|
||||
[ @anchor r_exec_periodic_0 r_exec_periodic_0 ]
|
||||
-# %Trick shall execute periodic freeze jobs during simulation
|
||||
freeze mode (freeze)
|
||||
[ @anchor r_exec_periodic_1 r_exec_periodic_1 ]
|
||||
-# %Trick shall execute periodic scheduled jobs during simulation run mode at the end
|
||||
of a settable software_frame (end_of_frame)
|
||||
[ @anchor r_exec_periodic_2 r_exec_periodic_2 ]
|
||||
-# %Trick shall assign the initial call time for a periodic job to the
|
||||
current simulation time + job offset.
|
||||
[ @anchor r_exec_periodic_3 r_exec_periodic_3 ]
|
||||
-# %Trick shall reschedule subsequent job call times for a periodic job to the
|
||||
current simulation time + job cycle.
|
||||
[ @anchor r_exec_periodic_4 r_exec_periodic_4 ]
|
||||
|
||||
@section LEVEL4 Discrete Jobs
|
||||
-# %Trick shall execute discrete job execution scheduling on simulation startup
|
||||
(default_data)
|
||||
[ @anchor r_exec_discrete_0 r_exec_discrete_0 ]
|
||||
-# %Trick shall execute discrete job execution scheduling during simulation
|
||||
initialization (initialization)
|
||||
[ @anchor r_exec_discrete_1 r_exec_discrete_1 ]
|
||||
-# %Trick shall execute of discrete job execution scheduling upon entering simulation
|
||||
freeze (freeze_init)
|
||||
[ @anchor r_exec_discrete_2 r_exec_discrete_2 ]
|
||||
-# %Trick shall execute of discrete job execution scheduling upon exiting simulation
|
||||
freeze (unfreeze)
|
||||
[ @anchor r_exec_discrete_3 r_exec_discrete_3 ]
|
||||
-# %Trick shall execute discrete job execution scheduling during simulation
|
||||
termination (shutdown)
|
||||
[ @anchor r_exec_discrete_4 r_exec_discrete_4 ]
|
||||
|
||||
@section LEVEL4 Instrumentation Jobs
|
||||
-# %Trick shall provide a method for inserting a job before each initialization
|
||||
and each scheduled job within a simulation.
|
||||
[ @anchor r_exec_instrument_0 r_exec_instrument_0 ]
|
||||
-# %Trick shall provide a method for inserting a job before a single initialization
|
||||
or scheduled job within a simulation.
|
||||
[ @anchor r_exec_instrument_1 r_exec_instrument_1 ]
|
||||
-# %Trick shall provide a method for inserting a job after each initialization
|
||||
and each scheduled job within a simulation.
|
||||
[ @anchor r_exec_instrument_2 r_exec_instrument_2 ]
|
||||
-# %Trick shall provide a method for inserting a job after a single initialization
|
||||
or scheduled job within a simulation.
|
||||
[ @anchor r_exec_instrument_3 r_exec_instrument_3 ]
|
||||
-# %Trick shall provide a method for removing instrumentation job(s).
|
||||
[ @anchor r_exec_instrument_4 r_exec_instrument_4 ]
|
||||
|
||||
@section LEVEL4 Threads
|
||||
-# %Trick shall support single threaded execution during all modes of operation
|
||||
[ @anchor r_exec_thread_0 r_exec_thread_0 ]
|
||||
-# %Trick shall support multiple threads of execution during run mode.
|
||||
[ @anchor r_exec_thread_1 r_exec_thread_1 ]
|
||||
-# %Trick shall support child threads that synchronize execution with each time step of the parent thread
|
||||
(synchronous thread)
|
||||
[ @anchor r_exec_thread_2 r_exec_thread_2 ]
|
||||
-# %Trick shall support child threads that does not synchronize execution with the parent thread. Thread
|
||||
jobs are restarted at next available time step from the master thread. (asynchronous thread)
|
||||
[ @anchor r_exec_thread_3 r_exec_thread_3 ]
|
||||
-# %Trick shall support child threads that does synchronizes execution with the parent thread at a specified
|
||||
interval. This interval may be greater than a time step in the parent thread (asynchronous must finish (AMF) thread)
|
||||
[ @anchor r_exec_thread_4 r_exec_thread_4 ]
|
||||
-# %Trick shall spawn enough threads to accomodate jobs listed within the S_define file
|
||||
[ @anchor r_exec_thread_5 r_exec_thread_5 ]
|
||||
-# %Trick shall provide inter-thread job dependencies. This ensures
|
||||
pre-requesite jobs are completed before current job execution.
|
||||
[ @anchor r_exec_thread_6 r_exec_thread_6 ]
|
||||
-# %Trick shall terminate simulation execution if a child thread exits
|
||||
[ @anchor r_exec_thread_7 r_exec_thread_7 ]
|
||||
|
||||
@section LEVEL4 Signals
|
||||
-# %Trick shall assign signal handlers to attempt a graceful shutdown of the
|
||||
simulation when the following signals occur: SIGINT, SIGTERM, SIGBUS, SIGSEGV, SIGFPE
|
||||
[ @anchor r_exec_signal_0 r_exec_signal_0 ]
|
||||
-# %Trick shall assign signal handlers to handle the SIGCHLD signal
|
||||
[ @anchor r_exec_signal_1 r_exec_signal_1 ]
|
||||
-# %Trick shall attempt to terminate the simulation gracefully when a
|
||||
SIGTERM, SIGBUS, or SIGSEGV signal is caught. Program corruption at this point
|
||||
may be too great to complete this requirement, hence "attempt".
|
||||
[ @anchor r_exec_signal_2 r_exec_signal_2 ]
|
||||
-# %Trick shall allow the user to assign the system default signal handlers for the signals
|
||||
SIGBUS, SIGSEGV, or SIGFPE signals.
|
||||
[ @anchor r_exec_signal_3 r_exec_signal_3 ]
|
||||
|
||||
*/
|
||||
|
@ -1,46 +0,0 @@
|
||||
/**
|
||||
|
||||
@page LEVEL3 Realtime Synchronization Requirements
|
||||
|
||||
<b>LEVEL4</b> Trick shall be capable of synchronizing simulation time to a
|
||||
real-time clock.
|
||||
|
||||
<b>LEVEL4</b> Trick shall be capable of running non-real-time.
|
||||
[@anchor rt_non_real_time rt_non_real_time]
|
||||
|
||||
<b>LEVEL4</b> Trick shall provide the capability to switch between real-time and
|
||||
non-real-time execution.
|
||||
[@anchor rt_enable rt_enable]
|
||||
[@anchor rt_disable rt_disable]
|
||||
|
||||
<b>LEVEL4</b> Trick shall detect when the current simulation job execution frame
|
||||
takes longer than the real-time frame (overrun).
|
||||
[@anchor rt_detect_overrun rt_detect_overrun]
|
||||
|
||||
<b>LEVEL4</b> Trick shall provide the option to respond to simulation overruns by
|
||||
|
||||
<b>LEVEL5</b> continuing to next frame of execution,
|
||||
|
||||
<b>LEVEL5</b> freezing, [@anchor rt_overrun_freeze rt_overrun_freeze]
|
||||
|
||||
<b>LEVEL5</b> or terminating. [@anchor rt_overrun_terminate rt_overrun_terminate]
|
||||
|
||||
<b>LEVEL4</b> The overrun criteria to cause a response shall be either:
|
||||
[@anchor rt_overrun_criteria rt_overrun_criteria]
|
||||
|
||||
<b>LEVEL5</b> A single large overrun of a user specified size (in seconds), or
|
||||
|
||||
<b>LEVEL5</b> a user specified number of overruns is detected
|
||||
|
||||
<b>LEVEL4</b> Trick shall detect when the current simulation job execution frame is
|
||||
equal to or shorter than the real-time frame (underrun).
|
||||
[@anchor rt_detect_underrun rt_detect_underrun]
|
||||
|
||||
<b>LEVEL4</b> Trick shall wait for real-time to catch up to the
|
||||
simulation time before starting the next frame of execution during an underrun.
|
||||
|
||||
<b>LEVEL4</b> Trick shall provide the option to release the processor (sleep) during
|
||||
an underrun.
|
||||
|
||||
*/
|
||||
|
@ -1,49 +0,0 @@
|
||||
/**
|
||||
|
||||
@page LEVEL3 Scheduled Job Queue Requirements.
|
||||
|
||||
The ScheduledJobQueue is a helper object to the Scheduler. This object
|
||||
keeps an ordered queue of the jobs for a particular job class. The Scheduler adds
|
||||
and removes jobs from the queue. The Scheduler asks for the top job of the
|
||||
queue, or the next job that has an execution time that matches the current simulation time.
|
||||
Finally, the Scheduler asks the ScheduledJobQueue to insert an
|
||||
instrumentation job where the job is attached before or after a specific job in the queue,
|
||||
or attached before or after all jobs in the simulation.
|
||||
|
||||
@section LEVEL4 Jobs
|
||||
-# Trick shall store an ordered queue of jobs of the same scheduling class. The order shall be
|
||||
based on job class, phase number, sim_object order, and finally order of jobs within the simulation object.
|
||||
[ @anchor r_exec_time_0 r_exec_time_0 ]
|
||||
-# Trick shall provide a method to add simulation objects to the queue.
|
||||
[ @anchor r_exec_jobs_2 r_exec_jobs_2 ]
|
||||
-# Trick shall provide a method to add simulation objects to the
|
||||
queue that ignores the sim_object and job order.
|
||||
[ @anchor r_exec_jobs_2 r_exec_jobs_2 ]
|
||||
-# Trick shall provide a method to clear the job queue.
|
||||
[ @anchor r_exec_jobs_2 r_exec_jobs_2 ]
|
||||
-# Trick shall provide a method to get the next job on the list.
|
||||
[ @anchor r_exec_jobs_2 r_exec_jobs_2 ]
|
||||
-# Trick shall provide a method to search for the next job on the list whose next job call time matches the
|
||||
current simulation time.
|
||||
[ @anchor r_exec_jobs_2 r_exec_jobs_2 ]
|
||||
-# Trick shall provide a method to reset the search index to the top of the list.
|
||||
[ @anchor r_exec_jobs_2 r_exec_jobs_2 ]
|
||||
|
||||
@section LEVEL4 Job Call Time
|
||||
-# Trick shall track the lowest next job call time greater than the current call time.
|
||||
[ @anchor r_exec_jobs_2 r_exec_jobs_2 ]
|
||||
-# Trick shall provide a method to retrieve the next job call time.
|
||||
[ @anchor r_exec_jobs_2 r_exec_jobs_2 ]
|
||||
|
||||
@section LEVEL4 Instrumentation Jobs
|
||||
-# Trick shall provide a method to insert a job before each job in the queue.
|
||||
[ @anchor r_exec_instrument_0 r_exec_instrument_0 ]
|
||||
-# Trick shall provide a method to insert a job before a single job in the queue.
|
||||
[ @anchor r_exec_instrument_1 r_exec_instrument_1 ]
|
||||
-# Trick shall provide a method to insert a job after each job in the queue.
|
||||
[ @anchor r_exec_instrument_2 r_exec_instrument_2 ]
|
||||
-# Trick shall provide a method to insert a job after a single job in the queue.
|
||||
[ @anchor r_exec_instrument_3 r_exec_instrument_3 ]
|
||||
|
||||
*/
|
||||
|
@ -1,26 +0,0 @@
|
||||
/**
|
||||
|
||||
@page LEVEL3 Sleep Timer Requirements
|
||||
|
||||
<b>LEVEL4</b> Trick shall provide a framework to use a sleep timer.
|
||||
|
||||
<b>LEVEL4</b> The framework shall provide a base timer class that provides the
|
||||
following interface
|
||||
|
||||
<b>LEVEL5</b> Initialize the timer
|
||||
|
||||
<b>LEVEL5</b> Start the timer
|
||||
|
||||
<b>LEVEL5</b> Reset the clock
|
||||
|
||||
<b>LEVEL5</b> Wait on the timer to expire
|
||||
|
||||
<b>LEVEL5</b> Stop the timer
|
||||
|
||||
<b>LEVEL5</b> Shutdown the timer
|
||||
|
||||
<b>LEVEL4</b> Trick shall provide a sleep timer based on the system itimer
|
||||
(ITimer timer).
|
||||
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user