|
|
|
John D. McGregor |
|
Clemson University |
|
|
|
|
A strategy is a high-level plan for achieving a
goal. |
|
|
|
A tactic is the actual set of steps for
achieving the goal. |
|
|
|
|
|
|
|
|
Apply an architectural style that fits the
overall problem |
|
|
|
This involves mapping the pattern onto the
elements of the problem. |
|
|
|
In a large research organization, research
reports are produced, reports and papers from outside the organization are
found and read by subscribing to journals and attending conferences. We
need an information system which makes certain that each researcher sees
the information he/she needs. |
|
|
|
|
|
|
Data is produced |
|
Data is consumed |
|
|
|
Should a researcher search for what they want at
the moment or should it just show up? |
|
|
|
How would the researcher indicate what
information they want to see? |
|
|
|
|
|
|
Do a domain analysis of the attribute |
|
What techniques affect the attribute |
|
Which of those techniques enhance the attribute |
|
|
|
|
A fault that causes a failure affects
availability so
|
|
|
|
Remove the fault or find a work-around |
|
|
|
Fault detection |
|
exceptions reactive |
|
ping - proactive |
|
|
|
Fault recovery |
|
hot swap |
|
|
|
Fault prevention |
|
operational guideline reboot every day |
|
|
|
|
|
|
How can we provide for more thorough testing |
|
|
|
Record/Playback |
|
supports future testing |
|
|
|
Special test interface |
|
very common in hardware |
|
|
|
Internal monitoring |
|
during testing the monitor checks state and
throws an exception |
|
|
|
|
Separate user interface |
|
changes to user interface do not change
functionality |
|
|
|
Support user initiative |
|
cancel/undo operations |
|
|
|
Support system initiative |
|
models of user, system, task |
|
properties files |
|
|
|
|
Architectural pattern involves several tactics |
|
ActiveObject pattern from Schmidt |
|
|
|
Main idea is introduction/management of
concurrency |
|
Concurrency performance tactic |
|
Information hiding Modifiability tactic |
|
Intermediary Modifiability tactic |
|
Binding time Modifiability tactic |
|
Scheduling policy performance tactic |
|
|
|
|
|
|
|
|
A pattern is a solution to a problem in context |
|
|
|
So a pattern is already validated as to the
tradeoffs among the tactics within it, but
|
|
|
|
The tradeoffs only apply within the context
for which the pattern has been validated |
|
|
|
|
|
|
|
|
Concurrency performance tactic runtime |
|
|
|
Information hiding Modifiability tactic
design time |
|
|
|
Intermediary Modifiability tactic design
time |
|
|
|
Binding time of client/proxy Modifiability
tactic - open |
|
|
|
Scheduling policy performance tactic design
time or later |
|
|
|
|
|
|
Want services but in as small a footprint as
possible |
|
|
|
High reliability and security for services |
|
|
|
Modular system components |
|
|
|
Configurability |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|