This website is preserved for historical and scholarly reference and is no longer actively maintained.
Architectural Design
|
|
|
John D. McGregor |
|
Clemson University |
Architectural Drivers
|
|
|
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” |
Architectural Drivers
|
|
|
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 |
|
|
|
|
ADD – Attribute Driven
Design
|
|
|
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 |
Decomposition
Decomposition
Decomposition
Decomposition
Constraints
Teams
Distributed, real-time,
embedded
|
|
|
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? |
Use a Quality Connector
|
|
|
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 |
Quality Connector