The Community for Technology Leaders
RSS Icon
Issue No.05 - September/October (2010 vol.36)
pp: 704-718
Paul Emberson , University of York, York
One of the most important properties of a good software engineering process and of the design of the software it produces is robustness to changing requirements. Scenario-based analysis is a popular method for improving the flexibility of software architectures. This paper demonstrates a search-based technique for automating scenario-based analysis in the software architecture deployment view. Specifically, a novel parallel simulated annealing search algorithm is applied to the real-time task allocation problem to find baseline solutions which require a minimal number of changes in order to meet the requirements of potential upgrade scenarios. Another simulated annealing-based search is used for finding a solution that is similar to an existing baseline when new requirements arise. Solutions generated using a variety of scenarios are judged by how well they respond to different system requirements changes. The evaluation is performed on a set of problems with a controlled set of different characteristics.
Maintainability, extensibility, heuristics, search, scheduling, scenarios.
Paul Emberson, "Stressing Search with Scenarios for Flexible Solutions to Real-Time Task Allocation Problems", IEEE Transactions on Software Engineering, vol.36, no. 5, pp. 704-718, September/October 2010, doi:10.1109/TSE.2009.58
[1] L.J. Bass, M. Klein, and F. Bachmann, "Quality Attribute Design Primitives and the Attribute Driven Design Method," Proc. PFE '01: Revised Papers from the Fourth Int'l Workshop Software Product-Family Eng., pp. 169-186, 2002.
[2] P. Kruchten, "The 4+1 View Model of Architecture," IEEE Software, vol. 12, no. 6, pp. 42-50, Nov. 1995.
[3] A. Jansen and J. Bosch, "Software Architecture as a Set of Architectural Design Decisions," Proc. Fifth Working IEEE/IFIP Conf. Software Architecture, pp. 109-120, 2005.
[4] P. Koopman, "Embedded System Design Issues (the Rest of the Story)," Proc. 1996 Int'l Conf. Computer Design, VLSI in Computers and Processors, 1996.
[5] L. Sha, "Real-Time Virtual Machines for Avionics Software Porting and Development," Real-Time and Embedded Computing Systems and Applications, pp. 123-135, Springer, 2004.
[6] R. Racu, A. Hamann, and R. Ernst, "Automotive System Optimization Using Sensitivity Analysis," Embedded System Design: Topics, Techniques and Trends, vol. 231, pp. 57-70, Springer, 2007.
[7] B.W. Boehm, J.R. Brown, and M. Lipow, "Quantitative Evaluation of Software Quality," Proc. Second Int'l Conf. Software Eng., pp. 592-605, 1976.
[8] R. Kazman, L.J. Bass, M. Webb, and G.D. Abowd, "SAAM: A Method for Analyzing the Properties of Software Architectures," Proc. Int'l Conf. Software Eng., pp. 81-90, 1994.
[9] R. Kazman, M. Klein, and P. Clements, "Evaluating Software Architectures for Real-Time Systems," Annals of Software Eng., vol. 7, nos. 1-4, pp. 71-93, 1999.
[10] A. Sangiovanni-Vincentelli and M. Di Natale, "Embedded System Design for Automotive Applications," Computer, vol. 40, no. 10, pp. 42-51, Oct. 2007.
[11] G. Attiya and Y. Hamam, "Task Allocation for Maximizing Reliability of Distributed Systems: A Simulated Annealing Approach," J. Parallel and Distributed Computing, vol. 66, no. 10, pp. 1259-1266, Oct. 2006.
[12] P.-Y. Yin, S.-S. Yu, P.-P. Wang, and Y.-T. Wang, "Multi-Objective Task Allocation in Distributed Computing Systems by Hybrid Particle Swarm Optimization," Applied Math. and Computation, vol. 184, no. 2, pp. 407-420, Jan. 2007.
[13] I. Bate and P. Emberson, "Incorporating Scenarios and Heuristics to Improve Flexibility in Real-Time Embedded Systems," Proc. 12th IEEE Real-Time and Embedded Technology and Applications Symp., pp. 221-230, 2006.
[14] J. Clark, J.J. Dolado, M. Harman, R. Hierons, B. Jones, L.S. Mancoridis, K. Rees, M. Roper, and M. Shepperd, "Reformulating Software Engineering as a Search Problem," IEE Proc.—Software, vol. 150, no. 3, pp. 161-175, June 2003.
[15] M. Harman, "The Current State and Future of Search Based Software Engineering," Proc. Conf. Future of Software Eng., pp. 342-357, 2007.
[16] E. Alba and F.J. Chicano, "Software Project Management with GAs," Information Sciences, vol. 177, no. 11, pp. 2380-2401, June 2007.
[17] M.A. Babar, L. Zhu, and R. Jeffery, "A Framework for Classifying and Comparing Software Architecture Evaluation Methods," Proc. 2004 Australian Software Eng. Conf., pp. 309-318, 2004.
[18] K. Tindell, A. Burns, and A. Wellings, "Allocating Hard Real-Time Tasks: An NP-Hard Problem Made Easy," Real-Time Systems, vol. 4, no. 2, pp. 145-165, 1992.
[19] J. Beck and D. Siewiorek, "Simulated Annealing Applied to Multicomputer Task Allocation and Processor Specification," Proc. Eighth IEEE Symp. Parallel and Distributed Processing, pp. 232-239, 1996.
[20] A. Metzner and C. Herde, "RTSAT—an Optimal and Efficient Approach to the Task Allocation Problem in Distributed Architectures," Proc. 27th IEEE Int'l Real-Time Systems Symp., pp. 147-158, 2006.
[21] D.T. Peng, K. Shin, and T. Abdelzaher, "Assignment and Scheduling Communicating Periodic Tasks in Distributed Real-Time Systems," IEEE Trans. Software Eng., vol. 23, no. 12, pp. 745-758, 1997.
[22] P.-E. Hladik, H. Cambazard, A.-M. Deplanche, and N. Jussien, "Solving a Real-Time Allocation Problem with Constraint Programming," J. Systems and Software, vol. 81, no. 1, pp. 132-149, Jan. 2008.
[23] S. Kirkpatrick, C. Gelatt, and M. Vecchi, "Optimization by Simulated Annealing," Science, vol. 220, no. 4598, pp. 671-680, 1983.
[24] J.N. Hooker, "Testing Heuristics: We Have It All Wrong," J. Heuristics, vol. 1, pp. 33-42, 1995.
[25] A.E. Eiben and M. Jelasity, "A Critical Note on Experimental Research Methodology in EC," Proc. 2002 Congress Evolutionary Computation, pp. 582-587, 2002.
[26] P. Emberson and I. Bate, "Minimising Task Migration and Priority Changes in Mode Transitions," Proc. 13th Real Time and Embedded Technology and Applications Symp., pp. 158-167, 2007.
[27] D.C. Montgomery, Design and Analysis of Experiments, sixth ed. Wiley, Dec. 2004.
[28] E. Alba and J.M. Troya, "Analyzing Synchronous and Asynchronous Parallel Distributed Genetic Algorithms," Future Generation Computer Systems, vol. 17, no. 4, pp. 451-465, Jan. 2000.
[29] S. Poulding, P. Emberson, I. Bate, and J. Clark, "An Efficient Experimental Methodology for Configuring Search-Based Design Algorithms," Proc. 10th IEEE High Assurance System Eng. Symp., pp. 53-62, 2007.
[30] J. Palencia and M.G. Harbour, "Schedulability Analysis for Tasks with Static and Dynamic Offsets," Proc. IEEE Real-Time Systems Symp., pp. 26-37, 1998.
[31] R.I. Davis, A. Zabos, and A. Burns, "Efficient Exact Schedulability Tests for Fixed Priority Real-Time Systems," IEEE Trans. Computers, vol. 57, no. 9, pp. 1261-1276, Sept. 2008.
[32] W. Zheng, Q. Zhu, M. Di Natale, and A.S. Vincentelli, "Definition of Task Allocation and Priority Assignment in Hard Real-Time Distributed Systems," Proc. 28th IEEE Int'l Real-Time Systems Symp., pp. 161-170, 2007.
[33] P. Emberson and I. Bate, "Extending a Task Allocation Algorithm for Graceful Degradation of Real-Time Distributed Embedded Systems," Proc. 29th IEEE Int'l Real-Time Systems Symp., Dec. 2008.
[34] "White Rose Grid at York," http:/, Aug. 2008.
[35] "Berkeley Open Infrastructure for Network Computing," http:/, Aug. 2008.
[36] LINDO Systems, http:/, Aug. 2008.
[37] M. Matsumoto and T. Nishimura, "Mersenne Twister: A 623-Dimensionally Equidistributed Uniform Pseudo Random Number Generator," ACM Trans. Modeling and Computer Simulation, vol. 8, no. 1, pp. 3-30, Jan. 1998.
20 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool