Balancing Dependability Quality Attributes Relationships for Increased Embedded Systems Dependability
Total Page:16
File Type:pdf, Size:1020Kb
Master Thesis Software Engineering Thesis no: MSE-2009:17 September 2009 Balancing Dependability Quality Attributes Relationships for Increased Embedded Systems Dependability Saleh Al-Daajeh Supervisor: Professor Mikael Svahnberg School of Engineering Blekinge Institute of Technology Box 520 SE – 372 25 Ronneby Sweden This thesis is submitted to the School of Engineering at Blekinge Institute of Technology in partial fulfillment of the requirements for the degree of Master of Science in Software Engineering. The thesis is equivalent to 2 x 20 weeks of full time studies. Contact Information: Author: Saleh Al-Daajeh E-mail: [email protected] University advisor: Prof. Miakel Svahnberg School of Engineering Internet : www.bth.se/tek Blekinge Institute of Technology Phone : +46 457 385 000 Box 520 Fax : +46 457 271 25 SE – 372 25 Ronneby Sweden II Abstract Embedded systems are used in many critical applications of our daily life. The increased complexity of embedded systems and the tightened safety regulations posed on them and the scope of the environment in which they operate are driving the need for more dependable embedded systems. Therefore, achieving a high level of dependability to embedded systems is an ultimate goal. In order to achieve this goal we are in need of understanding the interrelationships between the different dependability quality attributes and other embedded systems’ quality attributes. This research study provides indicators of the relationship between the dependability quality attributes and other quality attributes for embedded systems by identify- ing the impact of architectural tactics as the candidate solutions to construct dependable embedded systems. III Acknowledgment I would like to express my gratitude to all those who gave me the possibility to complete this thesis. I am deeply indebted to my supervisor Dr. Mikael Svahnberg from the Blekinge Institute of Technology whose help, stimulating suggestions and encouragement helped me in all the time of research for and writing of this thesis. Blekinge Institute of Technology school of engineering staff, my colleagues who supported me in my research work. I want to thank them for all their help, encouragement and valuable recommendations. Especially, I would like to give my special thanks to my brother Prof. Saud Aldajah, my parents,and my family whose trust and patient love have pushed me to the limit to complete this work. I am also very much thankful to Prof. Claes Wohlin, whose guidance, and ideas are one of the reasons of this thesis success. This copy is specially dedicated to Professor Claes Wohlin. Wish you all the best... Thank you very much... IV Contents 1 Introduction 1 2 Background and Motivation 2 2.1 Embedded Systems . 2 2.2 Embedded Systems Dependability . 3 2.3 Engineering Quality of Embedded Systems via Software Architecture . 4 2.4 Trade-Offs in Embedded Systems Software and Dependability . 5 2.5 Software Architecture Evaluation . 6 2.5.1 Objective Reasoning . 6 2.6 Summary . 6 3 Research Design 7 3.1 Research Aims and Objectives . 7 3.2 Research Questions . 7 3.3 Quality Attributes Relationship Reasoning Framework . 8 3.3.1 Preparation . 8 3.3.2 Scenario Development . 8 3.3.3 Evaluation . 9 4 Execution 9 4.1 Preparation . 9 4.2 Scenario Development . 11 4.3 Evaluation . 13 4.3.1 Context and Preparation . 13 4.3.2 Execution . 13 4.3.3 Results . 13 4.4 Different Views on Quality Attributes Relationships . 14 5 Analysis 17 6 Discussion 18 6.1 Validity . 19 7 Conclusions 20 7.1 Future Work and Recommendations . 20 V A Dependability and Embedded Systems Quality Attributes General and Concrete Scenarios 24 A.1 Embedded Systems Quality Attributes General Scenarios . 24 A.2 Embedded Systems Quality Attributes Concrete Scenarios . 25 A.3 Dependability Quality Attributes General Scenarios . 30 A.4 Dependability Quality Attributes Concrete Scenarios . 31 B High-level Embedded Systems Quality Attributes Specifications 35 C Research Surveys 37 C.1 SURVEY I: Embedded Systems Quality Attributes Translation Survey . 37 C.1.1 Supplementary Data and Survey Question . 37 C.2 SURVEY II: Dependability Quality Attributes Candidate Architectural Tactics Impact Evaluation . 37 C.2.1 Survey’s Supplementary Data . 38 C.2.2 Survey Question . 38 VI List of Figures 1 Quality Attributes Relationship Reasoning Framework . 8 2 Dependability and Embedded Systems Quality Attributes Relationships Reasoning Framework 10 VII List of Tables 1 General Scenarios Matrix According to [L. Bass et al.] [19] . 9 2 Dependability Quality Attributes Candidate Architectural Tactics . 11 3 Embedded Systems Quality Attributes Translation to the ISO 9126 Quality Model . 12 4 Availability General Scenario . 12 5 Availability Concrete Scenario . 13 6 Research Survey Distribution Data . 14 7 Availability and Reliability Candidate Architectural Impact Evaluation . 15 8 Integrity and Confidentiality Candidate Architectural Impact Evaluation . 15 9 Safety Candidate Architectural Impact Evaluation . 16 10 Maintainability Candidate Architectural Impact Evaluation . 16 11 Quality Attributes Relationships found in [1] and [38] . 17 12 Functionality General Scenario . 24 13 Efficiency General Scenario . 24 14 Usability General Scenario . 25 15 Portability General Scenario . 25 16 Accuracy Criteria Concrete Scenario . 26 17 Security Quality Criteria Concrete Scenario . 26 18 Expansion Capability Concrete Scenario . 26 19 Code Size Concrete Scenario . 27 20 Memory Usage Concrete Scenario . 27 21 Complexity, CPU, and Peripherals Concrete Scenario . 27 22 Resources Used Concrete Scenario . 28 23 Physical Size Concrete Scenario . 28 24 Power Consumption Concrete Scenario . 28 25 Physical Size Concrete Scenario . 28 26 Performance Concrete Scenario . 29 27 Understandability Concrete Scenario . 29 28 Learn-ability Concrete Scenario . 29 29 Operability Concrete Scenario . 30 30 Ease of Integration Concrete Scenario . 30 31 Compatibility Concrete Scenario . 30 32 Reliability General Scenario . 30 33 Integrity and Confidentiality General Scenario . 31 34 Safety General Scenario . 31 35 Maintainability General Scenario . 31 36 Maturity Concrete Scenario . 32 37 Fault Tolerance Concrete Scenario . 32 38 Recoverability Concrete Scenario . 32 39 Integrity Concrete Scenario . 33 40 Confidentiality Concrete Scenario . 33 41 Safety Concrete Scenario . 33 VIII 42 Expansion Capability Concrete Scenario . 33 43 Flexibility Concrete Scenario . 34 44 Research Survey Question in the Form of Table . 38 45 Availability and Relaibility Architectural Tactic (X)Impact Evaluation . 39 46 Availability and Reliability Architectural Tactic (X) Impact Evaluation Justification . 39 IX Balancing Dependability Quality Attributes Relationships for Increased Embedded Systems Dependability Saleh Al-Daajeh School of Engineering Blekinge Institute of Technology Ronneby, Sweden [email protected] Abstract to consider dependability of the system in early stages its development. Embedded systems are used in many critical applica- Dependability is a tangible high-level attribute for tions where a failure can have serious consequences. a system. It consists of a small subset of different Therefore, achieving a high level of dependability is quality attributes. Dependability quality attributes an ultimate goal. However, in order to achieve this and their achievement play an important role in de- goal we are in.