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
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.
- We
have discussed several basic architecture styles.
- What
operation did we use to integrate the 4 tier architecture style with the
model-view-controller architecture?
- We discussed
the Container architecture with respect to the social networking software.
What is one benefit of the Container style? In Figure 1 there is a box
marked Servant located inside the Container. This is the service we want
to use. How does having the services in the Container improve the
architecture?
- The
CORBA architecture is shown in Figure 1.
Line A in the architecture represents a pipe and filter view of the
architecture. What are the filters along the flow?
- Identify
another fundamental style used in the architecture given in Figure 1.
(Not a Container and not pipe and filter) Describe which parts of the
drawing in Figure 1 correspond to which parts of the standard style.
Consider the object request broker
architecture below.

Figure 1 Broker architecture pattern
a. Composition
b. A benefit of the container
style is the availability of infrastructure in one place.
c. The IDL stubs, orb core,
portable object adapter, IDL skeletons, and container
d. layers
- The
content of the architecture is the most important aspect of our work.
- The
modes of a product include normal operational modes and error modes. In a
correctly functioning product, when one module emits an event, the
receiving module must be in the correct mode to receive it. What
architectural structure can be used to help us describe this?
- The
use of simulated execution of the architecture is intended to reduce
risk. Give a complete statement of what the risk is. Explain how the
simulated execution reduces the risk.
- There
are static and dynamic views of the logical and physical architectures.
Pick two of static/logical, static/physical, dynamic/logical, and
dynamic/physical and give examples of them from the iTiger architecture. How
does AADL bring the logical and physical architectures together?
- How
do we accommodate a piece of software that is brought into the project from
the outside and imposed on the architecture but it does not completely
replace all of each module it touches? For example, the web server, which
cuts across the presentation layer and business layer.
- Constraints; The Guard_In
and Guard_Out constructs capture the idea that we need a constraint to
express the need to only transmit data that the receiver is ready to
handle
b. There is the
possibility that a flow will not be complete, but the architecture is too
complex for it to be readily visible. Initially the probability of this
happening is small but increases rapidly. Making changes to a complex
architecture that is not understood can take a long time and be expensive.
Running simulations reduce the likelihood that a flow is incomplete without us
knowing about it.
c.static/logical
a system definition
static/physical the declaration of a device,
memory, bus, etc
dynamic/logical a subcomponent declaration
dynamic/physical an instance of a processor
or memory, etc
d.The existing architecture modules
are decomposed along the boundaries of the piece of software being brought in.
- We are
using Attribute Driven Design as the approach to architecture design.
- How
are the requirements for a product introduced into the architecture
design process?
- Describe
the role of the Quality Attribute Workshop in addressing requirements?
- List
three stakeholders in iTiger. Describe why each has a right to have a say
in the architecture. What information will each one contribute that
others can not?
- A
tactic is a specific modification of the architecture. You can think of
it as a transformation from one architecture to
another. List one tactic we have applied. Describe what the tactic
changed about the architecture. What about the architecture was improved
by that transformation?
a.requirements are used to define
scenarios
b. The QAW addresses the non-functional requirements. The
QAW provides a process that helps prioritize those requirements.
c. game attendee, replay tager,
athletic director
game attendee this person is
paying for the service; they know what they are willing to pay for
replay tager this person is
creating content for the service; this person knows the technology that is
available to format content for the users
athletic director this is the
person with the original idea; they have the initial vision which no one else
has; they know the original business model
d.redundancy is a tactic to improve
reliability;it provides multiple ways to accomplish a single task so that if
one is unavailable the other approach can be used
- An
engineering decision is made carefully and on the basis of evidence.
- Consider
the decision about where to place the social network interface in our
architecture. What criteria were used to make that decision? Why were
they important criteria?
- How
is the quality of such a decision evaluated?
- How
do the ArchE and AADL models help make that decision?
- We often begin with a standard
architecture, like the 4 tier model, but then we modify it to tailor it
to the specific problem. List at
least two fundamental operations that we could apply to that standard
architecture to modify it. Describe what each does.
a.The architecture drivers were the
criteria, in particular the highest priority quality attributes; they were
important because we had worked with all the stakehiolders and these were the
qualities they most wanted
b.by how much each quality was
enhanced
c.These models give us a basis for
tracing through different paths to determine which would be the longest, which
has the most dependencies that must be changed, etc
d.composition and decomposition
composition allows us to add modules to the existing architecture as we did
with the social networking interface module; decomposition allows us to break
up a module into smaller modules as we did with the MVC in the client
- We are
using these tools for our work: The OSATE Eclipse plug-in for AADL, ArchE,
and the ADeS and Furness simulators.
- Describe
the sequence in which the tools are used. Describe the representation of
the architecture at each point in the sequence.
- How
is the output from ArchE used as input to the AADL model? In other words,
how can the two models be compared to ensure they match?
- The
ADeS simulator provides as output the occurrence of events and the modes
of those threads. How can this output be used to improve the architecture
being simulated?
- How does
a port in AADL interact with connections and flows? What is the
difference between a connection and a flow other than the obvious difference
that one is internal to a system and the other is external?
a.The tool chain begins with ArchE
followed by AADL; followed by the simulators; The representation is initially a
set of scenarios which are decomposed into responsibilities and eventually to a
network of responsibilities. This network is translated into a network of
system declarations which are translated into a network of system instances
b. The network of responsibilities is used to identify
clumps of responsibilities that become systems in AADL.
c. The architect examines the sequence coming from the
simulator with the estimated times of service to see where time is being spent,
where threads collide, etc. The model is revised to improve the throughput.
d. An in port serves as the recipient of event data from a
connection and places the event data on a flow inside the element. Opposite for an out port. The difference is the intent. The
connection plugs dissimilar things together while the flow provides the logic
of the system.