51. rich components with a/p-quality...

54
CBSE, © Prof. Uwe Aßmann 1 51. Rich Components with A/P-Quality Contracts – The Future Component Model for Embedded Systems 1. CBSE for Embedded Systems 2. SPEEDS Heterogeneous Rich Components 3. Contract Composition 4. Contract specification language CSL 5. Self-Adaptive Systems 6. HRC as Composition System Prof. Dr. Uwe Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik http://st.inf.tu-dresden.de Version 16-0.3, 09.07.16 Many Slides are courtesy to Vered Gafni, Israel Aircraft Industries (IAI). Used by permission for this lecture. Other material stems from the SPEEDS project www.speeds.eu.com

Upload: others

Post on 06-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

CBSE, © Prof. Uwe Aßmann 1

51. Rich Components with A/P-Quality Contracts – The Future Component Model for Embedded Systems

1.  CBSE for Embedded Systems 2.  SPEEDS Heterogeneous Rich

Components 3.  Contract Composition 4.  Contract specification language

CSL 5.  Self-Adaptive Systems 6.  HRC as Composition System

Prof. Dr. Uwe Aßmann Technische Universität Dresden

Institut für Software- und Multimediatechnik

http://st.inf.tu-dresden.de Version 16-0.3, 09.07.16

Many Slides are courtesy to Vered Gafni, Israel Aircraft Industries (IAI).

Used by permission for this lecture. Other material stems from the

SPEEDS project www.speeds.eu.com

In 2014 optional; only for your information

Page 2: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 2

Obligatory Literature

Ø  www.speeds.eu.com Ø  G. Döhmen, SPEEDS Consortium. SPEEDS Methodology – a white paper. Airbus

Germany. •  http://www.speeds.eu.com/downloads/SPEEDS_WhitePaper.pdf

Ø  [MM-Europe] R. Passerone, I. Ben Hafaiedh, S. Graf, A. Benveniste, D. Cancila, A. Cuccuru, S. Gerard, F. Terrier, W. Damm, A. Ferrari, A. Mangeruca, B. Josko, T. Peikenkamp, and A. L. Sangiovanni-Vincentelli. Metamodels in Europe: Languages, tools, and applications. IEEE Design & Test of Computers, 26(3):38-53, 2009.

Ø  [Heinecke/Damm] H. Heinecke, W. Damm, B. Josko, A. Metzner, H. Kopetz, A. L. Sangiovanni-Vincentelli, and M. Di Natale. Software components for reliable automotive systems. In DATE, pages 549-554. IEEE, 2008.

Ø  [Damm-HRC] Werner Damm. Controlling speculative design processes using rich component models. In Fifth International Conference on Application of Concurrency to System Design (ACSD’05), pages 118-119. IEEE Computer Society, 2005.

Page 3: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 3

Used References

Ø  [CSL] The SPEEDS Project. Contract Specification Language (CSL) •  http://www.speeds.eu.com/downloads/

D_2_5_4_RE_Contract_Specification_Language.pdf

Ø  [HRC-MM] The SPEEDS project. Deliverable D.2.1.5. SPEEDS L-1 Meta-Model, Revision: 1.0.1, 2009

•  http://speeds.eu.com/downloads/SPEEDS_Meta-Model.pdf

Ø  [HRC-Kit] The SPEEDS project. SPEEDS Training Kit. •  http://www.speeds.eu.com/downloads/Training_Kit_and_Report.zip •  Training_Kit_and_Report.pdf: Overview •  Contract-based System Design.pdf: Overview slide set •  ADT Services Top level Users view.pdf: Slide set about different relationships

between contracts

Ø  G.Gößler and J.Sifakis. Composition for component-based modeling. Science of Computer Programming, 55(1-3):161–183, 2005.

Page 4: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 4

Ø  http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5763167 http://disi.unitn.it/~roby/pdfs/

Ø  BenvenisteCaillaudFerrariMangerucaPasseroneSofronis08FMCO.pdf

Ø  http://arxiv.org/pdf/0706.1456.pdf

Page 5: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

CBSE, © Prof. Uwe Aßmann 5

51.1. CBSE for Embedded Systems

Page 6: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 6

Today’s Embedded Systems

6

Several quality aspects: - cost,

- performance,…

composed of physical specific subsystems developed

concurrently

involve several disciplines (e.g., aerodynamics, mechanical,

control)

Large Scale

Reliability is critical

Embedded System

Page 7: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 7

Götting Autonomous Transport Systems

http://www.goetting.de/dateien/galerienbilder/fox-containerterminal.jpg

Page 8: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 8

Risk Graph from Götting Autonomous Transport

http://www.goetting.de/dateien/galerienbilder/risikograph.jpg

Page 9: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 9

Quality Requirements (Real-time, Safety, Energy, Dynamics)

Ø  Informal Quality Requirements are specified in the software requirements specification (SRS, Pflichtenheft)

Ø  Informal Real-Time Requirement: The gate is closed when a train traverses the gate region, provided there is a minimal time distance of 40 seconds between two approaching trains.

•  Hard Real-time: definite deadline specified after which system fails •  Soft Real-time: deadline specified after which quality of system’s delivery

degradates

Ø  Informal Safety Requirement: If the robot’s arm fails, the robot will still reach its power plug to recharge.

Ø  Informal Energy Requirement: If the robot’s energy sinks under 25% of the capacity of the battery, it will still reach its power plug to recharge.

Ø  Informal Dynamic Movement Requirement: If the car’s energy sinks under 5% of the capacity of the battery, it will still be able to break and stop.

Page 10: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 10

Vision: Modular Verification of Behavior of Embedded Systems

Ø  Usually, Embedded Software is hand-made, verification is hard Ø  But fly-by-wire and drive-by-wire need verification

Ø  Challenge 1: Quality requirements can be formalized and proven

•  How to formalize them? •  How to prove them?

Ø  Challenge 2: Proof can be computed in modules, proof is modular and can be reused as a proof component in another proof

•  Contracts serve this purpose: they prove assertions about components and subsystems

•  Whenever an implementation of a component is exchanged for a new variant, the new variant must be proven to be conformant to the old contract. Then the old global proof still holds

•  This is a CBSE challenge!

Page 11: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

CBSE, © Prof. Uwe Aßmann 11

51.2. SPEEDS HRC (Heterogeneous Rich Components)

For formalizing quality requirements as component contracts

A contract system based on regular sets of traces of executions

.. Further developed in the EU project CESAR .. Now called CESAR Component Model (CCM)

Page 12: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 12

Rich Component Models

Ø  A rich component defines contracts in several views with regard to different viewpoints

•  A contract for functional behavior (functional view) •  Several quality contracts, e.g.,

Real-time behavior (real-time view) Energy consumption (energy view) Safety modes (safety view) Movements (dynamics view)

•  Used for component-based software for embedded systems

Ø  The contract (about the observable behavior) of a component is described by state machines in the specific view (interface automata)

•  The interface automata encode infinite, regular path sets (traces) •  They can be intersected, unioned, composed; they are decidable •  Contracts can be proven

Ø  Instead of an automaton in a contract, temporal logic can be used and compiled to automata (temporal logic contract)

Page 13: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 13

Assumptions about Automata-Based Contracts

Ø  A component has one thread of control Ø  A component is always in a finite set of states Ø  The behavior of a component can be described by a protocol

automaton (interface automaton) •  Compatibility is decidable

Ø  A hybrid automaton is an automaton in which states and transitions can be annotated in different views

•  A real-time automaton is a hybrid automaton with real-time annotations •  A safety automaton is a hybrid automaton with safety annotations •  A dynamics automaton is a hybrid automaton with dynamics equations

(physical movement, electricity movement) •  An energy automaton is a hybrid automaton with energy consumption

annotations

Page 14: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 14

A/P Quality Contracts for CBSE

Ø  [Gössler/Sifakis, Heinecke/Damm] Ø  Composability gives guarantees that a component property is

preserved across composition/integration Ø  Compositionality deduces global semantic properties (of the

composite system) from the properties of its components Ø  An A/P-contract is an if-then rule: under the assumption A

(precondition), the component will deliver promise P (aka guarantee G, postcondition)

Ø  An A/P-quality contract is an A/P-contract in which hybrid

automata form the assumptions and promises

Contract = ( assumption, promise )

= IF assumption THEN promise

A/P-quality contract based component models are composable and compositional.

Assertion

Assertion

Page 15: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 15

Semantics of Assertions and Contracts

Ø  The semantics of an assertion A in a contract is the regular set of traces (paths), to which the interface automaton expands (all traces of the unrolled automaton)

•  Every state of the trace assigns a value to the ports of a component

Ø  [[ A ]] := { p | p is path of A } Ø  An assumption A is stronger (bigger) than an assumption B, if its

semantics contains the semantics of B: Ø  [[ A ]] > [[ B ]] := { p | p is path of B } ⊆ { q | q is path of A } Ø  The semantics of contract C is formed of promise G unioned with

the complement of the assumption A (either A, then G; or not A) Ø  [[ C ]] = [[ (A,G) ]] := compl([[A]]) ∪ [[G]] Ø  The semantics is computable with regular trace set composition

Page 16: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 16

EU IP SPEEDS – Speculative and Exploratory Design in Systems Engineering

Horizontal and vertical interfaces of a component

Assumed

From/by lower design levels

from neighbors

Promised

From/by higher design levels

to neighbors

Layer n+1

Layer n

Layer n-1

separate tools

Page 17: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 17

HRC – SPEEDS’s View of a Component An A/P-quality contract based component model

HRC - Heterogeneous Rich Component

Implementation

HRC Inteface

Executable Module

Specification

A/P Contract

A/P Contract

A/P Contract A/P

Contractviewpoint

viewpoint

HRC interface HRC interface

Page 18: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 18

Semantics of View Composition

Ø  HRC is a view-based component model with 4 views: •  Functional •  Real-time •  Safety •  Dynamics (movement)

Ø  If a component has several contracts in several views, their trace sets are intersected, meaning that the component fulfils all of them

•  Semantics is set intersection on trace sets

Page 19: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 19

Basic Elements of HRC A/P-Contracts

Assumption in natural language for a railway crossing XR: - Minimal delay of 50 sec. between successive trains - At startup no train is already in XR - Trains move in one direction Promise in natural language: - Gate closed as long as a train is in XR - Gate open whenever XR is empty for more than 10 sec

Controllertrain-intrain-out

close, openposition

Component

Contract = ( assumption, promise )

Given behaviors Behaviors component

must produce

Page 20: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 20

Assertions Describe Behavior

20

1 sec.

green

red

req. req.

3 sec. 3 sec.

1 sec.

5sec

30

25

-10

50

•  An assertion specifies a subset of the possible component behaviors

•  A finite automaton specifying an infinite set of regular paths

Contract over continuous variable:

temp: [-10°,50°] ‘after 5 sec. 25≤temp≤30’

Contract over discrete variable:

lights :{red, green}, req: event

‘lights initially green, and after each ‘req’, within 1sec, become red for 3 sec. then

back green’

Contract = ( assumption, promise )

Page 21: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 21

Hybrid Automata – Automata Representing Assertions

CloseCmdDly OpenCmdDly

approachinv=(clk<K)

Idle

flow=(clks=1 & Ks=0)

init=(True)

flow=(clks=1 & Ks=0) flow=(clks=1 & Ks=0)

inv=(clk<K)

exitexit

approachclk’=0

exitclk’=0

open_cmdclose_cmd

approach

MoveUp MoveDownopen_cmd

Up

flow=(ys=0)

open_cmdy=0

init=(True)y=90 close_cmdinv=(y=90)

flow=(ys=9)inv=(y<90)

flow=(ys=-9)inv=(y>0)

close_cmd

Down

flow=(ys=0)inv=(y=0)

close_cmdopen_cmd

close_cmd

Far

Near

flow=(-50<Xs<-40)inv=(X>1000)init=(X<5000)

flow=(-50<Xs<-30)inv=(X>0)

Passing

flow=(-50<Xs<-30)

inv=(X>-100)

approachx=1000

exitx=-100 &1900<x’<4900

x=0

Train

Controller

Gate

Assertions in colors belong to different views

Page 22: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 22

Contract Analysis

Within one component (same interface): contracts are intersected

Ø  is based on algebra of contracts

Ø For HRC contracts, the following properties can be proven:

Ø Refinement

Ø Consistency,

Ø Compatibility,

Ø Dominance,

Ø Simulation,

Ø Satisfiability

Functionality Time performance

Safety

Component

Component Component Component

contracts contracts contracts

along components (for a certain viewpoint, view-specific)

Contract

contract contract contract

contracts can be refined (refinement of contracts)

Page 23: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

CBSE, © Prof. Uwe Aßmann 23

51.3. Contract Composition

Page 24: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 24

Basic Relations on Contracts: Satisfaction

Ø  Satisfaction (implementation conformance) couples implementations to contracts.

•  An implementation M satisfies (conforms to) a contract C Ø  Given contract: C=(A,G), implementation M

Ø  Satisfaction: (M satisfies C) M|=C ⇔def A∩M⊆ G Ø  Read: promise C.G is stronger than intersection of assumption C.A

and background M

Assumption

Promise

M

Reasoning with Venn diagrams: smaller means weaker; larger means stronger; Inclusion means implication

Page 25: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 25

Basic Relations on Contracts: Refinement

Refinement: Given contract: C=(A,G) C’=(A’,G’), implementation M, C refines C’:

C⊆C’⇔def (¬A ∪ G) ⊆ (¬A’ ∪ G’)

Page 26: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 26

Basic Relations on Contracts: Dominance

A G’

GA’

Ø  Dominance (contract conformance): Given contracts C=(A,G) C’=(A’,G’), and implementation M, C dominates C’ (C’ is conformant to C, C’ covers-more than C):

C<C’⇔def A’⊆A and G⊆G‘ C=>C‘ iff A‘<=A and G<=G‘

Ø  Read: •  A‘ is weaker (smaller) than A and G is weaker (smaller) than G‘); •  A is stronger (bigger) than A’ and G‘ is stronger (bigger) than G; •  The assumed trace set of A‘ is included in the guaranteed trace set of A. •  The assumed trace set of G’ includes the one of G

Ø  Dominance implies refinement. The dominance operator is contravariant in A and G, i.e, when assumption A “grows”, the promise G “shrinks”

Example: •  C: (A= daylight, G = video & IR-picture) •  C’: (A’= anytime, G’= only IR-picture) •  Daylight ⊆ anytime, video&IR-picture ⊆ IR-picture

Claim: M|=C and C<C’ ⇒ M|=C’ (if M satisfies C, and C dominates C’, then M satisfies C’)

Page 27: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 27

Compatibility of Contracts

Ø  Compatibility is a relation between two or more contracts C1 .. Cn Ø  Two contracts C1 and C2 are compatible whenever the promises of one

guarantee that the assumptions of the other are satisfied •  When composing their implementations, the assumptions will not be violated •  The corresponding components “fit” well together

Ø  C1 = (A1,P1) and C2 = (A2,P2) are compatible if C1<->C2⇔def P1⊆A2 and P2⊆A1

Ø  Read: Contract C1 is compatible to contract C2 if ist precondition C1.P is weaker than the other‘s assumption C2.A, and its Promise C1.P is stronger than the others promise C2.P (or: C2.P weaker than C1.A).

Ø  The guaranteed trace set of C2 includes the assumed trace set of C1 Ø  The guaranteed trace set of C1 includes the assumed trace set of C2

A2

P1

A1

P2

Page 28: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 28

Composition of Contracts

Ø  Within a component (with the same interface), contracts in different views can be synchronized with synchronizing transitions Ø  The real-time assertions can be coupled with functional, real-time, safety, and energy view

Ø  along components – contracts of a certain viewpoint can be composed (with parallel composition)

Component Component

Functionality Real-Time Performance Safety

Component

Component

contracts contracts contracts

Energy

Page 29: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 29

Parallel Composition of Contracts (of Separate Components)

Ø  Given contracts C1=(A1,G1), C2=(A2,G2), implementation M

Ø  Parallel composition operator || for contracts C1||C2 := (A,G) •  where: A = (A1∩A2) ∪ ¬(G1∩G2), G = G1∩G2

Ø  Read: two contracts C1 and C2 are parallel-composed into a contract C, if

•  Their assumptions are intersected and extended with the complement of the intersection of their promises

•  Their promises are intersected

Component C2 Component

C1

Claims: C1, C2 are in canonical form (〈A,G∪¬A〉)

•  If M|=C1 and M|=C2 then M|=C1||C2

•  Interleaving: If M1|=C1 and M2|=C2 then M1×M2|=C1||C2

C

Page 30: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 30

Composite Components

Given contracts C1=(A1,G1), C2=(A2,G2), the following operators can be defined. They are all reduced to operations on hybrid automata:

Ø  Complement: ¬C := (¬A, ¬G) Ø  Greatest Lower Bound (glb): C1⎡⎤C2 := (A1∪A2, G1∩G2)

The weaker consequence, stronger assumption Ø  Least Upper Bound (lub): C1⎣⎦C2 := (A1∩A2, G1∪G2)

The stronger consequence, weaker assumption Ø  The fusion operator combines parallel composition with glb and lub

Ø  Fusion: [[C1,C2 ]]p = [C1]p ⎡⎤ [C2 ]p ⎡⎤ [C1||C2 ]p

C=(A,G), p∈P ⇒def [C]p = ( ∀pA, ∃pG )

Contract C2

Component C Contract C1

Page 31: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 31

Specification of Assertions in Temporal Logic

Ø  In practice, Hybrid Automata are too low level to be used by normal engineers

•  Alternatively, temporal logics like (Metric) LTL do better

“The gate is closed when a train traverses GR (gate region).“ (EnterGR → ClosedUExitGR) Ø  But for normal properties, logic is still too difficult and rejected by the

engineers: P occurs within (Q,R) ((Q ∧ ¬R ∧ O¬R ) ∧ ◊R) → (¬R)U(O(P ∧ ¬R)))

“Between the time an elevator is called at a floor and the time it opens its doors at that floor the elevator can pass that floor at most twice.“ ((call ∧ ◊Open) → (Move U (Open ∨ (Pass U (Open ∨ (Move U (Open ∨ (Pass U (Open ∨ (Move U Open))))))))))

Page 32: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 32

HRC Theorem

Ø  The proof uses the automata theory of hybrid and real-time automata

Ø  Usually, model checking is used

Given a system composed of HRC components with quality contract. Then, in every perspective (viewpoint), it can be verified whether the

system matchies the system quality requirements.

Page 33: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

CBSE, © Prof. Uwe Aßmann 33

51.4. Contract Specificaiton with CSL, a Textual DSL

Page 34: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 34

Assertions by Textual Contract Patterns

Ø  A contract pattern (pattern rule) is an English-like template sentence embedded with parameters’ placeholders, e.g.:

inv [Q] while [P] after [N] steps represents a fixed property up to parameters' instantiation.

(in the speak of the course, it is an English generic fragment of English)

Ø  The semantics of a pattern is a template automaton (generic contract), which is instantiated by the parameters

•  A binding composition program translates the English sentence to a template automaton by binding its slots

Ø  In the SafeAir project previous to SPEEDS, a contract patterns library was developed by OFFIS (Oldenburg), but the library grew up to ~400 patterns, and was not manageable

idea acceptable by users (format, less) but patterns can be very complex, like:

inv [P] triggers [Q] unless [S] within [B] after_reaching [R]

Page 35: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 35

CSL (Contracts Specification Language) based on A/P-contract-patterns •  CSL is a textual domain-specific language (DSL) intended to

provide a friendly formal specification means •  Assumptions and promises can be compiled to automata (Normal, Real-time and

Hybrid Automata)

•  Template sentences from requirement specifications can be translated into interface automata

•  CSL introduces events and time intervals in contract patterns

•  CSL is a ECA language with real-time assertions

Requirements Document HACSL

Page 36: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 36

CSL – Component Specification

Ø  The CSL/HRC grammar defines interfaces with contracts of assumptions and promises.

CSL ::= ‘HRC’ HRC-Id ‘Interface’ ’controlled’: VariableDeclaration ’uncontrolled’: VariableDeclaration ‘Contracts’ Viewpoint-id ’contract’ Contract-id * ’Assumption’: Assertion ’Promise’: Assertion

Page 37: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 37

CSL Metamodel

Ø  [HRC-MM] is done in MOF and OCL •  executable in MOF-IDE (Netbeans), •  checked on well-formedness by OCL checkers

Ø  Variables, assumptions Ø  More information about MOF-based metamodels and how to use

them in tools -> Course Softwarewerkzeuge (WS)

Viewpoint-id ‘contract’ Contract-id * ‘Assumption:’ Assertion

‘Promise:’ Assertion

Page 38: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 38

CSL Time Model & Variables

•  Time model: R≥0.

•  Variables: Discrete range Continuous range pwc evolution ⇒ pw derivable

•  Events

Page 39: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 39

CSL – Contract Specification with Generic Text Fragments

Ø  CSL uses generic programming for assertions

•  An assertion is expressed by a contract pattern, a generic text fragment embedded with parameters (slots):

•  Parameter slots are conditions, events, intervals.

•  Hedge symbols [ ] to demarcate slots

Example: “Whenever the request button is pressed a car should arrive at the station within 3 minutes”

Whenever [car-request] occurs [car-arrives] occurs within [3min]

Assertion ::= (Text ‘[‘ slot:Parameter ‘]’ )* Text ::= char *

Page 40: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 40

Contract Specification Process in HRC-CSL

Steps to Derive HRC-CSL-Contracts: Ø  Start with the informal requirement

•  Identify what has to be guaranteed by the component under consideration and what cannot be controlled and hence should be guaranteed by the environment:

•  Informal promise(s), Informal assumption(s)

Ø  Identify the related interface: inputs / outputs Ø  Specify parts of the informal requirements in terms of inputs and

outputs of the component Ø  Select an appropriate contract pattern from the contract pattern

library and substitute its parameter slots

Page 41: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 41

Ex.: Instantiation of a Contract Pattern

Ø  Informal Requirement: “Whenever the request button is pressed a car should arrive at the station within 3 minutes.”

Ø  Contract Pattern: Whenever [E: event] occurs [E2: event] occurs within [I: interval]

Ø  Instantiated Contract: Whenever req-button-pressed occurs car-arrives-at-station occurs within 3 min

Ø  Compiles to an hybrid automaton (here: real-time automaton)

Page 42: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 42

More Contract Patterns

•  whenever [E] occurs [C] holds during following [I]

I E

C

•  whenever [E1] occurs [E2] occurs within [I]

I E1 E2

•  [C] during [I] raises [E] I

E C

Temporal/Continuous expressions for parameters (Events, Conditions, Intervals)

Page 43: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 43

Example: Formalization of Informal Requirement with a Contract Pattern

Ø  Assertion: •  Whenever the request button is pressed a car should arrives at the station within

3 minutes

Ø  Instantiated in CSL: •  Whenever [request-button-press] occurs [car-arrives-at-station] holds within

[3min]

Contract with Ø  Assumption:

•  [40 seconds minimal delay between trains] •  whenever [train_in] occurs [~train_in] holds during following (0,40]

Ø  Promise: •  The gate is closed when a train traverses gate region. •  [gate is closed when a train traverses gate region] •  whenever [train_in] occurs [position==closed] holds during following [train_in,

train_out]

Page 44: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 44

Contract Pattern Parameters (Slots) and Their Typing

Conditions: •  Boolean variables: C,… •  x ~ exp -- K=8, x>5, y’= -3y2 +7, x<y •  Exp.: C1∨C2, C1∧C2, ¬C, C1→C2 Events: •  Primitive: a, b, c,… Startup •  Condition change: tr(C), fs(C) •  Time delay: dly(T) •  Exp.: e1∧e2, e1∨e2, e1-e2, e when C, e1;e2 Intervals: •  Designated by two occurrences of events a, b; all forms: [a,b], [a,b), (a,b], (a,b)

delay of T time units

first e2 after e1

e1 occurs, but not e2

A condition must hold true along an

interval

|C| = |tr(C),fs(C)|

Page 45: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 45

Timers

e

T

e e

T

e

T

PeriodicTimer(T) at e

Timer(T) at e

Ø  e+T ≡ tr(c=T) where c=Timer(T) at e

Page 46: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 46

CSL Examples with Timers

“Dispatching commands will be refused during first 5 seconds after a car arrives at station”

Ø  Whenever [car-arrives] occurs [dispatch-cmd] implies [refuse-msg] during following [5sec]

„40 sec. minimal delay between trains” Ø  Whenever [Tin] occurs [Tin] does not occur during following (40 sec]

„Between the time an elevator is called at a floor and the time it stops at that floor the elevator can pass that floor at most twice.“ Ø  [PassFloor[m]] occurs at most [2] times during (CallAtFloor[m], StopAtFloor[m])

Page 47: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 47

Pattern Occurrence Types

car-request

Occurrence instance

car-arrives car-request

Occurrence instance

car-arrivescar-requestX

Whenever [car-request] occurs [car-arrives] occurs within [3min]

Flowing occurrences of events - interleaving occurrence's instances

Iterative occurrences of events – non interleaving occurrence's instances

A F<3m3/s A A

[F<3] during [3 Sec] raises [AlarmSignal]

Page 48: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 48

Automaton Representation of Iterative Occurences of Events

WaitTriggerEvent

WaitStart

Interval ES – ER

WithinInterval

before R

(E & ES) – ER

E – ES

WithinIntervalafter R

ES & ER

EF - E

(ER & EF ) - E

(ER & EF & E) – ES

(EF & E) - ES

EF & E & ES – ER

E & ES & ER ER – EF

ER & EF & E & ES

whenever [E] occurs [ER] occurs within [ES,EF]

Page 49: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 49

More HRC Patterns for Contract Specification

Ø  E: Event, SC: State Condition, I: Interval, N: integer Ø  Pattern Group “Validity over Duration” Ø  P1 (hold): whenever [E] occurs [SC] holds during following [I] Ø  P2 (implication): whenever [E1] occurs [E2] implies [E3] during

following [I] Ø  P3 (absence): whenever [E1] occurs [E2] does not occur during

following [I] Ø  P4 (implication): whenever [E] occurs [E/SC] occurs within [I] Ø  P5: [SC] during [I] raises [E] Ø  P6: [E1] occurs [N] times during [I] raises [E2] Ø  P7: [E] occurs at most [N] times during [I] Ø  P8: [SC] during [I] implies [SC1] during [I1] then [SC2] during [I2]

Page 50: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 50

51.5. Self-Adaptive Systems

Ø  For future networked embedded systems and cyber-physical systems, we need verifiable, compositional component models supporting self-adaptivity.

Ø  Self-adaptivity can be achieved by dynamic product families with variants that are preconfigured, verified, and dynamically reconfigured:

•  Contract negotation (dynamic reconfiguration between quality A/P-automata) •  Polymorphic classes with quality-based polymorphism: the polymorphic

dispatch relies on quality types, quality predicates •  Autotuning with code rewriting and optimization

Ø  More in research projects at the Chair

Page 51: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

CBSE, © Prof. Uwe Aßmann 51

51.6 HRC as Composition System

•  HRC is an interesting combination of a black-box component model in different views

•  It could be one of the first COTS component models with viewpoints, but the standarization is unclear at the moment

Page 52: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 52

Evaluation of HRC Component Model

Parameterization

Binding points

Contracts Business services

Infrastructure

Secrets

Development environments

Types

Versioning

Distribution

Page 53: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 53

HRC – Composition Technique and Language

Scalability

Adaptation

Metacomposition Aspect Separation

Extensibility Software process

Connection Product quality

Page 54: 51. Rich Components with A/P-Quality Contractsst.inf.tu-dresden.de/files/teaching/ss16/cbse/slides/51... · 2016-07-09 · 51. Rich Components with A/P-Quality Contracts – The Future

Prof. U. Aßmann, CBSE 54

HRC as Composition System

Component model Composition technique

Composition language

Source or binary components

Greybox components

Automata as interfaces CSL textual contract patterns with slots

Algebra of composition operators (dominance, satisfaction, compatibility, lub, glb, fusion,..)

Verification of quality assertions

Connectors are possible

Visual composition language