Answer any FOUR of the five questions. Place a large X on
the page for the question you are not answering. If you answer all five, I will
not count the one on which you did the best. All questions are counted the
same: 25 points each. Be certain to answer ALL parts of the questions you
select to answer. When a question refers to either the architecture you
developed in the project or specific examples that we developed in class, be
certain to answer using the correct system. You are allowed the textbook, notes
you have taken and handouts but no laptops.
have discussed several basic architecture styles such as pipe and filter
and MVC. In some of the three products we used the J2EE architecture.
were the layered style, MVC style, and J2EE style integrated in the thin
service oriented architecture (SOA) style is a relatively new style. Which
attributes of CTAS would be enhanced by the use of SOA? Which would be
do two styles differ? That is, how can the architect look at two styles
and choose between them?
there are alternatives in an architecture, such
as our three types of clients, how is the set of variants represented in
the AADL model? When does the selected variant get bound into the
- Elements of the MVC were composed
within the top 2 layers of the layered style. J2EE was largely independent
except that the client portion encompasses the Model part of MVC.
- Portability, maintainability, and availability
are enhanced. Performance will be degraded.
- They differ in the profile of qualities
- Each variant is at least defined in an
implementation. Then an instance of that implementation is selected as a
subcomponent in a system definition.
produced extensive documentation for our architecture.
is the difference between an allocation view of the architecture and a
component – connector view?
view would be best to use to explain to an interested stakeholder about
how a particular use case is satisfied? Why?
is the relationship among view type, view, and view packet?
does the binding of threads and processes to hardware get documented?
- Allocation view shows connections
between internal and external entities while the component-connector view
shows connections between internal elements.
- Component-connector provides the
sequence of actions that satisfy a use case
- A view is an instance of a view type
while a view packet is a subset of a view.
- Allocation view
used Attribute Driven Design (ADD) as the approach to architecture design.
are several criteria for dividing a module. List two. For each describe
why that is a valid criteria.
- ArchE is intended to support ADD. How does ArchE support ADD?
used a layered approach to accommodate meta-data in the architecture.
What attributes did this enhance? Which, if any, did it degrade?
one tactic that enhances modifiability. Use the stimulus-response form of
concerns – each resulting module is more simple increasing the likelihood it
will be implemented correctly
abstraction – the more general module will facilitate reuse of general information
automated reasoning about changes in the qualities that drive the architecture
“meta” is a
form of abstraction so it enhanced modifiability and extensibility
hiding” is a tactic that enhances modifiability
captured both the logical and physical architectures in AADL.
Driven Development uses the platform independent model (PIM) and the platform
specific model (PSM). Relate these two models to the architecture
representations we have used this semester.
two risks that an ATAM of your system would have identified. What did you
do to mitigate these risks?
two scenarios you would have created if you had conducted an ATAM on the
system you architected. Give the rationale for why each was of sufficient
importance to use. In other words, how would these two scenarios
contribute to the evaluation of the architecture?
had definitions in our model that included: system/port/flows;
thread/process/subprogram; and bus/memory/processor. How are these three
groupings different? When should a model have all three groupings?
- the PIM is the set of packages of AADL
that specify the architecture (shown in module view); The PSM is the
system implementation that binds each element to a hardware entity(shown
in the allocation view)
- (1) your understanding of the domain may
be inadequate – mitigate by finding information on similar systems –
references on the course resources page (2) the performance of a
prototyped system may be inadequate – mitigate by introducing performance
- (1) The CTAS user revises an existing
itinerary by changing only the dates of travel, the system responds by
using the flight numbers to cancel the old reservation and make a new one.
This scenario illustrates the usability of the system. (2) The CTAS user
cancels a guaranteed reservation, the system responds by canceling each
segment and collecting and storing the cancellation confirmations for
- The level of abstraction away from the
hardware. A model should have all three groupings if either (1) the
company produces hardware and software or (2) the product is resource
constrained and the interaction between hardware and software needs to be
- We expanded
our use of tools to include three tools for our work: The OSATE Eclipse
plug-in for AADL, ADeS and ArchE.
architecture information does the AADL model capture that the ArchE model does not?
can we combine the information from the three tools to determine whether
we are meeting the required quality attribute levels?
is different as we move from scenarios to responsibilities to functions?
examples from CTAS for the sequence of scenario – responsibility –
- AADL captures the abstract structure of
- ArchE is used to represent the initial
scenarios for the product and the AADL model is used to capture the
initial structure, usually a classic structure such as MVC independent of
detailed scenarios. As the scenarios are used to identify more detailed
responsibilities, the responsibilities can be captured in AADL by
assigning them to the modules in the classic architecture structure. Where
modules are too complex or too diverse, modules are decomposed and
responsibilities split between the new modules. Eventually the scenarios
from ArchE are mapped to AADL end-to-end flows
to allow analysis of a simulated system using ADeS.
- The scope and level of granularity
- Scenario – revise itinerary;
responsibility – retrieve itinerary; function – database access