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

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

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

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

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

Ü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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ü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 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

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

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

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

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

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

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

Kundenanforderungen dokumentieren

Kundenanforderungen dokumentieren Requirements Engineering Kundenanforderungen dokumentieren Bereich Anforderungen Aktivität Kunden-Anforderungen erheben Ziele Gesteigerte Kundenzufriedenheit Dokumentation der genauen Erwartungen des Kunden

Mehr

Domänenspezifisch entwickeln mit UML (Vortrag mit Demo)

Domänenspezifisch entwickeln mit UML (Vortrag mit Demo) Gert Bikker, Kevin Barwich, Arne Noyer Domänenspezifisch entwickeln mit UML (Vortrag mit Demo) Die Modellierung mit UML bietet auch für eingebettete Systeme viele Vorteile. Um die Vorteile effizient nutzen

Mehr

Befragung und empirische Einschätzung der Praxisrelevanz

Befragung und empirische Einschätzung der Praxisrelevanz Befragung und empirische Einschätzung der Praxisrelevanz eines Vorgehensmodells zur Auswahl von CRM-Systemen D I P L O M A R B E I T zur Erlangung des Grades eines Diplom-Ökonomen der Wirtschaftswissenschaftlichen

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

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

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

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

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

Modellgetriebene Softwareentwicklung bei der IBYKUS AG

Modellgetriebene Softwareentwicklung bei der IBYKUS AG Modellgetriebene Softwareentwicklung bei der IBYKUS AG Theorie Teil 4: Domänenspezifische Sprachen Dr. Steffen Skatulla IBYKUS AG 1 Inhalt Teil 4: Domänenspezifische Sprachen Nutzung vorhandener Sprachen

Mehr

1 YAWL Yet Another Workflow Language

1 YAWL Yet Another Workflow Language 1 YAWL Yet Another Workflow Language Das YAWL Workflow-Management-System wurde von Wil van der Aalst und seinem Team an der Eindhoven University of Technology entwickelt. Das System ist in seiner jetzigen

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

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

Henshin: Modelltransformationen in EMF. Dr. Thorsten Arendt Marburg, 29. Oktober 2015

Henshin: Modelltransformationen in EMF. Dr. Thorsten Arendt Marburg, 29. Oktober 2015 Henshin: Modelltransformationen in EMF Dr. Thorsten Arendt Marburg, 29. Oktober 2015 Überblick Modelltransformationen Einführung in Henshin Modelle im Eclipse Modeling Framework Transformationskonzepte

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

Modellgetriebene Softwareentwicklung. 31. Januar 2013

Modellgetriebene Softwareentwicklung. 31. Januar 2013 Modellgetriebene Softwareentwicklung in verteilten Teams 31. Januar 2013 Überblick Wie kann ein einfacher Prozess zur modellgetriebene Entwicklung in verteilten Teams aussehen? Auf welche Weisen kann man

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

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

2. Automatische Codegenerierung mittels dynamischer Spezialisierung

2. Automatische Codegenerierung mittels dynamischer Spezialisierung 2 Automatische Codegenerierung mittels dynamischer Spezialisierung 1/16 Quelle: Vicente Pelechano, Oscar Pastor, Emilio Insfran Automated code generation of dynamic specializations: An approach based on

Mehr

Das Lehren von objektorientierter Programmierung in Java mit

Das Lehren von objektorientierter Programmierung in Java mit Das Lehren von objektorientierter Programmierung in Java mit Dr. Axel Schmolitzky Arbeitsbereich Softwaretechnik Fachbereich Informatik Universität Hamburg Überblick Kurz zu meiner Person Objektorientierung

Mehr

UML 2.0 Quelltextgenerierung

UML 2.0 Quelltextgenerierung UML 2.0 Quelltextgenerierung Seminararbeit im Fach Informatik im Rahmen des Seminars Sicherheitskritische Systeme an der Universität Siegen, Fachgruppe für Praktische Informatik eingereicht bei Dr. Jörg

Mehr

Software Engineering und Projektmanagement

Software Engineering und Projektmanagement Software Engineering und Projektmanagement Motivation! Fachliche Sicht trifft auf technische Realisierung Entwurf 2009W - 5. November 2009 Andreas Mauczka Email: andreas.mauczka@inso.tuwien.ac.at Web:

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

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

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

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜFUNG. 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 Name: Matrikelnummer: Note: Prüfungstag: 21.09.2012 Prüfungsdauer:

Mehr

Berichte aus der Medizinischen Informatik und Bioinformatik. Günther Schadow. Krankenhauskommunikation mit HL7

Berichte aus der Medizinischen Informatik und Bioinformatik. Günther Schadow. Krankenhauskommunikation mit HL7 Berichte aus der Medizinischen Informatik und Bioinformatik Günther Schadow Krankenhauskommunikation mit HL7 Analyse, Implementation und Anwendungeines Protokollstandards für medizinische Datenkommunikation

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

Erhebung interoperabler medizinischer Daten basierend auf ISO/CEN 13606 Archetypen

Erhebung interoperabler medizinischer Daten basierend auf ISO/CEN 13606 Archetypen Hans Demski GMDS2010 - Mannheim Erhebung interoperabler medizinischer Daten basierend auf ISO/CEN 13606 Archetypen Helmholtz Zentrum München Deutsches Forschungszentrum für Gesundheit und Umwelt Arbeitsgruppe

Mehr

Model Driven Development einige wichtige Grundprinzipien

Model Driven Development einige wichtige Grundprinzipien Model Driven Development einige wichtige Grundprinzipien Johannes Scheier j@scheier software.ch Copyright by Scheier Software Engineering Seite 1 Inhalt Was ist Model Driven Development (MDD)? Was verspricht

Mehr

Musteraufbau eines Anforderungsprofils zur Einführung neuer Software

Musteraufbau eines Anforderungsprofils zur Einführung neuer Software Musteraufbau eines Anforderungsprofils zur Einführung neuer Software Ottostr. 15 96047 Bamberg Tel. +49/951/98046200 Fax +49/951/98046150 email: info@softcondev.de www: softcondev.de INHALT Vorwort Diese

Mehr

Objektorientierte Analyse

Objektorientierte Analyse Objektorientierte Analyse 1) Systemanalyse Einführung Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für Informatik TU Dresden

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

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

Language Workbench. Aktuelle Themen der Softwaretechnologie. Vortrag von: Arthur Rehm Steven Cardoso. Betreut von: Prof. Dr.

Language Workbench. Aktuelle Themen der Softwaretechnologie. Vortrag von: Arthur Rehm Steven Cardoso. Betreut von: Prof. Dr. Language Workbench Vortrag von:! Aktuelle Themen der Softwaretechnologie Arthur Rehm Steven Cardoso Betreut von: Prof. Dr. Reichenbach [1] !2 Index Kontext Domain Specific Language (DSL) Language Workbench

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

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

Entwicklung eines Scheduling-Verfahrens zur Optimierung der Reihenfolge von Prototypentests. Masterarbeit

Entwicklung eines Scheduling-Verfahrens zur Optimierung der Reihenfolge von Prototypentests. Masterarbeit Entwicklung eines Scheduling-Verfahrens zur Optimierung der Reihenfolge von Prototypentests Masterarbeit zur Erlangung des akademischen Grades Master of Science (M.Sc.) im Masterstudiengang Wirtschaftswissenschaft

Mehr

Modellgetriebene Softwareentwicklung für Robotiksysteme

Modellgetriebene Softwareentwicklung für Robotiksysteme Servicerobotik Autonome Mobile Serviceroboter für Robotiksysteme, Dennis Stampfer und Christian Schlegel Fakultät Informatik ZAFH Servicerobotik Hochschule Ulm http://smart-robotics.sourceforge.net/ http://www.zafh-servicerobotik.de/ulm/index.php

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

Taking Subversion to a Higher Level. Branching/Merging Support. Component Management Support. Und Mehr

Taking Subversion to a Higher Level. Branching/Merging Support. Component Management Support. Und Mehr Branching/Merging Support Component Management Support Und Mehr Was ist Impact CM? Impact CM ist ein CM Service AddOn zur Steuerung des Software Configuration Managements in Entwicklungsprojekten über

Mehr

Semantic Web Services

Semantic Web Services Semantic Web Services Daniel Fischer TU Chemnitz - WS 2011/12 1 Gliederung (1) Web Services (2) Semantic Web Services: Motivation (3) Ontologien (4) Technologien 1. WSDL 2. SA-WSDL 3. WSMF / WSMO 4. OWL-S

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