5 Evaluation and Validation .................................. 231
5.1 Introduction
......................................... 231
5.1.1 Scope ....................................... 231
5.1.2 Multi-objective Optimization
..................... 232
5.1.3 Relevant Objectives
............................ 234
5.2 Performance Evaluation
................................ 234
5.2.1 Early Phases
.................................. 235
5.2.2 WCET Estimation
.............................. 235
5.2.3 Real-Time Calculus
............................ 241
5.3 Quality Metrics
...................................... 244
5.3.1 Approximate Computing
......................... 244
5.3.2 Simple Criteria of Quality
........................ 245
5.3.3 Criteria for Data Analysis
........................ 247
5.4 Energy and Power Models
.............................. 249
5.4.1 General Properties
.............................. 249
5.4.2 Analysis of Memories
........................... 251
5.4.3 Analysis of Instructions and Inter-Instruction Effects
... 251
5.4.4 Analysis of Major Functional Processor Units
........ 252
5.4.5 Analysis of Processor and Memory Energy
Consumption
.................................. 252
5.4.6 Analysis of an Entire Application
.................. 254
5.4.7 Analysis of Multiple Applications
with Multithreading
............................ 255
5.4.8 Analysis for Communication in an Android Phone
..... 256
5.4.9 Worst Case Energy Consumption
.................. 258
5.5 Thermal Models
...................................... 259
5.6 Dependability and Risk Analysis
......................... 265
5.6.1 Aspects of Dependability
........................ 265
5.6.2 Safety Analysis
................................ 267
5.6.3 Security Analysis
.............................. 268
5.6.4 Reliability Analysis
............................. 268
5.6.5 Fault Tree Analysis, Failure Mode and Effect
Analysis
..................................... 274
5.7 Simulation
.......................................... 276
5.8 Rapid Prototyping and Emulation
........................ 277
5.9 Formal Verification
................................... 278
5.10 Problems ........................................... 279
6 Application Mapping
...................................... 283
6.1 Definition of Scheduling Problems
........................ 283
6.1.1 Elaboration on the Design Problem
................ 283
6.1.2 Types of Scheduling Problems
.................... 285
6.2 Scheduling for Uniprocessors
............................ 292
6.2.1 Independent Jobs
.............................. 292
6.2.2 Scheduling with Precedence Constraints
............. 298
xvi Contents