BITS WILP Software Architectures End-Sem Exam 2016-H1 (Regular)


Birla Institute of Technology & Science, Pilani
Work-Integrated Learning Programmes Division
Second  Semester 2015-2016
Comprehensive Examination  (EC-3 Regular)

Course No.                  : SS ZG653  
Course Title                 : SOFTWARE ARCHITECTURES 
Nature of Exam           : Open Book
Weightage                    : 50%
Duration                      : 3 Hours 
Date of Exam              : 09/04/2016    (FN)
No of pages: 2
No of questions: 5
Note:
1.       Please follow all the Instructions to Candidates given on the cover page of the answer book.
2.       All parts of a question should be answered consecutively. Each answer should start from a fresh page. 
3.       Assumptions made if any, should be stated clearly at the beginning of your answer.


Q1. Consider the back-end warehouse operations module of a software as a service system for which you need to assess its availability. The application has been in production for a sufficiently long time and it is possible to compute the availability information of each module. The module-view of a few its critical modules is shown below with the availability values. The operating strategy selector module never fails (100% availability). The warehouse system can function without failure if the operation strategy module is available and either the Normal operations module or the Emergency operations module is available. The Normal operations module functions only if both “Module1” and “Module2” are available. Similarly, the Emergency operations module is functional only if both “Module3” and “Module4” are available. Availability of Module1, Module2, Module3 and Module4 are shown in the diagram. Calculate the probability of normal functioning (i.e. availability) of the normal operations module, and the emergency operations module, and then compute the probability of normal functioning of the warehouse operations module. The answer must be at least upto 3 places after the decimal point. Answer like 1, 0.9. 0.99 are not correct.       [10]



Q2. a) Write a short note on documenting Architecture using Krutchen’s architectural views by stating what these views are, and then explain what roles they play.                                [5]
Q2. b) Write a short note on Microkernel Pattern with a specific focus on adaptability to evolving hardware and software                                                                                       [5]

Q3. a) Security is a one of the most important quality attribute. Take an example of a remote proxy that performs the function of protection and firewall, to explain the implementation of security tactics. List suitable examples.                                                               [5]
Q3. b) For the same proxy take an example of a client accessing the external data (over the network) (Hint: Use of proxy pattern). For the scenarios (i) Connect with original to get the latest data when the data in proxy is stale (ii) Provide the data to the client from the proxy as the data in the proxy is not stale, draw only a sequence diagram to depict the scenarios.         [5]

Q4. Case Study: A single lift control system (LCS) controls more than one lifts. LCS software module controls the electrical input to control and manage the movement of each lift car. LCS module uses a communication bus to send in commands and receive data from each LC software, running in each lift car. LCS server runs on a Windows server. The LCS GUI interface, which interacts with a server, is used to monitor, configure and control the LCs. An LC software is in a programmable firmware, installed in each lift car.

Each lift car has sensors- namely, the laden weight sensor, current-floor sensor, speed sensor, position sensor and power-failure sensor. LCS receives these sensor values in real-time from each LC. LCS can also configure these sensors and control these sensors. An emergency light is installed which switches on when the power fails. This light is controlled by the LCS. Each lift car has an auto-rescue-device (ARD) which receives current floor, and current location from the LC. ARD is controlled by LCS. LCS is to be designed for handling each LC in a separate thread, where the sensor data collection, data processing and controlling for each LC will be handled in a separate thread. The operations team is expected to use the GUI from a different system to connect to the LCS server.

ARD can sense the power failure and the loss of communication with LCS. In that case ARD can bring the car to the nearest lower floor. Each LC also has a user-interface which displays the present floor, present weight of the lift, speed of the lift and it shows time-of-day. An input interface is present which allows certain inputs from the users for floor request, alarm and internal light switch on/off..
a) Draw a deployment diagram using UML notations for the LCS that is managing 3 lift cars.
b) Draw a module view of the LC and LCS, describing various submodules and their responsibilities.
c) In order to improve the extendibility in terms of accommodating new types of sensors, the LCS needs to appropriately model various sensors. Draw a UML class diagram to describe how various sensors can be modeled in LCS.
d) Draw a UML sequence diagram to describe how power-failure scenario can be handled by an LC                                                                              [4 + 4 + 4 + 4 = 16]

Q5. There are two applications with the following operational failure characteristics on a given day. Application 1 crashed 10 times and it took 5min to restart every time after the crash. Application 2 crashed 20 times and it took 2min to restart. Show with elaborate calculation which one has a better availability?                                                                       [4]                                       

___________

No comments:

Post a Comment