Requirements Iteration 2
- Do the implementation in java.
- Use the ArcStudio 3.0 for the architecture design.
- Research a method of selector processing that would run faster than the current sequential selection processing
- Modify the arcstudio selector component in such a way that it support parallel processing of selection so that if a lot of users come in the website they don't have to wait to get the service. They should get the service at the same time. You can save time to response.
- 3 Approach to take to address the efficiency issue:
- - Bottleneck Removal: the current sequential process containts a bottleneck process in between the selector and repository component. There exists several communication process that are unecessary and unbeneficial to perform this particular project. Thus, its removal should hasten the speed of input processing and requesting data from the repository
- - Pararell Processing: the process will be able to process request concurrently instead of processing each request one-by-one, based on a first-come-first-serve basis. Thus the system will allow multiple users to go through the privacy selection process simultaniously. This approach is subdivided into 2 groups of solution:
- 1. Fixed Pool: The maximum number of request that can be concurrently processed is pre-defined by a fixed number. If the number of request exceeds the fixed pool limit, the request will have to wait until there is room to process the request in the pool
-
2. Dynamic Pool: The maximum number of request that can be concurrenly processed is undefined and adjust the size of pool dynamically according to the need of the time. Thus, the system will be able to take any amount of request to be processed
- - Cache: the system learns the behaviour of previous request and if there happens to be an identical request that has been previously made, instead of making a brand new process altogether, the system can use the previously created process and thus saves time of creation and will make the system run in a faster mode.
-
- 3 Approach to take to address the efficiency issue:
- A testing GUI that will be able to show the measured result of the newly developed application compared to the sequential process
Implementation Requirements
- The main function of a selector is to pick an product line architecture in terms of Boolean guard and if its false then the selector won't output that particular architecture or otherwise it will.
- We want multithread processing of the selector
- Master xADL & ArchStudio 3.0