CpSc 875

Exam 2 - Key

 

 

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 notes you have taken and handouts.

 


 

  1. Model-driven development uses tools to manipulate models.

a.       The Eclipse Process Framework models processes. Assuming we have an EPF model of the ADD process we followed this semester, describe how you would modify the model to incorporate the continuous-ATAM technique we discussed.

b.      We have represented architectures at several levels: conceptual, logical, physical. For each of these three levels list at least 3 AADL constructs specific to that level.

c.       Describe 2 architectural tactics for increasing the availability of the robotic surgery system. Which would be better to use? why?

d.      How is a layered architecture different from a tiered architecture? How are they the same?

 

a.       Create a task called Continuous-ATAM, create roles for carrying out the task (reviewer, moderator, scribe), and create a workproduct – ATAM report.

b.      Conceptual - system

Logical – threads, process

Physical – bus, processor

c.       Redundancy, fault tolerance; fault tolerance will continue operation after a failure without the overhead of a second component required for redundancy

d.      The difference is the basis for the abstraction. Away from hardware (layer) or away from user (tiers)

  1. We are using the AADL in developing our architecture definitions.

a.       How is the separation of concerns shown in the architectural documentation for a product?

b.      Explain the relationships among a reference architecture, a product line architecture, and a product architecture.

c.       Explain in detail every element of the following behavioral model:

 

Defined before the behavioral spec:

 

timer : in event port ;

intit : in event port ;

eofit : in event port ;

aocsack : out event port ;

dorack : out event port ;

 

Now explain this specification:

 

annex behavior_specification{**

states

s0: initial complete state;

s1, s2, s3: complete state;

t r a n s i t i o n s

s0 − [timer?]-> s1;

s1 − [intit?]-> s2 {aocsack ! ; } ;

s2 − [intit?]-> s3 {dorack ! ; } ;

s3 − [eofit?]-> s0;

**};

 

A.    two or more views

B.     The differences are in the scope and level of abstraction. A reference architecture describes the structure of a general class of systems in a domain; a product line architecture describes the structure of a smaller set of systems in more detail; and the product architecture resolves the generality to focus on one system.

C.     The behavior specification shows a state machine in which the transitions are triggered by an event arriving at one of three in ports. In two of the cases a side effect of the transition to the new state is raising an event on an out port.

  1. We used the Views and Beyond approach to architecture documentation.

a.       What are the architectural elements (conceptually, not the AADL syntax) represented in the module decomposition view?

b.      Which documentation view presents processes and threads? What is the relationship between an end-to-end flow and the process architecture?

c.       How could a blackboard style be integrated with the 4 tier architectural style? Why does this work?

d.      Describe a view that should be included in the robotic surgery architecture documentation. Which stakeholders is the view intended for? What does this view provide that no other view does?

 

A.    Modules and relationships

B.     Component and connector or allocation. The end-to-end flow cuts across the processes in the architecture.

C.     The blackboard could be composed into one of the tiers.

D.    The allocation view would illustrate which of the two processor boxes each thread is allocated to.


 

  1. In the Attribute-Driven Design approach qualities play a fundamental role.

a.       How are quality attributes considered in an application of ATAM to an architecture?

b.      How is the “distributedness” of a distributed system represented in AADL?

c.       Describe 2 architectural tactics for increasing the maintainability of the robotic surgery system. Which would be better to use?  Why?

d.      Explain exactly what this screen print from Cheddar shows to the architect:

 

 

A.    QA scenarios are elicited from stakeholders during the initial phases of the ATAM. The QAs are prioritized and the system is analyzed to determine whether a system built from the architecture would have appropriate levels of each quality.

B.     Two systems, or processes, or threads are allocated to two separate processors

C.     Decomposition and information hiding; Information hiding will degrade fewer qualities

D.    This shows that there is a schedule for allocating the processor’s time to each of the two tasks so that they both complete their tasks within the required time.

  1. Software architecture techniques are used to describe single software products and product lines of software products.

a.       List at least two AADL constructs that can be used in the design of a variation point. Explain how they provide variation.

b.      Explain the difference between “allowed memory binding”, and “actual memory access”.

c.       Explain exactly every detail of the following:

 

Annex error {**

events

 Failure: error event;

States

   Operational: initial state;

   Failed: state;

Transitions

   BadValueTransition : Operational -[Failure]-> Failed;

**}

 

  1. Extension and parameterization; Extension allows a system to be defined whose specification contains all of the elements system of another system and adds additional elements. Parameterization allows all polymorphic elements equivalent to the specified parameter type to be passed.
  2. The difference is whether the binding is specified or implemented.
  3. The error state machine initializes in the Operational state. When an error event named Failure is raised, the system transitions to the Failed state.