In this decade the emerging multicore technology will hit the automotive industry. The increasing complexity of the multicore-systems will make a manual verification of the safety and realtime constraints impossible. For this reason, dedicated methods and tools are utterly necessary, in order to deal with the upcoming multicore issues. A lot of researchprojects
for new hardware platforms and software frameworks for the automotive industry are running nowadays, because the paradigms of the “High-Performance Computing” and “Server/Desktop Domain” cannot be easily adapted for the embedded systems. One of the difficulties is the early suitability estimation of a hardware platform for a software architecture design, but hardly a research-work is tackling that.
This thesis represents a procedure to evaluate the plausibility of software architecture estimations and decisions at design stage. This includes an analysis technique of multicore systems, an underlying graph-model – to represent the multicore system – and a simulation tool evaluation. This can guide the software architect, to design a multicore system, in full consideration of all relevant parameters and issues.:Contents
List of Figures vii
List of Tables viii
List of Abbreviations ix
1. Introduction 1
1.1. Motivation 1
1.2. Scope 2
1.3. Goal and Tasks 2
1.4. Structure of the Thesis 3
I. Multicore Technology 4
2. Fundamentals 5
2.1. Automotive Domains 5
2.2. Embedded System 7
2.2.1. Realtime 7
2.2.2. Runtime Predictions 8
2.2.3. Multicore Processor Architectures 8
2.3. Development of Automotive Embedded Systems 9
2.3.1. Applied V-Model 9
2.3.2. System Description and System Implementation 10
2.4. Software Architecture 11
2.5. Model Description of Software Structures 13
2.5.1. Design Domains of Multicore Systems 13
2.5.2. Software Structure Components 13
3. Trend and State of the Art of Multicore Research, Technology and Market 17
3.1. The Importance of Multicore Technology 17
3.2. Multicore Technology for the Automotive Industry 19
3.2.1. High-Performance Computing versus Embedded Systems 19
3.2.2. The Trend for the Automotive Industry 20
3.2.3. Examples of Multicore Hardware Platforms 23
3.3. Approaches for Upcoming Multicore Problems 24
3.3.1. Migration from Single-Core to Multicore 24
3.3.2. Correctness-by-Construction 25
3.3.3. AUTOSAR Multicore System 26
3.4. Software Architecture Simulators 28
3.4.1. Justification for Simulation Tools 28
3.4.2. System Model Simulation Software 29
3.5. Current Software Architecture Research Projects 31
3.6. Portrait of the current Situation 32
3.7. Summary of the Multicore Trend 32
II. Identification of Multicore System Parameters 34
4. Project Analysis to Identify Crucial Parameters 35
4.1. Analysis Procedure 35
4.1.1. Question Catalogue 36
4.1.2. Three Domains of Investigation 37
4.2. Analysed Projects 41
4.2.1. Project 1: Online Camera Calibration 41
4.2.2. Project 2: Power Management 45
4.2.3. Project 3: Battery Management 46
4.3. Results of Project Analysis 51
4.3.1. Ratio of Parameter Influence 51
4.3.2. General Influences of Parameters 53
5. Abstract System Model 54
5.1. Requirements for the System-Model 54
5.2. Simulation Tool Model Evaluation 55
5.2.1. System Model of PRECISION PRO 55
5.2.2. System Model of INCHRON 57
5.2.3. System Model of SymTA/S 58
5.2.4. System Model of Timing Architects 59
5.2.5. System Model of AMALTHEA 60
5.3. Concept of Abstract System Model 62
5.3.1. Components of the System Model 63
5.3.2. Software Function-Graph 63
5.3.3. Hardware Architecture-Graph 64
5.3.4. Specification-Graph for Mapping 65
6. Testcase Implementation 67
6.1. Example Test-System 68
6.1.1. Simulated Test-System 70
6.1.2. Testcases 73
6.2. Result of Tests 74
6.2.1. Processor Core Runtime Execution 74
6.2.2. Communication 75
6.2.3. Memory Access 76
6.3. Summary of Multicore System Parameters Identification 78
III. Evaluation of Software Architectures 80
7. Estimation-Procedure 81
7.1. Estimation-Procedure in a Nutshell 81
7.2. Steps of Estimation-Procedure 82
7.2.1. Project Analysis 82
7.2.2. Timing and Memory Requirements 83
7.2.3. System Modelling 84
7.2.4. Software Architecture Simulation 85
7.2.5. Results of a Validated Software Architecture 86
7.2.6. Feedback of Partly Implemented System 88
8. Implementation and Simulation 89
8.1. Example Project Analysis – Online Camera Calibration 89
8.1.1. Example Project Choice 90
8.1.2. OCC Timing Requirements Analysis 90
8.2. OCC Modelling 94
8.2.1. OCC Software Function-Graph 95
8.2.2. OCC Hardware Architecture 96
8.2.3. OCC Mapping – Specification-Graph 101
8.3. Simulation of the OCC Model with Tool Support 102
8.3.1. Tasks for Tool Setup 103
8.3.2. PRECISION PRO 105
8.3.3. INCHRON 107
8.3.4. SymTA/S 108
8.3.5. Timing Architects 112
8.3.6. AMALTHEA 115
8.4. System Optimisation Possibilities 116
8.5. OCC Implementation Results 117
9. Results of the Estimation-Procedure Evaluation 119
9.1. Tool-Evaluation Results 119
9.2. Findings of Estimation, Simulation and ECU-Behavior. 123
9.2.1. System-Specific Issues 123
9.2.2. Communication Issues 123
9.2.3. Memory Issues 124
9.2.4. Timing Issues 124
9.3. Summary of the Software Architecture Evaluation 125
10.Summary and Outlook 127
10.1. Summary 127
10.2. Usability of the Estimation-Procedure 128
10.3. Outlook and Future Work 129
11. Bibliography xii
IV. Appendices xxi
A. Appendices xxii
A.1. Embedded Multicore Technology Research Projects xxii
A.1.1. Simulation Software xxii
A.1.2. Multicore Software Research Projects xxiii
A.2. Testcase Implementation Results xxvi
A.2.1. Function Block Processor Core Executions xxvi
A.2.2. Memory Access Mechanism xxvii
A.2.3. Memory Access Timings of Different Datatypes xxviii
A.2.4. Inter-Processor Communication xxix
A.3. Further OCC System Description xxxii
A.3.1. OCC Timing Requirements of the FB xxxii
A.3.2. INCHRON Validation Results xxxiv
A.4. Detailed System Optimisation xxxv
A.4.1. Optimisation through Hardware Alternation xxxv
A.4.2. Optimisation through Mapping Alternation xxxv
A.4.3. Optimisation of Execution Timings xxxvii
B. Estimation-Procedure Engineering Paper xl
B.1. Components and Scope of Software Architecture xl
B.2. Estimation-Procedure in a Nutshell xlii
B.3. Project Analysis xliii
B.3.1. System level analysis xliv
B.3.2. Communication Domain xlv
B.3.3. Processor Core Domain xlvi
B.3.4. Memory Domain xlvii
B.3.5. Timing and Memory Requirements xlviii
B.4. System Modelling xlix
B.4.1. Function Model xlix
B.4.2. Function-Graph l
B.4.3. Possible ECU Target l
B.4.4. Architecture-Graph l
B.4.5. Software Architecture Mapping li
B.4.6. Domain Specific Decision Guide lii
B.5. Software Architecture Simulation liii
B.6. Results of a Simulated Software Architecture lv
B.7. Feedback of Partly Implemented System for Software Architecture Improvement lvi
B.8. Benefits of the Estimation-Procedure lvii / In den nächsten Jahren wird die aufkommende Multicore-Technologie auf die Automobil-Branche zukommen. Die wachsende Komplexität der Multicore-Systeme lässt es nicht mehr zu, die Verifikation von Sicherheits- und Echtzeit-Anforderungen manuell auszuführen. Daher sind spezielle Methoden und Werkzeuge zwingend notwendig, um gerade
mit den bevorstehenden Multicore-Problemfällen richtig umzugehen. Heutzutage laufen viele Forschungsprojekte für neue Hardware-Plattformen und Software-Frameworks für die Automobil-Industrie, weil die Paradigmen des “High-Performance Computings” und der “Server/Desktop-Domäne” nicht einfach so für die Eingebetteten Systeme angewendet werden
können. Einer der Problemfälle ist das frühe Erkennen, ob die Hardware-Plattform für die Software-Architektur ausreicht, aber nur wenige Forschungs-Arbeiten berücksichtigen das.
Diese Arbeit zeigt ein Vorgehens-Model auf, welches ermöglicht, dass Software-Architektur Abschätzungen und Entscheidungen bereits zur Entwurfszeit bewertet werden können. Das beinhaltet eine Analyse Technik für Multicore-Systeme, ein grundsätzliches Graphen-Model, um ein Multicore-System darzustellen, und eine Simulatoren Evaluierung. Dies kann den Software-Architekten helfen, ein Multicore System zu entwerfen, welches alle wichtigen Parameter und Problemfälle berücksichtigt.:Contents
List of Figures vii
List of Tables viii
List of Abbreviations ix
1. Introduction 1
1.1. Motivation 1
1.2. Scope 2
1.3. Goal and Tasks 2
1.4. Structure of the Thesis 3
I. Multicore Technology 4
2. Fundamentals 5
2.1. Automotive Domains 5
2.2. Embedded System 7
2.2.1. Realtime 7
2.2.2. Runtime Predictions 8
2.2.3. Multicore Processor Architectures 8
2.3. Development of Automotive Embedded Systems 9
2.3.1. Applied V-Model 9
2.3.2. System Description and System Implementation 10
2.4. Software Architecture 11
2.5. Model Description of Software Structures 13
2.5.1. Design Domains of Multicore Systems 13
2.5.2. Software Structure Components 13
3. Trend and State of the Art of Multicore Research, Technology and Market 17
3.1. The Importance of Multicore Technology 17
3.2. Multicore Technology for the Automotive Industry 19
3.2.1. High-Performance Computing versus Embedded Systems 19
3.2.2. The Trend for the Automotive Industry 20
3.2.3. Examples of Multicore Hardware Platforms 23
3.3. Approaches for Upcoming Multicore Problems 24
3.3.1. Migration from Single-Core to Multicore 24
3.3.2. Correctness-by-Construction 25
3.3.3. AUTOSAR Multicore System 26
3.4. Software Architecture Simulators 28
3.4.1. Justification for Simulation Tools 28
3.4.2. System Model Simulation Software 29
3.5. Current Software Architecture Research Projects 31
3.6. Portrait of the current Situation 32
3.7. Summary of the Multicore Trend 32
II. Identification of Multicore System Parameters 34
4. Project Analysis to Identify Crucial Parameters 35
4.1. Analysis Procedure 35
4.1.1. Question Catalogue 36
4.1.2. Three Domains of Investigation 37
4.2. Analysed Projects 41
4.2.1. Project 1: Online Camera Calibration 41
4.2.2. Project 2: Power Management 45
4.2.3. Project 3: Battery Management 46
4.3. Results of Project Analysis 51
4.3.1. Ratio of Parameter Influence 51
4.3.2. General Influences of Parameters 53
5. Abstract System Model 54
5.1. Requirements for the System-Model 54
5.2. Simulation Tool Model Evaluation 55
5.2.1. System Model of PRECISION PRO 55
5.2.2. System Model of INCHRON 57
5.2.3. System Model of SymTA/S 58
5.2.4. System Model of Timing Architects 59
5.2.5. System Model of AMALTHEA 60
5.3. Concept of Abstract System Model 62
5.3.1. Components of the System Model 63
5.3.2. Software Function-Graph 63
5.3.3. Hardware Architecture-Graph 64
5.3.4. Specification-Graph for Mapping 65
6. Testcase Implementation 67
6.1. Example Test-System 68
6.1.1. Simulated Test-System 70
6.1.2. Testcases 73
6.2. Result of Tests 74
6.2.1. Processor Core Runtime Execution 74
6.2.2. Communication 75
6.2.3. Memory Access 76
6.3. Summary of Multicore System Parameters Identification 78
III. Evaluation of Software Architectures 80
7. Estimation-Procedure 81
7.1. Estimation-Procedure in a Nutshell 81
7.2. Steps of Estimation-Procedure 82
7.2.1. Project Analysis 82
7.2.2. Timing and Memory Requirements 83
7.2.3. System Modelling 84
7.2.4. Software Architecture Simulation 85
7.2.5. Results of a Validated Software Architecture 86
7.2.6. Feedback of Partly Implemented System 88
8. Implementation and Simulation 89
8.1. Example Project Analysis – Online Camera Calibration 89
8.1.1. Example Project Choice 90
8.1.2. OCC Timing Requirements Analysis 90
8.2. OCC Modelling 94
8.2.1. OCC Software Function-Graph 95
8.2.2. OCC Hardware Architecture 96
8.2.3. OCC Mapping – Specification-Graph 101
8.3. Simulation of the OCC Model with Tool Support 102
8.3.1. Tasks for Tool Setup 103
8.3.2. PRECISION PRO 105
8.3.3. INCHRON 107
8.3.4. SymTA/S 108
8.3.5. Timing Architects 112
8.3.6. AMALTHEA 115
8.4. System Optimisation Possibilities 116
8.5. OCC Implementation Results 117
9. Results of the Estimation-Procedure Evaluation 119
9.1. Tool-Evaluation Results 119
9.2. Findings of Estimation, Simulation and ECU-Behavior. 123
9.2.1. System-Specific Issues 123
9.2.2. Communication Issues 123
9.2.3. Memory Issues 124
9.2.4. Timing Issues 124
9.3. Summary of the Software Architecture Evaluation 125
10.Summary and Outlook 127
10.1. Summary 127
10.2. Usability of the Estimation-Procedure 128
10.3. Outlook and Future Work 129
11. Bibliography xii
IV. Appendices xxi
A. Appendices xxii
A.1. Embedded Multicore Technology Research Projects xxii
A.1.1. Simulation Software xxii
A.1.2. Multicore Software Research Projects xxiii
A.2. Testcase Implementation Results xxvi
A.2.1. Function Block Processor Core Executions xxvi
A.2.2. Memory Access Mechanism xxvii
A.2.3. Memory Access Timings of Different Datatypes xxviii
A.2.4. Inter-Processor Communication xxix
A.3. Further OCC System Description xxxii
A.3.1. OCC Timing Requirements of the FB xxxii
A.3.2. INCHRON Validation Results xxxiv
A.4. Detailed System Optimisation xxxv
A.4.1. Optimisation through Hardware Alternation xxxv
A.4.2. Optimisation through Mapping Alternation xxxv
A.4.3. Optimisation of Execution Timings xxxvii
B. Estimation-Procedure Engineering Paper xl
B.1. Components and Scope of Software Architecture xl
B.2. Estimation-Procedure in a Nutshell xlii
B.3. Project Analysis xliii
B.3.1. System level analysis xliv
B.3.2. Communication Domain xlv
B.3.3. Processor Core Domain xlvi
B.3.4. Memory Domain xlvii
B.3.5. Timing and Memory Requirements xlviii
B.4. System Modelling xlix
B.4.1. Function Model xlix
B.4.2. Function-Graph l
B.4.3. Possible ECU Target l
B.4.4. Architecture-Graph l
B.4.5. Software Architecture Mapping li
B.4.6. Domain Specific Decision Guide lii
B.5. Software Architecture Simulation liii
B.6. Results of a Simulated Software Architecture lv
B.7. Feedback of Partly Implemented System for Software Architecture Improvement lvi
B.8. Benefits of the Estimation-Procedure lvii
Identifer | oai:union.ndltd.org:DRESDEN/oai:qucosa:de:qucosa:20224 |
Date | 05 November 2014 |
Creators | Roßbach, André Christian |
Contributors | Walther, Enrico, Hardt, Wolfram, Technische Universität Chemnitz |
Source Sets | Hochschulschriftenserver (HSSS) der SLUB Dresden |
Language | English |
Detected Language | English |
Type | doc-type:masterThesis, info:eu-repo/semantics/masterThesis, doc-type:Text |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0036 seconds