blob: ae70d6ff1b61ffe365e6c6e154a50e9d33713ba9 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2019 embedded brains GmbH & Co. KG
enabled-by: true
glossary-type: term
links:
- role: glossary-member
uid: ../glossary-general
term: software component
text: |
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:
* ${softwareunit:/term}
* explicitly defined ${elf:/term} symbol in a
${sourcecode:/term} file
* ${assemblerlanguage:/term} data in a source code file
* ${clanguage:/term} object with static storage duration
* C language object with thread-local storage duration
* ${thread:/term}
* ${interruptservice:/term}
* 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
${sourcecode:/term} 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.
type: glossary
|