56
Umfassendes Architekturmodell – Durchgängige Modellierung verschiedener Aspekte eines Systems Alexander Harhurin, Judith Thyssen 12.01.2010

Umfassendes Architekturmodell – Durchgängige Modellierung …spes2020.informatik.tu-muenchen.de/results/D-1-2-B-2... · 2012. 2. 20. · Erfahrung“ in Teilsysteme unterteilt

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • Umfassendes Architekturmodell – Durchgängige Modellierung verschiedener

    Aspekte eines Systems

    Alexander Harhurin, Judith Thyssen12.01.2010

  • 2

    Agenda

    • Einführung: Architekturmodell • Nutzungsperspektive• Logische Perspektive• Technische Perspektive• Geometrische Perspektive• Übergänge zwischen Perspektiven• Zusammenfassung

  • Einführung: Architekturmodell

  • 4

    Von isolierten Lösungen zu einem durchgängigen Einsatz von Modellen

    Domainagnostic

    Domainappropriate

    HighAbstraction

    LowAbstraction

    Domainagnostic

    Domainappropriate

    HighAbstraction

    LowAbstraction

    Situation Today Ideal Situation

    Our mission

    Systematik an Abstrakationsebenen/Architekturmodell als Leitfaden für einen durchgängigen Entwicklungsprozess

  • 5

    Abstraktionsebenen-Systematik – Zielsetzung

    • Zielsetzung:– Bereitstellung einer grundlegende Systematik

    für einen durchgängigen Entwicklungsprozess, die es erlaubt• unterschiedliche Aspekte des zu entwickelnde System klar voneinander

    getrennt zu modellieren und• organisatorische Strukturen (Zulieferer/Integratoren-Beziehungen)

    abzubilden.

    • Geplantes Vorgehen:1. Bereitstellung & Diskussion einer grundlegenden Systematik 2. Bereitstellung von fachliche Metamodelle, d.h. domänenübergreifende

    Kern-Modellierungskonzepte für einzelnen Ebenen3. Exemplarische domänen-spezifische Ausprägungen4. Prototypische Umsetzung in AF3

  • 6

    Software Development Perspectives

    User Functionality Logical Architectuer Technical Architecture

    Low details High details

    Refinement Deployment

    Akademisches Vorgehen:

  • 7

    Probleme

    • Ein umfangreiches System (Auto, Flugzeug) aus der Black-Box- Sicht zu beschreiben ist unmöglich

    • Man geht in der Praxis nicht strikt Top-Down vor:– Bestimmte Teilsysteme existieren bereits– HW-Topologie ist oft vorgegeben– Ein größeres System wird zunächst nicht formal sondern „aus

    Erfahrung“ in Teilsysteme unterteilt (Flugzeug besteht aus Flügen, Cockpit, Kabine, etc.)

    Lösungsvorschlag:Zweidimensionale Systembeschreibung

  • 8

    Abstraktionsebenen-Systematik

  • 9

    Zwei Dimensionen der Matrix

    • 1. Dimension: SW-Development Perspectives– Getrennte Modellierung unterschiedlicher Aspekte des Systems Komplexitätsreduktion

    – Von abstrakten Funktionshierarchien bis zum deployten System inkl. Geometrischer Anordnung

    • 2. Dimension: Decomposition Layers– Schrittweise Dekomposition und Modellierung des Gesamtsystems– Erlaubt Abbildung organisatorischer Strukturen (arbeitsteiligen Prozess

    mit Zulieferen/Integrator-Beziehung)

  • 10

    Dekompositionsebenen

    Merkmale:• Schrittweise Dekomposition des Gesamtsystems in Subsysteme;• Relativer Systembegriff:

    – Systemgrenze wechselt bei Übergang zwischen Dekompositionsebenen

    – Subsystem bei Integrator = System bei Zulieferer• Dekompositonsebenen nicht a priori vorgegeben, sondern abhängig von Domäne,

    Unternehmen, konkreten EntwicklungsgegenstandZiele:• Unterstützt arbeitsteiligen Prozess, bei dem Teilsysteme von Zulieferern entwickelt

    werden;• Ermöglicht Zickzack-Vorgehen:

    – Anforderungen an das ganze System– Erste logische Architektur– Anforderungen an einzelne Teilsysteme– Zerlegung der Teilsysteme in Komponenten

    Gesamt- fahrzeug Sensorik Steuerung Aktuatoren

  • 11

    Dekompositionsebenen

  • Nutzungsperspektive (Funktionale Architektur)

  • 13

    Ziele

    • Modellierung des Systemverhaltens aus Sicht der Nutzer des Systems (Blackbox-Sicht)– Nutzer: menschliche Nutzer, umliegende Systeme, Sensorik/Aktorik,…

    • Definition der Systemgrenze– syntaktisches Interface, – abstrakter Informationsaustausch

    • Hierarchische Strukturierung der Gesamtfunktionalität aus Sicht der System-Nutzer

    • Formalisierung der funktionalen Anforderungen– Bindeglied zwischen RE und Design– Konsolidierung der funktionalen Anforderungen durch formale

    Spezifikation und Analyse– Erkennen und Modellieren von funktionalen Abhängigkeiten (Feature

    Interaction)

  • 14

    Inhalt

    • Funktionale Spezifikation ist eine Menge einzelner Szenarien;• Ein Szenario ist ein zeitlicher Ablauf von Ein- und

    Ausgabeereignissen;• Black-Box-Sicht: Szenarien sind an der Systemgrenze sichtbar;• Adressierte Fragenstellungen:

    – Validierung: Entsprechen Szenarien den Anforderungen?– Konsistenzprüfung: Gibt es Widersprüche in Anforderungen?– Feature Interaction: Alle Wechselwirkungen berücksichtigt?

    SystemUmgebung Umgebung

  • 15

    Funktionshierarchie

    Funktionshierarchie besteht aus• Atomaren Funktionen• Kombinierten Funktionen• Querbeziehungen

    A

    B C

    D E F G

    KH ML

    AtomareFunktion

    KombinierteFunktion

    Querbeziehung

  • 16

    Funktion

    • Formalisiert ein Szenario;• Gegeben durch

    – eine syntaktische Schnittstelle und– eine (partielle) Abbildung von Eingaben auf Ausgaben

    Funktionmi3,1 mi3,2 mi3,3 …

    mi2,1 mi2,2 mi2,3 …

    mi1,1 mi1,2 mi1,3 … i1

    i2

    i3

    o1

    o2

    mo1,1 mo1,2 mo1,3 …

    mo2,1 mo2,2 mo2,3 …

  • 17

    Funktion (2)

    • Mögliche Notationstechniken:– I/O Automaten;– I/O Tabellen;– Sequenzdiagramme

    idle active

    cSpeed?x/mInstr!p(y,z)

    rDistance?y/mInstr!p(y,z)cDistance?z/mInstr!

    cSpeed?x/mInstr!

    SysEnv

  • 18

    Funktionskombination

    • Parallele Komposition aller atomaren Funktionen;• Unter Berücksichtigung von Querbeziehungen.

    • Querbeziehungen sind domänenspezifisch;• Beispiele:

    – Priorität: Ein Interaktionsmuster hat Vorrang vor dem anderen;– Reihenfolge: Ein Interaktionsmuster muss vor dem anderen

    ausgeführt werden;– XOR: Entweder eine oder die andere Funktion– etc.

  • 19

    Metamodell

  • 20

    Beispiel:ACC

    ACC-steuerung

    Tempomat Abstands-regelung

    Stop&GoAbstandTempomat/KTempomat/G

    Abstand/KAbstand/G

  • 21

    ACC: Funktionshierarchie

  • 22

    ACC: Funktionskombination

  • 23

    ACC: Funktionsspezifikation

  • 24

    Vorteile einer formalen Spezifikation

    • Anforderungsmodell ist simulierbar validierbar;

    • Automatisch analysierbar konsistent (widerspruchfrei);

    • Generierung von Testfällen;

    • Formale Basis für den Übergang zum Design:– Mapping;– Traceability;– Verifikation;

    • Formal aber handhabbar wegen Abstraktion von allen technischen Details.

  • Logische Perspektive

  • 26

    Inhalt

    • Übergang von der Problemdomäne zu der Lösungsdomäne

    • White-Box-Sicht: die interne Struktur des Systems

    • High-Level-Design: erster Schritt Richtung der Implementierung

    • Struktur der Funktionalität unter Berücksichtigung von:– Qualitätsmerkmalen (wie z.B. Modifizierbarkeit, Verfügbarkeit,

    Sicherheit, Testbarkeit, etc.)– Vorhandene HW-Topologie– Organisationsstruktur– Erfahrung– etc.

  • 27

    Netzwerk von Komponenten

    • Besteht aus einer Familie von Komponenten, die über Kanäle untereinander und mit ihrer Umgebung verbunden sind.

    • Gegeben durch – eine syntaktische Schnittstelle und– eine totale Abbildung von Eingaben auf Ausgaben

    • Meist etablierte Notationstechnik: Komponentendiagramme und I/O Automaten

    Communication Network

    Sender ReceiverMedium

    Medium

    Network Manager

  • 28

    Modellierungstool AutoFocus

    Struktur

    Verhalten

    Daten

    … weitere Informationen unter http://af3.in.tum.de

    http://af3.in.tum.de/images/e/e4/ExpandedDictionary.pnghttp://af3.in.tum.de/index.php/Image:IntListEvaluation.pnghttp://af3.in.tum.de/index.php/Image:Getting_Started_Tutorial_SSD_View.pnghttp://af3.in.tum.de/index.php/Image:Getting_Started_Tutorial_Root_State.png

  • 29

    ACC

  • 30

    ACC (2)

  • 31

    Component Hierarchy of ACC

    ACC SystemACC System

    PCSPCSACCACC

    ACC On Off ConditionACC On Off ConditionACC CoreACC Core

    ACC Core ConditionACC Core ConditionFollowUpFollowUpConstantSpeedConstantSpeed

    DesiredSpeedDesiredSpeed SpeedControlSpeedControl DesiredDistanceDesiredDistance DistanceControlDistanceControl

  • 32

    Beitrag zur durchgängigen Entwicklung

    • Wiederverwendung:– Teilsysteme Bibliotheken– Bibliotheken Teilsysteme

    • Restrukturierung gemäß Qualitätsmerkmalen

    • Traceability: Funktionale Anforderungen – Funktionen – logische Komponenten

    • Code-Generierung

    • Deployment: logische Komponenten auf ECUs.

  • Technische Perspektive

  • 34

    Technische Architektur

    • Beschreibung der Zielplattform, d.h. der HW-Topologie und der Hauptcharakteristika der HW-Elemente

    • Beschreibung der Sensorik, Aktorik und HMI

    • Überprüfung von Echtzeiteigenschaften unter Berücksichtigung der Zielplattform

  • 35

    ACC

  • 36

    ACC: Deployment

  • 37

    Generated Code

  • Geometrische Perspektive

  • 39

    Geometrische Perspektive

    • Geometrische Anordnung der HW-Komponenten

    • Überprüfung geometrischer Eigenschaften, z.B. sind redundant ausgelegte Funktionen mindestens x Meter voneinander entfernt

    • Für ZP-AP 1 steht die geometrische Sicht nicht im Vordergrund

  • Übergange zwischen Perspektiven

  • 41

    Zwei Dimensionen der Beschreibung

  • 42

    Übergänge

    • Nutzungsperspektive Logische Perspektive– N:1-Abbildung ist einfach– N:M-Abbildung: laufende Arbeit

    • Logische Perspektive Technische Perspektive– Deployment

    • Component Deployment (N:1-Abbildung der atomaren Komponenten)• Port Deployment

    – Code-Generierung– Technische Architektur ist Architekturtreiber der Logischen Architektur

    • Technische Perspektive Geometrische Perspektive:– Deployment– Geometrische Architektur ist ein Architekturtreiber der Logischen

    Architektur.

  • 43

    Zickzack-Vorgehen

  • 44

    Offene Fragen

    • Wie werden Funktionen auf Komponenten abgebildet?– n:1

    – n:m

    • Wie werden Querbeziehungen abgebildet?

  • Analyse der Modelle

  • 46

    Formal Verification – Model Checking

    • Properties for AutoFocus model• Export to SMV Model Checker

  • 47

    Formal Specification – Example Properties

    • OnOffArbiter– Termination on brake (116)

    – No non-zero acceleration when inactive:

    • CoreArbiter– Constant-Speed-Control Condition (122)

    Absence of the check whether driver brakes in a transition

  • 48

    ACC: Model Checking

    Results for the logical architecture of the ACC– Approximately 20 properties formalised – Three properties falsified and corresponding faults found– All other properties proven correct

  • 49

    Test Case Generation and Execution

    Test Case Generator

    abstract test cases Test Drivertest case

    specification

    model of SUTexecutable test cases

    apply to

    Requirements

    build

    SUTdifferences in behavior?

  • 50

    Tests from the Test Model

    • Real functional tests

    faults which already reside in the implementation model

    different views on requirements• Test model independently developed• More abstract

    Requirements

    Env SUT

    Test Cases

    Implementation Model

    generate

    dv = vs – v;if (dv < 0) {decr();...

    Code

    generate

    manualmanual

    Test Model

    test

  • 51

    Random Tests with Usage Profile

    • New enhancement to our AutoFOCUS Test Generation Tool• Individual Settings for every input port

    – probability of NoVal– probability distribution of values– probability of value change

  • 52

    ACC: Testing Results

    Generated 120 test cases each from system and test model:– Generation takes only a few seconds– in approx. 80% of test steps no error could be identified– 3 differences between test model and system model identified (potential faults)– 1 issue in test driver detected – Most test cases reached one of these failure states after some time

  • 53

    Summary: Verification

    Different kinds of errors were found:• Testing:

    – Several gaps in the specification identified– Increased stability and robustness of the system

    • Model Checking: – Mainly implementation faults identified

    A precise definition of the requirements and the system is key to an efficient verification!

  • Zusammenfassung

  • 55

    Von isolierten Lösungen zu einem durchgängigen Einsatz von Modellen

    Domainagnostic

    Domainappropriate

    HighAbstraction

    LowAbstraction

    Domainagnostic

    Domainappropriate

    HighAbstraction

    LowAbstraction

    Situation Today Ideal Situation

    Our mission

    Systematik an Abstrakationsebenen als Framework für einen durchgängigen Entwicklungsprozess

  • 56

    Model Repository

    ArchitectureViews

    ProductModel

    MethodDefinition

    Comprehensive Modeling Theory

    Tooling Environment

    Sem

    antic

    Dom

    ain

    Hol

    istic

    Arc

    hite

    ctur

    alM

    odel

    Mod

    elE

    ngin

    eerin

    g E

    nviro

    nmen

    tr

    based on based on based on

    part of refers to

    developand analyze

    materialize

    processes

    support

    Umfassendes Architekturmodell – Durchgängige Modellierung verschiedener Aspekte eines SystemsAgendaEinführung: ArchitekturmodellVon isolierten Lösungen zu einem durchgängigen Einsatz von ModellenAbstraktionsebenen-Systematik – Zielsetzung Software Development PerspectivesProblemeAbstraktionsebenen-SystematikZwei Dimensionen der MatrixDekompositionsebenenDekompositionsebenenNutzungsperspektive (Funktionale Architektur)ZieleInhaltFunktionshierarchieFunktionFunktion (2)FunktionskombinationMetamodellBeispiel:ACCACC: FunktionshierarchieACC: FunktionskombinationACC: FunktionsspezifikationVorteile einer formalen SpezifikationLogische PerspektiveInhaltNetzwerk von KomponentenModellierungstool AutoFocusACCACC (2)Component Hierarchy of ACCBeitrag zur durchgängigen EntwicklungTechnische PerspektiveTechnische ArchitekturACCACC: DeploymentGenerated CodeGeometrische PerspektiveGeometrische PerspektiveÜbergange zwischen PerspektivenZwei Dimensionen der BeschreibungÜbergängeZickzack-VorgehenOffene FragenAnalyse der ModelleFormal Verification – Model CheckingFormal Specification – Example PropertiesACC: Model CheckingTest Case Generation and ExecutionTests from the Test ModelRandom Tests with Usage ProfileACC: Testing ResultsSummary: VerificationZusammenfassungVon isolierten Lösungen zu einem durchgängigen Einsatz von ModellenFoliennummer 56