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.


 

  1. We have discussed several basic architecture styles.
    1. 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?
    2. 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.
    3. 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?
    4. 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

 

 


 

  1. The content of the architecture is the most important aspect of our work.
    1. The feedback/control loop style is used with related sensors and actuators. What does the feedback portion of this architecture provide?  
    2. We might apply the reflection tactic to the telematics system. What qualities does that tactic enhance in the architecture?
    3. Name one type of error possible in the telematics system. Describe how that type of error should be handled in the architecture.
    4. 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


 

 

  1. We are using Attribute Driven Design (ADD) as the approach to architecture design.
    1. How can we ensure that the architecture is complete with respect to the requirements?
    2. 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?
    3. Reliability is probability of failure-free operation. List two architectural elements that would enhance the reliability of a telematics system.
    4. 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


 

 

  1. An engineering decision is made carefully and on the basis of evidence.
    1. 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?
    2. The model hierarchy in AADL is system, process, thread, subprogram. Explain the relationship between threads and processes.
    3. 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.
    4. 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

 


 

  1. 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.
    1. 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?
    2. In AADL features and connections provide a component-connector view? What types of questions can the architect answer using this view?
    3. 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?
    4. 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