13. Glossary¶
- API
This term is an acronym for Application Programming Interface.
- assembler language
The assembler language is a programming language which can be translated very easily into machine code and data. For this project assembler languages are restricted to languages accepted by the GNU assembler program for the target architectures.
- C language
The C language for this project is defined in terms of C11.
- C11
The standard ISO/IEC 9899:2011.
- CCB
This term is an acronym for Change Control Board.
- Doorstop
Doorstop is a requirements management tool.
- EARS
This term is an acronym for Easy Approach to Requirements Syntax.
- ELF
This term is an acronym for Executable and Linkable Format.
- GCC
This term is an acronym for GNU Compiler Collection.
- GNAT
- GNU
This term is an acronym for GNU’s Not Unix.
- interrupt service
An interrupt service consists of an Interrupt Service Routine which is called with a user provided argument upon reception of an interrupt service request. The routine is invoked in interrupt context. Interrupt service requests may have a priority and an affinity to a set of processors. An interrupt service is a software component.
- Interrupt Service Routine
An ISR is invoked by the CPU to process a pending interrupt.
- ISVV
This term is an acronym for Independent Software Verification and Validation.
- ReqIF
This term is an acronym for Requirements Interchange Format.
- RTEMS
This term is an acronym for Real-Time Executive for Multiprocessor Systems.
- software component
This term is defined by ECSS-E-ST-40C 3.2.28 as a “part of a software system”. For this project a software component shall be any of the following items and nothing else:
explicitly defined ELF symbol in a source code file
assembler language data in a source code file
C language object with static storage duration
C language object with thread-local storage duration
collection of software components (this is a software architecture element)
Please note that explicitly defined ELF symbols and assembler language data are considered a software component only if they are defined in a source code file. For example, this rules out symbols and data generated as side-effects by the toolchain (compiler, assembler, linker) such as jump tables, linker trampolines, exception frame information, etc.
- software product
The software product is the RTEMS real-time operating system.
- software unit
This term is defined by ECSS-E-ST-40C 3.2.24 as a “separately compilable piece of source code”. For this project a software unit shall be any of the following items and nothing else:
assembler language function in a source code file
C language function (external and internal linkage)
A software unit is a software component.
- source code
This project uses the source code definition of the Linux Information Project: “Source code (also referred to as source or code) is the version of software as it is originally written (i.e., typed into a computer) by a human in plain text (i.e., human readable alphanumeric characters).”
- task
This project uses the thread definition of Wikipedia: “a thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler, which is typically a part of the operating system.”
It consists normally of a set of registers and a stack. The scheduler assigns processors to a subset of the ready tasks. The terms task and thread are synonym in RTEMS. The term task is used throughout the Classic API, however, internally in the operating system implementation and the POSIX API the term thread is used.
A task is a software component.
- thread
This term has the same meaning as task.
- YAML
This term is an acronym for YAML Ain’t Markup Language.