automotive system and software architecture€¦ · 23 sysml ports •specifies interaction points...

58
Automotive System and Software Architecture Yanja Dajsuren 2IW80 Software Specification and Architecture March 24, 2015

Upload: others

Post on 27-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

Automotive System and

Software Architecture

Yanja Dajsuren

2IW80 Software Specification and Architecture

March 24, 2015

Page 2: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

PAGE 1 24-3-2015

Boeing 787, the most electronic airliner

Chevrolet Volt, an example

modern day car

~8,000,000 LOC ~40,000,000 LOC

Page 3: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

PAGE 2 24-3-2015

Image source: http://www.thetruthaboutcars.com

Why more software?

Page 4: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

Automotive supply chain software integration

Architecture-driven: • (Partially) Automated

• Early detection of errors

• Less effort/cost to change

Document-centric: • Manual

• Error prone

• Costly to change

Adapted from http://www.edibasics.hu/edi-resources/edi-by-industry/automotive.htm

Page 5: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

Automotive architecture modeling

PAGE 4 24-3-2015

• Top-down system development i.o. bottom up

• Separation of concerns in different architectural models/views

• Model-driven i.o. document-centric approach

• Improved design quality by detecting errors early

• …

/ Department of Mathematics and Computer Science

Page 6: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

Automotive companies and ADLs

• Automotive Modeling Language (AML)

• COmponent Language (COLA)

• EAST-ADL

• Timing Augmented Description Language

(TADL)

• The ICT MAENAD project EAST-ADL2

/ Department of Mathematics and Computer Science PAGE 5 24-3-2015

Page 7: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

EAST-ADL

• EAST-ADL

• Advancing Traffic Efficiency and Safety through Software

Technology 2 (ATESST) project

• Refined EAST-ADL2 language, profile, methodology, tools

• It provides means to represent the embedded system in several

abstraction levels.

• Main source: http://www.east-adl.info/

/ Department of Mathematics and Computer Science PAGE 6 24-3-2015

Page 8: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

EAST-ADL and AUTOSAR

PAGE 7 24-3-2015

http://maenad.eu/

Page 9: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

EAST-ADL Abstraction Levels

/ Department of Mathematics and Computer Science PAGE 9 24-3-2015

Page 10: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

EAST-ADL Abstraction Levels

/ Department of Mathematics and Computer Science PAGE 10 24-3-2015

Page 11: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

Example of function-to-component Mapping

/ Department of Mathematics and Computer Science PAGE 11 24-3-2015

Page 12: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

EAST-ADL Metamodel Structure

/ Department of Mathematics and Computer Science PAGE 12 24-3-2015

Page 13: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

/ Department of Mathematics and Computer Science PAGE 13 24-3-2015

Page 14: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

PAGE 14 24-3-2015

Page 15: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

EAST-ADL Summary

• Defines several abstraction levels and mapping between them

• Extensions to traditional ADLs:

• Requirements

• Variability

• Timing

• Dependability

• Safety (alignment with ISO26262)

• Environment modeling

• Not well applied yet in automotive industry

/ Department of Mathematics and Computer Science PAGE 15 24-3-2015

Page 16: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

SysML and UML

PAGE 16 24-3-2015

Page 17: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

SysML Diagram Taxonomy

SysML Diagram

Structure

Diagram

Behavior

Diagram

Use Case

Diagram

Activity

Diagram

Internal Block

Diagram

Block Definition

Diagram

Sequence

Diagram

State Machine

Diagram

Parametric

Diagram

Requirement

Diagram

Modified from UML 2

New diagram type

Package Diagram

Same as UML 2

PAGE 17 24-3-2015

Page 18: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

18

Blocks are Basic Structural Elements

• Provides a unifying concept to describe the structure of an element or system

• System

• Hardware

• Software

• Data

• Procedure

• Facility

• Person

• Multiple standard compartments can describe the block characteristics • Properties (parts, references, values, ports)

• Operations

• Constraints

• Allocations from/to other model elements (e.g. activities)

• Requirements the block satisfies

• User defined compartments

Compartment

Label

values DutyCycle : Percentage

allocatedFrom «activity»Modulate BrakingForce

«block» BrakeModulator

Page 19: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

19

Using Blocks

• Based on UML Class from UML Composite Structure

• Supports unique features (e.g., flow ports, value

properties)

• Block definition diagram describes the relationship

among blocks (e.g., composition, association,

specialization)

• Internal block diagram describes the internal

structure of a block in terms of its properties and

connectors

• Behavior can be allocated to blocks

Blocks Used to Specify Hierarchies and Interconnection

Page 20: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

20

Block Definition vs. Usage

Definition

• Block is a definition/type

• Captures properties, etc.

• Reused in multiple contexts

Usage

– Part is the usage of a block

in the context of a

composing block

– Also known as a role

Block Definition Diagram Internal Block Diagram

Page 21: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

21

Internal Block Diagram (ibd) Blocks, Parts, Ports, Connectors & Flows

Enclosing

Block

Connector

Port

Item Flow

Internal Block Diagram Specifies Interconnection of Parts

Part

Page 22: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

22

Reference Property Explained

•S1 is a reference part*

•Shown in dashed outline box

*Actual name is reference property

s

Page 23: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

23

SysML Ports

• Specifies interaction points on blocks and parts

• Integrates behavior with structure

• portName:TypeName

• Kinds of ports

• Standard (UML) Port

− Specifies a set of required or provided operations

and/or signals

− Typed by a UML interface

• Flow Port

− Specifies what can flow in or out of block/part

− Typed by a block, value type, or flow specification

− Atomic, non-atomic, and conjugate variations Standard Port and Flow Port

Support Different Interface Concepts

Page 24: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

24

Port Notation

Standard

Port

Flow

Port

provided interface

(provides the operations)

required interface

(calls the operations)

item flow

Flow Port

part2: part1:

part1: part2:

Page 25: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

25

State Machines

• Typically used to represent the life cycle of a block

• Support event-based behavior (generally

asynchronous)

• Transition with trigger, guard, action

• State with entry, exit, and do-activity

• Can include nested sequential or concurrent states

• Can send/receive signals to communicate between

blocks during state transitions, etc.

• Event types

• Change event

• Time event

• Signal event

Page 26: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

26

stm HSUVOperationalStates

Operate

Idle

Accelerating/

CruisingBraking

engageBrake/

accelerate/

when (speed = 0)

releaseBrake/

shutOff/stop engine

Off

start[in neutral]/start engine Nominal

states only

keyOff/

Operational States (Drive)

Transition notation:

trigger[guard]/action

Page 27: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

DEMO

/ Department of Mathematics and Computer Science PAGE 27 24-3-2015

Page 28: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

PAGE 28 24-3-2015

Page 29: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

Adaptive Cruise Control (ACC) in SysML

Modeling the ACC system for an E-truck with a top-

down approach in SysML

/ Department of Mathematics and Computer Science PAGE 29 24-3-2015

Image: http://www.extremetech.com/

Page 30: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

PAGE 30 24-3-2015

Requirements Diagram

Source: Artisan Software Tools

Page 31: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

Use Case diagram

• Provides means for

describing basic

functionality in terms of

usages of system by

actors

• Generally elaborated via

other behavioral

representations to

describe detailed

scenarios

/ Department of Mathematics and Computer Science PAGE 31 24-3-2015

Source: Artisan Software Tools

Page 32: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

System architecture

PAGE 32 24-3-2015

Page 33: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

System integration

• Software

• Hardware

PAGE 33 24-3-2015

Page 34: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

Running ACC_UI on Freescale board

PAGE 34 24-3-2015

Page 35: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

SysML summary

• SysML provides a general purpose modeling language to support specification,

analysis, design and verification of complex systems

• Subset of UML 2 with extensions

• 4 Pillars of SysML include modeling of requirements, behavior, structure, and parametrics

• Intended to improve communications, tool interoperability, and design quality

• Multiple tools available

• IBM –Rhapsody

• Sparx Systems -Enterprise Architect

• Atego –Artisan Studio etc.

/ Department of Mathematics and Computer Science PAGE 35 24-3-2015

Page 36: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

Automotive supply chain software integration

Adapted from http://www.edibasics.hu/edi-resources/edi-by-industry/automotive.htm

• Hardware dependent SW

• Not efficient software reuse and exchange

• Costly integration

Electronic Control Unit

(ECU)

ECU

ECU

Page 37: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

AUTOSAR (AUTomotive Open System

Architecture)

• An open and standardized automotive

software architecture

• Architecture

• Methodology

• Application Interfaces

Page 38: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

AUTOSAR Milestones

/ Department of Mathematics and Computer Science PAGE 38 24-3-2015

http://autosar.org/

Page 39: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

AUTOSAR Layered Architecture

http://autosar.org/

Page 40: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

AUTOSAR Methodology

http://autosar.org/

Page 41: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

PAGE 41 24-3-2015

http://autosar.org/

AUTOSAR Application Interface

Page 42: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

AUTOSAR Use Case

http://autosar.org/

Page 43: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

PAGE 43 24-3-2015

AUTOSAR Benefits

http://autosar.org/

Page 44: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

Automotive Standards

• ISO 26262:

• Absence of unreasonable risk due to hazards caused by

malfunctioning behavior of E/E systems

• IEC 61508:

• Part of the overall safety related to the equipment under

control (EUC) that depends on the correct functioning of

the safety-related system.

• MISRA C:

• Software development standard PAGE 44 24-3-2015

Page 45: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

ISO 26262

/ Department of Mathematics and Computer Science PAGE 45 24-3-2015

KoenLeekens, ISO-26262 introduction, 2012

Page 46: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

Safety in V cycle

/ Department of Mathematics and Computer Science PAGE 46 24-3-2015

Page 47: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

Safety Analysis in ISO 26262

PAGE 47 24-3-2015

KoenLeekens, ISO-26262 introduction, 2012

Page 48: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

MISRA C

• MISRA C is a software development standard for the

C programming language developed by MISRA

(Motor Industry Software Reliability Association).

• Its aims are to facilitate code safety, portability and

reliability in the context of embedded systems,

specifically those systems programmed in ISO C

• As with many standards the MISRA C guideline

documents are not free to users or developers

/ Department of Mathematics and Computer Science PAGE 48 24-3-2015

Page 49: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

2014 record recall year

Software problem that could cause

• the cars to stop suddenly

• accelerate without warning

• overheats/damages power

electronics

• …

Page 50: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds
Page 51: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

Ex

am

ple

ap

pli

ca

tio

ns

Fu

nc

tio

na

l

do

ma

ins

Hybrid Innovations for

Trucks (HIT) project Safety-Critical Domain

Certification

InMotion, Solar Team, “Cars

in Context” TU/e projects

Page 52: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

HIT Results • Architecture modeling approaches

• ADL evaluation

• Architecture framework

• Quality framework

• Validated metrics for Simulink

• Metrics tool

• Visualization

Page 53: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

Energy Management (EM) Evaluation

• Integrated Energy and Thermal Management (IETM) model

• Integrated Energy and Emission Management (IEEM) model

PAGE 53

Page 54: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

EM Evaluation

PAGE 54

• Model clones may have the

effect of increasing code size

and duplication of errors.

• Number of duplicates affects

modifiability as well.

Page 55: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

Contribution to GMM based Editors

Safety Case Specific MM

Domain Concepts from

Standard (ISO 26262)

or Project

Generic

MetaModel

SM Editor

Add domain

concepts

Automatic

generated Link to

Metamodel

Transformation

Page 56: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

Summary

• In the automotive industry, more and more software

and electronics system require system and software

architecture methods.

• Automotive specific and generic purpose ADLs are

being developed and applied.

• Many stakeholders, functionalities, safety and

environment requirements require automotive

specific standards.

/ Department of Mathematics and Computer Science PAGE 56 24-3-2015

Page 57: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds
Page 58: Automotive System and Software Architecture€¦ · 23 SysML Ports •Specifies interaction points on blocks and parts •Integrates behavior with structure •portName:TypeName •Kinds

Contact for comments and questions:

Yanja Dajsuren

Tel: +31(0)402475052

Email: [email protected]

Address:

MF 6.085, Eindhoven University of Technology

5612 AZ Eindhoven, The Netherlands