Abstract
Dependability requirements such as safety and availability often conflict with one another making the development of dependable systems challenging. It is not always possible to design a system that fulfils all of its dependability requirements and consequently, it is necessary to identify conflicts early in the development process and to optimize the architectural design with regard to dependability and cost. This paper first provides an overview of fifteen different approaches to optimizing system designs at an architectural level. Then an abstract method is proposed that synthesises the main points of the different approaches to yield a generic approach that could be applied across a wide variety of different system attributes.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Avizienis, A., Laprie, J.C., Randell, B., Landwehr, C.: Basic concepts and taxonomy of dependable and secure computing. IEEE Trans. Dependable Secur. Comput. 1, 11–33 (2004)
Clements, P.C., Kazman, R., Klein, M.: Evaluating Software Architectures: Methods and Case Studies. Addison Wesley Longman, Reading (2001)
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. AddisonWesley, Reading (2003)
Grunske, L.: Early quality prediction of component-based systems–a generic framework. Journal of Systems and Software 80, 678–686 (2007)
Vesely, W.E., Goldberg, F.F., Roberts, N.H., Haasl, D.F.: Fault Tree Handbook. U.S. Nuclear Regulatory Commission (1996)
IEC (International Electrotechnical Commission): IEC 61165: Application of Markov techniques (1995-2003)
Balsamo, S., Marco, A.D., Inverardi, P., Simeoni, M.: Model-Based Performance Prediction in Software Development: A Survey. IEEE Transactions on Software Engineering 30, 295–310 (2004)
Fyffe, D.E., Hines, W.W., Lee, N.K.: System reliability allocation and a computational algorithm. IEEE Transactions on Reliability 17, 64–69 (1968)
Nakagawa, Y., Miyazaki, S.: Surrogate constraints algorithm for reliability optimisation problems with two constraints. IEEE Transactions on Reliability 30, 175–180 (1981)
Ghare, P.M., Taylor, R.E.: Optimal redundancy for reliability in series system. Operations Research 17, 838–847 (1969)
Coit, D.W., Smith, A.E.: Reliability optimization of series-parallel systems using a genetic algorithm. IEEE Transactions on Reliability 35, 535–544 (1996)
Nicholson, M.: Selecting a Topology for Safety-Critical Real-Time Control Systems. PhD thesis, Department of Computer Science, University of York (1998)
Liang, Y.C., Smith, A.E.: An ant system approach to redundancy allocation. In: Angeline, P.J., Michalewicz, Z., Schoenauer, M., Yao, X., Zalzala, A. (eds.) Proceedings of the Congress on Evolutionary Computation, pp. 1478–1484. IEEE Press, Los Alamitos (1999)
Thiele, L., Chakraborty, S., Naedele, M.: Real-time calculus for scheduling hard real-time systems. In: ISCAS. Proc. IEEE International Symposium on Circuits and Systems, Geneva, Switzerland, pp. 101–104 (2000)
Zitzler, E., Laumanns, M., Thiele, L.: SPEA2: Improving the Strength Pareto Evolutionary Algorithm. In: Giannakoglou, K., Tsahalis, D., Periaux, J., Papailou, P., Fogarty, T., (eds.) EUROGEN 2001, Evolutionary Methods for Design, Optimization and Control with Applications to Industrial Problems, Athens, Greece pp. 95–100 (2002)
Palermo, G., Silvano, C., Zaccaria, V.: A flexible framework for fast multi-objective design space exploration of embedded systems. In: Chico, J.J., Macii, E. (eds.) PATMOS 2003. LNCS, vol. 2799, pp. 249–258. Springer, Heidelberg (2003)
Givargis, T., Palesi, M.: Multi-objective design space exploration using genetic algorithms. In: CODES 2002. Proceedings of the 10th International Symposium on Hardware/Software Codesign, pp. 67–72. ACM Press, New York (2002)
Kulturel-Konak, S., Coit, D.W., Baheranwala, F.: Reliability optimization of series-parallel systems using a genetic algorithm. IIE Transactions 45, 254–260 (2006)
Kulturel-Konak, S., Smith, A.E., Coit, D.W.: Pruned pareto-optimal sets for the system redundancy allocation problem based on multiple prioritized objectives. Journal of Heuristics (in print)
Künzli, S., Thiele, L., Zitzler, E.: Modular design space exploration framework for embedded systems. IEE Proceedings - Computers and Digital Techniques 152, 183–192 (2005)
Papadopoulos, Y., Grante, C.: Evolving car designs using model-based automated safety analysis and optimisation techniques. Journal of Systems and Software 76, 77–89 (2005)
Andersson, J., Wallace, D.: Pareto optimization using the struggle genetic crowding algorithm. Engineering Optimization 34, 623–643 (2002)
Fredriksson, J., Sandström, K., Åkerholm, M.: Optimizing Resource Usage in Component-Based Real-Time Systems. In: Heineman, G.T., Crnković, I., Schmidt, H.W., Stafford, J.A., Szyperski, C.A., Wallnau, K. (eds.) CBSE 2005. LNCS, vol. 3489, pp. 49–66. Springer, Heidelberg (2005)
Grunske, L.: Identifying ”good” architectural design alternatives with multi-objective optimization strategies. In: Osterweil, L.J., Rombach, H.D., Soffa, M.L. (eds.) ICSE 2006. 28th International Conference on Software Engineering, Shanghai, China, May 20-28, 2006, pp. 849–852. ACM Press, New York (2006)
Bondarev, E., Chaudron, M.R.V., de With, P.H.N.: A process for resolving performance trade-offs in component-based architectures. In: Gorton, I., Heineman, G.T., Crnkovic, I., Schmidt, H.W., Stafford, J.A., Szyperski, C.A., Wallnau, K.C (eds.) CBSE 2006. LNCS, vol. 4063, pp. 254–269. Springer, Heidelberg (2006)
Pimentel, A.D., Erbas, C., Polstra, S.: A systematic approach to exploring embedded system architectures at multiple abstraction levels. IEEE Trans. Computers 55, 99–112 (2006)
Livolsi, D., O’Neill, T., Leaney, J., Denford, M., Dunsire, K.: Guided architecture-based design optimisation of CBSs. In: ECBS 2006, pp. 247–258. IEEE Computer Society Press, Los Alamitos (2006)
Gritzalis, S., Spinellis, D., Georgiadis, P.: Security protocols over open networks and distributed systems: formal methods for their analysis, design, and verification. Computer Communications 22, 697–709 (1999)
Goseva-Popstojanova, K., Trivedi, K.S.: Architecture-based approach to reliability assessment of software systems. Perform. Eval 45, 179–204 (2001)
Reussner, R.H., Schmidt, H.W., Poernomo, I.: Reliability prediction for component-based software architectures. Journal of Systems and Software – Special Issue of Software Architecture – Engineering Quality Attributes 66, 241–252 (2003)
Hamlet, R.G., Mason, D.V., Woit, D.M.: Theory of software reliability based on components. In: ICSE 2001. Proceedings of the 23rd International Conference on Software Engineering, Toronto, Ontario, Canada, 12-19 May 2001, pp. 361–370. IEEE Computer Society Press, Los Alamitos (2001)
Becker, S., Grunske, L., Mirandola, R., Overhage, S.: Performance prediction of component-based systems – a survey from an engineering perspective. In: Reussner, R., Stafford, J.A., Szyperski, C.A. (eds.) Architecting Systems with Trustworthy Components. LNCS, vol. 3938, pp. 169–192. Springer, Heidelberg (2006)
Grunske, L., Kaiser, B., Papadopoulos, Y.: Model-driven safety evaluation with state-event-based component failure annotations. In: Heineman, G.T., Crnković, I., Schmidt, H.W., Stafford, J.A., Szyperski, C.A., Wallnau, K. (eds.) CBSE 2005. LNCS, vol. 3489, pp. 33–48. Springer, Heidelberg (2005)
Papadopoulos, Y., McDermid, J.A., Sasse, R., Heiner, G.: Analysis and synthesis of the behaviour of complex programmable electronic systems in conditions of failure. Int. Journal of Reliability Engineering and System Safety 71, 229–247 (2001)
Laprie, J.C. (ed.): Dependability: basic concepts and terminology. Springer, Heidelberg (1992)
Grunske, L.: Formalizing architectural refactorings as graph transformation systems. In: SNPD 2005. 6th International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing, pp. 324–329. IEEE Computer Society Press, Los Alamitos (2005)
Nam, D., Park, C.H.: Multiobjective Simulated Annealing: A Comparative Study to Evolutionary Algorithms. International Journal of Fuzzy Systems 2, 87–97 (2000)
Horn, J., Nafpliotis, N., Goldberg, D.E.: A Niched Pareto Genetic Algorithm for Multiobjective Optimization. In: Proceedings of the 1st IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence, Piscataway, New Jersey, vol. 1, pp. 82–87. IEEE Service Center, Los Alamitos (1994)
Knowles, J.D., Corne, D.W.: Approximating the Nondominated Front Using the Pareto Archived Evolution Strategy. Evolutionary Computation 8, 149–172 (2000)
Yim, J.S., Kyung, C.M.: Datapath layout optimisation using genetic algorithm and simulated annealing. IEE Proceedings - Computers and Digital Techniques 145, 135–141 (1998)
Walsh, W.E., Tesauro, G., Kephart, J.O., Das, R.: Utility functions in autonomic systems. In: ICAC 2004. 1st International Conference on Autonomic Computing, New York, USA, 17-19 May 2004, pp. 70–77. IEEE Computer Society Press, Los Alamitos (2004)
Mattson, C.A., Messac, A.: Pareto frontier based concept selection under uncertainty, with visualization. Optimization and Engineering 6, 85–115 (2005)
Zanchettin, C., Ludermir, T.B.: The influence of different cost functions in global optimization techniques. In: SBRN 2006. Proc. 9th Brazilian Symposium on Neural Networks, Los Alamitos, CA, USA, pp. 17–31. IEEE Computer Society Press, Los Alamitos (2006)
Grunske, L.: Transformational patterns for the improvement of safety properties in architectural specifications. In: VikingPLoP 2003. Proceedings of The Second Nordic Conference on Pattern Languages of Programs, Bergen, Norway (2003)
Saridakis, T.: A system of patterns for fault tolerance. In: Proceedings of the EuroPlop (2002)
Gokhale, S.S., Trivedi, K.S.: Reliability prediction and sensitivity analysis based on software architecture. In: ISSRE 2002. 13th International Symposium on Software Reliability Engineering, Annapolis, MD, USA, November 12-15, 2002, pp. 64–78. IEEE Computer Society Press, Los Alamitos (2002)
Ehrgott, M., Gandibleux, X.: A Survey and Annotated Bibliography of Multiobjective Combinatorial Optimization. OR Spektrum 22, 425–460 (2000)
Reeves, C.R.: Modern Heuristic Techniques for Combinatorial Problems. John Wiley & Sons, New York (1995)
Grunske, L., Kaiser, B.: Automatic generation of analyzable failure propagation models from component-level failure annotations. In: QSIC 2005. 5th International Conference on Quality Software, Melbourne, September 19-20, 2005, pp. 117–123. IEEE Computer Society Press, Los Alamitos (2005)
Papadopoulos, Y., Parker, D., Grante, C.: Automating the failure modes and effects analysis of safety critical systems. In: HASE 2004. Int. Symposium on High-Assurance Systems Engineering, pp. 310–311. IEEE Computer Society Press, Los Alamitos (2004)
Bondarev, E., Chaudron, M.R.V., de Kock, E.A.: Exploring performance trade-offs of a jpeg decoder using the deepcompass framework. In: WOSP 2007. Proceedings of the 6th international workshop on Software and performance, pp. 153–163. ACM Press, New York, USA (2007)
Bondarev, E., Chaudron, M.R.V., de With, P.H.N.: Compositional performance analysis of component-based systems on heterogeneous multiprocessor platforms. In: EUROMICRO 2006. Proceedings of the 32nd EUROMICRO Conference on Software Engineering and Advanced Applications, Washington, DC, USA, pp. 81–91. IEEE Computer Society Press, Los Alamitos (2006)
de Castro Guerra, P.A., Romanovsky, A.B., de Lemos, R.: Integrating COTS software components into dependable software architectures. In: ISORC 2003. 6th IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, Hakodate, Hokkaido, Japan, May 14-16, 2003, pp. 139–142. IEEE Computer Society Press, Los Alamitos (2003)
Gokhale, S.S.: Architecture-based software reliability analysis: Overview and limitations. IEEE Transactions on Dependable and Secure Computing 4, 32–40 (2007)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Grunske, L., Lindsay, P., Bondarev, E., Papadopoulos, Y., Parker, D. (2007). An Outline of an Architecture-Based Method for Optimizing Dependability Attributes of Software-Intensive Systems. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds) Architecting Dependable Systems IV. Lecture Notes in Computer Science, vol 4615. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74035-3_9
Download citation
DOI: https://doi.org/10.1007/978-3-540-74035-3_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-74033-9
Online ISBN: 978-3-540-74035-3
eBook Packages: Computer ScienceComputer Science (R0)