CpSc
875
MidTerm
Exam
Name________________________________
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
eliminate 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. Answer the question that is asked
and then stop. You are allowed the notes you have taken and handouts but no
laptops.
- We
have discussed several basic architecture styles.
- Autosar is a reference
architecture for telematics. What is the
difference between a reference architecture and
a product-specific architecture? What can you do with a reference
architecture that you cannot do with a product-specific architecture?
- We
discussed a service-oriented architecture style. List two quality attributes that are
enhanced by using this style. List one quality attribute that is degraded
by using this style.
- The blackboard style is used as public data
sharing space. If the central anti-lock brake subsystem uses that data to
determine what to have each brake do (release or grab) what are the top
two quality attributes to guide the design of
that subsystem? Why?
- What
is the difference in the types of reasoning that an architect can do
based on the logical and physical architecture? (DO NOT DEFINE PHYSICAL
AND LOGICAL, JUST THE DIFFERENCE.)
a.
You can define the basis for many products instead of
just one.
b.
Performance is degraded; portability and extensibility
are enhanced
c.
Reliability – because it has to work every time;
Latency – because it must turn on and off brake pressure rapidly to be
effective
d.
Conceptual reasoning in the logical and runtime
reasoning in the physical
- The
content of the architecture is the most important aspect of our work.
- The feedback/control
loop style is used with related sensors and actuators. What does the
feedback portion of this architecture provide?
- We might apply the reflection tactic to the telematics system. What qualities does that tactic
enhance in the architecture?
- Name
one type of error possible in the telematics
system. Describe how that type of error should be handled in the
architecture.
- Traceability
from requirements to implementation is important to the integrity of the
product. The scenarios that are part of the input to ADD start the
tracing. How is it continued in the AADL model?
a.
Provides the data upon which the controller bases acxtions
b.
Modifiability
c.
Data out of range error (many possibilities here) –
handled by smoothing over several reads but ultimately may be passed on as an
unknown value to calling modules
d.
Flows represent scenarios
- We are
using Attribute Driven Design (ADD) as the approach to architecture
design.
- How
can we ensure that the architecture is complete with respect to the
requirements?
- The
documentation for an architecture is broken into
views. List one standard viewpoint and describe what it would show in the
telematics domain. Which stakeholders would
benefit from the views developed from that viewpoint?
- Reliability
is probability of failure-free operation. List two architectural elements
that would enhance the reliability of a telematics
system.
- A tactic
is a specific action on the architecture. You can think of it as a
transformation from one architecture to another.
Describe what is changed in the architecture when the encapsulation
tactic is applied and what is unchanged.
a.
Expert review of the SAD; simulations of the architecture
b.
Module decomposition view (multiple possible answers) –
it shows the static relationships among the defined modules and it shows their
definition – developers can assign responsibility based on this view; managers
can track progress based on this view
c.
Redundancy and 3-voter tactic
d.
The packaging of information into modules; the
visibility of that information is unchanged
- An
engineering decision is made carefully and on the basis of evidence.
- The
client/server style is used in many systems. Some people view the
interaction between any two modules as client/server. When is that
interaction between two modules client/server and when is it not?
- The
model hierarchy in AADL is system, process, thread, subprogram.
Explain the relationship between threads and processes.
- The
AADL error annex describes the system’s error behavior using state
machines. Assume that an “insufficient pressure” error occurs in the
anti-lock brake hardware. Sketch a state machine for the error processing
of such an error. Handle the error with the minimum of disruption to the
system and as safely as possible.
- A
design decision usually involves choosing between two or more different
tactics that could both be applied. How does the architect decide which
tactic to apply?
a.
It is client/server when one module makes a request of
another and the second can fulfill that request without asking the first for
additional information. It is not client/server when there is a two-way dialog.
b.
Process contain and manage threads
c.
The state machine would move into the error state “suspect”
where additional tests would be run before returning to the operational state
machine or being moved into the failed state. (multiple possible answers)
d.
By looking at the quality attribute profile and selecting
the tactic that results in the most favorable impact on qualities
- We are
using these tools for our work: ADD is the process, Topcased
is representing for use cases and AADL is used to describe the
architecture.
- ATAM
is the architecture evaluation technique in ADD. How does ATAM take into
consideration the knowledge of the system stakeholders? What is the risk
associated with this approach?
- In
AADL features and connections provide a component-connector view? What
types of questions can the architect answer using this view?
- What
information is important in understanding the architecture that is not
readily available in the AADL text and must be added in English in the
documentation?
- How
are the differences between the physical and logical architectures
represented in AADL?
a.
We assign votes based the knowledge and importance of the
stakeholder; also we ask stakeholders to define scenarios
b.
Runtime issues such as latency; flow issues like error
handling
c.
The assumptions and constraints imposed by the business
domain
d.
Systems can be defined as abstract; specifications give
a logical view while implementations give a physical view