4. Abbildung von MSC auf IPN

Formale Spezifikation und Analyse des zeitlichen Verhaltens eingebetteter Systeme mittels Message Sequence Charts (MSC) und Intervall-Petri-Netzen (IP...
5 downloads 3 Views 683KB Size
Formale Spezifikation und Analyse des zeitlichen Verhaltens eingebetteter Systeme mittels Message Sequence Charts (MSC) und Intervall-Petri-Netzen (IPN) Wolfgang Fengler Vesselka Duridanova Technische Universität Ilmenau Institut für Theoretische und Technische Informatik Fachgebiet Rechnerarchitekturen e-mail: wfengler,[email protected]

TU llmenau

Gliederung

1. Entwurfsprozess 2. Formale Spezifikation 3. Formale Analyse 4. Abbildung von MSC auf IPN

TU llmenau

Fak. Informatik und Automatisierung l Inst. Theoretische und Technische Informatik l FG Rechnerarchitekturen

2

Entwurfsprozess Formale Spezifikation Lastenheft

UML, MSC

Formale Analyse

Statecharts, Simulink, Objektnetze

Petri-Netze (zeitliche, hybride)

Implementierung

TU llmenau

Fak. Informatik und Automatisierung l Inst. Theoretische und Technische Informatik l FG Rechnerarchitekturen

3

Formale Spezifikation = Anforderungsanalyse und Prüfung Analyse / Formalisierung der Aufgabenstellung / Systemkomponentenstruktur Spezifikationssprachen / UML ? Use-Case-Diagramme ? Klassendiagramme ? Sequenz-Diagramme / MSC (HMSC) Ziel / Aufgabe vollständig und wiederspruchsfrei formulieren / Sicherheitsanalyse > Echtzeitanforderungen > Worst-Case Analyse > Risiko, Gefahrenanalyse

TU llmenau

Aufgabe Text

Formale Spezifikation

Fak. Informatik und Automatisierung l Inst. Theoretische und Technische Informatik l FG Rechnerarchitekturen

4

Message Sequence Charts (MSC) Formale Spezifikationssprache / grafische Repräsentation / textuelle Notation / algebraische Deskription Anwendungsfelder / Spezifikation von Kommunikationsystemen und -Protokollen / Dokumentation zu Echtzeit-Systemen / Simulation von Echtzeitanwendungen Spezifikationsmuster / asynchrones Nachrichtenaustausch zwischen nebenläufige (Sub)systeme / Verwendung von Kommunikationsszenarien / Darstellung von komplexen Systemen (HMSC/BMSC)

TU llmenau

msc connection Intiator

Responder Dis

ICrq IC

ICid Wait ICrs

ICcnf Connected

Fak. Informatik und Automatisierung l Inst. Theoretische und Technische Informatik l FG Rechnerarchitekturen

5

Formale Analyse Formale Methoden / Mathematischer Nachweis von (generellen) Systemeigenschaften / Erfassung des gesamten Zustandsraumes / Eindeutigkeit garantieren / frühe Erkennung von Entwicklungsfehlern / hoher Aufwand bei komplexen Systemen Toolunterstützung / automatische Überführung Spezifikation -> formale Methode > Nachvollziehbarer Entwicklungsweg > keine fundierten Kenntnisse vom Anwender erforderlich / Wiederverwendbarkeit / rechnergestützter Korrektheitsnachweis / Teamunterstützung

Auswahl der geeigneten formalen Analysemethode

TU llmenau

Fak. Informatik und Automatisierung l Inst. Theoretische und Technische Informatik l FG Rechnerarchitekturen

6

Intervall-Petri-Netze (IPN) N = (P, T, F, V, m 0, I ) → IPN (1) P, T, F → endliche Mengen mit P ∩ T = 0, P ∪ T≠0, F ⊆ (P x T) ∪ (T x P) dom(F) ∪ cod(F) = P ∪ T (Netz) (2) V : F → N+ (Kantengewicht) (3) m0 : P → N (Anfangsmarkierung) (4) I: T → Q0 x (Q0 ∪ {∞} ) und ∀ t∈T I1(t) ≤ I2(t), I(t) = (I1(t), I2(t)) I → Zeitfunktion von N Zustand

z = (m,J)

in N mit J : T → Q0 ∪ {#}

(1) m erreichbare Markierung (2) ∀ t (t∈T ∧ t--- ≤ m → J(t) ≤ I2(t)) (3) ∀ t (t∈T ∧ t--- ≤ m → J(t)= #) TU llmenau

Fak. Informatik und Automatisierung l Inst. Theoretische und Technische Informatik l FG Rechnerarchitekturen

7

Intervall-Petri-Netze (IPN) t

[eft, lft] t[a,b]

0 Equivalenz-Relationen > Operationen Toolunterstützung > Unterstützung von modularer Strukturierung > Vereinfachung von Hierarchiebildung > Vereinfachung von Analysetechniken > Verwendung von Designmustern MSC → tPBC → IPN

Beschreibung von BMSC und HMSC durch tPBC

TU llmenau

Fak. Informatik und Automatisierung l Inst. Theoretische und Technische Informatik l FG Rechnerarchitekturen

10

Zeit-Petri-Netz-Kalkül (tPBC) Intervall Petri Box B ist eine Equivalenzklasse

B = [∑]

∑ = ( P, T, F, V, m0,I, λ ) λ : P → { {e},0,{x} } → entry,interne,exit Plätze λ:T→F→L∪W → Kommunikation-, Hierarchietransitionen •∑ {p ∈ P| λ(p) = {e}} → Entry-Plätze ∑• {p ∈ P| λ(p) = {x}} → Exit-Plätze λ(t) = 0 → interne Transitionen 1. ∀ t ∈T : •t ≠ 0 ≠ t• → jede t besitzt Vor- und Nachplatz 2. •∑ ≠ 0 → mindestens ein Entry-Platz 3. ∑• ≠ 0 → mindestens ein Exit-Platz 4. ∀ p ∈ •∑ ∀ t ∈T : W(p,t) = 0 → keine Kanten zum Entry-Plätze 5. ∀ p ∈ ∑ • ∀ t ∈T : W(p,t) = 0 → keine Kanten aus Exit-Plätze 6. ∀ t ∈T : ( λ(t) ∈ W ⇒ ∀ p ∈ P : W(p,t) = 1∧ W(t,p) =1) → nur einfache Gewichtsfunktion an Hierarchietransitionen 7. ∀ t ∈T : ( λ(t) ∈ W ⇒ ∀ p ∈ P : W(p,t) = 0 ∨ W(t,p) =0) → keine seitige Bedingungen bei Hierarchietransitionen

TU llmenau

Fak. Informatik und Automatisierung l Inst. Theoretische und Technische Informatik l FG Rechnerarchitekturen

11

Zeit-Petri-Netz-Kalkül (tPBC) - Semantik E::={ Basic Boxes }

{},{ß} {ß}@[eft,lft] X

Basis-Operatoren sequentielle Konstrukte Sequenz Choice nebenläufige Konstrukte Parallel Synchronisation Abstraktionskonstrukte Restriktion Scoping relabelling hirarchische Konstrukte Iteration Verfeinerung asynchrone Konstrukte Tie E1 TU llmenau

Aktion Aktion mit Zeitintervall Variable

E1 ; E2 E1 [] E2 E1 || E2 E1 sy < Tiefe > Multimenge E1 rs Multimenge [E1 : Multimenge] E[f] [ E1 ∗ E2 ∗ E3 ] E[ X ← E ] E1 tie a

Fak. Informatik und Automatisierung l Inst. Theoretische und Technische Informatik l FG Rechnerarchitekturen

12

MSC → tPBC → IPN msc connection Intiator

Responder

IICONrq

[2,5] ICONrs

Intiator_Entry

Initiator || Responder [Initiator←( {ICONrq+} {ICONrs-} )] [Responder← [{begin_int1,end_int1}:( {ICONrq-,begin_int1}; {ICONrs+,end_int1}) || (^begin_int1;{}@[2,5];^end_int1)] ] Responder_Entry

[2,5]

TU llmenau

Fak. Informatik und Automatisierung l Inst. Theoretische und Technische Informatik l FG Rechnerarchitekturen

13

Anti-Schlupf-Regelung

ASS

[9,9]

/ Iteration → [ E1 ∗ E2 ∗ E3 ] [ Sreering_check_up ∗ Driving@[9,9] ∗ Car_switch_off ]

TU llmenau

Fak. Informatik und Automatisierung l Inst. Theoretische und Technische Informatik l FG Rechnerarchitekturen

14

tPBC → Anti-Schlupf-Subsystem (AS_SYSTEM) [{begin_inst,end_inst}: ASS[ASS end_inst])] TU llmenau

Fak. Informatik und Automatisierung l Inst. Theoretische und Technische Informatik l FG Rechnerarchitekturen

15

IPN → Anti-Schlupf-Subsystem (AS_SYSTEM)

TU llmenau

Fak. Informatik und Automatisierung l Inst. Theoretische und Technische Informatik l FG Rechnerarchitekturen

16

MSC → Anti-Schlupf-Subsystem (AS_SYSTEM)

RCO_Sreer

RCO_Brake RCO_Accel

[1, 1]

Motor_Ctrl

Wheel_Req

Front_Wheel

Car_Speed

Rear_Wheel

[1, 1]

Wheel_Sig Angle_Val

[1, 1]

[2, 2] Brake_Req

Brake_Sig [2, 2]

Brake_Val

Wheel_Speed [1,1] [1,1]

[1, 1]

Car_Speed_Val Wheel_Speed

[0.2, 0.2]

[1, 1] Accel_Req Accel_Sig Accel_Val [2, 2]

Angle Strength Voltage

TU llmenau

Fak. Informatik und Automatisierung l Inst. Theoretische und Technische Informatik l FG Rechnerarchitekturen

17

tPBC → Anti-Schlupf-Subsystem (AS_SYSTEM) [ {begin_inline,end_inline}: ( (

(ROCSTEER||ROCBRAKE||ROCAC CEL||MOTORCTRL ||FRONTWHEEL||REARWHEEL) [ROCSTEER

Suggest Documents