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:
Alex Lin 2016-08-02 16:55:36 -05:00
parent 832679b7ee
commit 6848e31ddc
31 changed files with 0 additions and 583 deletions

View File

@ -1,5 +0,0 @@
/**
@page LEVEL1 List of Acronyms:
*/

View File

@ -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]
*/

View File

@ -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.
*/

View File

@ -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.
*/

View File

@ -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>
*/

View File

@ -1,5 +0,0 @@
/**
@page LEVEL2 Functional Requirements
*/

View File

@ -1,5 +0,0 @@
/**
@page LEVEL2 Internal Data Requirements
*/

View File

@ -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?).
*/

View File

@ -1,5 +0,0 @@
/**
@page LEVEL2 Logistics Related Requirements
*/

View File

@ -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"

View File

@ -1,5 +0,0 @@
/**
@page LEVEL2 Packaging Requirements
*/

View File

@ -1,5 +0,0 @@
/**
@page LEVEL2 Performance and Timing Requirements
*/

View File

@ -1,5 +0,0 @@
/**
@page LEVEL2 Persionnel Related Requirements
*/

View File

@ -1,5 +0,0 @@
/**
@page LEVEL2 Precedence and Criticality of Requirements
*/

View File

@ -1,5 +0,0 @@
/**
@page LEVEL1 Releases
*/

View File

@ -1,5 +0,0 @@
/**
@page LEVEL2 Required States and Modes
*/

View File

@ -1,5 +0,0 @@
/**
@page LEVEL2 Computer Resource Requirements
*/

View File

@ -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.
*/

View File

@ -1,5 +0,0 @@
/**
@page LEVEL2 Security and Privacy Requirements
*/

View File

@ -1,5 +0,0 @@
/**
@page LEVEL1 Software Description
*/

View File

@ -1,5 +0,0 @@
/**
@page LEVEL2 Software Interfaces
*/

View File

@ -1,7 +0,0 @@
/**
@page LEVEL1 Support
LEVEL2 Trick core team will provide support to users of the Trick software.
*/

View File

@ -1,7 +0,0 @@
/**
@page LEVEL1 Traceability to Parent Requirements
There are no formal parent requirements that flow into this SRS.
*/

View File

@ -1,5 +0,0 @@
/**
@page LEVEL2 Training Related Requirements
*/

View File

@ -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).
*/

View File

@ -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
*/

View File

@ -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.
*/

View File

@ -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 ]
*/

View File

@ -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.
*/

View File

@ -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 ]
*/

View File

@ -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).
*/