CpSc 875

Exam 1






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.



  1. The three most common architecture structures are modules, component-connectors, and allocation.
    1. Describe the DIFFERENCE among these three structures. That does not mean define each of the three. It means what is there about each one that is not the same as the others.
    2. For the adaptive cruise control, reliability is a high priority. Describe one tactic you used to achieve reliability in your architecture.
    3. Decomposing into smaller modules typically enhances the simplicity of the resulting modules. What is the tradeoff for this? Is it desirable to keep decomposing until each module is a single statement or are there constraints on the amount of decomposition? What are they if they exist?
    4. What qualities are affected by modifying the allocation structure of the architecture?


a. it is the nature of the pieces in each structure: static items, dynamic items, and software to hardware mapping

b. your choice – maybe three separate implementations of the same interface and a voting scheme

c. the tradeoff is that performance is degraded as simplicity is enhanced; decomposition continues until the coupling overtakes the cohesion

d. dynamic qualities such as security and performance

  1. We are using the AADL in developing our architecture definitions.
    1. The concept of a port is found in most ADLs. (not just AADL but any architecture description language)  Why is it such a useful concept?
    2. What role does “flow source” play in an AADL architecture description?
    3. How is the component-connector structure of the architecture described in AADL?
    4. What types of completeness errors might an ADL (not just AADL but any architecture description language) compiler/translator catch?


a.      it models the interface of the component  

b.      flow source models data entry into the software from the outside or a computation that creates a new value

c.       AADL uses the connections section of a system definition to declare a connection between previously declared systems

d.      the compiler could identify end-to-end flow definitions that are missing a flow source or flow sink, connection definitions where one of the systems involved does not exist or is not visible


  1. We are using the Views and Beyond approach to architecture documentation.
    1. List three types of stakeholders for the ACC architecture. Describe the contents of the architecture documentation that is intended for each stakeholder.
    2. What is the purpose of the context diagram in the documentation of a view?
    3. What information is conveyed by means of the variability guide? What would a developer reading this section do as a result of reading the guide?
    4. How does this approach to documentation ( and your documentation in particular) take advantage of the module/components & connectors/ allocation classification of structures?



Sys Admin

Allocation view


Component/connector view


Module view


b. The context diagram shows the portion of the architecture covered by the view.

c. The variability guide describes the places at which products built from the architecture will vary among themselves. The developer must provide components that implement the full range of variation specified in the architecture.

d. Each view is a specific view of one of these three view types.

  1. In the Attribute-Driven Design approach qualities play a fundamental role.
    1. What is different among the performance, maintainability, and faster to market qualities?
    2. Name the type of stakeholder who would champion each of the qualities listed in part a.
    3. How is modifiability enhanced by information hiding? What quality is degraded by information hiding?
    4. When and how are qualities introduced into a project doing architecture modeling?


a. /b.


Dynamic code quality



Static code quality


Faster to market

Product quality



c. information hiding allows the hidden information to be changed more easily but performance is degraded

d. qualities are introduced at the business case, requirements elicitation, domain analysis, and architecture levels

  1. We used the Architecture Tradeoff Analysis Method to evaluate our architecture.
    1. How could you modify the ATAM technique to account for some stakeholders having more importance than others?
    2. What is the purpose of having “themes” as an output of the evaluation?
    3. How is the AADL model used during the ATAM activity?
    4. Describe one major change that you will make to your architecture as a result of the ATAM.



a.      give more votes to the more important stakeholders

b.      a theme combines information about a particular concept that is mentioned in all of the analysis categories to identify areas that represent the greatest concerns

c.       The AADL model can be used to clarify the more abstract views during scenario analysis

d.      Your choice