Reliability-driven deployment optimization for embedded systems

One of the crucial aspects that influence reliability of embedded systems is the deployment of software components to hardware nodes. If the hardware architecture is designed prior to the customized software architecture, which is often the case in product-line manufacturing (e.g. in the automotive domain), the system architect needs to resolve a nontrivial task of finding a (near-)optimal deployment balancing the reliabilities of individual services implemented on the software level.In this paper, we introduce an approach to automate this task. As distinct to related approaches, which typically stay with quantification of reliability for a specific deployment, we target multi-criteria optimization and provide the architect with near-optimal (non-dominated) deployment alternatives with respect to service reliabilities. Toward this goal, we annotate the software and hardware architecture with necessary reliability-relevant attributes, design a method to quantify the quality of individual deployment alternatives, and implement the approach employing an evolutionary algorithm.

[1]  Kishor S. Trivedi,et al.  Quantifying software performance, reliability and security: An architecture-based approach , 2007, J. Syst. Softw..

[2]  Lars Grunske,et al.  Identifying "good" architectural design alternatives with multi-objective optimization strategies , 2006, ICSE.

[3]  Thomas Nolte,et al.  Contract-Based ReusableWorst-Case Execution Time Estimate , 2007, 13th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2007).

[4]  Lothar Thiele,et al.  The Hypervolume Indicator Revisited: On the Design of Pareto-compliant Indicators Via Weighted Integration , 2007, EMO.

[5]  Alan D. Christiansen,et al.  An empirical study of evolutionary techniques for multiobjective optimization in engineering design , 1996 .

[6]  Alice E. Smith,et al.  An ant system approach to redundancy allocation , 1999, Proceedings of the 1999 Congress on Evolutionary Computation-CEC99 (Cat. No. 99TH8406).

[7]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[8]  J.-P. Wang,et al.  Task Allocation for Maximizing Reliability of Distributed Computer Systems , 1992, IEEE Trans. Computers.

[9]  Lars Grunske,et al.  Towards an Integration of Standard Component-Based Safety Evaluation Techniques with SaveCCM , 2006, QoSA.

[10]  Radu Calinescu,et al.  Using quantitative analysis to implement autonomic IT systems , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[11]  Peter Herrmann,et al.  Cost-Efficient Deployment of Collaborating Components , 2008, DAIS.

[12]  Heiko Koziolek,et al.  Parameterized Reliability Prediction for Component-Based Software Architectures , 2010, QoSA.

[13]  Mark Nicholson,et al.  Selecting a Topology for Safety-Critical Real-Time Control Systems , 1999 .

[14]  Peter Kubat,et al.  Assessing reliability of modular software , 1989 .

[15]  Katerina Goseva-Popstojanova,et al.  Architecture-based approach to reliability assessment of software systems , 2001, Perform. Evaluation.

[16]  Manfred Broy,et al.  Challenges in automotive software engineering , 2006, ICSE.

[17]  Leonard J. Bass,et al.  Integrating Quality-Attribute Reasoning Frameworks in the ArchE Design Assistant , 2008, QoSA.

[18]  Alain Girault,et al.  A bi-criteria scheduling heuristic for distributed embedded systems under reliability and real-time constraints , 2004, International Conference on Dependable Systems and Networks, 2004.

[19]  Thomas Thurner,et al.  Time-triggered architecture for safety-related distributed real-time systems in transportation systems , 1998, Digest of Papers. Twenty-Eighth Annual International Symposium on Fault-Tolerant Computing (Cat. No.98CB36224).

[20]  Lothar Thiele,et al.  Multiobjective Optimization Using Evolutionary Algorithms - A Comparative Case Study , 1998, PPSN.

[21]  Neeraj Suri,et al.  Dependability driven integration of mixed criticality SW components , 2006, Ninth IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'06).

[22]  Peter H. Feiler,et al.  Dependability Modeling with the Architecture Analysis & Design Language (AADL) , 2007 .

[23]  Alessandro Birolini Reliability Engineering: Theory and Practice , 1999 .

[24]  Peter A. Lindsay,et al.  An Outline of an Architecture-Based Method for Optimizing Dependability Attributes of Software-Intensive Systems , 2006, WADS.

[25]  Sam Malek,et al.  A user-centric approach for improving a distributed software system's deployment architecture , 2007 .

[26]  Martin Lukasiewycz,et al.  Symbolic Reliability Analysis and Optimization of ECU Networks , 2008, 2008 Design, Automation and Test in Europe.

[27]  Steffen Becker,et al.  The Palladio component model for model-driven performance prediction , 2009, J. Syst. Softw..

[28]  Jürgen Teich,et al.  System-Level Synthesis Using Evolutionary Algorithms , 1998, Des. Autom. Embed. Syst..

[29]  Lars Grunske,et al.  Specification and Evaluation of Safety Properties in a Component-Based Software Engineering Process , 2005, Component-Based Software Development for Embedded Systems.

[30]  Kishor S. Trivedi,et al.  Evaluating performance attributes of layered software architecture , 2005, CBSE'05.

[31]  Johan Fredriksson,et al.  Optimizing resource usage in component-based real-time systems , 2005, CBSE'05.

[32]  Neeraj Suri,et al.  A framework for dependability driven software integration , 1998, Proceedings. 18th International Conference on Distributed Computing Systems (Cat. No.98CB36183).

[33]  Vijay Karamcheti,et al.  Constrained component deployment in wide-area networks using AI planning techniques , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[34]  Sam Malek,et al.  Software deployment architecture and quality-of-service in pervasive environments , 2007, ESSPE '07.

[35]  Neeraj Suri,et al.  Component-Based Synthesis of Dependable Embedded Software , 2002, FTRTFT.

[36]  Egor Bondarev,et al.  Modelling of input-parameter dependency for performance predictions of component-based embedded systems , 2005 .

[37]  Steven A. Demurjian,et al.  A Binary Integer Programming Model for Optimal Object Distribution , 1998, OPODIS.

[38]  Lars Grunske,et al.  ArcheOpterix: An extendable tool for architecture optimization of AADL models , 2009, 2009 ICSE Workshop on Model-Based Methodologies for Pervasive and Embedded Software.

[39]  Lothar Thiele,et al.  Multiobjective evolutionary algorithms: a comparative case study and the strength Pareto approach , 1999, IEEE Trans. Evol. Comput..

[40]  Heiko Koziolek,et al.  Automatic, Model-Based Software Performance Improvement for Component-based Software Designs , 2009, Electron. Notes Theor. Comput. Sci..

[41]  Hermann Kopetz,et al.  Real-time systems , 2018, CSC '73.

[42]  Yiannis Papadopoulos,et al.  Techniques and tools for automated safety analysis & decision support for redundancy allocation automotive systems , 2003, Proceedings 27th Annual International Computer Software and Applications Conference. COMPAC 2003.

[43]  Sam Malek,et al.  A Tailorable Environment for Assessing the Quality of Deployment Architectures in Highly Distributed Settings , 2004, Component Deployment.

[44]  Martin Lukasiewycz,et al.  Efficient symbolic multi-objective design space exploration , 2008, 2008 Asia and South Pacific Design Automation Conference.

[45]  Gary B. Lamont,et al.  Multiobjective evolutionary algorithms: classifications, analyses, and new innovations , 1999 .

[46]  Peter J. Fleming,et al.  An Overview of Evolutionary Algorithms in Multiobjective Optimization , 1995, Evolutionary Computation.

[47]  Harald Heinecke,et al.  AUTomotive Open System ARchitecture - An Industry-Wide Initiative to Manage the Complexity of Emerging Automotive E/E-Architectures , 2004 .

[48]  K. Misra Reliability Optimization of a Series-Parallel System , 1972 .

[49]  David W. Coit,et al.  Reliability optimization of series-parallel systems using a genetic algorithm , 1996, IEEE Trans. Reliab..

[50]  Manfred Broy,et al.  Software Engineering for Automotive Systems: A Roadmap , 2007, Future of Software Engineering (FOSE '07).