SEC PI Meeting Annapolis, May 8-9, 2001 Component-Based Design of Embedded Control Systems Edward A....

21
SEC PI Meeting Annapolis, May 8-9, 2001 Component-Based Design of Embedded Control Systems Edward A. Lee & Jie Liu UC Berkeley with thanks to the entire Berkeley and Boeing SEC teams
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    2

Transcript of SEC PI Meeting Annapolis, May 8-9, 2001 Component-Based Design of Embedded Control Systems Edward A....

SEC PI Meeting

Annapolis, May 8-9, 2001

Component-Based Design of Embedded Control Systems

Edward A. Lee & Jie Liu

UC Berkeley

with thanks to the entire Berkeley and Boeing SEC teams

SEC, Annapolis, 2

Precise Mode Change Problem

How do you get the processes to a quiescent state to take a mode change?

thread or process

thread or process

thread or process

SEC, Annapolis, 3

Components and their Relationships

PortPort

Entity Entity

L inkRelation

Entity

Port

connection

connection

conn

ectio

n

L ink

Lin

k

An abstract syntax - clustered graphs - is well suited to a wide variety of component-based modeling strategies, ranging from state machines to process networks.

SEC, Annapolis, 4

Actor View of Producer/Consumer Components

Producer/consumer styles:

• continuous-time• dataflow• discrete events• synchronous• time-driven• publish/subscribe•…

Actor

IOPort

IORelation

P2P1

E1

E2

send(0,t) receiver.put(t) get(0)

token tR 1

Basic Transport:

Receiver(inside port)

SEC, Annapolis, 5

A Laboratory for Exploring Models of Computation

Ptolemy II – Java based, network integrated– A realization of a model of computation is called a “domain.”

Multiple domains can be mixed hierarchically in the same model.

SEC, Annapolis, 6

Basic Object Model forExecutable Components

ComponentEntityCompositeEntity

AtomicActor

CompositeActor

0..10..n

«In te rface»Actor

+getD irec tor() : D irec to r+getE xecutiveD irec tor() : D irec to r+getM anager() : M anager+ inputP ortL is t() : L is t+new R eceiver() : R ece iver+outpu tP ortL is t() : L is t

«In terface»Executable

+fire ()+ in itia lize()+pos tfire () : boo lean+prefire () : boo lean+pre in itia lize()+s topF ire ()+ term ina te()+w rapup()

Director

SEC, Annapolis, 7

Abstract Semantics – How Components Interact

flow of control Initialization Execution Finalization

communication Structure of signals Send/receive protocols

SEC, Annapolis, 8

Abstract Semantics – How Components Interact

flow of control Initialization Execution Finalization

communication Structure of signals Send/receive protocols

preinitialize() declare static information, like

type constraints, scheduling properties, temporal properties, structural elaboration

initialize() initialize variables

SEC, Annapolis, 9

Abstract Semantics – How Components Interact

flow of control Initialization Execution Finalization

communication Structure of signals Send/receive protocols

iterate()

SEC, Annapolis, 10

Abstract Semantics – How Components Interact

flow of control Initialization Execution Finalization

communication Structure of signals Send/receive protocols

iterate()

prefire() fire() postfire()

stopFire()

SEC, Annapolis, 11

The Key Action Methods

Prefire() obtain required resources may read inputs may start computations returns a boolean indicating readiness

Fire() produces results

Postfire() commits state updates (transactional)

StopFire() request premature termination

All of these are atomic (non-preemptible)

SEC, Annapolis, 12

This Abstract Semanticshas Worked For

Continuous-time models Finite state machines Dataflow Discrete-event systems Synchronous/reactive systems Time-driven models (Giotto) …

Can we make it work for priority-driven multitasking (RTOS style)?

Hybrid systems

SEC, Annapolis, 13

Benefits

Composable semantics arbitrarily deep hierarchies heterogeneous hierarchies

Precise mode switching nest FSMs with anything else

controller plant

actuatordynamics

sensor

task1

task2

TTA

TTA

Hierarchical, heterogeneous, system-level model

SEC, Annapolis, 14

RTOS Domain

Objective: understand and improve OCP semantics support priority-driven preemptive scheduling use atomic execution, to get composability solve the precise mode change problem

Solution: Atomic execution when possible Façade to long-running processes when not

SEC, Annapolis, 15

Atomic Façade to Long-Running Computations

Each component defines the interaction between the atomic façade and the long-running process.

There are several useful patterns: allow task to complete enforce declared timing “anytime” computation transactional

Declared time

OperationDispatcher

Atomic Facade

prefire()

readystart

priority-drivenmultitaskingrun other

atomic andnon-atomicoperations

fire()produceoutputs

Task

join

postfire()commitstatecontinue

SEC, Annapolis, 16

RTOS Domain Implementation

• priority• executionTime

(clock, 1.0)

(T1, p1, t1)

RT-Q

OS-Q (T1, p2, t2)

(clock, 2.0)

(actor, output time)

(task, priority, remaining processing time)

(T3, p3, t3)

SEC, Annapolis, 17

Example: two simple tasks

nonpreemptive preemptive

SEC, Annapolis, 18

Inter-domain example: shared-resource controllers

plant1

plant2

computer

controller1

controller2

SEC, Annapolis, 19

Background process example:Data acquisition and processing

atomic background processes

SEC, Annapolis, 20

What a Modal Control System Might Look Like

RTOS model

RTOS modelRTOS model

SEC, Annapolis, 21

Conclusion

Systematic, principled, real-time, heterogeneous, hierarchical composition of:

Processes and/or threads Finite automata (mode controllers) Other models of computation

Continuous-time models Dataflow models …

The key is the abstract semantics of Ptolemy II, which defines hierarchical heterogeneous composition of models of computation.