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 textbook, notes you have taken and handouts but no laptops.
We decomposed the one component into two because it enhanced qualities we care about for this system and degraded only qualities that are of lesser importance. In particular this enhanced security, separation of concerns, and organizational structure and maybe degraded performance a bit but a cache might be used to offset the performance penalty.
We decided to expose algorithms as services to allow us to compose various configurations of our product. Exposing the algorithms as web services would decrease security while ordinary services could be private to our application.
MVC enhances maintainability and simplicity but degrades performance. The phrase “this window has the focus” indicates which view is receiving events from the controller.
An AADL model provides a
representation that provides a structure that can be used to evaluate static
properties such as modularity and provides a means of defining a totally bound
system which can be used to evaluate dynamic properties.
The highest priority is which placement will result in the greatest accuracy. The second is which will result in the most secure system. After the high priority qualities comes the cost of a server capable of handling multiple modeling sessions simultaneously vs an individual client capable of handling a single modeling session.
The reference architecture provides a readymade decomposition that reflects the qualities that are usually important in an application in the domain represented by the reference architecture.
Static/logical – definition of a patient history
Static/physical – the process definition for computing the model for a patient
Dynamic/logical – a flow that represents registering a new patient in the database
Dynamic/physical – the process bound to a specific processor, bus, and memory
AADL brings the logical and physical together by declaring instances of the logical definitions
The layered architecture enhances the separation of concerns and the separation of the logical from the physical; degrades performance
You ensure the architecture is complete by having a process that starts by creating use cases and checking that every requirement is mapped to at least one use case. Then check that each scenario from each use case corresponds to a path in the architecture.
A reasoning framework defines what is meant by a specific quality by defining an analytic theory that is used to estimate the level of the quality provided by the architecture.
Client – what price point must we hit to attract buyers
Surgeon – what data will be needed to plan the surgery
Researcher – defines the required accuracy of the product’s ouput
Yes
We used the interface tactic to transform the business logic portion of the architecture to have a connection to a computational resource such as a grid or a hardware co-processor or the just the local processor.
Our decision was based on the top two criteria: accuracy and security. They are important because they are the choice of the stakeholders.
A port provides a typed point of entry and exit. It makes type checking of inputs and outputs possible. The set of in ports defines the requires interface and the set of out ports defines the provides interface.
The ArchE model contains all of the responsibilities needed to represent the scenarios from the use cases that specify the product. Each reasoning framework defines a specific set of relationships particular to that quality attribute. ArchE has a graph for each framework. The analytic theory for the quality attribute defines how the graph is to be traversed to estimate the value of the quality attribute it the model architecture. ArchE then uses an expert system engine to suggest tactics related to that attribute to try for modifying the graph. ArchE also provides guidance in the form of green/red triangles that indicate whether the chosen tactic improves the level or not.
The definitional view contains cardinality information but it is not until we instantiate a specific number of each architectural element that dynamic attributes can be estimated.
A scenario is represented as an end to end flow
One approach is to use the “Actual… “ bindings to allocate a conceptual element to a specific physical element such as a processor or bus.
A system is a conceptual element that encompasses the operating system entity of a process. A system may contain multiple processes. A process encompasses one or threads as “light-weight” processes.
In the first approach the graph of detailed responsibilities provides estimates on those attributes for which we have reasoning frameworks. These must be grouped into components to improve performance and certain other attributes. In the second approach the standard architecture gives a high-level large grain size set of components that must be decomposed to improve certain attributes often degrading performance.