CpSc 872

Exam 1

 

 

Name______________________________________________

 

Answer any FOUR of the five questions. Place a large X on the question you are omitting. If you answer all five, the one on which you score the best will NOT be counted. All questions are counted the same: 25 points each. Answer all parts of each question. Note that a part may require more than one response.

 

You can not have a laptop in the exam. You may have the textbook, class notes, handouts, copies of submitted homework. You have from 12:30pm until 1:45pm for the exam.

 

 

  1. Components and State machines

a.     Each component in a system can be thought of as a state machine. How does the specification of each component allow the components to communicate with each other?

b.     Explain what is meant by the AADL phrase: Occurrence=>poisson 1×E-3  

c.      Describe 2 failure modes of the OBD product and the effects of each failure mode.

 

a.      The specification of one component defines ports that must match complementary ports of the other component.

b.     This gives the probability of the event within which it is defined in the context of a specific distribution.

c.      Bluetooth streaming terminates – data is lost; cloud connectivity is lost – data is lost

2.     Fault tree analysis

a.     A fault tree begins at the top with a system failure as the root node. As you move from the top of a fault tree to the bottom what changes about the failures in each layer of nodes?

b.     The fault tree, the output of fault analysis, is related to many other development artifacts. How is the fault tree related to the error model for the system?

c.      An error will cause other computations to be in error.  What purpose does an error propagation element serve in an AADL model?

 

a.      The failures become more localized as you move down.

b.     A fault in the fault tree is related to the error that occurs when that fault is encountered during program execution

c.      An error propagation gives the designer a way to define  a path for error flow.


 

  1. Design

a.      We considered 4 product design perspectives: tools, architectural, media, and usability. Why would a company take the time to design the same product from multiple perspectives? What would be the difference between the product design using the architectural perspective and the design using the usability perspective? (Do not define each if the perspectives, describe how they differ.)

b.     We defined constraints on our product. List two of those constraints. Describe the consequences if violating each separately.

c.      Decompose is a design operator. How does it improve a design? How might it degrade a design?

 

a.      Using different perspectives gives a more complete product description; The priority of system characteristics is different. (Typed the key during the exam and got distracted and left this answer off.)

b.     Answers will vary;

c.      Decompose reduces the complexity of a module by dividing it into 2 smaller modules but this may degrade performance.


 

  1. Specifications, Interfaces

a.      An interface describes the interaction between two components. The specification for each component must fit in the interface. How must a component’s specification fit into the interface definition?

b.     You investigated one of the interfaces in the OBD system. What types of information did you find that was helpful?

c.      Explain the relationship between the state machine for the interface and the specifications of the two components.

 

  1. A components spec must provide the outputs needed by the other module as inputs and vice versa
  2. Answers will vary
  3. The events emitted from the ports provide the triggers for the state transitions.
  1. We have to design error models to accommodate the flow of error information from one component to another.

a.     How does the fault analysis information contribute to the design of the error model?

b.     In general we design so that the system will possess both safety and liveness properties. Explain each of these properties in the context of the OBD example system.

c.      Define at least two errors that might occur in the OBD examples. What would be the failures that result from these errors?

 

a.      An error corresponds to the execution of a fault. Looking at the fault tree identifies errors that could result during an execution (Again, got distracted)

b.     Liveness says that data will eventually reach the cloud; safety says that data will not be lost

c.      There might be Nodata or BadValue errors. NoData results in loss of data; BadValue might result in a predetermined value being inserted in its place