![]()
The overall vision
is one of a multi-dimensional software development. Following such an
approach, one dimension represents the application domain, e.g., flight
guidance (FG). Additional domains
are represented by additional dimensions, e.g., High Assurance (HA), Fault
tolerance (FT), Real-time (RT), Embedded, etc.. Domain knowledge
in each dimension is represented by a catalog of patterns. Different experts may
define the patterns in each domain, and each domain may have its own
modeling notation. Patterns
associated with each dimension are applied to the application software. The selected
patterns must be consistent with the overall system requirements and with
each other. By providing a
variety of solutions to the same problem (using patterns and subpatterns),
we increase the likelihood that we can produce an overall consistent
result. To address issues
related to path specific optimizations and minimize overall footprint, the
application domain may also be decomposed into individual features and
feature sets.
