Matevska | Rekonfiguration komponentenbasierter Softwaresysteme zur Laufzeit | E-Book | sack.de
E-Book

E-Book, Deutsch, 356 Seiten, eBook

Reihe: Software Engineering Research

Matevska Rekonfiguration komponentenbasierter Softwaresysteme zur Laufzeit


2010
ISBN: 978-3-8348-9780-0
Verlag: Vieweg & Teubner
Format: PDF
Kopierschutz: 1 - PDF Watermark

E-Book, Deutsch, 356 Seiten, eBook

Reihe: Software Engineering Research

ISBN: 978-3-8348-9780-0
Verlag: Vieweg & Teubner
Format: PDF
Kopierschutz: 1 - PDF Watermark



Jasminka Matevska liefert einen modell- bzw. architekturbasierten Ansatz zur Planung und transaktionalen Durchführung einer Rekonfiguration komponentenbasierter Softwaresysteme zur Laufzeit unter voller Verfügbarkeit und möglichst geringer Beeinflussung der Reaktionsfähigkeit der Systemdienste. Sie legt verschiedene theoretische Konzepte vor und führt eine umfassende empirische Evaluation durch.

Dr.-Ing. Jasminka Matevska promovierte bei Prof. Dr. Wilhelm Hasselbring an der Universität Oldenburg. Sie ist als Software Systemingenieurin tätig.

Matevska Rekonfiguration komponentenbasierter Softwaresysteme zur Laufzeit jetzt bestellen!

Zielgruppe


Research


Autoren/Hrsg.


Weitere Infos & Material


1;Geleitwort;7
2;Vorwort;8
3;Kurzfassung;11
4;Abstract;13
5;Inhaltsverzeichnis;15
6;Abbildungsverzeichnis;18
7;Tabellenverzeichnis;22
8;1 Einleitung;23
8.1;1.1 Problemdarstellung und Motivation;23
8.2;1.2 Inhalt und Beitrag;27
9;Teil IGrundlagen;32
9.1;2 Überblick;33
9.2;3 Komponentenbasierte Softwareentwicklung;35
9.2.1;3.1 Begriffsdefinition;35
9.2.1.1;3.1.1 Komponente;36
9.2.1.2;3.1.2 Komponentenbasierte Systeme;37
9.2.1.3;3.1.3 Komponentenbasierte Software-Systementwicklung;38
9.2.2;3.2 Komponentenspezifikation;39
9.2.3;3.3 Komponentenmodelle;41
9.2.3.1;3.3.1 Die Common Object Request Broker Architecture (CORBA);42
9.2.3.1.1;3.3.1.1 Object Management Architecture (OMA);43
9.2.3.1.2;3.3.1.2 Interface Definition Language (IDL);46
9.2.3.1.3;3.3.1.3 CORBA Component Model (CCM);46
9.2.3.2;3.3.2 Java Platform Enterprise Edition (Java EE);47
9.2.3.2.1;3.3.2.1 Java EE-Architektur;48
9.2.3.2.2;3.3.2.2 Java EE Dienste;50
9.2.3.2.3;3.3.2.3 Java EE Komponenten;51
9.2.3.3;3.3.3 Microsoft .NET;55
9.2.3.3.1;3.3.3.1 Component Object Model (COM) / Distributed Component Object Model (DCOM);58
9.2.3.4;3.3.4 Komponentenmodelle in der Forschung;59
9.2.4;3.4 Software-Konfigurationsmanagement;61
9.2.5;3.5 Qualität komponentenbasierter Systeme;62
9.2.5.1;3.5.1 Verlässlichkeit;63
9.2.5.2;3.5.2 Verfügbarkeit;64
9.2.5.3;3.5.3 Leistungsfähigkeit und Reaktionsfähigkeit;65
9.2.5.4;3.5.4 Erreichbarkeit;66
9.3;4 Software-Architekturbeschreibung;68
9.3.1;4.1 Der ANSI/IEEE-Standard zur Software-Architekturbeschreibung;68
9.3.2;4.2 Standpunkt-basierte Modelle zur Software-Architekturbeschreibung;71
9.3.2.1;4.2.1 Das Standpunktmodell von Clements et al.;71
9.3.2.2;4.2.2 Das „4+1“-Standpunktmodell von Kruchten;71
9.3.2.3;4.2.3 Das Standpunktmodell von Hofmeister, Nord und Soni;72
9.3.2.4;4.2.4 Zusammenfassung;72
9.3.3;4.3 Architekturbeschreibungssprachen;73
9.3.3.1;4.3.1 Darwin;73
9.3.3.2;4.3.2 MetaH/ControlH;75
9.3.3.3;4.3.3 Rapide;76
9.3.3.4;4.3.4 Wright;76
9.3.3.5;4.3.5 Acme;77
9.3.3.6;4.3.6 xADL;78
9.3.4;4.4 Unified Modeling Language (UML);79
9.3.4.1;4.4.1 Statischer Standpunkt;79
9.3.4.2;4.4.2 Dynamischer Standpunkt;80
9.3.4.3;4.4.3 Deployment-Standpunkt;81
9.3.4.4;4.4.4 Modellierung von komponentenbasierten Systemen;81
9.3.5;4.5 Graphentheoretische Konzepte zur Architekturbeschreibung;83
9.4;5 Rekonfiguration komponentenbasierter Softwaresysteme;92
9.4.1;5.1 Der Begriff Rekonfiguration;92
9.4.2;5.2 Typen von Rekonfiguration;94
9.4.2.1;5.2.1 Statische Rekonfiguration;95
9.4.2.2;5.2.2 Laufzeit-Rekonfiguration;95
9.4.3;5.3 Laufzeit-Rekonfiguration;96
9.4.3.1;5.3.1 Konsistenz;97
9.4.3.2;5.3.2 Redeployment;98
9.4.3.2.1;5.3.2.1 Hot Deployment;99
9.4.3.2.2;5.3.2.2 Dynamic Reloading;99
9.4.3.2.3;5.3.2.3 Side-by-Side Deployment;99
10;Teil II ErreichbarkeitsoptimierteRekonfiguration zur Laufzeit;101
10.1;6 Überblick;102
10.2;7 System-Architekturbeschreibung: Anwendungsmodell;106
10.2.1;7.1 Aktueller Stand der Software-Architekturbeschreibung;107
10.2.2;7.2 Anforderungen an eine System-Architekturbeschreibung;108
10.2.3;7.3 Unser Sichtenmodell;111
10.2.4;7.4 Unser Component-Connector-Container (C3) Meta-Modell;112
10.2.5;7.5 Anwendungsbeispiel;114
10.2.6;7.6 Statische Sicht;115
10.2.6.1;7.6.1 Komponentenbeschreibung;116
10.2.6.2;7.6.2 Hierarchische Struktur eines Systems;117
10.2.6.3;7.6.3 Statische Abhängigkeiten zwischen Komponenten / Abhängigkeitsgraphen;118
10.2.7;7.7 Dynamische Sicht;123
10.2.7.1;7.7.1 Modellierung von Laufzeitverhalten auf Komponentenebene;123
10.2.7.2;7.7.2 Modellierung von Laufzeitverhalten auf Systemebene;124
10.2.7.3;7.7.3 Benutzungsmodell eines Systems;127
10.2.7.4;7.7.4 Laufzeitabhängigkeiten zwischen Instanzen von Komponenten;130
10.3;8 Optimierung der Erreichbarkeit: Optimierungs-und Analysemodell;134
10.3.1;8.1 Optimierungsmodell;135
10.3.2;8.2 Analyse des Rekonfigurationsauftrags;138
10.3.3;8.3 Analyse des Benutzungsmodells eines Systems;141
10.3.4;8.4 Analyse des internen Laufzeitverhaltens des Systems;143
10.3.5;8.5 Analyse der Benutzungsintensität des Systems;146
10.3.6;8.6 Szenariobasierte Bestimmung der minimalen Laufzeit-Abhängigkeitsgraphen;148
10.3.7;8.7 Zuordnung der Laufzeit-Abhängigkeitsgraphen zu den System-Laufzeitzuständen;152
10.3.8;8.8 Dienstbezogene Erreichbarkeit;154
10.3.9;8.9 Berücksichtigung der Dringlichkeit und Dauer der Rekonfiguration;156
10.3.10;8.10 Wiedererkennung des optimalen Zustandsraums zur Laufzeit;157
10.3.11;8.11 Approximativer Algorithmus zur Optimierung der Erreichbarkeit;159
10.3.12;8.12 Optimierte vs. nicht-optimierte Rekonfiguration;166
10.3.12.1;8.12.1 Statische Rekonfiguration;167
10.3.12.2;8.12.2 Gängige Ansätze zur Laufzeit-Rekonfiguration;167
10.3.12.3;8.12.3 Eigener Ansatz zur Laufzeit-Rekonfiguration;170
10.4;9 Transaktionale Laufzeit-Rekonfiguration: Rekonfigurationsmodell;172
10.4.1;9.1 Lebenszyklusprotokoll auf Komponentenebene;173
10.4.2;9.2 Laufzeitprotokoll auf Systemebene;179
10.4.3;9.3 Rekonfiguration als Transaktion;182
10.4.4;9.4 Transaktionales Redeployment zur Laufzeit;185
10.4.4.1;9.4.1 Aktueller Stand;185
10.4.4.2;9.4.2 Eigenes Konzept;187
10.4.4.3;9.4.3 Formalisierung mittels Computation Tree Logic;189
10.4.4.3.1;9.4.3.1 Bildung eines endlichen Automaten;190
10.4.4.3.2;9.4.3.2 Überführung in eine Kripke-Struktur;194
10.4.4.3.3;9.4.3.3 Definition von Fehlerzuständen;194
10.4.5;9.5 Plattformunabhängiger Rekonfigurationsmanager – PIRMA: Systemarchitektur;196
11;Teil IIIEvaluation;201
11.1;Überblick;202
11.2;10 Java EE-basierte Realisierung von PIRMA;203
11.2.1;10.1 Darstellung und Analyse der Rekonfigurationsaufträge;203
11.2.1.1;10.1.1 Entwurf;205
11.2.1.1.1;10.1.1.1 Erstellung eines Rekonfigurationsauftrags;207
11.2.1.1.2;10.1.1.2 Generierung der Konfigurationsdaten zum Rekonfgurationsauftrag;209
11.2.2;10.2 Durchführung der Rekonfiguration;210
11.2.2.1;10.2.1 Implementierung der J2EE Deployment API;211
11.2.2.2;10.2.2 Das Redeployment-System;218
11.2.2.2.1;Konsistenzbedingungen im Kontext der EJB-Komponenten;218
11.2.2.2.2;Syntaktische Konsistenz;219
11.2.2.2.3;Semantische Konsistenz;219
11.2.2.2.4;Redeployment Beispielszenario;222
11.2.2.2.5;Verwaltung der Abhängigkeiten;223
11.2.2.2.6;Redeployment-Punkte;224
11.2.2.2.7;Redeployment-Menge;224
11.2.2.2.8;JBoss-Redeployment;225
11.2.2.2.9;Deployment-Tool-Plug-In-Architektur;226
11.2.2.2.10;Serverseitige Architektur;228
11.2.2.2.11;Deployment-Kontrollarchitektur;231
11.2.2.2.12;Austauschen der Module;231
11.2.2.3;10.2.3 Portierung des Redeployment-Systems;233
11.2.2.3.1;Beschreibung neuer Deployer-Methoden in XML-Datei;235
11.2.2.3.2;Java Autorization for Containers (JACC);235
11.2.2.3.3;Schnittstellenanpassung;236
11.2.2.3.4;Erweiterung der Log-Ausgaben beim Redeployment;236
11.2.2.3.5;Probleme und Einschränkungen bei der Portierung;237
11.2.3;10.3 Zusammenfassung;238
11.3;11 Java EE-basierte Evaluation der Laufzeit-Rekonfiguration;239
11.3.1;11.1 Auswertung typischer Rekonfigurationsszenarien;239
11.3.1.1;11.1.1 Analyse und Auswahl der Java EE Entwurfsmuster;240
11.3.1.2;11.1.2 Festlegung und Beschreibung der relevanten Rekonfigurationsszenarien;243
11.3.1.2.1;Stateless Session Bean;244
11.3.1.2.2;Stateful Session Bean;245
11.3.1.2.3;Entity Bean;245
11.3.1.2.4;Message Driven Bean;246
11.3.1.3;11.1.3 Architektur des Testsystems;246
11.3.1.4;11.1.4 Auswertung der Testergebnisse;249
11.3.1.4.1;JBoss Server;249
11.3.1.4.2;WebLogic Server;251
11.3.1.4.3;Auswirkungen auf die Entwurfsmuster;251
11.3.1.5;11.1.5 Zusammenfassung;252
11.3.2;11.2 Experimenteller Einsatz und Evaluation des Redeployment-Systems;252
11.3.2.1;11.2.1 Einfache Redeployment-Tests;253
11.3.2.2;11.2.2 Tests mit der Duke’s Bank Application;258
11.3.2.2.1;11.2.2.1 Aufbau der Testumgebung;260
11.3.2.2.2;11.2.2.2 Lastgenerierung: Markov-Kette für die Evaluation;260
11.3.2.2.3;11.2.2.3 Evaluation der Ziele;262
11.3.2.2.4;11.2.2.4 Auswertung der Ergebnisse;263
11.3.2.3;11.2.3 Zusammenfassung;265
11.4;12 Evaluation der Optimierung der Erreichbarkeit;268
11.4.1;12.1 Eingesetzte Tools;269
11.4.1.1;12.1.1 Lastgenerierung und Simulation von Benutzungsverhalten;269
11.4.1.2;12.1.2 Monitoring und Analyse von Monitoringdaten;269
11.4.2;12.2 Testsystem;272
11.4.3;12.3 Entwurf und Implementierung;274
11.4.3.1;12.3.1 Bestimmung und Darstellung minimaler Laufzeit-Abhängigkeitsgraphen;274
11.4.3.2;12.3.2 Wiedererkennung der minimalen Laufzeit-Abhängigkeitsgraphen zur Laufzeit;279
11.4.4;12.4 Ziele der Evaluation;284
11.4.5;12.5 Versuchsaufbau;285
11.4.6;12.6 Ergebnisse der Evaluation;286
11.4.6.1;12.6.1 Versuch 1: 1 Benutzer;288
11.4.6.2;12.6.2 Versuch 2: 10 Benutzer;291
11.4.6.3;12.6.3 Versuch 3: 20 Benutzer;293
11.4.6.4;12.6.4 Erkennung von geeigneten Anwendungsfällen;295
11.4.6.4.1;Experiment in der Arbeit von Stöver;296
11.4.6.4.2;Experiment in der Arbeit von Grüssing;298
11.4.7;12.7 Zusammenfassung;299
11.5;13 Verwandte Ansätze;302
11.5.1;13.1 Komponentenbasierte Rekonfiguration zur Laufzeit;303
11.5.1.1;13.1.1 Laufzeit-Rekonfiguration verteilter Systeme;304
11.5.1.2;13.1.2 Transaktionales Redeployment;304
11.5.1.3;13.1.3 Protokollbasierte Laufzeit-Rekonfiguration;305
11.5.2;13.2 Architekturbasierte Rekonfiguration zur Laufzeit;305
11.5.2.1;13.2.1 Graphtransformationsbasierte Rekonfiguration;306
11.5.2.2;13.2.2 Dynamische Software-Architekturen;306
11.5.3;13.3 Zusammenfassung;307
12;Teil IVZusammenfassung und Ausblick;308
12.1;14 Zusammenfassung;309
12.1.1;14.1 Wissenschaftlicher Beitrag;309
12.1.1.1;14.1.1 System-Architekturbeschreibung – Das Anwendungsmodell;309
12.1.1.2;14.1.2 Optimierung der Erreichbarkeit – Das Optimierungsmodell;310
12.1.1.3;14.1.3 Analyse zur Optimierung der Erreichbarkeit – Das Analysemodell;311
12.1.1.4;14.1.4 Transaktionale Rekonfiguration zur Laufzeit – Das Rekonfigurationsmodell;312
12.1.2;14.2 Praktische Einsetzbarkeit;312
12.2;15 Ausblick;315
12.2.1;15.1 Bestimmung / Vorhersage von Antwortzeiten;315
12.2.2;15.2 Hypergraphen zur Verbesserung der Analyse;315
12.2.3;15.3 Live Sequence Charts (LSCs) zur Bestimmung und Wiedererkennung von optimalen Laufzeitzuständen;316
12.2.4;15.4 Analyse der Laufzeitabhängigkeiten auf der Ebene der Anwendungslogik;316
12.2.5;15.5 Model Checking zur Verifikation des Redeployment-Systems;316
12.2.6;15.6 Optimierung des Redeployment Konzepts;317
13;Anhang;318
13.1;Überblick;319
13.1.1;Anhang A: Enterprise JavaBeans Komponentenmodell;319
13.1.2;Anhang B: Java EE Deployment API;319
13.1.3;Anhang C: Auswertung typischer Rekonfigurationsszenarien;319
13.1.4;Anhang D: Evaluation minimaler Laufzeitabhängigkeiten;319
14;Literaturverzeichnis;320

Grundlagen.- Überblick.- Komponentenbasierte Softwareentwicklung.- Software-Architekturbeschreibung.- Rekonfiguration komponentenbasierter Softwaresysteme.- Erreichbarkeitsoptimierte Rekonfiguration zur Laufzeit.- Überblick.- System-Architekturbeschreibung: Anwendungsmodell.- Optimierung der Erreichbarkeit: Optimierungs-und Analysemodell.- Transaktionale Laufzeit-Rekonfiguration: Rekonfigurationsmodell.- Evaluation.- Java EE-basierte Realisierung von PIRMA.- Java EE-basierte Evaluation der Laufzeit-Rekonfiguration.- Evaluation der Optimierung der Erreichbarkeit.- Verwandte Ansätze.- Zusammenfassung und Ausblick.- Zusammenfassung.- Ausblick.


Dr.-Ing. Jasminka Matevska promovierte bei Prof. Dr. Wilhelm Hasselbring an der Universität Oldenburg. Sie ist als Software Systemingenieurin tätig.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.