CpSc 875

Key for Exam 2

 

 

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.  

a.      What types of attributes does a cyber-physical system possess that the typical data processing system does not have?

b.     The uncertainty record in a ReqSpec requirement has 2 fields: volatility and impact. Explain what each means in the context of a system’s requirements.

c.      There are product-based approaches and process-based approaches to evaluating a system. Explain the difference between these two approaches.

 

 

a.      continuous, analog properties related to physical characteristics

b.   volatility is the rate at which the requirement will change while impact is how many other requirements will be affected in some way when the requirement changes

c. the difference is the criteria used to evaluate the system; do we examine parts of the product through testing or do we examine how carefully the workers performed their work I building the product

 

b.      

a.      Explain the purpose of evidence in an assurance case. Give at least 2 examples of evidence.

b.     Explain the DIFFERENCE between an AADL connection and a flow.

c.      AADL is a standard and there are thousands of software engineering standards. Developing a standard is an expensive process. What is the value of a standard that offsets the cost of its creation?

 

 

a.      Evidence is information that a person believes to be correct and in support of a question. Tests past are evidence of correct code. Scenarios that evaluate to correct answers are also evidence

b.     A connection is between 2 elements while a flow is within a specific element

c.      A standard will ultimately save money and time and aids in communication resulting in fewer mistakes

 


 

 

 

c.       

a.      Explain the relationship between the module view and the component/connector view for architecture documentation.

b.     Errors are incorrect flows or values in an architecture. Error propagation occurs when errors from one element affect another element. What can the architect do to identify error propagation as early as possible? What tool did we use to automate this?

c.      A layered architecture has constraints intended to prevent cycles among architectural elements. What is detrimental about having cycles?

 

a.      The component connector view shows instances of the modules defined in the module view and shows how the module definitions are related.

b.     Errors can only propagate between modules that are connected. Looking at component/connector diagrams is one way to see potential propagations. OSATE can partially support this.

c.      A cycle can lead to infinite recursion and also makes it impossible to reuse one element without using the others in the cycle since they depend upon each other for part of the implementation.


 

d.      

a.      An architecture can be chosen to support a business strategy. The platform strategy is used by organizations such as Eclipse. Describe how the architecture looks to realize a platform that supports multiple similar products.

b.     What AADL constructs are used to derive a product architecture from a reference architecture?

c.      Explain the difference between extensibility and flexibility.

 

 

a.      The platform separates some common basis of implementation from the areas of variation; usually this is some hardware/operating system basis but may also separate some fundamental approaches

b.     Extends and refines to

c.      The difference is the type of change they each accommodate. Flexibility allows changes that stretch what is already in the system to new limits while extensibility add new capabilities.

 

                                                                                        


                                                                                        

e.       

a.      The behavior of a system (both nominal and error) is often partitioned into a set of states (or modes). How is the architecture improved by this action?

b.     The control/feedback loop architecture uses inputs to “constantly” adjust the actions of the actuators. How might a service-oriented style be incorporated into this architecture? List and explain at least two risks associated with this approach.

c.      Both the quality attribute workshop and the ATAM include human discussion and voting. What parts of the process are intended to overcome human bias and misconceptions?

 

a.      Each state (or mode) is disjoint from the others based on a specific criteria. By subdividing these criteria we can more accurately predict what the correct behavior should be.

b.     The controller could be composed of services carrying out computations to determine the correct behavior. Risk 1: services will not be available when needed; Risk 2: the selected service may not possess the appropriate attributes (speed, space, security) to be effective

c.      The variable number of votes and the multiple sessions of voting