Automotive Software Engineering



Similar documents
Vehicle Electronics. Services and Solutions to Manage the Complexity

Weighted Total Mark. Weighted Exam Mark

Master of Science in Computer Science

Safety and security related features in AUTOSAR

Development of AUTOSAR Software Components within Model-Based Design

Part I. Introduction

Dr.-Ing. Rainer Rasche dspace GmbH Rathenaustrasse Paderborn automotive testing expo June 22, 2010

What is Automotive Software Engineering? What is Automotive Software Engineering? What is Automotive Software Engineering?

net COMPETENCE MATRIX

Hardware in the Loop (HIL) Testing VU 2.0, , WS 2008/09

Simple and error-free startup of the communication cluster. as well as high system stability over long service life are

AUTOSAR Software Architecture

Best Practices for Verification, Validation, and Test in Model- Based Design

Advanced Electronic Platform Technologies Supporting Development of Complicated Vehicle Control Software

ECU State Manager Module Development and Design for Automotive Platform Software Based on AUTOSAR 4.0

Safety and Security Features in AUTOSAR

Software House Embedded Systems

Software Development for Multiple OEMs Using Tool Configured Middleware for CAN Communication

Medical Device Design: Shorten Prototype and Deployment Time with NI Tools. NI Technical Symposium 2008

Computer System Design. System-on-Chip

Doctor of Philosophy in Computer Science

User-friendly Configuration of AUTOSAR ECUs with Specialized Software Tools

Using big data in automotive engineering?

The Problem: Automotive safety recalls, Control Systems Diagnostics, Stability Control, Traction Control, Anti-lock Braking, Adaptive Cruise Control

Application of Software Watchdog as a Dependability Software Service for Automotive Safety Relevant Systems

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

Advanced Techniques for Simulating ECU C-code on the PC

Candle Plant process automation based on ABB 800xA Distributed Control Systems

In-Vehicle Networking

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Product Information CANalyzer.J1939

Safety compliance. Energy management. System architecture advisory services. Diagnostics. Network topologies. Physical and functional partitioning

Programmable Logic Controllers Definition. Programmable Logic Controllers History

Rotorcraft Health Management System (RHMS)

Designing and Embodiment of Software that Creates Middle Ware for Resource Management in Embedded System

Attaining EDF Task Scheduling with O(1) Time Complexity

List of courses MEngg (Computer Systems)

Model-based Testing of Automotive Systems

Service Oriented Architecture for Agricultural Vehicles

Degree programme in Automation Engineering

CycurHSM An Automotive-qualified Software Stack for Hardware Security Modules

GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications

Product Information Services for Embedded Software

Introduction to MATLAB Gergely Somlay Application Engineer

Open Source Software

Model-based Testing of Automotive Systems

Cover. SEB SIMOTION Easy Basics. Collection of standardized SIMOTION basic functions. FAQ April Service & Support. Answers for industry.

Model-based Testing of Automotive Systems

Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill

In networking ECUs in heavy-duty vehicles, it is the J1939 protocol that. plays a key role. J1939 networks are based on the CAN bus (high-speed

Introduction to RACE FUELS Hans-Christian von der Wense Munich, Germany

Application of UML in Real-Time Embedded Systems

Applying 4+1 View Architecture with UML 2. White Paper

Master s Program in Information Systems

Big Data Systems CS 5965/6965 FALL 2015

Converting Models from Floating Point to Fixed Point for Production Code Generation

Automotive Software Engineering at Hella KGaA. Software Engineering for Software Intensive Systems,

DS1104 R&D Controller Board

Universal Flash Storage: Mobilize Your Data

NIOS II Based Embedded Web Server Development for Networking Applications

Vehicular On-board Security: EVITA Project

Vehicular Security Hardware The Security for Vehicular Security Mechanisms

Vragen. Architecture presentations in practice. Some terms (from IEEE standard)

EE361: Digital Computer Organization Course Syllabus

USTC Course for students entering Clemson F2013 Equivalent Clemson Course Counts for Clemson MS Core Area. CPSC 822 Case Study in Operating Systems

How To Use Safety System Software (S3)

A new approach to automotive electric/electronic engineering life-cycle management

MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES FIELD 050: COMPUTER SCIENCE

BMW Car IT GmbH. AUTOSAR - First Experiences and the Migration Strategy of the BMW Group

B.Eng. (Computer Engineering) Content of Subjects Applicable to Students Matriculating in 2011 or later

Getting Started with CANopen Version Application Note AN-AON

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

Deeply Embedded Real-Time Hypervisors for the Automotive Domain Dr. Gary Morgan, ETAS/ESC

MEng, BSc Applied Computer Science

A bachelor of science degree in electrical engineering with a cumulative undergraduate GPA of at least 3.0 on a 4.0 scale

THREE YEAR DEGREE (HONS.) COURSE BACHELOR OF COMPUTER APPLICATION (BCA) First Year Paper I Computer Fundamentals

Efficient and Faster PLC Software Development Process for Automotive industry. Demetrio Cortese IVECO Embedded Software Design

EMC Publishing. Ontario Curriculum Computer and Information Science Grade 11

I can make just such ones if I had tools, and I could make tools if I had tools. -Eli Whitney

Computer Organization

Power inverters: Efficient energy transformation through efficient TargetLink code

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Towards Collaborative Requirements Engineering Tool for ERP product customization

Embedded Software development Process and Tools:

Introduction CHAPTER 1

An Automated Model Based Design Flow for the Design of Robust FlexRay Networks

SYSTEMS, CONTROL AND MECHATRONICS

Hardware Virtualization for Pre-Silicon Software Development in Automotive Electronics

Chapter 2. Multiprocessors Interconnection Networks

Poznan University of Technology Faculty of Electrical Engineering

Software Development Principles Applied to Graphical Model Development

EHOOKS Prototyping is Rapid Again

Lecture 3 - Model-based Control Engineering

Low-Overhead Hard Real-time Aware Interconnect Network Router

Multi-objective Design Space Exploration based on UML

Value Paper Author: Edgar C. Ramirez. Diverse redundancy used in SIS technology to achieve higher safety integrity

MEng, BSc Computer Science with Artificial Intelligence

Transcription:

Automotive Software Engineering List of Chapters: 1. Introduction and Overview 1.1 The Driver Vehicle Environment System 1.1.1 Design and Method of Operation of Vehicle Electronic 1.1.2 Electronic of the Vehicle and the Environment 1.2 Overview of Vehicle Electronic 1.2.1 Electronic of the Powertrain 1.2.1.1 User Interfaces and Setpoint Generators 1.2.1.2 Sensors and Actuators 1.2.1.3 Software 1.2.1.4 Installation Space 1.2.1.5 Variants and Scalability 1.2.2 Electronic of the Chassis 1.2.2.1 User Interfaces and Setpoint Generators 1.2.2.2 Sensors and Actuators 1.2.2.3 Software 1.2.2.4 Installation Space 1.2.2.5 Variants and Scalability 1.2.3 Body Electronics 1.2.3.1 User Interfaces and Setpoint Generators 1.2.3.2 Sensors and Actuators 1.2.3.3 Software 1.2.3.4 Installation Space 1.2.3.5 Variants and Scalability 1.2.4 Multimedia 1.2.5 Distributed and Networked Electronic 1.2.6 Summary and Outlook 1.3 Overview of the Logical System 1.3.1 ECU and Function Networks of the Vehicle 1.3.2 Logical System for Open-Loop/Closed-Loop Control and Monitoring 1.4 Processes in Vehicle Development 1.4.1 Overview of Vehicle Development 1.4.2 Overview of the Development of Electronic 1.4.2.1 Trend from Hardware to Software 1.4.2.2 Cost 1.4.2.3 Long Product Life Cycles 1.4.2.4 Safety Requirements High and Still Rising 1.4.3 Core Process for Electronic and Software Development 1.4.4 Support Processes for Electronic and Software Development 1.4.4.1 Customer/Supplier Relationships 1.4.4.2 Simultaneous Engineering and Different Development Environments 1.4.5 Production and Service of Electronic and Software 1.5 Methods and Tools for the Development of Software for Electronic 1.5.1 Model-Based Development 1.5.2 Integrated Quality Management 1.5.2.1 Quality Assurance Guidelines 1.5.2.2 Quality Control, Validation, and Verifi cation Measures 1.5.3 Reducing the Development Risk 1.5.3.1 Early Validation of Software 1.5.3.2 Reuse of Software

1.5.3.2 Reuse 1.5.4 of Softwar Standardization and Automation 1.5.4.1 Standardization 1.5.4.2 Automation 1.5.5 Development Steps in the Vehicle 2. Essential System Basics 2.1 Open-Loop and Closed-Loop Control 2.1.1 Modeling 2.1.2 Block Diagrams 2.2 Discrete 2.2.1 Time-Discrete and Signals 2.2.2 Value-Discrete and Signals 2.2.3 Time- and Value-Discrete and Signals 2.2.4 State Machines 2.3 Embedded 2.3.1 Microcontroller Construction 2.3.2 Memory Technologies 2.3.2.1 Read/Write Memory 2.3.2.2 Non-Erasable Read- Only Memory 2.3.2.3 Reprogrammable Nonvolatile Memory 2.3.3 Microcontroller Programming 2.3.3.1 Program Version and Data Version 2.3.3.2 Functional Principles of Microcontrollers 2.3.3.3 Principal Microcontroller Operations 2.3.3.4 Microprocessor and Instruction Set 2.3.3.5 I/O Module 2.4 Real-Time 2.4.1 Defi ning Tasks 2.4.2 Defi ning Real-Time Requirements 2.4.2.1 Instants of Task Activation and Task Deadline 2.4.2.2 Hard and Soft Real- Time Requirements 2.4.2.3 Defi ning Processes 2.4.3 Task States 2.4.3.1 Basic Task State Model (per OSEK-OS) 2.4.3.2 Extended Task State Model (per OSEK-OS) 2.4.3.3 Task State Model (per OSEK-TIME) 2.4.4 Strategies for Processor Scheduling 2.4.4.1 Processor Scheduling In Sequential Order 2.4.4.2 Processor Scheduling By Priority 2.4.4.3 Processor Scheduling Combined Sequential and Priority Strategy 2.4.4.4 Processor Scheduling Preemptive Strategy 2.4.4.5 Processor Scheduling Nonpreemptive Strategy 2.4.4.6 Processor Scheduling Event-Driven and Time- Controlled Strategies 2.4.5 Organization of Real-Time Operating 2.4.6 Interaction Among Tasks 2.4.6.1 Synchronization 2.4.6.2 Cooperation 2.4.6.3 Communication 2.4.6.4 Interaction Among Tasks in the Logical System 2.5 Distributed and Networked 2.5.1 Logical and Technical System 2.5.2 Defi ning Logical Communication Links 2.5.2.1 Client/Server Model 2.5.2.2 Producer/Consumer Model 2.5.3 Defi ning the Technical Network Topology 2.5.3.1 Star Topology 2.5.3.2 Ring Topology 2.5.3.3 Linear Topology 2.5.4 Defi ning Messages 2.5.4.1 Addressing 2.5.4.2 Communications Matrix

1.5.3.2 Reuse 2.5.5 of Softwar Organization of Communications and Network Management 2.5.5.1 Communications (per OSEK-COM) 2.5.5.2 Network Management (per OSEK-NM) 2.5.6 Strategies for Bus Arbitration 2.5.6.1 Bus Access Strategies Centralized or Decentralized Implementation 2.5.6.2 Bus Access Strategies Controlled or Random 2.5.6.3 Bus Access Strategies Event-Driven and Time- Controlled 2.6 System Reliability, Safety, Monitoring, and Diagnostics 2.6.1 Basic Terms 2.6.2 System Reliability and Availability 2.6.2.1 Defi nition of Reliability Function R(t) and Failure Rate λ(t) 2.6.2.2 Defi nition of Mean Time to Failure (MTTF) 2.6.2.3 Defi nition of Mean Time to Repair (MTTR) 2.6.2.4 Defi nition of Mean Availability 2.6.3 System Safety 2.6.3.1 Defi nition of Terms in Safety Technology 2.6.3.2 Determining Risk 2.6.4 System Monitoring and Diagnostics 2.6.4.1 Monitoring 2.6.4.2 Fault Recognition and Fault Diagnostics 2.6.4.3 Error Detection and Correction 2.6.4.4 Safety Logic 2.6.4.5 Functional Software Safety 2.6.5 Organization of a Monitoring System for Electronic Control Units 2.6.5.1 Microcontroller Monitoring 2.6.5.2 Monitoring Setpoint Generators, Sensors, Actuators, and Control 2.6.6 Organization of a Diagnostic System for Electronic Control Units 2.6.6.1 Offboard Diagnostic 2.6.6.2 Onboard Diagnostic 2.6.6.3 Diagnostics for Setpoint Generators and Sensors 2.6.6.4 Diagnostics for Actuators 2.6.6.5 Fault Memory Manager 2.6.6.6 Offboard Diagnostic Communications 2.6.6.7 Model-Based Fault Recognition 2.7 Summary 3. Support Processes for Electronic and Software Engineering 3.1 Basic Defi nitions of System Theory 3.2 Process Models and Standards 3.3 Confi guration Management 3.3.1 Product and Life Cycle 3.3.2 Variants and Scalability 3.3.3 Versions and Confi gurations 3.4 Project Management 3.4.1 Project Planning 3.4.1.1 Quality Planning 3.4.1.2 Cost Planning 3.4.1.3 Project Scheduling 3.4.1.4 Development Roles and Responsibilities 3.4.2 Project Tracking and Risk Management 3.5 Subcontractor Management 3.5.1 System and Component Responsibilities 3.5.2 Interfaces for Specifi cation and Integration 3.5.3 Defi ning the Cross-Corporation Development Process 3.6 Requirements Management 3.6.1 Mining, Recording, and Interpreting User Requirements 3.6.2 Tracking User Requirements

1.5.3.2 3.7 Reuse Quality of Softwar Assurance 3.7.1 Integration and Testing Procedures 3.7.2 Software Quality Assurance Methods 4. Core Process for Electronic and Software Engineering 4.1 Requirements and Prerequisites 4.1.1 Shared System and Component Responsibilities 4.1.2 Coordination of Engineering and Software Engineering 4.1.3 Model-Based Software Development 4.2 Basic Defi nitions and Notations 4.2.1 Processes, Process Steps, and Artifacts 4.2.2 Methods and Tools 4.3 Analysis of User Requirements and Specifi cation of Logical System 4.4 Analysis of Logical System and Specifi cation of Technical System 4.4.1 Analysis and Specifi cation of Open-Loop/Closed-Loop Control 4.4.2 Analysis and Specifi cation of Real- Time 4.4.3 Analysis and Specifi cation of Distributed and Networked 4.4.4 Analysis and Specifi cation of Reliable and Safe 4.5 Analysis of Software Requirements and Specifi cation of Software 4.5.1 Specifi cation of Software and Associated Interfaces 4.5.1.1 Specifi cation of Onboard Interfaces 4.5.1.2 Specifi cation of Offboard Interfaces 4.5.2 Specifi cation of Software Layers 4.5.3 Specifi cation of Operating States 4.6 Specifi cation of Software 4.6.1 Specifi cation of Data Model 4.6.2 Specifi cation of Behavioral Model 4.6.2.1 Specifi cation of Data Flow 4.6.2.2 Specifi cation of Control Flow 4.6.3 Specifi cation of Real-Time Model 4.6.3.1 State-Dependent Reactive Execution Model 4.6.3.2 State-Independent Reactive Execution Model 4.7 Design and Implementation of Software 4.7.1 Consideration of Requested Nonfunctional Product Properties 4.7.1.1 Differentiation Between Program Version and Data Version 4.7.1.2 Limitation of Hardware Resources 4.7.2 Design and Implementation of Data Model 4.7.3 Design and Implementation of Behavioral Model 4.7.4 Design and Implementation of Real-Time Model 4.8 Software Component Testing 4.9 Integration of Software 4.9.1 Generating Program Version and Data Version 4.9.2 Generating Description Files 4.9.3 Generating Documentation 4.10 Software Integration Testing 4.11 Integration of System 4.11.1 Integration of Software and Hardware 4.11.1.1 Download 4.11.1.2 Flash Programming 4.11.2 Integration of ECUs, Setpoint Generators, Sensors, and Actuators 4.12 System Integration Test 4.13 Calibration 4.14 System and Acceptance Test

1.5.3.2 Methods Reuse and of Softwar Tools for Development 5.1 Offboard Interface Between Electronic Control Units and Tools 5.2 Analysis of Logical System and Specifi cation of Technical System 5.2.1 Analysis and Specifi cation of Open-Loop and Closed-Loop Control 5.2.2 Analysis and Specifi cation of Real- Time 5.2.2.1 Schedulability Analysis 5.2.2.2 Verifying Schedulability by Means of Measurements 5.2.2.3 Monitoring and Handling Deadline Violations in the Operating System 5.2.3 Analysis and Specifi cation of Distributed and Networked 5.2.4 Analysis and Specifi cation of Reliable and Safe 5.2.4.1 Failure Rate Analysis and Calculation of Reliability Function 5.2.4.2 System Safety and Reliability Analysis 5.3 Specifi cation of Software and Validation of Specifi cation 5.3.1 Specifi cation of Software and Software 5.3.1.1 Object-Based Software Modeling 5.3.1.2 Module-Based Specifi cation of Interfaces to Real-Time Operating System 5.3.1.3 Class-Based Specifi cation of Reusable Software 5.3.2 Specifi cation of Data Model 5.3.3 Specifi cation of Behavioral Model Using Block Diagrams 5.3.3.1 Specifi cation of Arithmetical 5.3.3.2 Specifi cation of Boolean 5.3.4 Specifi cation of Behavioral Model Using Decision Tables 5.3.5 Specifi cation of Behavioral Model Using State Machines 5.3.5.1 Specifying Flat State Machines 5.3.5.2 Specifying Transitions with Branching Instructions 5.3.5.3 Specifying Hierarchy State Machines 5.3.6 Specifi cation of Behavioral Model Using High-Level Languages 5.3.7 Specifi cation of Real-Time Model 5.3.8 Validating the Specifi cation Through Simulation and Rapid Prototyping 5.3.8.1 Simulation 5.3.8.2 Rapid Prototyping 5.3.8.3 Horizontal and Vertical Prototypes 5.3.8.4 Target System Identical Prototypes 5.3.8.5 Throw-Away and Evolutionary Prototypes 5.3.8.6 Reference Prototype for ECU Verifi cation 5.4 Design and Implementation of Software 5.4.1 Consideration of Requested Nonfunctional Product Properties 5.4.1.1 Runtime Optimization Through Consideration of Varying Access Times to Different Memory Segments 5.4.1.2 Runtime Optimization Through Distribution of Software Function to Several Tasks 5.4.1.3 Resource Optimization Through Division into Online and Offl ine Calculations 5.4.1.4 Resource Optimization Through Division into Onboard and Offboard Calculations 5.4.1.5 Resource Optimization for Characteristic Curves and Maps

1.5.3.2 Reuse 5.4.2 of Softwar Design and Implementation of Algorithms for Fixed-Point and Floating-Point Arithmetic 5.4.2.1 Representation of Numbers in Digital Processors 5.4.2.2 Rounding Errors in Integer Division 5.4.2.3 Overfl ow and Underfl ow in Addition, Subtraction, and Multiplication 5.4.2.4 Shift Operations 5.4.2.5 Handling Overfl ows and Underfl ows 5.4.2.6 Error Propagation with Algorithms in Fixed- Point Arithmetic 5.4.2.7 Physical Interrelation and Fixed-Point Arithmetic 5.4.2.8 Physical Model Level and Implementation Level 5.4.2.9 Notes on Implementation in Fixed- Point Arithmetic 5.4.2.10 Notes on Implementation in Floating-Point Arithmetic 5.4.2.11 Modeling and Implementation Guidelines 5.4.3 Design and Implementation of Software 5.4.3.1 Platform and Application Software 5.4.3.2 Standardization of Platform Software 5.4.3.3 Confi guration of Standardized Software 5.4.4 Design and Implementation of Data Model 5.4.4.1 Defi nition of Memory Segment 5.4.4.2 Setting Data Variants via Flash Programming 5.4.4.3 Setting Data Variants via Confi guration Parameters 5.4.4.4 Generation of Data Structures and Description Files 5.4.5 Design and Implementation of Behavioral Model 5.5 Integration and Testing of Software 5.5.1 Software-in-the-Loop Simulations 5.5.2 Laboratory Vehicles and Test Benches 5.5.2.1 Test Environment for Standalone ECUs 5.5.2.2 Test Environment for ECUs, Setpoint Generators, Sensors, and Actuators 5.5.2.3 Test Environment for ECU Network 5.5.2.4 Test Bench 5.5.3 Experimental, Prototype, and Production Vehicles 5.5.4 Design and Automation of Experiments 5.6 Calibration of Software 5.6.1 Offl ine and Online Calibration Procedures 5.6.2 Software Update Through Flash Programming 5.6.3 Synchronous Measuring of Microcontroller and Instrumentation Signals 5.6.4 Downloading and Evaluating Onboard Diagnostic Data 5.6.5 Offl ine Calibration of Parameters 5.6.6 Online Calibration of Parameters 5.6.7 Classifi cation of Offboard Interfaces for Online Calibration 5.6.7.1 Serial Preproduction Interface with Internal CAL-RAM (Method 1) 5.6.7.2 Serial Development Interface with Internal CAL-RAM (Method 2) 5.6.7.3 Parallel Development Interface with Internal CAL-RAM (Method 3)

1.5.3.2 Reuse of Softwar 5.6.7.4 Serial Preproduction Interface with Additional CAL-RAM (Method 4) 5.6.7.5 Serial Development Interface with Additional CAL-RAM (Method 5) 5.6.7.6 Parallel Development Interface with Additional CAL-RAM (Method 6) 5.6.7.7 Communications Protocols for Calibration Tools and Microcontrollers 5.6.8 CAL-RAM Management 5.6.8.1 CAL-RAM Management with Suffi cient Memory Resources 5.6.8.2 CAL-RAM Management with Limited Memory Resources 5.6.9 Parameter and Data Version Management 5.6.9.1 Binary Program and Data Version File Calibration 5.6.9.2 Model or Source Code Calibration and Optimization 5.6.10 Design and Automation of Experiments 6. Methods and Tools for Production and Service 6.1 Offboard Diagnostics 6.2 Parameterization of Software 6.3 Software Update Through Flash Programming 6.3.1 Erasing and Programming Flash Memory 6.3.2 Flash Programming Through the Offboard Diagnostic Interface 6.3.3 Security Requirements 6.3.4 Availability Requirements 6.3.5 Boot Block Shifting and Flash Programming 6.4 Startup and Testing of Electronic 7. Summary and Outlook References Illustration Credits List of Acronyms Index About the Authors