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.
Write clearly if you expect to be graded correctly. Answer the question that is asked and then stop. I reserve the right to deduct points for wasting my time.
You are allowed the notes you have taken, handouts, and printouts of assigned readings but no laptops.
1. We have discussed several basic architecture styles.
a. Control/Feedback is a basic architecture for cyber_physical systems (CPS). Which quality attribute would be a higher priority for a CPS latency or portability? Justify your answer.
b. There are three standard architectural structures: module, component/connector, and allocation deployment structures. What is the relationship between the module structure and the component/connector structure?
c. List two quality attributes that characterize the static view of the software architecture of a product. Explain why each is important.
d. Given the AADL fragment below. Explain in English what it says.
flows
f1: flow path receiveRequest -> conn1 -> serverProcess.thru -> conn2 -> sendToClient {Communication_Properties::Latency => 5us..10 Us;};
properties
Deployment_Properties::Actual_Memory_Binding => (reference (servermemory)) applies to serverProcess;
a. Latency because the controller must respond before the controlled system takes an incorrect action.
b. The components are instances of the modules and the connectors are instances of the relationships among modules.
c. Modifiability and portability. Modifiability is required for maintenance and reuse of the architecture while portability is one approach to managing variability.
d. A flow path is defined with a constraint on how long it takes to traverse the flow. Then a process is associated with a specific memory structure.
2. The content of the architecture is the most important aspect of our work.
a. The client/server style is used in many internet e-commerce systems. What makes the client/server style appropriate for this use?
b. ADD provides a process for creating an architecture based on the importance of quality attributes. How is the priority among quality attributes used in architectural decision making?
c. The bus architecture sends data through a communication link from one element to many others. Which qualities does the bus enhance and which does it degrade?
d. Given the AADL fragment below. Explain in English what it says.
error types
NoSensorData:type extends ErrorLibrary::ItemOmission;
SensorDataOutofRange: type extends ErrorLibrary::OutofRange;
end types;
a. The intent is that one expensive powerful server can handle all of the requests from a set of slower, cheaper clients. The user does not have to make as big an investment as the company that owns the server.
b. In a tradeoff we do not create a design that will enhance the lower priority attribute while degrading the higher priority attribute.
c. Enhances flexibility and maintainability. May degrade security and latency
d. This fragment defines two error types that can be used in our design. They are defined by inheriting from existing error types.
3. We are using Attribute Driven Design (ADD) as the approach to architecture design.
a. Model/View/Controller is useful for interfacing users to the system because it is flexible. What parts of the static architecture make it flexible at runtime?
b. Reliability is the probability of successful execution. Describe one tactic for making a system more reliable.
c. A tactic is applying 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 “intermediary” tactic is applied and what is unchanged.
d. Given the AADL fragment below. Explain in English what it says.
busconn2: bus
access communicationBus<->client1.offBoard;
connection2:
port server1.sendToClient -> client1.receiveData {
Communication_Properties::Latency => 5us..10 Us;
};
a. The fact that an arbitrary number of views can register with the model.
b. Redundancy makes a system more reliable.
c. Two modules are made to communicate through a third module. The specifications of the two modules should stay the same. The latency for an operation involving the two modules may change
d. A connection is established between a bus element and a module. A second connection is defined between two modules with a constraint on time to complete a traversal of the connection.
4. An engineering decision is made carefully and on the basis of evidence.
a. List at least two differences between a reference architecture and a product-specific architecture?
b. How is the difference in importance among stakeholders represented in a quality attribute workshop?
c. A design decision results in the selection of a tactic to apply. List at least two criteria for deciding which tactic to use.
d. Given the AADL fragment below. Explain in English what it says.
component error behavior
events
FailEvent: error event {SensorDataOmission};
DegradeEvent: error event{SensorDataOutofRange};
transitions
fail: Operational-[FailEvent]->Failed;
degrade: Operational-[DegradeEvent]->Degraded;
end component;
a. A reference architecture often uses generic rather than a specific type declaration and allowed bindings rather than actual bindings.
b. In the workshop more important stakeholders are given more votes.
c. Applicability – do the pre-conditions of the tactic fit the actual situation being encountered; Quality profile – does the tactic enhance qualities that are of high priority for the project.
d. A state machine is defined as to how the component reacts to specific error event types.
5. designing architectures
a. What is the relationship between identified hazards and the error models in an architecture?
b. How are the different operating modes of a physical entity represented in the AADL model?
c. Service oriented architecture is an architectural style. A well-designed service is stateless. Why is this a desirable property?
d. Given the AADL fragment below. Explain in English what it says.
flows
AssessedThreatInfo: flow path AssessedInformation
-> MFDSAInformation;
properties
Period
=> 100 ms;
Latency => 1 ms .. 1 ms applies to AssessedThreatInfo;
a. The error model should describe what to do in the event the hazard is not completely mitigated.
b. By states in a state machine. Each state may be constrained by which ports and connections are available in each state.
c. Stateless allows each new use of the service to assume a specific set of pre-conditions
d. Defines a flow path from one port to another and defines the period with which thread is dispatched and the time required to traverse the flow path.