|
|
|
John D. McGregor |
|
Clemson University |
|
|
|
|
These are the requirements that determine the
“shape” of the architecture |
|
|
|
“the software receives a notification whenever a
particular action occurs and acts on that notification” |
|
|
|
“the software takes a file name as parameter. It
reads a formatting line as the first line in the file. It then reads data
values and computes a requested statistical measure” |
|
|
|
“the tool must be able to present data that has
been written in an indeterminate number of different format. The number of
formats will expand overtime” |
|
|
|
|
Hard real-time – must clear a register before it
is overwritten |
|
|
|
Soft real-time – must echo input to the screen |
|
|
|
Human time – respond to query before user gets
angry |
|
|
|
|
|
|
|
|
In this technique design moves are determined by
how well they enhance specific attributes |
|
|
|
Identify module to decompose |
|
|
|
Refine the module |
|
a. identify drivers |
|
b. choose an architectural pattern |
|
c. identify modules |
|
d. define module interfaces |
|
e. verify modules by checking against use
cases |
|
|
|
3. Repeat steps |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A component provides services thru standardized
functional interfaces but provides non-standard control of the quality of
service such as throughput, jitter, security: |
|
Application should be able to monitor and
control the qualities that are important to it |
|
Long-lived applications should be able to use
multiple implementations of standard interfaces without manual interference |
|
For time-critical mode transitions, resources
must be reallocated quickly |
|
|
|
Solution? |
|
|
|
|
Static application connector – acts on
application source code before it is compiled, acts like an aspect weaver
to add new source code to use the Quality connector |
|
|
|
Static infrastructure connector – acts on the
middleware components – may be automatic selection of implementations |
|
|
|
Dynamic connector – allocates infrastructure
resources to data flows |
|
|
|