Monitoring unternehmenskritischer Anwendungen unter Verwendung - - PowerPoint PPT Presentation

monitoring unternehmenskritischer anwendungen unter
SMART_READER_LITE
LIVE PREVIEW

Monitoring unternehmenskritischer Anwendungen unter Verwendung - - PowerPoint PPT Presentation

Monitoring unternehmenskritischer Anwendungen unter Verwendung modellbasierter Performance Constraints BachelorKolloquium Andreas Textor atext001@student.informatik.fh-wiesbaden.de Fachbereich Design Informatik Medien Fachhochschule


slide-1
SLIDE 1

Monitoring unternehmenskritischer Anwendungen unter Verwendung modellbasierter Performance Constraints

Bachelor–Kolloquium Andreas Textor

atext001@student.informatik.fh-wiesbaden.de

Fachbereich Design Informatik Medien Fachhochschule Wiesbaden — University of Applied Sciences Referent: Prof. Dr. Reinhold Kröger Korreferent: Dipl.-Inform. (FH) M.Sc. Marcus Thoss Abgabe: 03. September 2008

  • 15. August 2008
slide-2
SLIDE 2

Inhaltsverzeichnis

1

Grundlagen Einbettung in das PerManEntA-Projekt Object Constraint Language

2

Constraints auf Modellebene Workflow-Modell als Graph Umsetzung in OCL

3

Software Architektur Associator Evaluator Module

4

Fallbeispiel PICTURES

5

Zusammenfassung und Ausblick

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

2 / 31

slide-3
SLIDE 3

Grundlagen Einbettung in das PerManEntA-Projekt

Inhalt

1

Grundlagen Einbettung in das PerManEntA-Projekt Object Constraint Language

2

Constraints auf Modellebene Workflow-Modell als Graph Umsetzung in OCL

3

Software Architektur Associator Evaluator Module

4

Fallbeispiel PICTURES

5

Zusammenfassung und Ausblick

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

3 / 31

slide-4
SLIDE 4

Grundlagen Einbettung in das PerManEntA-Projekt

Das PerManEntA-Projekt

Projekt im Labor für Verteilte Systeme, FH Wiesbaden „Performance Management of Enterprise Critical Applications“ Projektpartner

Lufthansa Systems Passenger Services GmbH tang-IT Consulting GmbH

Zielsetzung

Unterstützung für Performance-Management verteilter Applikationen Messpunkte in UML-Modell Rückführung von Messdaten ins UML-Modell Generierung von Instrumentierungsinfrastruktur Erkennung von Workflows und Selbstmanagement

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

4 / 31

slide-5
SLIDE 5

Grundlagen Einbettung in das PerManEntA-Projekt

Modellbasierte Instrumentierung

Instrumentierung: Anbringen von Schnittstellen zur Gewinnung von Leistungsdaten Im PerManEntA-Projekt Quellcode-basierte Instrumentierung Modellbasierte Instrumentierung bedeutet:

Keine manuelle Änderung des Quellcodes, sondern eines Instrumentierungsmodells Weniger fehlerträchtig Schnellere Umsetzung ✦ Weniger Kosten Möglichkeit der Integration in andere Systeme

Elemente des Instrumentierungsmodells (Instrumentation Entities)

Punkte: Zuordnung zu einzelner Code-Stelle Patterns: Logische Gruppierung von Punkten oder weiteren Patterns

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

5 / 31

slide-6
SLIDE 6

Grundlagen Einbettung in das PerManEntA-Projekt

Workflow-Modell 1/2

Ziel: Vereinfachte Abbildung von Arbeitsabläufen

Nutzt und erweitert Instrumentierungsmodell Vorhandene Modelle wie BPMN oder UML-Aktivitätsdiagramme zwar ähnlich, aber nicht direkt verwendbar

Elemente: Workflow - Top-Level-Element (auch Verschachtelung) Action

  • Einzelner Befehl oder Programmabschnitt

Branch

  • Verzweigung

Merge

  • Zusammenführung einer Verzweigung

Parallel - Parallelausführung Elemente besitzen Eingangs- und Endpunkte; Verbindung zweier Elemente durch identischen Punkt

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

6 / 31

slide-7
SLIDE 7

Grundlagen Einbettung in das PerManEntA-Projekt

Workflow-Modell 2/2

Abbildung von Instrumentierungspunkten zu Workflow-Punkten

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

7 / 31

slide-8
SLIDE 8

Grundlagen Object Constraint Language

Inhalt

1

Grundlagen Einbettung in das PerManEntA-Projekt Object Constraint Language

2

Constraints auf Modellebene Workflow-Modell als Graph Umsetzung in OCL

3

Software Architektur Associator Evaluator Module

4

Fallbeispiel PICTURES

5

Zusammenfassung und Ausblick

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

8 / 31

slide-9
SLIDE 9

Grundlagen Object Constraint Language

Object Constraint Language (OCL)

Deklarative Sprache zur Formulierung von Ausdrücken und Bedingungen in objektorientierten Modellen Seit UML-Version 1.1 Bestandteil der UML, seit 1.4 auch verwendbar mit MOF und MOF-basierten Modellen (Meta Object Facility) Für die Spezifikation von Randbedingungen, die nicht grafisch modelliert werden können Jedes Constraint steht im Kontext eines Modellelements Arten von Constraints (Ausschnitt)

Invariants: Müssen zu jeder Zeit erfüllt sein Pre- und Postconditions: Müssen bei Beginn/Ende der zugehörigen Methode erfüllt sein Definitions: Definition von Attributen und Operationen, die nicht im Modell enthalten sind

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

9 / 31

slide-10
SLIDE 10

Grundlagen Object Constraint Language

Beispiel

Invarianten

context Person inv: self.hatFuehrerschein implies self.alter >= 18 context Auto inv: erstzulassung >= baujahr

Preconditions

context Person::losfahren(auto : Auto) pre: hatFuehrerschein

Definitions

context Person def: besitztVW() : Boolean = autos->collect(hersteller)->includes(’VW’)

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

10 / 31

slide-11
SLIDE 11

Constraints auf Modellebene Workflow-Modell als Graph

Inhalt

1

Grundlagen Einbettung in das PerManEntA-Projekt Object Constraint Language

2

Constraints auf Modellebene Workflow-Modell als Graph Umsetzung in OCL

3

Software Architektur Associator Evaluator Module

4

Fallbeispiel PICTURES

5

Zusammenfassung und Ausblick

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

11 / 31

slide-12
SLIDE 12

Constraints auf Modellebene Workflow-Modell als Graph

Workflow-Modell als Graph

Darstellung des Workflow-Modells als Graph erleichtert Definition von Algorithmen Workflow wird als gerichteter, knotengewichteter Graph ● ❂ ✭❱❀ ❊❀ ❢✮ mit der Gewichtungsfunktion ❢ ✿ ❱ ✦ ❘ aufgefasst Elemente werden Knoten, Eingangs-/Endpunkte werden Kanten Knotengewicht steht für die Dauer Darstellung des Graphen ähnelt entsprechendem Aktivitätsdiagramm Beispiel: A, C, D, F sind Actions; B ist Branch; E ist Merge

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

12 / 31

slide-13
SLIDE 13

Constraints auf Modellebene Workflow-Modell als Graph

Ausführungspfade

Definition Ausführungspfad

Ein Ausführungspfad P ✒ ❱ ist definiert als eine endliche Folge von Knoten, bei der der ✐-te Knoten durch eine gerichtete Kante mit dem ✐ ✰ ✶-ten Knoten verbunden ist:

P ❂ ✭✈✶❀ ✈✷❀ ✿ ✿ ✿ ❀ ✈❦✮ mit ✈❥ ✷ ❱ ✽ ✶ ✔ ❥ ✔ ❦ und ✭✈✐❀ ✈✐✰✶✮ ✷ ❊ ✽ ✶ ✔ ✐ ❁ ❦ Dauer eines Ausführungspfades

Die Dauer eines Ausführungspfades berechnet sich aus der Summe der Knotengewichte seiner Ausführungsschritte:

❞✭P✮ ❂

✐❂✶

❢✭✈✐✮

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

13 / 31

slide-14
SLIDE 14

Constraints auf Modellebene Workflow-Modell als Graph

Dauer zwischen zwei Workflow-Punkten

Benutzer kann zwei beliebige Workflow-Punkte angeben, um die Dauer des Pfades zu erhalten Algorithmus stellt sicher, dass es ein gültiger Ausführungspfad ist Berücksichtigung für Schleifen: Letzte Dauer des Schleifenkörpers Berücksichtigung für Parallelausführung: Maximale Dauer der Ausführungsstränge Beispiel 1: Dauer von 1 nach 6 mit

P ❂ ✭❆❀ ❇❀ ❈❀ ❊✮ ❂ ❢✭❇✮ ✰ ❢✭❈✮ ✰ ❋✭❊✮

Beispiel 2: Dauer von 1 nach 5 mit P ❂ ✭❆❀ ❇❀ ❉❀ ❊✮ ❂ ❢✭❇✮ ✰ ❢✭❉✮ Beispiel 3: Dauer von 1 nach 4 mit P ❂ ✭❆❀ ❇❀ ❉✮ ✦ undefiniert!

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

14 / 31

slide-15
SLIDE 15

Constraints auf Modellebene Umsetzung in OCL

Inhalt

1

Grundlagen Einbettung in das PerManEntA-Projekt Object Constraint Language

2

Constraints auf Modellebene Workflow-Modell als Graph Umsetzung in OCL

3

Software Architektur Associator Evaluator Module

4

Fallbeispiel PICTURES

5

Zusammenfassung und Ausblick

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

15 / 31

slide-16
SLIDE 16

Constraints auf Modellebene Umsetzung in OCL

Umsetzung in OCL

getDurationBetween-Methode liefert die Dauer zwischen zwei

Workflow-Punkten (im Graph: Kanten) Bedingungen werden in Kontexten definiert, bei deren Durchlauf die Dauer feststeht Beispiel: Die Dauer von 1 nach 6 darf maximal 10 Einheiten betragen:

context WFPoint::enter(parent : Workflow) pre: self.id = ’6’ implies parent.getDurationBetween( parent.point(’1’), self) <= 10

Abfragen über die Durchlaufreihenfolge der Elemente sind auch möglich. Beispiel: E darf nur über 4 betreten werden.

context WorkflowPart::pointEntered(point : WFPoint) pre: self.id = ’E’ implies point.id = ’4’

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

16 / 31

slide-17
SLIDE 17

Software Architektur

Inhalt

1

Grundlagen Einbettung in das PerManEntA-Projekt Object Constraint Language

2

Constraints auf Modellebene Workflow-Modell als Graph Umsetzung in OCL

3

Software Architektur Associator Evaluator Module

4

Fallbeispiel PICTURES

5

Zusammenfassung und Ausblick

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

17 / 31

slide-18
SLIDE 18

Software Architektur

Architektur

Instrumentierte Anwendung liefert Log- und Messdaten Instrumentation Framework vereinheitlicht das Format verschiedener Quellen Daraus erzeugt wird Datenstrom von Instrumentation Entities mit Timestamps für Punkte bzw. Dauern für Patterns Aufgaben des ConstraintMonitors

Instrumentation Entities dem passenden Workflow-Modell zuordnen, enstprechende Workflow-Punkte ermitteln OCL-Constraints aus dem Workflow-Modell parsen und auswerten Reaktion auf Constraint-Verletzungen

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

18 / 31

slide-19
SLIDE 19

Software Associator

Inhalt

1

Grundlagen Einbettung in das PerManEntA-Projekt Object Constraint Language

2

Constraints auf Modellebene Workflow-Modell als Graph Umsetzung in OCL

3

Software Architektur Associator Evaluator Module

4

Fallbeispiel PICTURES

5

Zusammenfassung und Ausblick

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

19 / 31

slide-20
SLIDE 20

Software Associator

Associator

Verarbeitet Eingabedaten: Instrumentierungspunkte und

  • patterns

Vorgehen für Instrumentierungspunkte

Zuordnung zu Workflow-Punkten Zeitdauern aus Differenzen der Timestamps zweier Instrumentierungspunkte berechnen Workflow-Punkte-Paar mit Zeitdauer in Cache schreiben

Vorgehen für Instrumentierungs-Patterns

Herausfinden der Start- und Stop-Punkte dieses Patterns Diese Instrumentierungspunkte jeweils einem Workflow-Punkt zuordnen Workflow-Punkte-Paar mit Zeitdauer in Cache schreiben

Benachrichtigt Evaluator über Traversierung eines Workflow-Punktes

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

20 / 31

slide-21
SLIDE 21

Software Evaluator

Inhalt

1

Grundlagen Einbettung in das PerManEntA-Projekt Object Constraint Language

2

Constraints auf Modellebene Workflow-Modell als Graph Umsetzung in OCL

3

Software Architektur Associator Evaluator Module

4

Fallbeispiel PICTURES

5

Zusammenfassung und Ausblick

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

21 / 31

slide-22
SLIDE 22

Software Evaluator

Evaluator

Verwaltet Module, die unterschiedliche Reaktionen auf Constraint-Verletzungen realisieren Verwaltet Instanzen des Workflow-Modells Verwaltet OCL-Parser und Auswertungsumgebung Traversiert Workflow-Modell-Instanzen entsprechend der Benachrichtigungen des Associators Auswertung von OCL-Constraints Benachrichtigung der geladenen Module bei Constraint-Verletzung

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

22 / 31

slide-23
SLIDE 23

Software Module

Inhalt

1

Grundlagen Einbettung in das PerManEntA-Projekt Object Constraint Language

2

Constraints auf Modellebene Workflow-Modell als Graph Umsetzung in OCL

3

Software Architektur Associator Evaluator Module

4

Fallbeispiel PICTURES

5

Zusammenfassung und Ausblick

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

23 / 31

slide-24
SLIDE 24

Software Module

Logging-Modul und Reporting-Modul

Logging-Modul

Basiert auf Log4J Log-Level steuert Umfang der Ausgaben: Nur Constraint-Verletzungen oder alle Informationen über die Auswertung Alle Log4J-üblichen Einstellungen möglich

Reporting-Modul

Verfolgt alle Daten der Auswertung Erzeugt Statistik über die Auswertung

Anzahl der geladenen Constraints Anzahl der Constraint-Überprüfungen Anzahl der Constraint-Verletzungen . . .

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

24 / 31

slide-25
SLIDE 25

Software Module

SNMP-Modul

Simple Network Management Protocol (SNMP): Protokoll zur Überwachung und Steuerung verschiedener Netzwerkgeräte Kommunikation zwischen Manager (Steuerungskomponente) und Agenten (verwaltete Netzwerkelemente) Befehle wie GET und SET zum Abfragen und Setzen von Werten in der Konfiguration eines Agenten durch den Manager Befehl TRAP zum Senden einer Nachricht vom Agenten

  • hne Aufforderung des Managers

Eignet sich, um Constraint-Verletzungen an einen Manager mitzuteilen

Entwicklung einer Management Information Base für den ConstraintMonitor

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

25 / 31

slide-26
SLIDE 26

Fallbeispiel PICTURES

Inhalt

1

Grundlagen Einbettung in das PerManEntA-Projekt Object Constraint Language

2

Constraints auf Modellebene Workflow-Modell als Graph Umsetzung in OCL

3

Software Architektur Associator Evaluator Module

4

Fallbeispiel PICTURES

5

Zusammenfassung und Ausblick

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

26 / 31

slide-27
SLIDE 27

Fallbeispiel PICTURES

PICTURES

Check-In-Anwendung von Lufthansa Systems Check-In besteht aus vielen unterschiedlichen Schritten, manche optional

Passagier identifizieren Sitzplatzvergabe Gepäck aufnehmen . . . Passagier aufnehmen

Workflow-Modell einfaches Beispiel, kann deutlich komplizierter werden

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

27 / 31

slide-28
SLIDE 28

Fallbeispiel PICTURES

Vorgehen

1

Instrumentierung der Anwendung

Hier: Log-Punkte bei Beginn und Ende der einzelnen Check-In-Schritte

2

Konstruktion des Workflows

UML-Aktivitätsdiagramm Konstruktion von gewünschten Constraints Konvertierung in Workflow-Modell Zuordnung von Instrumentierungs-Punkten zu Workflow-Punkten

3

Konfiguration des ConstraintMonitors

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

28 / 31

slide-29
SLIDE 29

Fallbeispiel PICTURES

Constraints und Resultat

Constraint für PassengerList

context WFPoint::enter(parent : Workflow) : OclVoid pre:

  • - Lokale Definition der PassengerList als PL

let PL:WorkflowPart = parent.element(’PassengerList’) in

  • - Wenn der aktuelle Punkt der Stopppunkt der PassengerList ist,

self = PL.stopPoints->first() implies

  • - soll die Dauer auf 13000ms begrenzt werden

let plStart:WFPoint = PL.startPoints->first() in let plStop:WFPoint = PL.stopPoints->first() in parent.getDurationBetween(plStart, plStop) <= 13000

Resultat

21:56:22 INFO : Initialization 21:56:23 INFO : Starting stream evaluation... 21:56:24 INFO : Violation of constraint PassengerListDuration [...] 9 points traversed, 15 model constraints, 0 invalid constraints. 117 constraint checks performed, 1 constraint violations (0.85%) 3302 milliseconds elapsed.

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

29 / 31

slide-30
SLIDE 30

Zusammenfassung und Ausblick

Zusammenfassung und Ausblick

Aktuelles System

Definition von Performance Constraints in OCL auf Ebene des Anwendungsmodells Performance-Daten in unterschiedlichen Formaten werden für die Auswertung geparst Logging, Reporting, SNMP-Traps; weitere Reaktionen möglich

Erweiterungs-/Verbesserungsmöglichkeiten

Roundtrip von UML-Aktivitätsdiagramm und Workflow-Modell Bessere Tool-Unterstützung

Integration von Workflow-Editor und Instrumentierungs-Toolkit Grafische Anzeige von Constraint-Verletzungen im Workflow-Editor Grafischer Assistent für die Konfiguration des ConstraintMonitor

Per SNMP-GET direkt OCL-Queries auf laufendes System erlauben

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

30 / 31

slide-31
SLIDE 31

Ende

Ende

Herzlichen Dank für die Aufmerksamkeit!

Literatur:

http://www.informatik.fh-wiesbaden.de/~atext001/bsc_thesis/

Andreas Textor (FH Wiesbaden) Monitoring mittels modellbasierter Constraints

  • 15. August 2008

31 / 31