Subscribe

Issue No.05 - September/October (2010 vol.36)

pp: 704-718

Paul Emberson , University of York, York

DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2009.58

ABSTRACT

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.

INDEX TERMS

Maintainability, extensibility, heuristics, search, scheduling, scenarios.

CITATION

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.58REFERENCES

- [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:/www.wrg.york.ac.uk, Aug. 2008.
- [35] "Berkeley Open Infrastructure for Network Computing," http:/boinc.berkeley.edu/, Aug. 2008.
- [36] LINDO Systems, http:/www.lindo.com/, 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. |