Turnstile Example - ge-high-assurance/RACK GitHub Wiki

Turnstile Model v2.0

Turnstile Software Development Plan

The Turnstile example has been expanded to provide a more encompassing view of data that is expected to be loaded into RACK. This expanded version starts with planning documents and provides example data going up and down the development V. While not a complete DO-178C example this expanded version provides a much more representative example of how RACK can be used to curate the multitude of data associated with the development of software. This expanded example includes multiple levels of requirements, data dictionaries, testing, as well as the activities and agents responsible for there development.

Turnstile System Components

TurnstileBDD

This block definition diagram show the basic components of the Turnstile System:

  • Ingate is the physical gate that is used to meter the flow of people into the venue
  • Outgate is the physical gate that counts the flow of people leaving the venue
  • CounterApplication is the software that manages the running census
  • Display is a simple display to show the count of people in the venue

Turnstile System Interfaces

TurnstileIBD

This internal block definition diagram show the basic flow of information in the Turnstile System:

  • Ingate provides a signal that has the count of the people entering the venue
  • Outgate provides a signal that has the count of the people exiting the venue
  • CounterApplication provides a signal that has the count of the people in the venue

Turnstile System Hazards

TurnstileSystemHazards

There are two hazards that have been identified in this example:

  • The System could crash resulting in a situation where an unknown number of persons are in the venue
  • The System could allow the venue to exceed capacity resulting in a situation

Furthermore, the first hazard has been analyzed further to identify two conditions that could lead to this hazard, a integer underflow condition and an integer overflow condition.

Turnstile System Requirements

The Turnstile Example provides various example requirements. System Level, High-level Software and Low-Level Software requirements are all represented in the example. In addition, Data Dictionary Terms are included to provide relationships between requirements at a given level. Examples of tracing to higher level requirement are included. Development activities are identified along with the Agents that performed the activities.

Turnstile System Testing

The Turnstile Example provides examples of testing evidence. This evidence is provided without any source materials; only evidence data is provided. This data includes tests and traces to tested requirements, test results, and test execution.

Turnstile System Software

The Turnstile Example provides examples of software evidence. Example of this evidence include source files with tracing to requirements, an Executable with tracing to Build details, including object and packaging information.

DO-178C Objectives

The Turnstile Example comes with some examples of how the development artifacts demonstrates the satisfaction of various DO-178C objectives. Activities that produced evidence are traced to the Objective with the satisfiedBy relationship (OBJECTIVE -> ACTIVITY).