![]() ![]() |
||||
|
||||
A property provides information about component types,
component implementations,
subcomponents, features, connections, flows, modes, and subprogram calls. A property has a
name, a type, and a value. The property name declares a name for a given property along with the
AADL components and functionality to which the property applies. The property type specifies the
set of acceptable values for a property. Each property has a value or list of values that is
associated with the named property in a given specification.
A property set contains declarations of property types
and property names that may appear in an
AADL specification. The two predeclared property sets in this standard define properties and
property types that are applicable to all AADL specifications. Users may define property sets
that
are unique to their model, project or toolset. The properties and property types that are declared
in
user-defined property sets are accessed using their qualified name. A property name declaration
within a property set indicates the component types, component implementations,
subcomponents, features, connections, flows, modes, and subprogram calls, for which this
property applies.
Properties can have associated expressions that are statically
typed, and evaluate to a specific
value. The time at which a property expression is evaluated may depend on the property and on
how a specification is processed. For example, some expressions may be evaluated immediately,
some after binding decisions have been made, and some reflect runtime state information, e.g., the
current mode. During analysis, all property expressions can be evaluated to known values, if
necessary, by considering all possible runtime states. A given property name may have a default
expression. |
||||