![]() ![]() |
||||
|
||||
A system instance represents the runtime architecture
of a physical system that consists of
application software components and execution platform components.
A system instance is completely instantiable if
the system implementation being instantiated is
completely specified and completely resolved.
A system instance is completely instantiated and bound
if all threads are ultimately bound to a
processor, all source text making up process address spaces are bound to memory, connections
are bound to buses if their ultimate source and destinations are bound to different processors, and
subprogram calls are bound to server subprograms as necessary.
A set of contained property associations can reflect
property values that are specific to individual
instances of components, ports, connections, provided and required access. These properties
may represent the actual binding of components, as well as results of analysis, simulation, or
actual execution of the completely instantiated and bound system. Thus, multiple sets of
contained property associations can be associated with the same system instance to represent
different system configurations.
Legality Rules
The system type specified for a system instance must
not contain any required subcomponents.
A complete system instance must not contain incompletely
specified subcomponents, ports, and
subprograms. All processes in a completely instantiable system must contain at least one thread.
In a complete system instance, the ports of all threads,
devices, and processors must be the
ultimate source or destination of semantic connections. The Required_Connection property
may be used to indicate that a port connection is optional. In the case of the predeclared Error
and Complete
ports (see Section 5.3), connections are optional.
In a completely instantiable system, the subprogram calls
of all threads must either be local calls
or be bound to a server subprogram whose thread is part of the same mode.
In a completely instantiable system, for every mode that
is the source of mode transitions, there
must be at least one mode transition that is the ultimate destination of a semantic connection
whose ultimate source is part of the mode.
In a complete system instance, aperiodic and sporadic threads that are part of a given mode
must have at least one connection to one of their in event ports or in event data ports
or their
predeclared Dispatch
port. The predeclared Dispatch port must not be connected if the thread
has a Dispatch_Protocol
property value of periodic
or background.
For instantiable systems, all threads must be bindable
to processors and all components
representing source text must be bindable to memory.
The source text associated with all contained components
of the system instance must be
compliant with the specified component type, component implementation, and property
associations.
A system instance must contain at least one thread, one
processor and one memory component
in its containment hierarchy to represent an application system that is executable on an execution
platform, i.e., a processor with memory containing the application code and data.
Semantics
A system instance represents an operational physical
system. That physical system may be a
stand-alone system or a system of systems. A system instance consists of application software
and execution platform components. The component configuration, i.e., the hierarchical structure
and interconnection topology of these components is statically known. The mode concept
describes alternative statically known component configurations. The runtime behavior of the
system allows for switching between these alternative configurations according to a mode transition
specification.
The physical system denoted by a system implementation
can be built if the system is instantiable
and if source text exists for all components whose properties refer to source text. This source text
must be compliant with the AADL specification and the source text language semantics. Source
text is processed to generate binary images. The binary images are loaded into memory and
made accessible to threads in virtual address spaces of processes.
In addition, there exists a kernel address space for
every processor. This address space contains
binary images of processor software and device software bound to the processor. |
||||