51
Heterogeneous Modeling: Hybrid Systems Heterogeneous Modeling: Hybrid Systems Hybrid Models Automotive Powertrain Languages and Verification Problems Simulink and StateFlow CheckMate Charon Masaccio

Heterogeneous Modeling: Hybrid Systems Hybrid Models

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Heterogeneous Modeling: Hybrid SystemsHeterogeneous Modeling: Hybrid Systems

Hybrid ModelsAutomotive Powertrain

Languages and Verification ProblemsSimulink and StateFlowCheckMateCharonMasaccio

Page 2: Heterogeneous Modeling: Hybrid Systems Hybrid Models

MotivationMotivation

Hybrid Systems are becoming a major modeling paradigm for embedded systems

Capability of modeling controller and plantUse of concurrent multiple levels of abstraction

Difficult to verify and designCombination of continuous and discrete dynamics of different typesLack of “operationally strong” theoretical results

Variety of tools and approaches mutually incompatible due to modeling differences

Page 3: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Foundations of Hybrid ModelFoundations of Hybrid Model

Used classic model by J. Lygeros, S. Sastry and C. Tomlin as basis

Model consists of three parts:Structure= sets, discrete and dynamical componentsTime Bases= intervals over which behavior is continuousHybrid execution= rules according to which we have jumps and continuous flows

Observations:Non deterministic behavior allowed (needed)Fixed interaction structure

Page 4: Heterogeneous Modeling: Hybrid Systems Hybrid Models
Page 5: Heterogeneous Modeling: Hybrid Systems Hybrid Models

System SpecificationsSystem Specifications

Page 6: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Driver Vehicle

force, speed, acceleration, jerk, rpm, fuel consumption,...

emissions, external noise, temperature, ...

Key, Brake, Gas, Transm.

Engine &

Driveline

Controller

spark advance, injection time,throttle angle

Closed loop vehicle modelClosed loop vehicle model

Page 7: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Fa st N e ga tiveFor ce Tr a ns ien t

m in f(D , M fue l)τ < τ m ax

For ce T r a ck ing

Fa st P osi tiveFor ce Tr a ns ien t

S pe e d Tr ack in g

n= n(.) n= n(.)

I dle & T r a sm On

.G > 0 | t >τ

. .G < G B| B = 1

.G < 0 | t >τ

. .G > G A

G > 0

G = 0

T > 0

T =0 T =0

(G > 0 )& (T> 0 )

T =0

fI( n) = 0 & G = 0

fI( n ,G ) > 0

.G = 0 & C= 1

.G > 0| B = 1

T > 0

T =0

O U T PUT :

n - E ng ine S p eedn - E ng ine S p eedFFG G - Gen erated Fo rceVV GG - Veh icle S p eed - Veh icle S p eed

n= n(G )F G = 0

R pm Tr ackingn= ar gm in(M fu el)

Id le

F G = 0

V G = V G (.)

S topn= 0

F G = 0

S tar tu p

F G = 0n= .

G > 0G = 0

(n < n m in)| (K = Of f) n > n st art up

K = St ar t

(n < n m in)| (K = O ff)

F G = F G(G ,T ,n)F G = F G(G ,T ,n)

m ax Dτ < τ m ax

m in τ

F G = F G(G ,T ,n)

M fue l < M m a x; D >D m in

T >0 &G = 0

IN P UT S:

G - G as P edalG - G as P edalT - C lu tc h Ped al & Gear S tickT - C lu tc h Ped al & Gear S tickB - Brak e P ed alB - Brak e P ed alC - C ru ise C o n tro lC - C ru ise C o n tro l

K - Key

D - C o m fort

fI( n) = 0 & G = 0

Page 8: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Why Mixed Models of Computation Why Mixed Models of Computation in internal combustion engines control ?in internal combustion engines control ?

Specifications

Control variables

Physical processes in the plant

Description of the HW/SW implementation constraints

input value time

Throttle valve Continuous ContinuousFuel injection Continuous DiscreteSpark ignition Discrete Discrete

Page 9: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Model of PowerModel of Power--traintrain

Manifold(continuous system)

Engine sub-system

Drive-line

(continuous system with changing dynamics)

Throttle opening angle

Spark timing Torque

Manifold pressure

Clutch Insertion/Release

Gear change

Vehicle Speed

Simple?

Page 10: Heterogeneous Modeling: Hybrid Systems Hybrid Models

44--stroke enginesstroke engines

Page 11: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Engine and PowerEngine and Power--train Modeltrain Model

CTS

CTS

Page 12: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Intake ManifoldIntake Manifold

V(t) - throttle motor voltage α (t) - throttle angle

n (t) - crankshaft speed p (t) - manifold pressure

V(t)

α (t)motor dynamics

p (t)

air dynamics

n (t)

aV(t)

Page 13: Heterogeneous Modeling: Hybrid Systems Hybrid Models

PowerPower--traintrain

T (t) - generated torque αe(t) - torsion angle

n (t) - crankshaft speed

θ (t) - crankshaft angle ωp (t) - wheel speed

T (t)

power-train dynamicsζ(t)

ζ(t)

θ(t)

Page 14: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Engine and PowerEngine and Power--train Modeltrain Model

cylinders

intake manifold power-train

Page 15: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Hybrid Systems in the Hybrid Systems in the TaggedTagged--Signal Models (Signal Models (TSMsTSMs) Framework) FrameworkHybrid systems can be seen as formalisms for

describing a complex system using mixed models of computation when a single one is not powerful, expressive or practical enough.

An event e ∈ V×T: V is the set of values and T is the set of tags e.g.

universal time (T is the set of real numbers)discrete time (T is a totally ordered discrete set),

a signal is a set of events,a process with N channels is a subset of the set of N-tuples of signals.

Page 16: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Models of ComputationModels of ComputationA Finite State Machine (FSM) is a synchronous TSM process in which the tags take values in N and the inputs, outputs and states take values on finite sets.

A Sequential System (SS) is a synchronous TSM process in which the tags take values in N and the inputs, outputs and states assume values on infinite sets.

A Discrete-Event System (DES) is a timed TSM process in which the tags are order-isomorphic with N (and denote instants of time).

A Continuous-Time System (CTS) is a timed TSM process in which the tags take values in a connected set on which a metric is defined (and denote instants of time).

A Discrete-Time System (DTS) is a synchronous DES.

Page 17: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Hybrid TaggedHybrid Tagged--Signal Model of a Single Signal Model of a Single CylinderCylinder

engine cycle torque profile

torque generation delay

air intake

Page 18: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Engine Cycle (FSM)Engine Cycle (FSM)

positive spark advance:the spark is given before the TDC between the compression and expansion strokes.

negative spark advance:the spark is given after the TDC between the compression and expansion strokes.

Page 19: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Sequential System

Continuous-Time System

Torque Generation Delay (SS)Torque Generation Delay (SS)

t

T i(t) real profile

piece-wise profilespark

k - 2 k - 1 k k+1

aI BS PA AS H

Torque Profile (CTS)Torque Profile (CTS)

Page 20: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Engine and PowerEngine and Power--train Modeltrain Model

cylinders

intake manifold power-train

Page 21: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Mean-Value Model: accurate over a longer time window

regulation control problemslow performance transient problems

Hybrid Model: cycle accuratetransient control problems stability of delay-sensitive control algorithmshigh performance control algorithms

Hybrid Model vs MeanHybrid Model vs Mean--Value ModelValue Model

Page 22: Heterogeneous Modeling: Hybrid Systems Hybrid Models

OutlineOutline

Hybrid Models

Languages and Verification ProblemsSimulink and StateFlowCheckMateCharonMasaccio

Page 23: Heterogeneous Modeling: Hybrid Systems Hybrid Models

What is a simulator?What is a simulator?Given a mathematical model of the system, computes its evolutionand its outputs under a pre-determined set of inputs

The mathematical model expresses heterogeneity and concurrency

The simulator computes the response of the model by mapping it onto the “device” used to carry out the computation

In general, the computing device has limited resources and is digital

We must embed the model of time of the model into the model of the computing device that gives the “common denominator” (e.g., discretize time, synchronize)We must map a set of concurrent processes into a sequential system (e.g., schedule execution of concurrent processes)

Page 24: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Hybrid Systems SimulationHybrid Systems Simulation

FSM,Discrete Eventand other MOCs

Continuous Time

• Integrator (hold)

Interface

Inputs Outputs

t

t

• Invariants & Guards• Sampling

Page 25: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Hybrid System SimulationHybrid System Simulation

A simulator for hybrid systems must capture different types of behaviors:

Continuos TimeDiscrete Events FSMs …

and resolve the domain interface problems.

Page 26: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Continuous TimeContinuous Time

Model of computation is DISCRETE TIMEAll variables are computed at each time point

no run-time scheduling decisions on variable computation

Time interval can be fixed (bad for stiff systems), but no run-time decision variable (sophisticated solvers have this)

Variable time step algorithm predicts a time step that will satisfy accuracy criterion based on previous behaviorAfter actual computation, step may be rejected because constraints are violatedRun-time scheduling

Page 27: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Discrete DomainDiscrete Domain

Two basic techniques:Zero-time assumption:

Static scheduling of computationCan be done off-line for maximum efficiency (cycle-based simulation)

Components modeled with delay (Discrete Event Model).

All components evaluated at the same time-point always (wasteful)Follow reaction to events: schedule components whose inputs have changed (assumes internal dynamics completely captured by pure delay) Selective-trace event-driven simulation.

Page 28: Heterogeneous Modeling: Hybrid Systems Hybrid Models

ZeroZero--time Loopstime Loops

xdtdx −=/ xdtdx =/0≤x0≥x

For f : S → S , define the semantics to be a fixed point of f

i. e. s such that

f (s) = s

Page 29: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Synchronization ProblemSynchronization Problem

“Synchronization” between domains: sample the continuous time interface variablesintegrate discrete event interface signalsdetect guards and invariants (zero crossing detection)

Page 30: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Simulator ArchitectureSimulator Architecture

One simulator (e.g. Ptolemy)different algorithms for each domain and unique scheduler

N simulators (e.g. Simulink-StateFlow, Simulink-Bones, Simulink-VCC)

One simulator per domain (different schedulers per domain) and communication among simulators. Scheduler works by transferring control to simulatorMuch less efficient but easier to do!

Page 31: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Invariant DetectionInvariant Detection

An approach: the discrete event simulator checks the conditions sampling the continuos time variables

Advantages:easiest implementationstrong separation between the two domains

Drawbacks:high precision detection reached only with long simulation time.high inter-process communication overhead

Partial Solution:Simulation look-ahead

Page 32: Heterogeneous Modeling: Hybrid Systems Hybrid Models

OutlineOutline

Introduction to WP

Hybrid Models

Languages and Verification ProblemsSimulink and StateFlowCheckMateCharonMasaccio

Page 33: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Source: B. Krogh

Page 34: Heterogeneous Modeling: Hybrid Systems Hybrid Models

The The CheckMateCheckMate Model: TEDHSModel: TEDHS

Three parts:Switched Continuous System (SCS), that takes in the discrete-valued input u and produces continuous state vector x as output into TEG.Threshold Event Generator (TEG), produces an event when a component of x crosses a corresponding threshold from the specified direction (rising, falling, or both) and feeds FSM.Finite State Machine (FSM), whose output, in turn, drives the continuous dynamics of the SCS.

Page 35: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Source: B. Krogh

Page 36: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Source: B. Krogh

Page 37: Heterogeneous Modeling: Hybrid Systems Hybrid Models

The Polyhedral Invariant Hybrid Automaton

A PIHA is a hybrid automaton with the following restrictions:

The continuous dynamics for each location is governed by an ordinary differential equation (ODE).Each guard condition is a linear inequality (a hyper-plane guard).Each reset condition is an identity.For the hybrid automaton to remain in any location, of the hybrid system all guard conditions must be false. This restriction implies that the invariant condition for any location is the convex polyhedron defined by conjunction of the complements of the guards. This gives rise to the name polyhedral-invariant hybrid automaton.

Page 38: Heterogeneous Modeling: Hybrid Systems Hybrid Models

CheckMateCheckMate SummarySummary

Integrated with Matlab/Simulink/StateFlowLimited semantics to simplify analysis and allow formal verificationUses Simulink constructs to enter dataBased on reachability analysis to abstract continuous awayCan perform simulation, partial and complete verificationComputationally complex…

Page 39: Heterogeneous Modeling: Hybrid Systems Hybrid Models

OutlineOutline

Hybrid Models

Languages and Verification ProblemsSimulink and StateFlowCheckMateCharonMasaccio

Page 40: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Charon is a high-level modeling language and a design environment for hybrid systems reflecting the current state of the art both in formal and object oriented methods (UML).

Architectural Hierarchy (Agents)Behavioral Hierarchy (Modes)

Charon toolkitSyntax-directed editorParser and type checkerGlobal simulatorPlotter (from Ptolemy)

What is Charon?What is Charon?

Page 41: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Language SummaryLanguage Summary

Individual components described as agents

Individual behaviors described as modes

Support for concurrencyShared variables as well as message passing

Support for discrete and continuous behavior

Well-defined formal semantics

Page 42: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Continuous Behavior in CharonContinuous Behavior in Charon

Differential Constraintswrite Position robot_Pos;diff diffStop {d(robot_ Pos.x)=0.0; d(robot_ Pos.y)=1.0;}

Algebraic Equationswrite real robotEST;read x ;alge contEST { robotEST = foo(x) + bar(x); }

Invariant Constraints in Modesinv invTUCost { lub <= x <= gub; }

Page 43: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Simulation in CharonSimulation in Charon

In the present approach, a program-specific simulator is generated from the Charon program

Each object of the Charon program is converted into an executable Java object

Together with a program-independent core, these objects implement behavior of the program (Compiled-Code simulator)

Page 44: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Graphical input language

Modular simulation

Model Checker

Future ExtensionsFuture Extensions

Page 45: Heterogeneous Modeling: Hybrid Systems Hybrid Models

OutlineOutline

Hybrid Models

Languages and Verification ProblemsSimulink and StateFlowCheckMateCharonMasaccio

Page 46: Heterogeneous Modeling: Hybrid Systems Hybrid Models

The FRESCO Project(Formal Real-Time Software Components)

Hybrid System ModelMASACCIO: correctness by formal verification against requirements

Time-Safe CodeGIOTTO: correctness by schedulability analysis against resources

Page 47: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Code

Model (e.g., Simulink)

Design Simulate

Optimize Test

Code generation

No exact correspondence between model and code:

-difficult to upgrade code

-difficult to reuse code

No formal connection between requirements, model, and resources:

- expensive development cycle iterates all stages

Redesign

Embedded Software Design: Current State

Page 48: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Code

Model Design Verify

Compilation (analysis, optimization, and code generation)

Embedded Software Design: UCB and PARADES Vision

Page 49: Heterogeneous Modeling: Hybrid Systems Hybrid Models

SLDLSLDL

SLDLSLDL

MASACCIO ATL

GIOTTO GIOTTO-ASC

SLDL 1

RTOS 1

DESIGN

MODEL

PROGRAM

EXECUTABLE

ARCHITECTURESCHEDULERCOMMUNICATION

HierarchicalHybridModules

Time-TriggeredBlocks of

C Code

Model-check

Compile

given

Synthesize Refine

REQUIREMENTS

CONSTRAINTS

Page 50: Heterogeneous Modeling: Hybrid Systems Hybrid Models

MASACCIOMASACCIO

Semantics:Component = interface + behaviors

Interface (the “statics”):Variables: input/output, discrete/continuous (data)

Locations: entry/exit (control)

Behavior (the “dynamics”):Jumps: all variables may change (instantaneous)

Flows: continuous variables evolve (real-valued duration)

Page 51: Heterogeneous Modeling: Hybrid Systems Hybrid Models

Masaccio & Charon: an informal comparisonMasaccio & Charon: an informal comparison

Charon’s hierarchy: architectural -> agents -> parallel composition

behavioral -> modes -> parallel & serial comp

Masaccio’s hierarchy:both architectural & behavioral

-> components -> parallel & serial comp.

Features:

Charon -> Simulation; more developed

Masaccio -> Formal Verification; few papers and few applications; focusing on Giotto at the moment