CpSc 871
Key to Mid-Term 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. Answer the question that is asked and then stop. You are allowed the notes you have taken and printouts but no laptops. You have from 9:30 to 10:45 for the exam.
1.
a. List at least two tasks that should be in the EPF description of an ATAM. What work products do these tasks create?
b. Our connected vehicle is a real object of steel and other physical materials. Our architecture is an abstraction of that physical vehicle. List a physical element of the vehicle that corresponds to the following AADL elements: (1) device; (2) connection; and port group.
c. List at least three factors that affect the length of time for a time-boxed iteration. How is this related to the project’s rhythm?
d. A requirements model is usually a hierarchy of requirement definitions. What is the relationship that maps one level in the hierarchy to another? (Not syntax from a specific requirements language.)
a. Scenario prioritization, sensitivity analysis
b. Gps, CAN bus, RS232 interface
c. Complexity of the product, number of people, volatility of requirements
d.
Refinement/abstraction
2.
a. Portability is the movement of software from its original environment to a new environment while reusability is using a piece of software in a different product from its original use. How are reusability and portability (1) implemented and (2) verified.
b. A manager is trying a new requirements elicitation technique and would like to know if the technique works. Using Goal-Question-Metric derive a possible metric for effective elicitation. Show the goals and questions and metrics defined in that derivation.
c. Describe the project characteristics that justify the use of an iterative style of development.
d. List two ways a change in requirements is “managed”.
a. Standard interfaces; by using in a new context
b. Goal: How effective is this elicitation method; Questions: Does the technique get correct results?; Metric: Number of subsequent changes needed
c. Volatility of requirements, need to show progress to clients
d. Change Control Board, links from one requirement statement to related requirements
3.
a. How do we decide which functions belong in a component?
b. Give two reasons to use the decompose transformation.
c. We considered 4 iterations on an architecture: functional, specification, design, and integration. List the specific types of information specified at each iteration.
d. Why is a high degree of coupling considered bad? How can we reduce coupling but still do the computation that is needed?
a. The architect divides system functions that are needed into modules of similar functionality
b. A module has low cohesion, becomes too complex
c. Function signatures with type definitions; software to hardware mapping; process/thread design within each individual component; connections among components
4.
a. How do we decide which components to connect in an architecture?
b. How is a sensitivity point identified in an ATAM?
c. In the Open/Closed principle the design is open to extension but closed to modification. Why does this lead to a better design?
d. Explain the meaning of the complete statement: Failed-[Repair]->ErrorFree; (the full model is on the last page of the exam so you can see the context)
a. The information needs of one component from another
b. Tracing scenarios with a variety of values
c. Existing code is not modified which reduces the chance of misunderstanding
d. This is a state transition in the error model. A repair event is received while the system is in the failed state and that transitions the system to the Error Free state
5.
a. Using the fault/error/failure view explain how a faulty program is “debugged.”
b. How are scenarios used in an ATAM?
c. CVRIA is a reference architecture. How does it differ from the architecture for a specific product? What is the benefit of a reference architecture?
d. Explain the meaning of the complete statement: Occurrence => poisson 1.0e-3 applies to Repair; (the full model is on the last page of the exam so you can see the context)
a. A failure is noticed outside the program execution, the developer traces that failure to where an error in execution occurs, at that point a fault should be located
b. Scenarios are test cases that are traced through the architecture to verify successful execution
c. The reference architecture is more abstract than a product architecture and allows different products to be defined with more concrete values
d.
This defines how often a Repair event is likely
to occur.
error model Example1 features ErrorFree:
initial error state; Failed: error state; Fail, Repair: error event; CorruptedData:
out error propagation {Occurrence =>
fixed 0.8}; end Example1; error model
implementation Example1.basic transitions ErrorFree-[Fail]->Failed; Failed-[out CorruptedData]->Failed; Failed-[Repair]->ErrorFree; properties Occurrence => poisson 1.0e-3 applies to Fault; Occurrence => poisson 1.0e-4 applies to Repair; end Example1.basic;