![]() ![]() |
||||
|
||||
This section defines the following categories of software
components: data, subprogram, thread,
thread group, and process.
Software components may have associated source text specified
using property associations.
Software source text can be processed by source text tools to obtain a binary executable image
consisting of code and data to be loaded onto a memory component and executed by a processor
component. Source text may be written in a traditional programming language, a very-high-level
or
domain-specific language, or may be an intermediate product of processing such representations,
e.g., an object file.
Data components represent data types and static data
in source text. Data components are
sharable between threads within the same thread group or process, and across processes and
systems.
The subprogram component models callable source text
that is executed sequentially.
Subprograms are callable from within threads and subprograms.
Threads represent sequential sequences of instructions
in loaded binary images produced from
source text. Threads model schedulable units of control that can execute concurrently. Threads
can interact with each other through exchanges of control and data as specified by port
connections, through server subprogram calls, and through shared data components.
A thread group is a compositional component that permits
organization of threads within processes
into groups with relevant property associations.
A process represents a virtual address space. Access
protection of the virtual address space is
enforced at runtime if specified by the property Runtime_Protection. The source text
associated with a process forms a complete program as defined in the applicable programming
language standard. A complete process specification must contain at least one thread declaration.
Processes may share a data component as specified by the required subcomponent resolved to
an actual subcomponent and accessed through port connections. |
||||