Modellgetriebene Skalierbarkeitsanalyse von selbst-adaptiven komponentenbasierten Softwaresystemen in der Cloud. von Joachim Meyer

Größe: px
Ab Seite anzeigen:

Download "Modellgetriebene Skalierbarkeitsanalyse von selbst-adaptiven komponentenbasierten Softwaresystemen in der Cloud. von Joachim Meyer"

Transkript

1 Modellgetriebene Skalierbarkeitsanalyse von selbst-adaptiven komponentenbasierten Softwaresystemen in der Cloud von Joachim Meyer

2

3 Fakultät für Elektrotechnik, Informatik und Mathematik Heinz Nixdorf Institut und Institut für Informatik Fachgebiet Softwaretechnik Warburger Straße Paderborn Modellgetriebene Skalierbarkeitsanalyse von selbst-adaptiven komponentenbasierten Softwaresystemen in der Cloud Master-Arbeit im Rahmen des Studiengangs Informatik zur Erlangung des Grades Master of Science von Joachim Meyer Mersinweg 2c, Apartment C Paderborn vorgelegt bei Jun.-Prof. Dr.-Ing. Steffen Becker und Prof. Dr. Gregor Engels Paderborn, November 2011

4

5 Erklärung Ich versichere, dass ich die Arbeit ohne fremde Hilfe und ohne Benutzung anderer als der angegebenen Quellen angefertigt habe und dass die Arbeit in gleicher oder ähnlicher Form noch keiner anderen Prüfungsbehörde vorgelegen hat und von dieser als Teil einer Prüfungsleistung angenommen worden ist. Alle Ausführungen, die wörtlich oder sinngemäß übernommen worden sind, sind als solche gekennzeichnet. Ort, Datum v

6

7 Inhalt 1 Einleitung Motivation Problemstellung Zielsetzung Aufbau dieser Arbeit Grundlagen Modellgetriebene Softwareentwicklung Modell Metamodell / MOF EMF und Ecore Modelltransformationen QoS-Analyse Performance-Modelle Softwaremodelle mit QoS-Annotationen Analyse von Performance-Modellen Komponentenbasierte Softwareentwicklung Softwarekomponente Darstellung von Softwarekomponenten in der UML Rollen des Entwicklungsprozesses Das Palladio Component Model (PCM) PCM Entwicklungsprozess PCM Kernkonzepte PCM Teilmodelle Parametrische Abhängigkeiten Performance-Simulator SimuCom Story-Diagramme - Eine Modelltransformationssprache Modellgetriebene Skalierbarkeitsanalyse Skalierbarkeit und Skalierbarkeitsanalyse Modellierung Modellierungsvorschlag Umsetzung des Modellierungsvorschlags Entwurf eines Performance-Simulators Überblick vii

8 Inhalt 4.2 Simulation mittels PCM Interpreter Simulationswerkzeug Interpretativer kontra generativer Simulationsansatz Globale und lokale PCM Teilmodelle Interpreter und Zugriffsklassen Ablauf der Interpretation Stapel und Stapelrahmen Verwendung von Stapelrahmen im PCM Interpreter Performance-Messungen Performance-Metriken Performance-Metriken im Performance-Simulator Statistische Charakterisierungen Aggregatoren - Modus, Mittelwert und Median Aggregatoren im Performance-Simulator Messungskonfigurator Palladio Monitoring Specification (PMS) Modell PMS Elemente Beispielhaftes PMS Modell Statische Semantik im PMS Selbst-Adaption durch Rekonfigurationsstrategien Rekonfigurationsstrategien Palladio Runtime Measurement (PRM) Modell PRM Elemente Beispielhaftes PRM Modell Statische Semantik im PRM Performance-Monitor SimuLizar - Ein Performance-Simulator Übersicht Simulationswerkzeug - SimuCom Framework Messwerkzeug - Probe Specification Framework PCM Interpreter Initialisierung Interpretation eines PCM Modells Performance-Metriken Aggregatoren Messproben im PCM Interpreter Messungskonfigurator Performance-Monitor Modelltransformator - Story-Diagramm Interpreter Visualisierung der Performance-Messungen viii

9 Inhalt 6 Experimentelle Evaluation Aufbau PCM Modell PMS Modell Story-Diagramme Simulatorkonfiguration Durchführung und Ergebnis Szenario 1 - Balanciertes Softwaresystem Szenario 2 - Überlastetes Softwaresystem Szenario 3 - Dynamische Lastverteilung Szenario 4 - Dynamische Bearbeitungsraten Diskussion Vergleich von SimuLizar mit SimuCom Verwandte Arbeiten und Abgrenzung Offline-Performance-Vorhersagen Online-Performance-Vorhersagen Generierung von selbst-adaptiven Softwaresystemen Fazit Zusammenfassung Ergebnisse Zielgruppe und Beitrag Ausblick Literatur 125 ix

10

11 Abbildungsverzeichnis 2.1 Metalevel der UML, basierend auf [SVC06] Konkrete Syntax einer Softwarekomponente in der UML PCM Entwicklungsprozess, basierend auf [BKR09] Story-Diagramm simplifiedbalancereconfigurationstrategy System Type Viewpoint, basierend auf [Bec11] Runtime Viewpoint, basierend auf [Bec11] Umsetzung des Modellierungsvorschlags mittels PCM Überblick über den Performance-Simulator Pfade durch ein PCM Modell Generativer Ansatz auf Basis eines PCM Modells Interpretativer Ansatz auf Basis eines PCM Modells Abläufe im PCM Interpreter Stapel und Stapelrahmen, basierend auf [Bec08] Stapelrahmen im PCM Interpreter für einen Simulationsprozess Übersicht über die Performance-Messungen Visualisierung des Zeitintervalls t eines Aggregators Das Metamodell PMS (UML Klassendiagramm) Beispielhaftes PMS Modell Das Metamodell PRM (UML Klassendiagramm) Beispielhaftes PRM Modell Übersicht über die Plug-Ins von SimuLizar Start des Performance-Simulators SimuLizar Interpretation EntryLevelSystemCall Interpretation ExternalCallAction Resource Environment Model Repository Model Lasterverteiler.entpacke Server.entpacke System Model Allocation Model Usage Model Story-Diagramm balancereconfigurationstrategy Story-Diagramm resourceprocessingratereconfigurationstrategy. 105 xi

12 Abbildungsverzeichnis 6.10 Antwortzeit aufruflastverteiler - Szenario Antwortzeit aufruflastverteiler - Szenario Antwortzeit aufruflastverteiler - Szenario Antwortzeit aufruflastverteiler - Szenario Vergleich der Ausführungszeiten von SimuLizar und SimuCom. 114 xii

13 Tabellenverzeichnis 4.1 PCM Modellelemente und Performance-Metriken Performance-Metriken und Aggregatoren Simulatorkonfiguration Hardware- und Softwareumgebung: SimuLizar und SimuCom xiii

14

15 1 Einleitung Der Entwicklungsprozess von Softwaresystemen gewinnt mit zunehmendem Maß an Komplexität. Um die Komplexität des Softwareentwicklungsprozesses zu reduzieren, unterteilen Softwareentwickler ein Softwaresystem in kleinere Softwarekomponenten, die zusammengesetzt das komponentenbasierte Softwaresystem bilden. Klassische komponentenbasierte Softwaresysteme sind statisch. Das bedeutet, dass sich ihre Architektur nicht zur Laufzeit des Softwaresystems ändert. Jedoch können statische komponentenbasierte Softwaresysteme nicht ausreichend auf schwankende oder steigende Benutzerzahlen reagieren und in diesem Fall eventuell ihre geforderten nicht-funktionalen Anforderungen (QoS-Eigenschaften), bezüglich der Performance, Effizienz und Skalierbarkeit, nicht mehr erfüllen. Abhilfe sollen selbst-adaptive komponentenbasierte Softwaresysteme schaffen. Ein selbst-adaptives komponentenbasiertes Softwaresystem ist in der Lage, sich selber seiner Umgebung und aktuellen Situation anzupassen, um seine geforderten QoS-Eigenschaften zu erfüllen. Das kann unter anderem eine Änderung seiner verwendeten Ressourcen bei steigender Benutzerzahl sein. Neue Trends im Cloud Computing [AFG + 09] erlauben die Ausführung eines selbst-adaptiven komponentenbasierten Softwaresystems durch einen Cloud-Dienst. Cloud-Dienste bieten die notwendige Funktionalität für selbst-adaptive komponentenbasierte Softwaresysteme. Ein Cloud-Dienst entkoppelt ein Softwaresystem von der Infrastruktur seiner Hardwareumgebung [HBK11]. Dadurch wird eine erhöhte Flexibilität, bezüglich der Ressourcen des Softwaresystems ermöglicht. Ein selbst-adaptives komponentenbasiertes Softwaresystem kann dadurch nach Bedarf Ressourcen hinzufügen, verändern oder wieder entfernen. Derzeit bieten verschiedene Firmen Cloud-Dienste an. Als Beispiel seien hier die Amazon Web Services 1, die Google App Engine 2 und Microsofts Azure 3 genannt. 1.1 Motivation Selbst-Adaptionen an einem komponentenbasierten Softwaresystem helfen die geforderten QoS-Eigenschaften, bezüglich der Performance, Effizienz und Skalierbarkeit, bei schwanken oder steigenden Benutzerzahlen zu erfüllen. Rekonfigurationsstrategien beschreiben die Selbst-Adaptionen des Softwaresystems und die Bedingungen, unter denen sie auszuführen sind. Wenn das selbst

16 1. Einleitung adaptive komponentenbasierte Softwaresystem durch einen Cloud-Dienst ausgeführt wird, bezahlt der Betreiber des Softwaresystems nur für tatsächlich verwendete Ressourcen. Um die Betriebskosten des Softwaresystems möglichst gering zu halten, wird eine optimale Ressourcennutzung bei gleichzeitiger Erfüllung der QoS-Eigenschaften des Softwaresystems angestrebt. Um dieses Ziel er erreichen, werden neben einer passenden Architektur, ebenfalls passende Rekonfigurationsstrategien benötigt. Viele Ansätze benutzen zur Bestimmung der Rekonfigurationsstrategien sogenannte Online-Performance-Vorhersagen [HBK11]. Sie werden zur Laufzeit des implementierten selbst-adaptiven Softwaresystems ausgeführt, um die Auswirkung von Änderungen in seiner Umgebung oder an seiner aktuellen Situation (schwankende oder steigende Benutzerzahlen) vorherzusagen. Auf Grund der Performance-Vorhersagen bestimmen die Ansätze passende Rekonfigurationsstrategien, die nötig sind, um die geforderten QoS-Eigenschaften bei optimaler Ressourcennutzung zu erfüllen. Dennoch garantieren diese Verfahren nicht, dass dadurch auch die geforderten QoS-Eigenschaften und eine optimale Ressourcennutzung erreicht werden. Dafür können beispielsweise grundlegende Fehler in der Architektur des selbst-adaptiven komponentenbasierten Softwaresystems ein Problem sein. Wünschenswert wäre es, mit Hilfe eines Modells des selbst-adaptiven komponentenbasierten Softwaresystems schon vor seiner Implementierung, eine optimale Architektur und optimale Rekonfigurationsstrategien bestimmen zu können, durch die die geforderten QoS-Eigenschaften auch bei schwanken oder steigenden Benutzerzahlen erfüllt, und die Ressourcen des Softwaresystem optimal ausgenutzt werden. Falls nicht, kann der Softwareentwickler die Entscheidungen bezüglich der Architektur und der Rekonfigurationsstrategien des Softwaresystems in Frage stellen und Fehler korrigieren. Diese Vorgehensweise entspricht der Vorgehensweise in der Softwaretechnik: In der Softwaretechnik werden die Anforderungen an die QoS-Eigenschaften eines Softwaresystems, wie seine Performance, Effizienz und Skalierbarkeit, schon vor seiner Implementierung festgelegt und ihre Erfüllung vorab mit Analyseverfahren überprüft. Für selbst-adaptive komponentenbasierte Softwaresysteme können somit frühzeitig und kosteneffizient Antworten auf die folgenden Engineering-Fragen gefunden werden: Wie skaliert die Performance und Effizienz des selbst-adaptiven komponentenbasierten Softwaresystems bei schwankenden oder steigenden Benutzerzahlen? Sind die Architektur des Softwaresystems und die Rekonfigurationsstrategien ausreichend für die gewünschte Skalierung? Wie müssen die Bedingungen in den Rekonfigurationsstrategien aussehen? Wie hoch ist die Wahrscheinlichkeit, dass Anforderungen an die QoS-Eigenschaften nicht erfüllt werden? Wie lange dauert es, bis sich eine Selbst-Adaption auf die QoS-Eigenschaften des Softwaresystems auswirkt? Werden die Ressourcen des Softwaresystems optimal genutzt? 2

17 1.2 Problemstellung 1.2 Problemstellung Um die im vorherigen Abschnitt gestellten Engineering-Fragen vor der Implementierung beantworten zu können, muss vorab das selbst-adaptive komponentenbasierte Softwaresystem, samt seiner Rekonfigurationsstrategien analysiert werden. Für eine Analyse der Performance, Effizienz und Skalierbarkeit von selbstadaptiven komponentenbasierten Softwaresystemen gibt es derzeit keine ausreichende Tool-Unterstützung. Zwar existieren bereits modellgetriebene Ansätze, wie beispielsweise der Palladio-Ansatz [BKR09], doch damit lassen sich zur Entwurfszeit jedoch nur die Performance, Effizienz und Skalierbarkeit eines statischen komponentenbasierten Softwaresystems vorhersagen. Das verwendete Modell unterstützt nicht die Modellierung der selbst-adaptiven Aspekte des Softwaresystems und der Rekonfigurationsstrategien. Zusätzlich unterstützt der zugehörige Performance-Simulator nicht die Simulation der Selbst-Adaption. Es wird also eine Möglichkeit benötigt, selbst-adaptive komponentenbasierte Softwaresysteme, samt ihrer Rekonfigurationsstrategien modellieren, simulieren und analysieren zu können. 1.3 Zielsetzung Ziel dieser Arbeit ist ein Konzept für die Analyse von selbst-adaptiven komponentenbasierten Softwaresystemen, bezüglich ihrer Performance und Effizienz, mit Fokus auf ihre Skalierbarkeit (Skalierbarkeitsanalyse). Das Konzept soll, vor der Implementierung eines derartigen Softwaresystems, die Beantwortung der in Abschnitt 1.1 aufgezählten Engineering-Fragen ermöglichen. Die Skalierbarkeitsanalyse soll modellgetrieben durchgeführt werden können. Deshalb umfasst das Konzept Modelle zur Modellierung von selbst-adaptiven komponentenbasierten Softwaresystemen und ihrer Rekonfigurationsstrategien, sowie einen Performance- Simulator für die automatisierte Skalierbarkeitsanalyse der Softwaresysteme, auf Basis ihrer Modelle. Ein weiteres Ziel ist die prototypische Implementierung des Performance-Simulators, mit dessen Hilfe das Konzept evaluiert werden soll. 1.4 Aufbau dieser Arbeit Diese Arbeit ist wie folgt strukturiert: Kapitel 2 erklärt die Grundlagen für diese Arbeit. Kapitel 3 definiert die modellgetriebene Skalierbarkeitsanalyse. Anschließend wird ein Vorschlag zur Modellierung von selbst-adaptiven komponentenbasierten Softwaresystemen präsentiert und seine Umsetzung für den in dieser Arbeit vorgestellten Performance-Simulator beschrieben. Kapitel 4 erläutert das Konzept des Performance-Simulators. Kapitel 5 beschreibt eine prototypische Implementierung des Performance-Simulators, mit dessen Hilfe das Konzept in Kapitel 6 evaluiert wird. Kapitel 7 grenzt den Performance-Simulator von verwandten Arbeiten ab. Kapitel 8 gibt eine Zusammenfassung und einen Ausblick. 3

18

19 2 Grundlagen 2.1 Modellgetriebene Softwareentwicklung Die Konstruktionsparadigmen eines Softwaresystems sind oft nur in seinem Quellcode repräsentiert [SVC06]. Zusätzlich erschwert eine fehlende Dokumentation das Verständnis der Konstruktionsparadigmen. Modellierung ist in diesen Kontext nicht neu. Modelle werden durch Softwareentwickler manuell, mittels aufwendigen Code-Reviews erstellt. Sie sollen den Quellcode visualisieren und verständlicher machen. Nebenbei muss das Modell mit dem Quellcode konsistent gehalten werden. Eine Zeitaufwendige Aufgabe, die oft wegen Zeitdruck im Softwareentwicklungsprozess vernachlässigt wird. Tools versprechen durch Reverse Engineering Methoden eine schnellere und automatisierte Erzeugung von Modellen, oft in der UML Syntax [UML10a]. Die Abstraktionsebene des Modells ist jedoch identisch mit dem des Quellcodes, weshalb das Verständnis der Konstruktionsparadigmen weiterhin erschwert sein kann. Abhilfe soll die Modellgetriebene Softwareentwicklung schaffen. Hierbei sind Modelle die primären Artefakte im Softwareentwicklungsprozess und verstehen sich nicht nur als ein Mittel zur Dokumentation. In der Modellgetriebene Softwareentwicklung sind Modelle gleichzeitig abstrakt und formal. Sie haben dieselbe Bedeutung wie Quellcode, jedoch wird der Quellcode aus den Modellen generiert. Modelle und Quellcode sind somit immer konsistent. Dieser Abschnitt ist wie folgt strukturiert: Die Abschnitte und geben Definitionen für die Begriffe Modell und Metamodell. Abschnitt beschreibt ein Framework zur Modellierung von Softwaresystemen. Abschnitt erklärt Techniken der Modellgetriebenen Softwareentwicklung Modell Trotz der steigenden Bedeutung von Modellen in der Softwareentwicklung, gibt es derzeit noch keine einheitliche Definition für ein Modell. Nach Stachowiak at el. [Sta73] besitzt der Modellbegriff drei Hauptmerkmale: Abbildungsmerkmal Modelle sind Abbildungen natürlicher oder künstlicher Originale. Die Abbildungen selber können auch wieder Modelle sein (Homomorphismus). Verkürzungsmerkmal Nicht alle Attribute des Originals werden durch ein Modell erfasst, sondern nur solche, die für die Benutzer des Modells notwendig sind (Abstraktion). 5

20 2. Grundlagen Pragmatisches Merkmal Modelle können ihre Originale unter bestimmten Annahmen ersetzen, um spezifische Fragen zu beantworten (Pragmatik). In Anlehnung an diese Hauptmerkmale, ist basierend auf Becker [Bec08] ein Modell definiert als: Definition 1 (Modell, basierend auf Becker [Bec08]) A formal representation of entities and relationships in the real world (abstraction) with a certain correspondence (homomorphism) for a certain purpose (pragmatics). Nach Definition 1 sind Modelle formale Repräsentationen, die von Entitäten und ihren Beziehungen aus der realen Welt abstrahieren. Das Modell und das Original - die reale Welt - korrespondieren miteinander: Aussagen für Entitäten aus dem Modell treffen auch für ihre Entitäten aus dem Original zu. Dabei wird ein Modell immer für einen bestimmten Zweck, also zielgetrieben entwickelt Metamodell / MOF Modelle sind durch Metamodelle beschrieben. Ein Metamodell wird nach Reussner et al. [RH09] wie folgt definiert: Definition 2 (Metamodell, Reussner et al. [RH09]) Ein Metamodell ist eine präzise Festlegung der Bestandteile und Regeln zur Erstellung von Modellen. Es umfasst eine abstrakte Syntax, mindestens eine konkrete Syntax sowie statische und dynamische Semantik. In der Softwaretechnik ist ein Modell die Instanz eines Metamodells. Metamodelle spezifizieren die Modellelemente (Entitäten) und Regeln für ihre Kombinationen (mögliche Beziehungen). Ein valides Modell erfüllt alle Regeln. Darüber hinaus kann ein Metamodell nicht ohne eine abstrakte Syntax und mindestens eine konkrete Syntax existieren. Die abstrakte Syntax spezifiziert die Modellelemente und ihre möglichen Beziehungen untereinander, unabhängig von der konkreten Repräsentation des zugehörigen Modells. Eine konkrete Syntax spezifiziert die konkrete Repräsentation von Modellen. Die statische Semantik eines Metamodells spezifiziert seine Semantik, die mit den Informationen des zugehörigen Modells überprüfbar ist. Die dynamische Semantik spezifiziert die Bedeutung eines zugehörigen Modells. Ein Metamodell selber wird durch ein weiteres Metamodell, dem sogenannten Meta-Metamodell, beschrieben. Theoretisch kann dies unendlich fortgeführt oder durch ein selbstbeschreibendes Metamodell beendet werden. Ein selbstbeschreibendes Metamodell wird durch sich selber beschrieben. Ein Modell eines derartigen Metamodells ist somit die Instanz von sich selber. Das Meta Object Facility (MOF) [MOF06] von der Object Management Group (OMG) ist ein Beispiel für ein selbstbeschreibendes Metamodell. Es wird deshalb oft als Meta-Metamodell für Metamodelle genutzt. Der MOF Standard bezeichnet 6

21 2.1 Modellgetriebene Softwareentwicklung jede Ebene von Metamodellen, ein Metalevel. Ein prominentes Beispiel ist die UML [UML10a]. Sie ist durch MOF spezifiziert und besitzt vier Metalevel: M 0, M 1, M 2 und M 3 (siehe Abbildung 2.1). Mit Hilfe des selbstbeschreibenden MOF Standards auf Metalevel M 3 wird das UML Metamodell M 2 beschrieben. Das UML Metamodell beschreibt das UML Modell auf Metalevel M 1. Durch das UML Modell werden Objekte auf Metalevel M 0 aus der realen Welt beschrieben. Das können in der UML beispielsweise ganze Softwaresysteme sein. beschreibt Instanz von 3 beschreibt Instanz von 2 beschreibt Instanz von 1 beschreibt Instanz von 0 Abbildung 2.1: Metalevel der UML, basierend auf [SVC06] MOF in der Version 2.0 besteht aus zwei Teilen: Essential MOF (EMOF) und Complete MOF (CMOF). EMOF ist eine Untermenge von CMOF EMF und Ecore Das Eclipse Modeling Framework (EMF) [EMF11] ist ein Framework zur Modellierung von Softwaresystemen, die auf einem strukturierten Datenmodell basieren. Kernbestandteil des EMF Frameworks ist das an EMOF angelehnte Metamodell Ecore. Insgesamt kennt EMF - wie die UML - vier Metalevel. Ecore ist ein selbstbeschreibendes Meta-Metamodell (Metalevel M 3 ), für die Metamodelle (Metalevel M 2 ) der Datenmodelle (Metalevel M 1 ). Das EMF Framework bietet darüber hinaus Eclipse-Editoren an, um die Datenmodelle zu modellieren. Um Datenmodelle zu erstellen, können auch eigene Eclipse-Editoren implementiert werden. Dazu bietet das EMF.Edit Framework generische, wiederverwendbare Klassen an, die die eigene Implementierung unterstützen. Das Datenmodell beschreibt Objekte aus der realen Welt auf Metalevel M 0. 7

22 2. Grundlagen Modelltransformationen Die Modellgetriebene Softwareentwicklung verwendet automatisierte Transformationen eines Modells in andere Modelle oder Artefakte. Die folgenden Paragraphen stellen zwei Transformationstechniken vor. M2M-Transformation Durch Model-to-Model-Transformation oder kurz M2M- Transformation können Modelle eines Metamodells A, zu einem Modell eines Metamodells B transformiert werden. Innerhalb eines modellgetriebenen Softwareentwicklungsprozesses sind mehrere aufeinanderfolgende Transformationen möglich. Modelltransformationen können auch nur Entitäten und Verbindungen zu einem Modell hinzufügen oder bereits existierende entfernen. In diesem Fall gilt für die Metamodelle die Relation A = B. Derartige Transformationen sind sogenannte In-Place-Transformationen. In dieser Arbeit werden ausschließlich In-Place- Transformationen verwendet. Modelltransformationssprachen beschreiben die durchzuführenden M2M-Transformationen. Ein Beispiel ist die Modelltransformationssprache QVT (Query View Transformation) [QVT11], ein Standard der Object Management Group (OMG). Die in dieser Arbeit verwendete Modelltransformationssprache sind die an der Universität Paderborn entwickelten Story-Diagramme. Sie werden ausführlich in Abschnitt 2.5 erklärt. M2C-Transformation Neben M2M-Transformationen kennt die Modellgetriebene Softwareentwicklung auch Model-to-Code Transformationen oder kurz M2C- Transformationen. M2C-Transformationen transformieren Modelle eines Metamodells in Quellcode oder in ähnliche Artefakte. 2.2 QoS-Analyse Ziel einer QoS-Analyse ist es, Fragen bezüglich der QoS-Eigenschaften eines Softwaresystems zu beantworten. QoS-Eigenschaften sind beispielsweise die Performance, Effizienz und Skalierbarkeit eines Softwaresystems, die durch Performance- Metriken bestimmt werden. Performance-Metriken sind somit Kriterien, um die QoS-Eigenschaften zu bestimmen [Jai91]. Performance-Metriken berechnen verschiedene Performance-Werte des Softwaresystems. Das sind beispielsweise seine Antwortzeit, Wartezeit oder Auslastung. Nach Definition 1 in Abschnitt haben Modelle ein pragmatisches Merkmal. Das heißt, Aussagen die über ein Modell getroffen werden, gelten unter bestimmten Annahmen auch für sein Original. Dieses Merkmal kann für die QoS-Analyse genutzt werden. QoS-Analysen werden oft auf Basis eines Performance-Modells eines Softwaresystems durchgeführt. Ein Performance-Modell ist ein mathematisches Modell des Softwaresystems. Falls die Annahmen für das Performance-Modell realistisch gewählt wurden, so stimmen die vorhergesagten QoS-Eigenschaften mit 8

23 2.2 QoS-Analyse den wirklichen QoS-Eigenschaften des implementierten Softwaresystems überein. Die folgenden Abschnitte beschreiben Performance-Modelle und Softwaremodelle, sowie die Möglichkeiten für ihre Analyse Performance-Modelle Ein Performance-Modell ist ein mathematisches Modell des Softwaresystems. Beispiele für Performance-Modelle sind: Warteschlangennetze, Stochastische Petrinetze und Stochastische Prozessalgebren. Warteschlangennetze In Softwaresystemen teilen sich mehrere Prozesse dieselben Ressourcen, wie beispielsweise die CPU und HDD [Jai91]. Nur ein Prozess kann zur selben Zeit eine Ressource verwenden, alle anderen Prozesse die ebenfalls die Ressource verwenden möchten, warten in Warteschlangen, bis die Ressource wieder verfügbar ist. Mit Hilfe von Warteschlangennetzen kann die Zeit bestimmt werden, die ein Prozess in den Warteschlangen verbracht hat. So ist beispielsweise die Wartezeit berechenbar; sie ist die Summe der einzelnen verbrachten Zeiten in den Warteschlangen. Stochastische Petrinetze Ein einfaches Petrinetz besteht aus Places, Transitions, Tokens und gerichteten Kanten. Eine Kante zeigt von einem Place zu einer Transition und von einer Transition zu einem Place [Pet81]. Ein Place P 1 kann mehrere Tokens enthalten. Die zugehörige Transition zu einem anderen Place P 2 feuert, sobald Place P 1 eine spezifizierte Anzahl an Tokens enthält. Die Tokens wandern nun zum Place P 2. Stochastische Petrinetze sind Petrinetze, die um Zeitaspekte erweitertet sind. Hier benötigen Transitions beispielsweise eine gewisse Zeit um zu feuern. Diese Zeit wird durch eine Exponentialverteilung repräsentiert [AMBB + 89]. Stochastische Prozessalgebren Mit Hilfe von Prozessalgebren können parallele oder verteilte Softwaresystemen spezifiziert und ihr Verhalten mit algebraischen Mitteln untersucht werden [Bae05]. Prozessalgebren die um stochastische Informationen erweitert wurden, nennen sich Stochastische Prozessalgebren Softwaremodelle mit QoS-Annotationen Softwaremodelle sind komplexer als Performance-Modelle und betrachten beispielsweise auch die Architektur eines Softwaresystems. Aus einem Softwaremodellen werden grundsätzlich Performance-Modelle transformiert und anschließend untersucht. Dazu müssen die Softwaremodelle QoS-Annotationen enthalten. QoS- Annotationen umfassen Ressourcenanforderungen, Charakteristika von Ausführungsumgebungen, alternative Ausführungsmöglichkeiten, Eingabeparameter und das 9

24 2. Grundlagen Benutzerverhalten [Bec08]. Das zugrundeliegende Metamodell muss derartige QoS- Annotationen unterstützen. Es existieren bereits mehrere Metamodelle für Softwaremodelle mit QoS-Annotationen. Dazu zählen unter anderem mehrere UML Profile, die die UML [UML10a] um QoS-Annotationen ergänzen. Ein Beispiel ist das UML Profile for Schedulability, Performance and Time (UML-SPT) [SPT05] der Object Management Group (OMG). UML-SPT legt den Fokus auf die Modellierung von Ressourcen, Zeit, Performance und Schedulability von Echtzeitsystemen. OMG s UML Profile for Modeling and Analysis of Real-time and Embedded Systems (MARTE) [MAR11] soll UML-SPT ablösen. Es fügt der UML Möglichkeiten zur modellgetriebenen Entwicklung von Echtzeit- und Eingebetteten Softwaresystemen hinzu. Ein weiteres UML Profil der OMG ist das UML Profile for Modeling QoS and Fault Tolerance Characteristics and Mechanisms [UML08]. Es definiert eine Menge von UML Erweiterungen für QoS-Annotationen und Konzepten bezüglich der Fehlertoleranz. Des Weiteren gibt es auch Metamodelle, die keine UML Erweiterungen sind. Ein Beispiel ist die Kernel LAnguage for PErformance and Reliability analysis (KLAPER) [GMS05]. Mit KLAPER können QoS-Annotationen für eine Analyse von nicht-funktionalen Eigenschaften eines komponentenbasierten Softwaresystems modelliert werden. Der Fokus liegt hier auf QoS-Annotationen zur Vorhersage der QoS-Eigenschaften Performance und Zuverlässigkeit. Das Palladio Component Model (PCM) [BKR09] ist ein Metamodell zur Beschreibung von komponentenbasierten Softwaresystemen. Es bietet ebenfalls die Möglichkeit QoS- Annotationen zu erstellen. Die Modelle der selbst-adaptiven komponentenbasierten Softwaresysteme in dieser Arbeit basieren auf dem PCM. Deshalb wird es ausführlich in Abschnitt 2.4 beschrieben Analyse von Performance-Modellen Performance-Modelle können durch analytische Methoden oder durch Simulation analysiert werden. Performance-Modelle die mit rein analytischen und mathematischen Methoden analysiert werden können, nennen sich Analytische Modelle. Falls analytische Methoden für ein Performance-Modell nicht anwendbar sind, so kann ein Performance-Modell durch einen Performance-Simulator simuliert werden. Ein Beispiel für einen Performance-Simulator ist der Performance-Simulator Simu- Com von Becker [Bec08], welcher ein PCM Modell - ein Softwaremodell mit QoS- Annotationen - als Performance-Modell verwendet. Der Performance-Simulator SimuCom wird in Abschnitt vorgestellt. 2.3 Komponentenbasierte Softwareentwicklung Die komponentenbasierte Softwareentwicklung ist der Entwicklungsprozess von Softwaresystemen, die aus einzelnen Softwarekomponenten zusammengesetzt sind. 10

Themen. Software Design and Quality Group Institute for Program Structures and Data Organization

Themen. Software Design and Quality Group Institute for Program Structures and Data Organization Themen 2 28.04.2010 MODELLGETRIEBENE SOFTWARE-ENTWICKLUNG Grundlagen 3 28.04.2010 Meta-Modell: Lego Meta-Modell Bauvorschriften Building Block * connected with Modell Lego Reale Welt Haus Bilder: (c) designritter

Mehr

Vortrag von: Ilias Agorakis & Robert Roginer

Vortrag von: Ilias Agorakis & Robert Roginer MDA Model Driven Architecture Vortrag von: Ilias Agorakis & Robert Roginer Anwendungen der SWT - WS 08/09 Inhalt Was ist MDA? Object Management Group (OMG) Ziele Konzepte der MDA Werkzeuge Vor- und Nachteile

Mehr

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit EMF ist ein eigenständiges Eclipse-Projekt (Eclipse Modeling Framework Project) EMF ist ein Modellierungsframework und Tool

Mehr

17 Komponentenbasiertes Software-Engineering

17 Komponentenbasiertes Software-Engineering 17 Komponentenbasiertes Software-Engineering 17.0 Einführung Lernziele Grundlagen, Prinzipien und Probleme des CBSE 17.1 Komponenten und Komponentenmodelle Komponenten und ihre Eigenschaften Komponentenmodelle

Mehr

Komponentenbasierte Softwareentwicklung

Komponentenbasierte Softwareentwicklung Seminar WS04 Komponentenbasierte Softwareentwicklung Karl Pauls Software-Komponente A software component is a unit of composition with contractually specified interfaces and explicit context dependencies

Mehr

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen

Mehr

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012 Einführung in modellgetriebene Softwareentwicklung 24. Oktober 2012 Überblick Was sind die Grundprinzipien der modellgetriebenen Softwareentwicklung? Entwicklung einer MDD-Infrastruktur Modellgetriebene

Mehr

Übersetzung von UML-Software-Spezifikationen in Simulationsmodelle

Übersetzung von UML-Software-Spezifikationen in Simulationsmodelle Übersetzung von UML-Software-Spezifikationen in Simulationsmodelle Stefan Walter swalter@dspace.de Lehrstuhl für Informationstechnik, insb. Realzeitsysteme FernUniversität in Hagen Fachtagung Echtzeit

Mehr

Data Lineage goes Traceability - oder was Requirements Engineering von Business Intelligence lernen kann

Data Lineage goes Traceability - oder was Requirements Engineering von Business Intelligence lernen kann Data Lineage goes Traceability - oder was Requirements Engineering von Business Intelligence lernen kann Andreas Ditze MID GmbH Kressengartenstraße 10 90402 Nürnberg a.ditze@mid.de Abstract: Data Lineage

Mehr

Modellierungstechniken im Softwaredesign. Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting

Modellierungstechniken im Softwaredesign. Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting Modellierungstechniken im Softwaredesign Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting Was ist Modellierung? Modell = Ein Modell ist eine Repräsentation eines Systems von Objekten,

Mehr

Usecase Meta Model Comparison and Model Migration. Dawid Kostrzycki Entwicklung verteilter eingebetteter Systeme

Usecase Meta Model Comparison and Model Migration. Dawid Kostrzycki Entwicklung verteilter eingebetteter Systeme Usecase Meta Model Comparison and Model Migration Dawid Kostrzycki Entwicklung verteilter eingebetteter Systeme Einführung in den Atlas Model Weaver (AMW) theoretisch und praktisch Anwendungsgebiete Wo

Mehr

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel. EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG

Mehr

Model Driven Development im Überblick

Model Driven Development im Überblick Model Driven Development im Überblick Arif Chughtai Diplom-Informatiker (FH) www.digicomp-academy, Seite 1 September 05 Inhalt Motivation Überblick MDA Kleines Beispiel Werkzeuge www.digicomp-academy,

Mehr

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML) Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen Tom Krauß Agenda Begriffsdefinition Verfahren Praktische Beispiele Vergleich und Bewertung Begriffsklärung

Mehr

Modellierung biologischer. Christian Maidorfer Thomas Zwifl (Seminar aus Informatik)

Modellierung biologischer. Christian Maidorfer Thomas Zwifl (Seminar aus Informatik) Modellierung biologischer Prozesse Christian Maidorfer Thomas Zwifl (Seminar aus Informatik) Überblick Einführung Arten von Modellen Die stochastische Pi-Maschine Warum Modelle Die Biologie konzentriert

Mehr

Model Driven Architecture

Model Driven Architecture Model Driven Architecture Wilhelm Stephan Universität Hamburg Fakultät für Mathematik, Informatik und Naturwissenschaften Seminar Softwareentwicklung in der Wissenschaft Betreuer: Julian Kunkel SommerSemester

Mehr

Modellbasierte Softwareentwicklung mit EMF

Modellbasierte Softwareentwicklung mit EMF Softwaretechnik I, WS 2009/10 Modellbasierte Softwareentwicklung mit EMF Übungsblatt 5 13. November 2009 Organisatorisches Zur Bearbeitung der Übungsaufgabe stehen Ihnen die folgenden 3 Wochen (Kalenderwochen

Mehr

Entwicklung einer formalen Sprache zur Modelltransformation auf Basis von UML & XMI

Entwicklung einer formalen Sprache zur Modelltransformation auf Basis von UML & XMI Entwicklung einer formalen Sprache zur Modelltransformation auf Basis von UML & XMI Swisstopo-Kolloquium 11.04.2008 TU München, 13. März 2007 Inhalt 1. Anforderungen, Voraussetzungen, Grundlagen 2. Instrumente

Mehr

Software Factories SS 2016. Prof. Dr. Dirk Müller. 3 Modellgetriebene Softwareentwicklung

Software Factories SS 2016. Prof. Dr. Dirk Müller. 3 Modellgetriebene Softwareentwicklung Software Factories 3 Modellgetriebene Softwareentwicklung Prof. Dr. Dirk Müller Übersicht Einordnung im Lebenszyklus Ziele Hebung des Abstraktionsniveaus Model Driven Architecture (MDA) Domänenspezifische

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Jens Kohlmeyer 05. März 2007 Institut für Programmiermethodik und Compilerbau ActiveCharts Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Seite 2 Übersicht

Mehr

PLATTFORMÜBERGREIFENDE ENTWICKLUNG MITHILFE MODELLGETRIEBENER METHODEN UND TECHNOLOGIEN

PLATTFORMÜBERGREIFENDE ENTWICKLUNG MITHILFE MODELLGETRIEBENER METHODEN UND TECHNOLOGIEN PLATTFORMÜBERGREIFENDE ENTWICKLUNG MITHILFE MODELLGETRIEBENER METHODEN UND TECHNOLOGIEN Mathias Slawik, WI (M), 3. FS Aktuelle Themen der Wirtschaftsinformatik, HTW Berlin, WS 10/11 Gliederung 2 Methode

Mehr

Modellgestützte Analyse und Optimierung Übungsblatt 4

Modellgestützte Analyse und Optimierung Übungsblatt 4 Fakultät für Informatik Lehrstuhl 4 Peter Buchholz, Jan Kriege Sommersemester 2015 Modellgestützte Analyse und Optimierung Übungsblatt 4 Ausgabe: 27.04.2015, Abgabe: 04.05.2015 (12 Uhr) Aufgabe 4.1: Verteilungsfunktionen

Mehr

Universität Paderborn Die Universität der Informationsgesellschaft. Validierung und Verifikation (inkl. Testen, Model-Checking, Theorem Proving)

Universität Paderborn Die Universität der Informationsgesellschaft. Validierung und Verifikation (inkl. Testen, Model-Checking, Theorem Proving) Universität Paderborn Die Universität der Informationsgesellschaft Analyse, Entwurf und Implementierung zuverlässiger Software und (inkl., Model-Checking, Theorem Proving) Torsten Bresser torbre@uni-paderborn.de

Mehr

Die Softwareentwicklungsphasen!

Die Softwareentwicklungsphasen! Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.

Mehr

Dissertation. zur Erlangung des akademischen Grades. Doktoringenieur (Dr.-Ing.)

Dissertation. zur Erlangung des akademischen Grades. Doktoringenieur (Dr.-Ing.) Automatisierte Benutzerinterfacesynthese zur Erstellung von Softwareanwendungen in der industriellen Bildverarbeitung - ein nutzerorientiertes Konzept zur Entwicklung individueller Benutzeroberflächen

Mehr

6. Modellierung von Informationssystemen. 6.1 Einleitung 6.2 Konzeptuelles Modell 6.3 OASIS Spezifikation 6.4 Execution Model 6.

6. Modellierung von Informationssystemen. 6.1 Einleitung 6.2 Konzeptuelles Modell 6.3 OASIS Spezifikation 6.4 Execution Model 6. 6. Modellierung von Informationssystemen Spezialseminar Matr. FS 2000 1/10 Volker Dobrowolny FIN- ITI Quellen: Oscar Pastor, Jaime Gomez, Emilio Insfran, Vicente Pelechano The OO-Method approach for information

Mehr

Model Driven Architecture

Model Driven Architecture { AKTUELLES SCHLAGWORT* / MODEL DRIVEN ARCHITECTURE Model Driven Architecture Martin Kempa Zoltán Ádám Mann Bei der Model Driven Architecture (MDA) bilden Modelle die zentralen Elemente des Softwareentwicklungsprozesses.

Mehr

Software-Qualität im Rahmen modellgetriebener Softwareentwicklung

Software-Qualität im Rahmen modellgetriebener Softwareentwicklung Software-Qualität im Rahmen modellgetriebener Softwareentwicklung OFFIS Technologiecluster Enterprise Application Integration niels.streekmann@offis.de 09.07.2008 Seite 1 / 13 Software-Qualität: Unterschiedliche

Mehr

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert Motivation UML 2.0 nicht als ADL im Sinne von Taylor/Medvidovic entworfen. Warum UML als ADL? weit

Mehr

Vorhersagemodell für die Verfügbarkeit von IT-Services

Vorhersagemodell für die Verfügbarkeit von IT-Services Vorhersagemodell für die Verfügbarkeit von IT-Services Magdeburg Research and Competence Cluster Very Large Business Applications Lab Fakultät für Informatik Institut für Technische und Betriebliche Informationssysteme

Mehr

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur UML-Klassendiagramme als Werkzeug im Unterricht Blitzlicht? In welcher Programmiersprache(n) unterrichten Sie?? In welchem Umfang unterrichten Sie Objektorientierung??

Mehr

FRAUNHOFER-INSTITUT FÜR PRODUKTIONSTECHNOLOGIE IPT PROJEKTGRUPPE ENTWURFSTECHNIK MECHATRONIK

FRAUNHOFER-INSTITUT FÜR PRODUKTIONSTECHNOLOGIE IPT PROJEKTGRUPPE ENTWURFSTECHNIK MECHATRONIK FRAUNHOFER-INSTITUT FÜR PRODUKTIONSTECHNOLOGIE IPT PROJEKTGRUPPE ENTWURFSTECHNIK MECHATRONIK DIE METHODE FÜR DEN SOFTWAREENTWURF VERNETZTER MECHATRONISCHER SYSTEME Innovative Funktionen moderner mechatronischer

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

Methodische objektorientierte Softwareentwicklung

Methodische objektorientierte Softwareentwicklung Methodische objektorientierte Softwareentwicklung Eine Integration klassischer und moderner Entwicklungskonzepte von Mario Winter 1. Auflage Methodische objektorientierte Softwareentwicklung Winter schnell

Mehr

Model Driven Architecture Praxisbeispiel

Model Driven Architecture Praxisbeispiel 1 EJOSA OpenUSS CampusSource Model Driven Architecture Praxisbeispiel 2 Situation von CampusSource-Plattformen Ähnliche Funktionen (Verwaltung von Studenten und Dozenten, Diskussionsforen,...), jedoch

Mehr

Definition von visuellen Alphabeten basierend auf Meta Object Facilities (MOF) 23. Oktober 2012

Definition von visuellen Alphabeten basierend auf Meta Object Facilities (MOF) 23. Oktober 2012 Definition von visuellen Alphabeten basierend auf Meta Object Facilities (MOF) 23. Oktober 2012 29 Textuelle Visuelle Alphabete Textuelle Sprachen: eindimensional (Sätze) Basiselemente: Buchstaben, Ziffern,

Mehr

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Die Unified Modeling Language Die UML (hier in der Version 0.9) ist ein Satz von Notationen zur Beschreibung objektorientierter Softwaresysteme.

Mehr

Definition von domänenspezifischen Sprachen mit Xtext: Einführung. 19. November 2014

Definition von domänenspezifischen Sprachen mit Xtext: Einführung. 19. November 2014 Definition von domänenspezifischen Sprachen mit Xtext: Einführung 19. November 2014 Überblick Was ist zu tun, wenn wir selbst einen Ansatz für modellgetriebenen Entwicklung definieren wollen? Anforderungserfassung

Mehr

Unified Modeling Language (UML)

Unified Modeling Language (UML) Kirsten Berkenkötter Was ist ein Modell? Warum Modellieren? Warum UML? Viele, viele Diagramme UML am Beispiel Was ist ein Modell? Ein Modell: ist eine abstrakte Repräsentation eines Systems, bzw. ist eine

Mehr

Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 6

Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 6 Prof. Dr. Wilhelm Schäfer Paderborn, 24. November 204 Christian Brenner Tristan Wittgen Besprechung der Aufgaben:. - 4. Dezember 204 Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester

Mehr

Die Inhalte der Vorlesung wurden primär auf Basis der Vorlesung Software Engineering von Prof. Dr. Faustmann (FHW Berlin Fachbereich II) erstellt.

Die Inhalte der Vorlesung wurden primär auf Basis der Vorlesung Software Engineering von Prof. Dr. Faustmann (FHW Berlin Fachbereich II) erstellt. Software Engineering Dokumentation von Softwarearchitekturen Die Inhalte der Vorlesung wurden primär auf Basis der Vorlesung Software Engineering von Prof. Dr. Faustmann (FHW Berlin Fachbereich II) erstellt.

Mehr

Model Driven Software Development

Model Driven Software Development Model Driven Software Development Vergleich von Metametamodellen Marcel Hoyer 1von 19 Themenvorstellung Vergleich von Metametamodellen Was sind überhaupt Metametamodelle? Analyse und Vergleich existierender

Mehr

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel Jason T. Roff UML IT Tutorial Übersetzung aus dem Amerikanischen von Reinhard Engel Inhaltsverzeichnis Inhaltsverzeichnis Einführung 11 Grundlagen der UML 15 Warum wir Software modellieren 16 Analyse,

Mehr

Diplomarbeit. Entwurf eines generischen Prozessleitstandes für Change Request Systeme

Diplomarbeit. Entwurf eines generischen Prozessleitstandes für Change Request Systeme Fakultät für Mathematik, Informatik und Naturwissenschaften Forschungsgruppe Softwarekonstruktion Diplomarbeit Entwurf eines generischen Prozessleitstandes für Change Request Systeme Development of a Generic

Mehr

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools MOF Meta Object Facility Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools Überblick Object Management Group (OMG) Model Driven Architecture (MDA) Exkurs: Modelle, Metamodelle MOF Architektur

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

Konzeption und Realisierung eines logikbasierten Anfragewerkzeugs für UML-Modelle

Konzeption und Realisierung eines logikbasierten Anfragewerkzeugs für UML-Modelle Konzeption und Realisierung eines logikbasierten Anfragewerkzeugs für UML-Modelle Doktoranden-, Diplomandenseminar, Institut für Informatik, TU Clausthal 23. Juni 2009 Motivation: Modelle werden in der

Mehr

SEA. Modellgetriebene Softwareentwicklung in der BA

SEA. Modellgetriebene Softwareentwicklung in der BA SEA Modellgetriebene Softwareentwicklung in der BA MDA bei der BA Ziele/Vorteile: für die Fachabteilung für die Systementwicklung für den Betrieb Wie wird MDA in der BA umgesetzt? Seite 2 MDA bei der BA

Mehr

Vgl. Oestereich Kap 2.4 Seiten

Vgl. Oestereich Kap 2.4 Seiten Vgl. Oestereich Kap 2.4 Seiten 99-110 1 Vgl. Oestereich Kap 2.41 Seiten 99ff 2 Wie das Klassendiagramm ist auch das Objektdiagramm ebenfalls ein Strukturdiagramm. Da die Anzahl der Attribute sehr groß

Mehr

Model Driven Architecture (MDA)

Model Driven Architecture (MDA) Model Driven Architecture (MDA) Vortrag im Fach Software Engineering II BA Mannheim / Fachrichtung Angewandte Informatik Torsten Hopp Gliederung Einleitung Motivation Grundzüge der MDA Ziele & Potenziale

Mehr

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnik (Allgemeine Informatik) Überblick Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6

Mehr

3D Visualisierung von UML Umgebungsmodellen

3D Visualisierung von UML Umgebungsmodellen 3D Visualisierung von UML Umgebungsmodellen Vortragender: Helmer Krämer Betreuer: Dr. Holger Giese 3D Visualisierung von UML Umgebungsmodellen Krämer Seite 1 Motivation und Anforderungen Das Umgebungsmodell

Mehr

Objektorientierte Geschäftsprozessmodellierung mit der UML

Objektorientierte Geschäftsprozessmodellierung mit der UML Bernd bestereich Christian Weiss Claudia Schröder Tim Weilkiens Alexander Lenhard 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com

Mehr

Modellgetriebene Softwareentwicklung und deren Auswirkung auf die Entwicklungsmethodologie von Standardsoftware

Modellgetriebene Softwareentwicklung und deren Auswirkung auf die Entwicklungsmethodologie von Standardsoftware Hochschule Heilbronn Fakultät Wirtschaft 1 Studiengang Electronic Business Diplomarbeit Modellgetriebene Softwareentwicklung und deren Auswirkung auf die Entwicklungsmethodologie von Standardsoftware Vorgelegt

Mehr

2.Strukturdiagramme. 2.5 Das Komponentendiagramm 2.6 Das Verteilungsdiagramm. Prof. Mario Jeckle

2.Strukturdiagramme. 2.5 Das Komponentendiagramm 2.6 Das Verteilungsdiagramm. Prof. Mario Jeckle 2.5 Das Komponentendiagramm 2.6 Das Verteilungsdiagramm Prof. Mario Jeckle Fachhochschule Furtwangen mario@ http://www. Fachhochschule Furtwangen, Sommersemester 2004 Das Komponentendiagramm Dient Darstellung

Mehr

Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 8

Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 8 Prof. Dr. Wilhelm Schäfer Paderborn, 8. Dezember 2014 Christian Brenner Tristan Wittgen Besprechung der Aufgaben: 15. - 18. Dezember 2014 Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung

Mehr

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Copyright 2014 Delta Software Technology GmbH. All Rights reserved. Karlsruhe, 21. Mai 2014 Softwareentwicklung - Modellgetrieben und trotzdem agil Daniela Schilling Delta Software Technology GmbH The Perfect Way to Better Software Modellgetriebene Entwicklung Garant für

Mehr

6 Architektur-Mittel (WOMIT)

6 Architektur-Mittel (WOMIT) 6 Architektur-Mittel (WOMIT) Abb. 6-1: Positionierung des Kapitels im Ordnungsrahmen. Dieses Kapitel befasst sich mit der WOMIT-Dimension des architektonischen Ordnungsrahmens, indem es grundlegende Konzepte

Mehr

Forschungsprojekt SS 2009

Forschungsprojekt SS 2009 Forschungsprojekt SS 2009 Programmierung verteilter Systeme Institut für Informatik Universität Augsburg 86135 Augsburg Tel.: +49 821 598-2118 Fax: +49 821 598-2175 Web: www.ds-lab.org Gliederung n Ziel

Mehr

Sind Prozessmanagement-Systeme auch für eingebettete Systeme einsetzbar?

Sind Prozessmanagement-Systeme auch für eingebettete Systeme einsetzbar? Sind Prozessmanagement-Systeme auch eingebettete Systeme einsetzbar? 12. Symposium Maritime Elektrotechnik, Elektronik und Informationstechnik, 8.-12. Oktober 2007 Rostock, Deutschland Rostock, Deutschland

Mehr

Aufgaben und Lösungshinweise zum Lehrbuch

Aufgaben und Lösungshinweise zum Lehrbuch Aufgaben und Lösungshinweise zum Lehrbuch UVK Verlagsgesellschaft mbh 204 Aufgaben zu Kapitel 4 Aufgabe : (Grundlagen von IT-Services) Nennen Sie vier Kriterien, die für die Gebrauchstauglichkeit eines

Mehr

Use Cases. Use Cases

Use Cases. Use Cases Use Cases Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben

Mehr

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit IBM Software Group IBM Rational mit RequisitePro Hubert Biskup hubert.biskup@de.ibm.com Agenda Rational in der IBM Software Group Der Rational Unified Process als Basis für die Projektarbeit mit Rational

Mehr

Gliederung des Vortrages

Gliederung des Vortrages Gliederung des Vortrages Unified Modeling Language Rational Rose Sergej Schwenk Oktober 1999 0. Einführung 1. Historie 2. Der Entwicklungsprozeß 3. UML 3.1 Anwendungsfalldiagramme 3.2 Klassendiagramme

Mehr

Simulink - Modelle grafisch vergleichen

Simulink - Modelle grafisch vergleichen Simulink - Modelle grafisch vergleichen Effizienzsteigerung bei der modellbasierten Softwareentwicklung Dr. Helmuth Stahl ExpertControl GmbH Email: hstahl@expertcontrol.com Web: www.expertcontrol.com Übersicht

Mehr

Model Driven SOA. < J Springer. Anwendungsorientierte Methodik und Vorgehen in der Praxis. Gerhard Rempp Mark Akermann Martin Löffler Jens Lehmann

Model Driven SOA. < J Springer. Anwendungsorientierte Methodik und Vorgehen in der Praxis. Gerhard Rempp Mark Akermann Martin Löffler Jens Lehmann Gerhard Rempp Mark Akermann Martin Löffler Jens Lehmann Model Driven SOA Anwendungsorientierte Methodik und Vorgehen in der Praxis Mit Illustrationen von Martin Starzmann < J Springer Inhaltsverzeichnis

Mehr

Experiences with Model Driven Software Development Creating the Palladio Tool Chain Eclipse Application Developer Day 7.

Experiences with Model Driven Software Development Creating the Palladio Tool Chain Eclipse Application Developer Day 7. Experiences with Model Driven Software Development Creating the Palladio Tool Chain Eclipse Application Developer Day 7. July, 2009 WIR FORSCHEN FÜR SIE Dr.-Ing. Steffen Becker sbecker@fzi.de Abteilungsleiter

Mehr

Verwendung von Anforderungsbasierten Verfolgbarkeitsmetriken im Projektmanagement

Verwendung von Anforderungsbasierten Verfolgbarkeitsmetriken im Projektmanagement Verwendung von Anforderungsbasierten Verfolgbarkeitsmetriken im Projektmanagement Michael Eisenbarth Abteilung Requirements- und Usability-Engineering Fraunhofer-Institut für Experimentelles Software Engineering

Mehr

Petri-Netzbasierte Modellierung und. Analyse von Risikoaspekten in. Zur Erlangung des akademischen Grades eines. Doktors der Wirtschaftswissenschaften

Petri-Netzbasierte Modellierung und. Analyse von Risikoaspekten in. Zur Erlangung des akademischen Grades eines. Doktors der Wirtschaftswissenschaften Carhruher Institut für Technologie Petri-Netzbasierte Modellierung und Analyse von Risikoaspekten in Geschäftsprozessen Zur Erlangung des akademischen Grades eines Doktors der Wirtschaftswissenschaften

Mehr

Systemdenken und Gestaltungsmethodik System-Modellierung

Systemdenken und Gestaltungsmethodik System-Modellierung Systemdenken und Gestaltungsmethodik System-Modellierung Prof. Dr.-Ing. Stefan Brunthaler TFH Wildau 2008ff Master Telematik Ausgangsbasis Es liegt ein kosten-nutzen-optimales Lösungskonzept vor. Die Architektur

Mehr

The Rational Unified Process. Eine Einführung von T. Langer und A. Nitert

The Rational Unified Process. Eine Einführung von T. Langer und A. Nitert The Rational Unified Process Eine Einführung von T. Langer und A. Nitert Übersicht Einleitung Probleme der SW-Entwicklung, Best Practices, Aufgaben Was ist der Rational Unified Process? Struktur des Prozesses

Mehr

Motivation. Motivation

Motivation. Motivation Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2012 Universität Duisburg-Essen Was sind nebenläufige Systeme? Ganz allgemein: Systeme, bei denen mehrere Komponenten/Prozesse nebenläufig arbeiten

Mehr

SLA4D-Grid! Einführung, Konzepte und Ergebnisse

SLA4D-Grid! Einführung, Konzepte und Ergebnisse Service Level Agreements for D-Grid SLA4D-Grid! Einführung, Konzepte und Ergebnisse Philipp Wieder, Service Computing, TU Dortmund SLAs in Grid und Cloud Workshop 09. September 2010, Karlsruhe, DE http://www.sla4d-grid.de

Mehr

Vgl. Oestereich Kap 2.7 Seiten 134-147

Vgl. Oestereich Kap 2.7 Seiten 134-147 Vgl. Oestereich Kap 2.7 Seiten 134-147 1 Sequenzdiagramme beschreiben die Kommunikation/Interaktion zwischen den Objekten (bzw. verschiedenen Rollen) eines Szenarios. Es wird beschrieben, welche Objekte

Mehr

ITIL & TOGAF die Doppelspitze für IT Governance

ITIL & TOGAF die Doppelspitze für IT Governance 1 ITIL Day 2014 ITIL & TOGAF die Doppelspitze für IT Governance Referenten: Arif Chughtai, Matthias Gessenay 2 Referenten Arif Chughtai mail@arifchughtai.org www.arifchughtai.org Matthias Gessenay matthias.gessenay@corporatesoftware.ch

Mehr

Das Metamodell der UML und in FUJABA. Vortrag von Alexander Geburzi

Das Metamodell der UML und in FUJABA. Vortrag von Alexander Geburzi Das Metamodell der UML und in FUJABA Vortrag von Alexander Geburzi Gliederung Metamodellierung Metamodell der UML Metamodell in FUJABA Metamodellierung - Metamodell der UML - Metamodell in FUJABA 2/20

Mehr

Abschlussvortrag Masterarbeit: Operationalizing Architecture in an agile Software Projec

Abschlussvortrag Masterarbeit: Operationalizing Architecture in an agile Software Projec Abschlussvortrag Masterarbeit: Operationalizing in an agile Software Projec Freie Universität Berlin, Institut für Informatik February 2, 2015 Übersicht 2 Was ist Softwarearchitektur? Softwarearchitektur

Mehr

Michael Piechotta - CASE Tools. openarchitecture Ware

Michael Piechotta - CASE Tools. openarchitecture Ware Model Driven Development Michael Piechotta - CASE Tools openarchitecture Ware Gliederung 1.Einleitung - Was ist MDD? - Wozu MDD? 2.Model Driven Development - OMG Konzepte: Modelle,Transformationen Meta-Modellierung

Mehr

SE2-10-Entwurfsmuster-2 15

SE2-10-Entwurfsmuster-2 15 Architektur und Skalierbarkeit SE2-10-Entwurfsmuster-2 15 Skalierbarkeit Skalierbarkeit bedeutet die Anpassung einer Software an wachsende Last: Interaktionsfrequenz Nutzerzahl Anpassung durch Hinzufügen

Mehr

Workflow-Management für CORBA-basierte Anwendungen

Workflow-Management für CORBA-basierte Anwendungen Wolfgang Schulze 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Workflow-Management für CORBA-basierte Anwendungen

Mehr

Requirements Engineering I

Requirements Engineering I Norbert Seyff Requirements Engineering I UML Unified Modeling Language! 2006-2012 Martin Glinz und Norbert Seyff. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen

Mehr

Einführung in das Eclipse Modeling Framework (EMF)

Einführung in das Eclipse Modeling Framework (EMF) Einführung in das Eclipse Modeling Framework (EMF) Timo Kehrer, Cristoph Berane Praktische Informatik November 2010 Überblik Ecore Was ist EMF? EMF ist ein eigenständiges Eclipse-Projekt (Eclipse Modeling

Mehr

A classification and comparison framework for software architecture description languages

A classification and comparison framework for software architecture description languages A classification and comparison framework for software architecture description languages Christian Gerth Seminar Architekturbeschreibungssprachen Prof. Dr. Heike Wehrheim Fachgebiet Spezifikation und

Mehr

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik-

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik- Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Unified Modeling Language (UML)

Mehr

Integration Services - Dienstarchitektur

Integration Services - Dienstarchitektur Integration Services - Dienstarchitektur Integration Services - Dienstarchitektur Dieser Artikel solle dabei unterstützen, Integration Services in Microsoft SQL Server be sser zu verstehen und damit die

Mehr

16 Architekturentwurf Einführung und Überblick

16 Architekturentwurf Einführung und Überblick Teil III: Software-Architekturentwurf 16 Architekturentwurf Einführung und Überblick 16.1 Software entwerfen Warum? Beim Arbeiten im Kleinen nicht oder nur ansatzweise (Detailentwurf) Größere Software

Mehr

Modellbasierte Laufzeit-Performance-Vorhersage für komponentenbasierte Softwarearchitekturen

Modellbasierte Laufzeit-Performance-Vorhersage für komponentenbasierte Softwarearchitekturen Christian-Albrechts-Universität zu Kiel Institut für Informatik Arbeitsgruppe Software Engineering Diplomarbeit Modellbasierte Laufzeit-Performance-Vorhersage für komponentenbasierte Softwarearchitekturen

Mehr

BPMN. Suzana Milovanovic

BPMN. Suzana Milovanovic BPMN Suzana Milovanovic 2 Übersicht Klärung von Begriffen, Abkürzungen Was ist BPMN? Business Process Diagram (BPD) Beispielprozess Entwicklung von BPMN BPMN in der Literatur 3 Grundlegende Begriffe Business

Mehr

Ansätze zur Synchronisation von Enterprise Architecture Management, Prozessmanagement und SAP. Ralf Ackermann Daimler AG, ITM MBC Powertrain

Ansätze zur Synchronisation von Enterprise Architecture Management, Prozessmanagement und SAP. Ralf Ackermann Daimler AG, ITM MBC Powertrain Ansätze zur Synchronisation von Enterprise Architecture Management, Prozessmanagement und SAP Ralf Ackermann Daimler AG, ITM MBC Powertrain Agenda Ausgangslage EAM Tool-Landschaft bei Daimler planningit

Mehr

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich WS 02/03 Warum muss ein Objekt wissen, zu welcher Klasse es gehört? Damit die Klassenzugehörigkeit

Mehr

Produktskizze. 28. November 2005 Projektgruppe Syspect

Produktskizze. 28. November 2005 Projektgruppe Syspect 28. November 2005 Carl von Ossietzky Universität Oldenburg Fakultät II Department für Informatik Abteilung Entwicklung korrekter Systeme Inhaltsverzeichnis 1 Einleitung 3 2 Die graphische Oberfläche der

Mehr

Techniken der Projektentwicklung

Techniken der Projektentwicklung diagramme Termin 6 Denken in Schnittstellen Was nun? Einführung Bisher kennengelernt: Modellierung auf Konzeptlevel Usecase-Diagramme Domänenmodelle Jetzt: Übergang zu Spezifikation und Implementierung!

Mehr

Session 8: Projektvorstellung Transferprojekt itsowl-tt-savez 18. August 2015, Gütersloh. www.its-owl.de

Session 8: Projektvorstellung Transferprojekt itsowl-tt-savez 18. August 2015, Gütersloh. www.its-owl.de Session 8: Projektvorstellung Transferprojekt itsowl-tt-savez 18. August 2015, Gütersloh www.its-owl.de Agenda Abschlusspräsentation itsowl-tt-savez Einführung Zielsetzung Ergebnisse Resümee und Ausblick

Mehr

Client/Server-Systeme

Client/Server-Systeme Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen

Mehr

Grundlagen der Softwaretechnik

Grundlagen der Softwaretechnik Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Musterlösung Name: Matrikelnummer: Note: Prüfungstag:

Mehr

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Wintersemester 2009/10 Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. K. Spies, Dr. M. Spichkova, L. Heinemann, P.

Mehr