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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Komponentenentwicklung und Deployment in Selbstorganisierenden Ad hoc Netzwerken Graduiertenkolleg METRIK

Komponentenentwicklung und Deployment in Selbstorganisierenden Ad hoc Netzwerken Graduiertenkolleg METRIK Komponentenentwicklung und Deployment in Selbstorganisierenden Ad hoc Netzwerken Graduiertenkolleg METRIK Berlin-Adlershof, 02. November 2007 Siamak Haschemi Agenda Einführung Motivation Nächste Schritte

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

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

SoaML-basierter Entwurf eines dienstorientierten Überwachungssystems

SoaML-basierter Entwurf eines dienstorientierten Überwachungssystems SoaML-basierter Entwurf eines dienstorientierten Überwachungssystems Michael Gebhart (1), Jürgen Moßgraber (2), Thomas Usländer (2), Sebastian Abeck (1) (2) (1) Cooperation & Management, Karlsruher Institut

Mehr

Projektseminar Softwaresysteme

Projektseminar Softwaresysteme Projektseminar Softwaresysteme Themenvorstellung und Kick-Off Sommersemester 2015 Géza Kulcsár geza.kulcsar@es.tu.darmstadt.de ES Real-Time Systems Lab Prof. Dr. rer. nat. Andy Schürr Dept. of Electrical

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

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

Software-Engineering in der Servicerobotik Der Weg zum modellgetriebenen Softwareentwurf

Software-Engineering in der Servicerobotik Der Weg zum modellgetriebenen Softwareentwurf Servicerobotik Autonome Mobile Serviceroboter Software-Engineering in der Servicerobotik Der Weg zum modellgetriebenen Softwareentwurf, Dennis Stampfer und Christian Schlegel Institut für Informatik Hochschule

Mehr

Modellgetriebene Softwareentwicklung von mobilen Anwendungen. Gabriele Taentzer WS 2014/15 Philipps-Universität Marburg

Modellgetriebene Softwareentwicklung von mobilen Anwendungen. Gabriele Taentzer WS 2014/15 Philipps-Universität Marburg Modellgetriebene Softwareentwicklung von mobilen Anwendungen WS 2014/15 Philipps-Universität Marburg Organisation der LV Umfang: 6 SWS, 9 ECTS Punkte Veranstalter:, Daniel Strüber, Steffen Vaupel Kontakt:

Mehr

A Platform for Complex Event Processing

A Platform for Complex Event Processing A Platform for Complex Event Processing Einführung Business Process Technology Prof. Dr. Mathias Weske Matthias Kunze Nico Herzberg Business Process Technology Seit 2001 Untersuchung realer Probleme des

Mehr

Simulation von Computer- und Kommunikationssystemen

Simulation von Computer- und Kommunikationssystemen Computer und Kommunikationssysteme Nachbildung der Verarbeitung in Rechnern und Kommunikation in Netzwerken Belegung und Auslastung von Systemressourcen Analyse von Systemverhalten Systemleistung in der

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

Modellgetriebene Entwicklung von grafischen Benutzerschnittstellen

Modellgetriebene Entwicklung von grafischen Benutzerschnittstellen Modellgetriebene Entwicklung von grafischen Benutzerschnittstellen Stefan Link, Thomas Schuster, Philip Hoyer, Sebastian Abeck Institut für Telematik, Fakultät für Informatik Universität Karlsruhe (TH)

Mehr

Beispielhaft MDSD in der Praxis. Dr. Shota Okujava shota.okujava@isento.de www.isento.de

Beispielhaft MDSD in der Praxis. Dr. Shota Okujava shota.okujava@isento.de www.isento.de Beispielhaft MDSD in der Praxis Dr. Shota Okujava shota.okujava@isento.de www.isento.de Agenda Einführung Softwareentwicklungsprozess und MDSD Technologien und Werkzeuge Demo Entwicklung der Metamodelle

Mehr

Simulation der SW-Systemzuverlässigkeit in Automatisierungssystemen auf Grundlage von SW-Komponenten

Simulation der SW-Systemzuverlässigkeit in Automatisierungssystemen auf Grundlage von SW-Komponenten Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner Simulation der SW-Systemzuverlässigkeit in Automatisierungssystemen auf Grundlage von SW-Komponenten

Mehr

7. Analyse-Phase: Datenmodellierung Software Engineering

7. Analyse-Phase: Datenmodellierung Software Engineering 7. Analyse-Phase: Datenmodellierung Software Engineering Hochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm Hochschule Darmstadt, 20. November 2006 Einordnung in den Kontext

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

Abbildung 1: Titelbild (Quelle: http://www.oobject.com/algorithmic-architecture/follymorph-continuum-group-finalpresentation/3267/)

Abbildung 1: Titelbild (Quelle: http://www.oobject.com/algorithmic-architecture/follymorph-continuum-group-finalpresentation/3267/) Abbildung 1: Titelbild (Quelle: http://www.oobject.com/algorithmic-architecture/follymorph-continuum-group-finalpresentation/3267/) Enterprise Continuum Wiederverwendung von Unternehmensarchitekturen Modul

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

Projekt:

Projekt: <Hier den Namen des Projektes eingeben!> <Adresse> <Telefon / Fax> <Ansprechpartner> Pflichtenheft Die Aufgabe des Pflichtenheftes ist es zu beschreiben, was die zu entwickelnde Software für den Anwender leisten soll. Diese Vorlage basiert auf der aus TSE I bekannten Vorlage. Projekt:

Mehr

Objektorientierte Datenmodelle und - verwaltung

Objektorientierte Datenmodelle und - verwaltung Schlagworte der 90er: Objektorientiertes GIS OpenGIS Case-Tool Geoökologe Legt Problemstellung fest (Art, Anzahl, Dimension, Skalierung) Wählt Koordinatensystem Wählt Fachattribute OOUI (object-oriented

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

YAKINDU Requirements. Requirements Engineering, Management and Traceability with Eclipse. Lars Martin, itemis AG. itemis AG

YAKINDU Requirements. Requirements Engineering, Management and Traceability with Eclipse. Lars Martin, itemis AG. itemis AG YAKINDU Requirements Requirements Engineering, Management and Traceability with Eclipse Lars Martin, itemis AG Agenda YAKINDU Requirements Motivation: Warum Requirements Engineering? Grundlagen: Requirements

Mehr

MDA MDA mit mit Open-Source-Software Eine Eine Bestandsaufnahme

MDA MDA mit mit Open-Source-Software Eine Eine Bestandsaufnahme MDA MDA mit mit Open-Source-Software Eine Eine Bestandsaufnahme Gerhard Wanner (wanner@hft-stuttgart.de) Stefan Stefan Siegl Siegl (s.siegl@novatec-gmbh.de) Agenda Model Driven Architecture (MDA) Einführung/Übersicht/Motivation

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

Design by Contract zur semantischen Beschreibung von Web Services

Design by Contract zur semantischen Beschreibung von Web Services Design by Contract zur semantischen Beschreibung von Web Services Gregor Engels 1, Marc Lohmann 1, Stefan Sauer 2 1 Institut für Informatik, 2 Software Quality Lab (s-lab) Universität Paderborn, 33095

Mehr

Software Engineering II (IB) Serviceorientierte Architektur

Software Engineering II (IB) Serviceorientierte Architektur Serviceorientierte Architektur Prof. Dr. Oliver Braun Fakultät für Informatik und Mathematik Hochschule München SS 2015 Webservices Ziel: flexible programmatische Zusammenarbeit zwischen Servern Bereitstellung

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

Rhapsody in J Modellierung von Echtzeitsystemen

Rhapsody in J Modellierung von Echtzeitsystemen Rhapsody in J Modellierung von Echtzeitsystemen Tobias Schumacher tobe@uni-paderborn.de Rhapsody in J - Modellierung von Echtzeitsystemen p.1/17 Anspruch des Tools Einsatzbereiche/Features Modellierung

Mehr

paluno Software & CPS Matthias Book Innovationsworkshop Horizon 2020 ICT 23.01.2014

paluno Software & CPS Matthias Book Innovationsworkshop Horizon 2020 ICT 23.01.2014 Impulse aus dem CPS-Netzwerk NRW Software & CPS Matthias Book Innovationsworkshop Horizon 2020 ICT 23.01.2014 Cyber Physical NRW Überblick: Software-technische Herausforderungen Cyber Physical Systems

Mehr

Effektive Architekturdokumentation mit arc42

Effektive Architekturdokumentation mit arc42 01 Whitepaper: Technologie > Architekturdokumentation Cofinpro die Experten für Kredit und Wertpapier Effektive Architekturdokumentation mit arc42 Inhalt 1 Software-Architektur mit arc42 2 2 arc42 2 3

Mehr

Softwareentwicklung mit UML

Softwareentwicklung mit UML Softwareentwicklung mit UML Die Unified Modeling Language im Projekteinsatz 2.12.2003, Seite 1 Übersicht 1 Einleitung 2 Die Unified Modeling Language (UML) 3 Vorgehensmodelle und UML 4 Ausblick 4.1 UML

Mehr

IT-basierte Erstellung von Nachhaltigkeitsberichten. Diplomarbeit

IT-basierte Erstellung von Nachhaltigkeitsberichten. Diplomarbeit IT-basierte Erstellung von Nachhaltigkeitsberichten Diplomarbeit zur Erlangung des Grades eines Diplom-Ökonomen der Wirtschaftswissenschaftlichen Fakultät der Leibniz Universität Hannover vorgelegt von

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

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

Wiki-basierte Dokumentation von Software-Entwicklungsprozessen

Wiki-basierte Dokumentation von Software-Entwicklungsprozessen Wiki-basierte Dokumentation von Software-Entwicklungsprozessen Erfahrungen aus der industriellen Praxis Fraunhofer IESE Kaiserslautern Inhalt Wiki-basierte Dokumentation von Software-Entwicklungsprozessen

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 Musterlösung Name: Matrikelnummer: Note: Prüfungstag:

Mehr

Master Projekt SoSe 2015. Computergestützte Generierung und Validierung von Softwaremodellen. Rene Meis Nazila Gol Mohammadi Prof. Dr.

Master Projekt SoSe 2015. Computergestützte Generierung und Validierung von Softwaremodellen. Rene Meis Nazila Gol Mohammadi Prof. Dr. Master Projekt SoSe 2015 Computergestützte Generierung und Validierung von Softwaremodellen Nazila Gol Mohammadi Prof. Dr. Maritta Heisel Universität Duisburg-Essen, Fakultät für Ingenieurwissenschaften,

Mehr

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I)

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Historisch Kulturelle Informationsverarbeitung Hauptseminar: KLIPS 2.0 Dozent: Prof. Dr. Thaller Referent:

Mehr

Von der UML nach C++

Von der UML nach C++ 22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete

Mehr

Rechnernetze Projekt SS 2015

Rechnernetze Projekt SS 2015 30/03/15 Seite 1 Aspektorientierte Programmierung logische Aspekte (Concerns) im Programm separieren Crosscutting Concerns (Ziel: generische Funktionalitäten über mehrere Klassen hinweg zu verwenden -

Mehr

Einführung in die Programmierung mit Java. Hörsaalübung

Einführung in die Programmierung mit Java. Hörsaalübung Einführung in die Programmierung mit Java Hörsaalübung Folie 1 Grundlagen der Objektorientierung Seit Anfang der Neunzigerjahre Standardmethode der Softwareentwicklung. Die OOP Objektorientierte Programmierung

Mehr

Fundamentals of Software Engineering 1

Fundamentals of Software Engineering 1 Folie a: Name Fundamentals of Software Engineering 1 Grundlagen der Programmentwurfstechnik 1 Sommersemester 2012 Dr.-Ing. Stefan Werner Fakultät für Ingenieurwissenschaften Folie 1 Inhaltsverzeichnis

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

Der Unified Process ist ein generischer Prozeß zur objektorientierten Software- Erstellung

Der Unified Process ist ein generischer Prozeß zur objektorientierten Software- Erstellung Unified Process Eine Einführung von Hannes Fischer Fischer Software Elfenstr. 64 70567 Stuttgart Deutschland Copyright 2000 Hannes Fischer Unified Process Wie wird heute gearbeitet? Der Unified Process

Mehr

RTLOpen - Eine Methode zur interdisziplinären Entwicklung von software-intensiven Echtzeit-Systemen

RTLOpen - Eine Methode zur interdisziplinären Entwicklung von software-intensiven Echtzeit-Systemen RTLOpen - Eine Methode zur interdisziplinären Entwicklung von software-intensiven Echtzeit-Systemen Thorsten Keuler (thorsten.keuler@iese.fraunhofer.de) IESE Fraunhofer Institut Experimentelles Software

Mehr

Andreas Lux 16.03.2010. Verknüpfung unterschiedlicher Modellsprachen (BPMN, UML, DSL) zur Anforderungsanalyse

Andreas Lux 16.03.2010. Verknüpfung unterschiedlicher Modellsprachen (BPMN, UML, DSL) zur Anforderungsanalyse Andreas Lux 16.03.2010 Verknüpfung unterschiedlicher Modellsprachen (BPMN, UML, DSL) zur Anforderungsanalyse Warum unterschiedliche Sprachen? Nicht alle Probleme eignen sich, um mit Standardsprachen beschrieben

Mehr

Group and Session Management for Collaborative Applications

Group and Session Management for Collaborative Applications Diss. ETH No. 12075 Group and Session Management for Collaborative Applications A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZÜRICH for the degree of Doctor of Technical Seiences

Mehr

A Domain Specific Language for Project Execution Models

A Domain Specific Language for Project Execution Models A Domain Specific Language for Project Execution Models Eugen Wachtel, Marco Kuhrmann, Georg Kalus Institut für Informatik Software & Systems Engineering Inhalt Einführung und Hintergrund Problembereiche

Mehr

3... SAP NetWeaver Developer Studio: Schritt für Schritt zur Beispielanwendung... 119

3... SAP NetWeaver Developer Studio: Schritt für Schritt zur Beispielanwendung... 119 1... SAP NetWeaver... 25 1.1... Plattform für die Enterprise Service-Oriented Architecture... 26... 1.1.1... Enterprise-SOA-Definition... 26... 1.1.2... Vorteile einer serviceorientierten Architektur...

Mehr

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II Rational Unified Process (RUP) Informationswirtschaft II Rational Unified Process (RUP) Wolfgang H. Janko, Michael Hahsler und Stefan Koch Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe Das

Mehr

Informationswirtschaft II

Informationswirtschaft II Rational Unified Process (RUP) Informationswirtschaft II Wolfgang H. Janko, Michael Hahsler und Stefan Koch Seite 1 Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe

Mehr

Programmverstehen 1: Der erste Kontakt mit dem System. Dr. Thorsten Arendt Marburg, 27. November 2014

Programmverstehen 1: Der erste Kontakt mit dem System. Dr. Thorsten Arendt Marburg, 27. November 2014 Programmverstehen 1: Der erste Kontakt mit dem System Dr. Thorsten Arendt Marburg, 27. November 2014 Überblick Was ist Forward-, Reverse- und Re-Engineering? Was sind Re-Engineering Patterns? Wie nähere

Mehr

Inhaltsverzeichnis 1 Einleitung 2 Ansätze in Forschung und Praxis

Inhaltsverzeichnis 1 Einleitung 2 Ansätze in Forschung und Praxis ix 1 Einleitung 1 1.1 Motivation 1 1.1.1 Das Projekt»Steuerkanzlei 2005«2 1.1.2 Generalisierung des Anwendungsfalls 3 1.1.3 Situation der Business Intelligence 4 1.1.4 Probleme in der praktischen Anwendung

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

Geschäftsprozessanalyse

Geschäftsprozessanalyse Geschäftsprozessanalyse Prozessmodellierung weitere Begriffe: workflow business process modelling business process (re-)engineering 2 Was ist ein Prozess? Prozesse bestehen aus Aktionen / Ereignissen /

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22 Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften

Mehr

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 Software Testing Automatisiert Manuell 100% 70% 1 Überwiegender Teil der Testing Tools fokusiert auf automatisiertes Testen Microsoft

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

Orientierte Modellierung mit der Unified Modeling Language

Orientierte Modellierung mit der Unified Modeling Language UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler Ziel dieses Seminars Verständnis von Objekt-Orientierung Was sind Klassen? Was ist Vererbung?

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

... Einleitung... 15. 3... Prozessintegration und Integrationsszenarien... 127 3.1... Integrationsszenariomodelle... 128

... Einleitung... 15. 3... Prozessintegration und Integrationsszenarien... 127 3.1... Integrationsszenariomodelle... 128 ... Einleitung... 15 1... Grundlagen der Modellierung von Enterprise Services... 23 1.1... Serviceorientierte Architekturen... 26 1.1.1... Merkmale serviceorientierter Architekturen... 27 1.1.2... SOA

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

Ein Ansatz für eine Ontologie-basierte Verbindung von IT Monitoring und IT Governance

Ein Ansatz für eine Ontologie-basierte Verbindung von IT Monitoring und IT Governance Ein Ansatz für eine Ontologie-basierte Verbindung von IT Monitoring und IT Governance MITA 2014 23.09.2014 Andreas Textor andreas.textor@hs-rm.de Hochschule RheinMain Labor für Verteilte Systeme Fachbereich

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

Fakultät für Elektrotechnik, Informatik und Mathematik Institut für Informatik Fachgebiet Didaktik der Informatik

Fakultät für Elektrotechnik, Informatik und Mathematik Institut für Informatik Fachgebiet Didaktik der Informatik Fakultät für Elektrotechnik, Informatik und Mathematik Institut für Informatik Fachgebiet Didaktik der Informatik Konzeption und prototypische Implementierung eines Knowledge-Servers mit Adaptern zur Integration

Mehr

Business Process Execution Language for Web Services (BPEL4WS)

Business Process Execution Language for Web Services (BPEL4WS) Hauptseminar und Vorlesung Web Services WS 2003/04 Business Process Execution Language for Web Services (BPEL4WS) Patrick Sauter 2/17 Vortrag - Überblick Definition, Zielsetzung und Allgemeines einfacher

Mehr

Block R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung

Block R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung Block R (Rahmen): SE Aktivitäten 21.10.04 1 Vorlesung Methoden des Software Engineering Block R Rahmen Aktivitäten der Software-Entwicklung Martin Wirsing Einheit R.2, 21.10.2004 Block R (Rahmen): SE Aktivitäten

Mehr

Inhaltsübersicht. n Aufgabenstellung. n Lösungsüberblick. n Herausforderungen. n Entwicklung der Generatoren. n Zusammenfassung/Schlussfolgerungen

Inhaltsübersicht. n Aufgabenstellung. n Lösungsüberblick. n Herausforderungen. n Entwicklung der Generatoren. n Zusammenfassung/Schlussfolgerungen Dr. Christoph Niemann otris software AG Königswall 21 D-44137 Dortmund Tel. +49 (0)231 958069 0 www.otris.de Modellgetriebene Entwicklung eines WLAN-Management- Systems copyright by by otris software AG:

Mehr

Reaktive Systeme und synchrones Paradigma

Reaktive Systeme und synchrones Paradigma Sascha Kretzschmann Freie Universität Berlin Reaktive Systeme und synchrones Paradigma Einführung in das Seminar über synchrone Programmiersprachen Worum geht es? INHALT 2 Inhalt 1. Einleitung - Wo befinden

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung

Mehr

DRIVE LIKE A VIRTUAL DEVELOPER Die Poleposition für Ihre Softwareentwicklung

DRIVE LIKE A VIRTUAL DEVELOPER Die Poleposition für Ihre Softwareentwicklung DRIVE LIKE A VIRTUAL DEVELOPER Die Poleposition für Ihre Softwareentwicklung Was für ein Tempo! Das Rad dreht sich rasant schnell: Die heutigen Anforderungen an Softwareentwicklung sind hoch und werden

Mehr

Modellbasierte Entwicklung von Web Services mit Design by Contract

Modellbasierte Entwicklung von Web Services mit Design by Contract Modellbasierte Entwicklung von Web Services mit Design by Contract Gregor Engels 1,2, Marc Lohmann 1, Stefan Sauer 1,2 1 Institut für Informatik, 2 Software Quality Lab (s-lab) Universität Paderborn, 33095

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

Prüfspezifikation für Anforderungen (Lastenheft) für WiBe 4.0. Version: 1.3

Prüfspezifikation für Anforderungen (Lastenheft) für WiBe 4.0. Version: 1.3 -Prüfung: Prüfspezifikation Dokument- Prüfspezifikation für Anforderungen (Lastenheft) für WiBe 4.0 Version: 1.3 Projektbezeichnung Projektleiter Verantwortlich Erstellt am 11.03.2005 Zuletzt geändert

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

Software Engineering 5. UML. Franz-Josef Elmer, Universität Basel, HS 2012

Software Engineering 5. UML. Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering 5. UML Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering: 5. UML 2 Unified Modeling Language (UML) Standardisierte grafische Notationen um Strukturen und Abläufe eines

Mehr

Dynamische Plug-ins mit Eclipse 3. Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org)

Dynamische Plug-ins mit Eclipse 3. Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org) Dynamische Plug-ins mit Eclipse 3 Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org) Überblick Die Ausgangslage Dynamische Plug-ins Warum? Eclipse 3 Die OSGi-basierte

Mehr

Di 7.3. MDSD und SOA und BPM - wie passt das zusammen? Peter Friese Thomas Stahl

Di 7.3. MDSD und SOA und BPM - wie passt das zusammen? Peter Friese Thomas Stahl Di 7.3 January 21-25, 2008, Munich, Germany ICM - International Congress Centre Munich MDSD und SOA und BPM - wie passt das zusammen? Peter Friese Thomas Stahl Peter Friese peter.friese@gentleware.com

Mehr