32 search hits
-
Constraint-System für eine mehrschichtige Metamodellierungsumgebung
(2011)
-
Michael Zeising
- In vielen Bereichen wird die Bewältigung von komplexen Problemstellungen durch Modelle unterstützt. Modelle beschreiben Software-Systeme, geschäftliche Abläufe, Kommunikationsbeziehungen zwischen Menschen und vieles mehr. Sogenannte Metamodelle beschreiben dabei die Struktur und Bedeutung von Modellen, dienen also als „Sprache“ für deren Formulierung. Die meisten Modellierungswerkzeuge sind eng an ein bestimmtes Metamodell gekoppelt, können also nur zur Entwicklung einer bestimmten „Art“ von Modellen dienen. Ein Ansatz flexiblere Werkzeuge zu erhalten besteht darin, zwischen der Repräsentation und der Bedeutung von Modellen zu trennen. Ein flexibles Werkzeug basiert dann auf einem Metamodell, dass lediglich die Repräsentation von Modellen beschreibt und kann damit zur Entwicklung von Metamodellen selbst dienen. Zu Beginn der Entwicklung eines Modells darf das Werkzeug so wenige Einschränkungen wie möglich vorgeben. Für bestimmte Anwendungsfälle sind hingegen strikte Regeln für die Form eines Modells sinnvoll. Das Werkzeug muss es daher ermöglichen einem Modell je nach Bedarf Regeln bezüglich seiner Struktur aufzuerlegen. Für viele inhaltliche Zusammenhänge wären sehr komplexe Modelle notwendig um alle Randbedingungen präzise zu erfassen und manches lässt sich unter Umständen mit den Mitteln der Modellierungssprache überhaupt erst gar nicht ausdrücken. Auch inhaltlich muss es daher möglich sein, dass Modell durch beliebige Randbedingungen zu verfeinern. In dieser Arbeit wird eine Sprache zur Formulierung solcher Randbedingungen (engl. constraints) entwickelt. Diese dienen einerseits dazu, die Modellierungssprache selbst einzuschränken, ermöglichen also den oben erwähnten Wechsel zwischen freien und strikten Modellierungsparadigmen. Andererseits ermöglicht sie eine inhaltliche Verfeinerung von Modellen über die Modellierungssprache hinaus.
-
Implementierung und Untersuchung paralleler Volumen-Rendering-Techniken für Graphikprozessoren
(2013)
-
Tim Werner
- Zuerst soll in dieser Arbeit ein Standardverfahren für einen
Volumenraycaster auf einer GPU in OpenCL implementiert und erläutert
werden. Hierbei werden kurz die benötigten Algorithmen aus der
Computergraphik sowie deren mathematischen und physikalischen
Herleitungen erklärt. Dabei werden einige einfache Optimierungen
vorgestellt, welche spezifisch auf die Hardware der GPU eingehen.
Auch werden einfache Verbesserungen erläutert, welche rein optischer
Natur sind. Durch deren Implementierung lassen sich die
dreidimensionalen Strukturen der Volumendaten besser erkennen.
Zusätzlich ist es mit diesen Verbesserungen möglich die interessanten
Bereiche der Volumendaten hervorzuheben. Des Weiteren läuft dieser
implementierte Standard-Volumenraycaster auf moderner Hardware bereits
mit Bildwiederholraten, welche Interaktivität ermöglichen.
Danach soll dieser Standard-Volumenraycaster durch
Empty-Space-Skipping, also durch das Überspringen von leeren Bereichen
innerhalb der Volumendaten, mit Hilfe eines Octrees beschleunigt
werden. Hierbei ist es das Ziel den Raycaster mit dem Octree auf die
spezifischen Gegebenheiten der GPU anzupassen. Insbesondere soll
versucht werden die SIMD-Effizienz und damit die Performance durch
eine geschickte Kombination von der Octreetraversierung und dem
Zeichnen des Inhalts eines Octreeknotens zu erhöhen. Durch diese
Octreeoptimierung lässt sich die Performance des Raycasters bei
Volumendaten mit vielen leeren Bereichen stark erhöhen.
Als Nächstes wird in dieser Arbeit versucht, den Raycaster weiter mit
persistenten Threads zu beschleunigen. Dieser Versuch scheitert
jedoch. So sind sowohl die Performance als auch die SIMD-Effizienz mit
persistenten Threads stets geringer als ohne persistente Threads.
Abschliessend soll die Ausführung des Raycasters mit Octree auf der
GPU näher untersucht werden. Zuerst werden hierfür Messungen durch
selbst erstellte Benchmarks vorgenommen. Bei der darauffolgenden
Diskussion der Messergebnisse zeigt es sich, dass das Verfahren linear
mit dem Chiptakt und der Zahl der Multiprozessoren skaliert. Da es nur
einen kleinen Bruchteil der maximalen Speicherbandbreite benötigt,
skaliert es nicht mit dem Speichertakt. Die Speicherzugriffe dieses
Verfahrens sind bereits so lokal, dass die GPU-Caches gut ausgenutzt
werden. Deshalb können die Speicherzugriffszeiten so gut verborgen
werden, dass sie sich nicht negativ auf die Performance auswirken. Die
Rechenleistung der GPU lässt sich durch das Verfahren jedoch nur
mittelmässig bis schlecht ausnutzen. Diese niedrige Ausnutzung ist vor
allem auf eine zu niedrige Occupancy und auf eine zu ungleichmässige
Auslastung der verschiedenen Ressourcen der GPU zurückzuführen. Jedoch
ergeben sich aus den Untersuchungen noch einige weitere
Optimierungsansätze, um die erzielte Rechenleistung und damit die
Performance zu erhöhen.
Obwohl kurz graphische Optimierungen in der Arbeit vorgestellt und
implementiert werden, so ist es kein Ziel dieser Arbeit die
Bildqualität des Raycasters massiv zu verbessern oder diesen durch
verbesserte Näherungslösungen oder Ähnliches zu beschleunigen. Bei
vielen dieser Verbesserungen wäre es nur schlecht möglich gewesen
spezifisch auf die Eigenschaften der GPU einzugehen. Auch beschäftigt
sich diese Arbeit hauptsächlich mit der Verbesserung der
SIMD-Effizienz und im Gegensatz zu vielen anderen GPGPU-Arbeiten nur
wenig mit der Optimierung der Speicherzugriffe.
-
Korrespondenzberechnung auf Klassendiagrammen
(2011)
-
Sabrina Uhrig
- Für die modellgetriebene Softwareentwicklung werden Werkzeuge benötigt, die das Arbeiten mit Modellen unterstützen. Ein besondere Stellung nehmen Vergleichswerkzeuge ein, die dem Entwickler nicht nur veranschaulichen, was sich zwischen zwei Versionen eines Modells geändert hat, sondern auch Differenzen liefern, auf deren Grundlage zwei Versionen miteinander zu einem Dokument verschmolzen werden können. Vergleichsverfahren arbeiten üblicherweise in zwei Schritten. Zunächst werden die korrespondierenden Modellelemente bestimmt, bevor dann im zweiten Schritt die Unterschiede auf Basis der Korrespondenzen ermittelt werden. Die vorliegende Arbeit beschäftigt sich mit dem ersten, schwierigeren Schritt, der Korrespondenzberechnung, mit einem Schwerpunkt auf Klassendiagrammen, die das Kernstück der objektorientierten Modellierung darstellen. In diesem Rahmen wurden zwei Korrespondenzberechnungsverfahren für den Vergleich von Ecore-Klassendiagrammen entwickelt, die strukturbasiert arbeiten und keine eindeutigen Objektbezeichner verwenden. Während die bisher bekannten Vergleichsverfahren für Klassendiagramme, die keine eindeutigen Objektbezeichner verwenden, die Korrespondenzen über Ähnlichkeitsheuristiken bestimmen, wurde für das erste Verfahren ein neuartiger Ansatz verfolgt. Analog zu der Definition eines Edierabstandes für Bäume oder Graphen wurde ein Edierkostenmodell in Verbindung mit einer Menge zulässiger Änderungsoperationen auf Klassendiagrammen entworfen. Auf diese Weise kann die Berechnung der Korrespondenzen zwischen zwei Klassendiagrammen als Optimierungsproblem dargestellt werden, eine Zuordnung mit minimalen Edierkosten zu bestimmen. Aufgrund der kontextabhängigen Kosten für die Edieroperationen auf Assoziationen und Vererbungskanten würde eine Bestimmung der optimalen Lösung die Bewertung aller O(n!) verschiedenen Kombinationsmöglichkeiten der Klassenpaare erfordern. Daher wird in dem vorgestellten Verfahren stattdessen ein relaxiertes Optimierungsproblem gelöst. Mit Hilfe der Abschätzung der Kosten für Assoziationen und Vererbungsbeziehungen durch eine untere Schranke lässt sich das Optimierungsproblem auf ein Netzwerkflussproblem reduzieren, das mit Hilfe eines Verfahrens aus der Graphentheorie mit polynomiellem Aufwand gelöst werden kann. In einem Teil der Fälle lässt sich über ein leicht überprüfbares hinreichendes Optimalitätskriterium nachweisen, dass die so berechnete Lösung für das relaxierte Optimierungsproblem auch für das ursprüngliche Optimierungsproblem optimal ist. Entsprechend den Ergebnissen einer durchgeführten Evaluation weichen die berechneten Edierkosten nur wenig von den optimalen Edierkosten ab. Das Verfahren unterscheidet sich von allen heuristischen Verfahren dadurch, dass ein objektives Kriterium, die Edierkosten der berechneten Zuordnung, existiert, mit dem beurteilt werden kann, inwieweit das Verfahren die vorgegebenen Ziele erreicht hat. Als zweites Verfahren zum Vergleich wurde ein ähnlichkeitsbasiertes, heuristisches Verfahren entwickelt, das für die möglichen Korrespondenzpaare Ähnlichkeitswerte berechnet und mit Hilfe eines heuristischen Auswahlverfahrens die korrespondierenden Elemente über die Maximierung der Gesamtähnlichkeit bestimmt. Beide Verfahren wurden in einem Plugin für Eclipse implementiert, das zusammen mit Komponenten des Eclipse Modeling Frameworks ein Rahmenwerk zum Modellieren und Vergleichen von Ecore-Klassendiagrammen bildet. Dabei wurde der Vergleich von Klassendiagrammen mit Paketen in zwei Stufen unterteilt. Über einen Vergleich aller Klassenpaare unabhängig von deren Lage in der Pakethierarchie werden zunächst die Korrespondenzen auf Klassenebene gebildet. Darauf aufsetzend werden die korrespondierenden Pakete unter der Vorgabe der Klassenkorrespondenzen bestimmt. Das Rahmenwerk bietet eine Auswahlsicht, in der verschiedene Klassen- und Paketebenenverfahren kombiniert werden können. Die Vergleichsergebnisse des edierkostenbasierten und des ähnlichkeitsbasierten Verfahrens wurden in einer Evaluation einander gegenübergestellt. Die vorliegende Arbeit erweitert den Stand der Technik in diesem Gebiet somit nicht nur um Korrespondenzberechnungsverfahren, sondern liefert auch Erkenntnisse über die Eignung des Edierabstandes zwischen Modellen als Kriterium für die Bewertung von Modelldifferenzen und darüber, wie sich ein edierkostenbasiertes Verfahren im Vergleich zu einem ähnlichkeitsbasierten Verfahren verhält.
-
Agent Assignment for Process Management: Resource Management Support for Skill Intensive Applications of Workflow Technology Technical and Methodological Issues
(2011)
-
Muhammad Ramzan Talib
- Managing an organization’s resource talent particularly in assigning the right person to the right job at the right time is among the top challenges of today’s competitive business environments especially in skill intensive applications of workflow technology since skills of their employees directly affect the business paybacks. Despite that many companies already deal with managing their processes and their human resources, organizations are still feeling the problem of poor resource management. The dilemma is that Workflow Management Systems (WfMSs) support the execution of business process but do only offer static assignment strategies for resources such that an overall poor process performance results. Furthermore, Human Resource Management (HRM) performance evaluation methods lack agility and analytical capabilities that results in poor resource development. To solve this dilemma of poor resource management, this thesis contributes some technical and methodological supports considering some use case scenarios from a textile industry. It offers Agent Performance Evaluation (APE) Framework and Competency-driven Dynamic Resource Management (CDRM) Methodology to overcome the problem of static assignments and also to support proper resource development. Our APE framework not only evaluates and gives feedbacks of employees’ competency profiles but also performs an analysis of employees’ competencies for making best use of their talents thus supporting proper resource development. While, our CDRM methodology allocates dynamically only successful employees to their business processes through consistent support of APE framework and thus supports process optimization. This thesis also contributes a construct in the form of Goal concept and a methodology for continuous resource development in the form of Workflow Lifecycle Support for Continuous Resource Improvement. Defining goals within the process layer, enables organizations to define success criteria of their employees in parallel with all other criteria that influence the performance of an employee within the process. In fact, our APE Framework uses this criteria for evaluating the employees’ competency profiles that are latter used by CDRM methodology to allocate only successful employees to their business processes. The Workflow Lifecycle Support for Continuous Resource Improvement aims to define a precise and comprehensive methodology to elaborate a set of basic tasks that are needed to be performed during different phases of the standard workflow lifecycle to achieve continuous resource improvement.
-
Reduktion des Kommunikationsaufwands iterierter Runge-Kutta-Verfahren für dünnbesetzte gewöhnliche Differentialgleichungssysteme
(2012)
-
Markus Straubinger
- Iterierte Runge-Kutta (IRK) Verfahren sind eine Klasse von Lösungsverfahren für Anfangswertprobleme gewöhnlicher Differentialgleichungssysteme (DGL), welche ein hohes Parallelisierungspotential besitzen. Während Implementierungen für dichtbesetzte DGL regelmäßig Vektoren der Größe der DGL austauschen müssen, können spezialisierte Löser Kommunikationskosten einsparen, indem nur die wenigen tatsächlich benötigten Vektorelemente ausgetauscht werden.
In dieser Arbeit werden parallele Implementierungen von IRK-Verfahren für verteilten Adressraum betrachtet. Es werden zunächst allgemeine Implementierungen für dichtbesetzte DGL vorgestellt. Anschließend wird deren Kommunikation für dünnbesetzte DGL und Probleme mit beschränkter Zugriffsdistanz optimiert. Die entstandenen Implementierungen werden in Hinsicht auf Laufzeit und Skalierbarkeit untersucht. Dafür werden Messungen auf verschiedenen Rechnersystemen mit unterschiedlichen dünnbesetzten DGL ausgewertet. Dabei wird festgestellt, dass eine Implementierung der Kommunikation sowohl für dünnbesetzte DGL als auch für Probleme mit beschränkter Zugriffsdistanz besonders gut geeignet ist.
-
Navigation with Local Sensors in Surgical Robotics
(2011)
-
Philipp J. Stolka
- Using robots in medicine and especially in surgery requires an adequate representation of and reaction to a changing environment. This is usually achieved by modeling the environment at different representation levels throughout the process, ranging from complex 3D imaging modalities which reflect the environment geometry to finding appropriate low-level control parameters for actual motion through environment regions. In this work, a common framework for different types of navigational problems in surgical robotics is proposed, and validated by the introduction of navigation cycles on novel local sensors. Currently industrial (and surgical) robotic systems employ almost exclusively static global maps -- if any -- for navigation and planning purposes. Additional information -- intra-process, spatial, current, and persistent sensor data -- is useful to cope with uncertainty, measurement errors, and incompleteness of data. Between global pre-operative navigation and control, this work introduces the concept of intra-operative navigation on local sensor data into surgical robotics. This includes the creation and maintenance (both concurrent as well as independent) of local environment maps for navigation purposes. This intermediate level of sensory feedback and processing allows to react to changes in the environment, based on persistent but incremental mapping. Furthermore, local sensors permit intra-operative sampling of additional information which may be unattainable before process execution, or available only with reduced precision. This work proposes to augment robot world models by introducing such local sensors (in particular, force and sound as well as ultrasonic sensors, all of which provide data from an estimated local epsilon-environment) and to build precise maps from local sensors, which serve as input for several introduced navigation algorithms. This map-building is improved by precise data localisation and precise data insertion. The general idea of nested control loops is illustrated on the basis of a specific surgical application -- robot-based milling at the lateral skull base.
-
Mapping-basierte Modellierung von Softwareproduktlinien
(2012)
-
Felix Schwägerl
- Die modellgetriebene Softwareentwicklung erlaubt die Beschreibung von Softwaresystemen auf höherem Abstraktionsgrad. Neben der Dokumentation dienen Modelle der automatisierten Generierung von Quelltext in einer höheren Programmiersprache. Auf Programmiersprachen-Ebene erlauben Konstrukte wie Vererbung oder Typparametrisierung die Wiederverwendung im Kleinen. Adäquate Konstrukte stehen auf Modell-Ebene zur Verfügung. Softwareproduktlinien beschreiben Gemeinsamkeiten und Unterschiede verwandter Software. Durch sie kann Wiederverwendung im Großen betrieben werden, um aus einer gemeinsamen Basis ähnliche Produkte zu erzeugen. Einzelne Produkte unterscheiden sich in der Implementierung spezifischer Softwaremerkmale, die in einem Featuremodell festgehalten werden. Featurekonfigurationen beschreiben hingegen deren Ausprägung je Produkt. Die Kombination des Softwareproduktlinien-Ansatzes mit der modellgetriebenen Entwicklung ist keine neue Idee. Produkte werden hierbei durch Modelle repräsentiert. In dieser Arbeit wird der Sonderfall der negativen Variabilität betrachtet: Ein Multivarianten-Domänenmodell beinhaltet sämtliche Artefakte, die in Mitgliedern der Produktfamilie obligatorisch oder optional enthalten sein können. Ein Produkt entsteht durch das Löschen derjenigen Modell-Elemente, die nicht in seiner Konfiguration enthaltenen Features zugeordnet sind. In der vorliegenden Master-Thesis wird ein Ansatz zur Abbildung von Elementen eines Multivarianten-Domänenmodells auf ein Featuremodell vorgestellt. Die Abbildung selbst wird vom Modellierer in einem sog. Mapping-Modell erzeugt. Es erlaubt die Annotation von Domänenmodell-Artefakten mit sog. Feature-Ausdrücken, welche sich wiederum auf das Featuremodell beziehen. Die Auswertung von Feature-Ausdrücken weist einem Mapping einen Selektionszustand zu. Die Arbeit liefert Beiträge in den folgenden vier Bereichen: Konsistenz: Selektionszustände voneinander abhängiger Mappings widersprechen sich unter bestimmten Voraussetzungen. Die hierbei entstehenden Inkonsistenzen werden nicht nur erkannt; in dieser Thesis ausgearbeitete Strategien wie die Propagation oder Surrogate erlauben die automatische Reparatur derselben. Für die Formulierung domänenspezifischer Abhängigkeitsbedingungen ist eine eigene Sprache vorgesehen. Synchronität: Feature- und Domänenmodell unterliegen einer kontinuierlichen Evolution. Durch sie können existierende Mappings ungültig werden. Gegenstand eines ausgearbeiteten Konzepts ist die weitestgehend automatische Synchronisation der Modelle, wobei ein möglicher Informationsverlust minimiert wird. Agilität: Die modellgetriebene Entwicklung von Softwareproduktlinien erfolgt nicht ausschließlich plangetrieben. Man will etwa produktspezifische Änderungen an einem existierenden Mapping-Modell vornehmen. Die eingeführten Alternativen-Mappings ermöglichen darüber hinaus eine konzeptionelle Erweiterung durch positive Variabilität. Manifestation der Variabilität: In dieser Thesis wird untersucht, inwieweit sich in Featuremodellen festgehaltene Variabilität auf Produkte niederschlagen kann. Hierbei wird die starre m:n-Beziehung zwischen Features und Domänenmodell-Artefakten aufgelöst, um neue Expressionsmittel wie Attribut-Constraints zur Verfügung zu stellen. In einem vorbereitenden Abschnitt werden die erwähnten Aspekte zunächst theoretisch untersucht. Anschließend wird mit F2DMM eine Modellierungsumgebung für Softwareproduktlinien vorgestellt. Schließlich erfolgt eine Evaluierung anhand eines konstruierten Beispiels sowie eine Abgrenzung zu verwandten Ansätzen.
-
Temporale Fuzzy Logik - Eine Vereinigung der Temporal-Logik und Fuzzy-Logik anhand von vorausschauenden Wartungs- und Überwachungssystemen
(2011)
-
Thorsten W. Schmidt
- Fuzzy-Logik und ihre Anwendung in Fuzzy-Reglern ist seit vielen Jahren ein Forschungsthema. In den vergangenen Jahren kamen Fuzzy-Regler vielfach in den verschiedensten industriellen Anwendungen zum Einsatz. Fuzzy-Regler können in Waschmaschinen und anderen Haushaltsgeräten Verwendung finden. Aber der wichtigste Vorteil von Fuzzy-Logik ist die Tatsache, dass das vorhandene Wissen über die Kontrolle eines Prozesses einfach und intuitiv für einen Regler umgesetzt werden kann. Außerdem ist es einfach, einen solchen Regler zu warten oder zu erweitern. Bei Fuzzy-Logik werden Informationen über eine Prozess-Steuerung in einer transparenten Regel-Datenbank abgelegt. Dadurch geht dieses Wissen nie verloren. Allerdings können diese Fuzzy-Regler nicht in bestimmten Anwendungen (zum Beispiel Wartungssystemen) verwendet werden, da sie nicht in der Lage sind, zeitliche Abhängigkeiten zu modellieren, welche wesentlich für diese Systeme sind. Deshalb wird ein neues Konzept zur zeitlichen Fuzzy-Regelung eingeführt, indem Fuzzy-Logik durch neue Prädikate erweitert wird. Diese Prädikate behandeln zeitliche Aspekte, um zu erkennen oder vorherzusagen, wie das vergangene oder zukünftige Verhalten eines Prozesses ist. Mit der Fähigkeit ausgestattet, vergangenes oder zukünftiges Prozessverhalten zu analysieren, kann der Nutzer des so genannten Temporalen-Fuzzy-Reglers leichter Expertenwissen in die Regelung integrieren. Als Beispiele für die Richtigkeit dieses Konzeptes untersucht diese Arbeit das Verhalten eines Fuzzy geregelten Büroraum-Beleuchtungssystems und eines Fuzzy-Video-Verarbeitungs-Tools. Dies verdeutlicht die einfache Handhabung und hohe Effizienz dieses Ansatzes. In dieser Arbeit wird gezeigt, dass es möglich ist, Fuzzy-Logik mit zeitlichen Prädikaten zu erweitern, um die so genannte Temporale-Fuzzy-Logik zu erhalten, welche die Modellierung zeitlicher Abhängigkeiten von Ereignissen ermöglicht. Die Arbeit beschreibt die mathematischen Grundlagen der hier eingeführten zeitlichen Fuzzy-Prädikate. Die zeitlichen Fuzzy-Prädikate sind abgeleitet aus den in sich abgeschlossenen Prädikaten der Temporal-Logik. Wie in der Temporal-Logik ist es dann auch in der Temporalen-Fuzzy-Logik möglich, Bedingungen für komplette Zeitintervalle zu erstellen. So sind die temporalen Fuzzy-Prädikate ebenfalls in sich abgeschlossen. Es ist möglich, zeitliche Abhängigkeiten mit AND und OR verknüpften Prädikaten zu bilden, um mit diesen temporale Regelbedingungen zu formulieren. Die Konjunktion der Prädikate wird wie jede andere Fuzzy-Verknüpfung berechnet. Weiterhin gilt die s- und t-Norm (Funktionen mit den folgenden Bedingungen: Einselement, Monotonie, Kommutativität, Assoziativität) für diese Berechnungen. Solche Fuzzy-Regler können für die Überwachung und Wartung von Anwendungen eingesetzt werden. Dieser Ansatz wird in einem Wartungs-Beispiel gezeigt, in welchem ein Benutzer über defekte Lampen informiert und die Büroraumhelligkeit bei einem gewünschten Niveau gehalten wird. Ein weiterer Anwendungsfall ist die Fuzzy-Videoverarbeitung. Videos können mit hoher Effizienz verarbeitet werden und die Regeln, welche die Videoverarbeitung beschreiben, sind so einfach wie Standard Mamdani-Regeln.
-
Konzeption und Implementierung eines generischen Modellierungswerkzeugs zur Unterstützung der domänenspezifischen Prozessmodellierung
(2010)
-
Bastian Roth
- Aufgrund starker Fluktuation der Anforderungen sind Unternehmen dazu gezwungen, ihre Geschäftsprozesse zu analysieren und zu verbessern. Nach essentiellen Änderungen dieser Anforderungen oder der Erschließung neuartiger Anwendungsdomänen ist es häufig nicht ausreichend, die zugrunde liegenden Prozessmodelle entsprechend anzupassen. Ein weiterer, tiefer greifender Ansatz ist die Adaption der verwendeten Modellierungssprache. Hiermit lassen sich komplexe Sachverhalte prägnanter als mit einer allgemeinen Sprache ausdrücken, da spezielle Konstrukte mit domänenspezifischer Semantik definiert werden können. Modellierungssprachen verfügen stets über eine abstrakte Syntax, mittels der die besagten Konstrukte angeboten werden. Zusätzlich können zu jeder abstrakten Syntax beliebig viele konkrete Syntaxen definiert werden. Im Rahmen der vorliegenden Arbeit wird ein System entwickelt, mit dessen Hilfe zu einem frei definierbaren Meta-Modell eine konkrete grafische Syntax spezifiziert werden kann. Die Sprache zur Definition der abstrakten Syntax ist dabei identisch mit der Sprache zur Spezifikation der konkreten Syntax. Letztere repräsentiert die Grundlage eines Diagramm-Editors, der zum Erstellen und Manipulieren von Modellen in der durch das Meta-Modell deklarierten domänenspezifischen Sprache dient. Ein charakteristisches Merkmal dieses Ansatzes ist unter anderem die dynamische Anpassung der grafischen Darstellung zur Laufzeit. Obwohl als Anwendungsfall die perspektivenorientierte Prozessmodellierung zum Einsatz kommt, ist die Allgemeingültigkeit des entwickelten Modellierungswerkzeugs durch das generisch gehaltene Konzept sichergestellt.
-
Erweiterung des Threadmodelles fur den Einsatz in verteilten und heterogenen Systemumgebungen
(2009)
-
Raik Nagel
- Für die klassischen distributed memory und shared memory Architekturen kann bei der Programmierung auf bewährte nachrichten- und threadbasierte Programmiermodelle zurückgegriffen werden. Die weite Verbreitung und Akzeptanz dieser Modelle ermöglicht den portablen Einsatz und die Migration von bestehenden Programmen auf andere gleichartige Computersysteme. In verteilten heterogenen Systemumgebungen, die aus einer Vielzahl von unterschiedlichen Computerknoten bestehen und über ein Netzwerk miteinander verbunden sind, wird meistens ein nachrichtenbasiertes Programmiermodell verwendet. Neben praktischen Problemen, wie der Sicherstellung der korrekten Datendarstellung beim Nachrichtenaustausch zwischen Knoten mit unterschiedlicher Prozessorarchitektur, ergeben sich weitere Fragestellungen, die eine Erstellung und Portierung von Programmen für solche Ausführungsumgebungen erschweren. So ist man beispielsweise bei der Verwendung einer MPI-Bibliothek meist an ein Netzwerk gebunden und kann oft Systeme mit unterschiedlichen Prozessorarchitekturen nicht gleichzeitig verwenden. Im ersten Teil der vorliegenden Arbeit wird das Modell einer hybriden Programmierumgebung vorgestellt. Durch die Verwendung von Konzepten aus den thread- und nachrichtenbasierten Programmiermodellen soll eine leichte Einarbeitung in das System und ein breites Einsatzgebiet ermöglicht werden. Im Anschluß an die Spezifikationen und Definitionen der Programmierumgebung und des Programmiermodelles wird die hierfür erstellte Prototypimplementierung beschrieben. Diese Prototypimplementierung erlaubt die Ausführung von Programmen in verteilten heterogenen Systemumgebungen und zeichnet sich durch eine hohe Modularität aus. Dies bedeutet, daß nahezu jede Komponente des Systems austauschbar ist und Funktionen bereitstellt, welche in der allgemeinen Spezifikation der Umgebung definiert werden. F"ur verschiedene Zielsetzungen des Anwenders, wie z.B. die Sicherheit der Datenübertragung oder eine hohe Fehlertoleranz der gesamten Kommunikation, lassen sich so unterschiedliche Komponenten in das Laufzeitsystem einbinden, ohne das Benutzerprogramm neu erstellen oder anpassen zu müssen. Die Benutzung und Einbindung von bereits existierenden, externen Implementierungen für solche Anforderungen ist ebenfalls möglich und reduziert den Entwicklungsaufwand neuer Komponenten des Laufzeitsystems. In der Arbeit wird das unter anderen anhand der TSpaces-Bibliothek von IBM als alternatives Speichersystem demonstriert. Die sich im zweiten Teil der Arbeit anschließenden Kapitel befassen sich mit mehreren Umsetzungen von numerischen Algorithmen für die erstellte Prototypimplementierung der beschriebenen Programmierumgebung. Die erzielten Ergebnisse zeigen, daß die im Vorfeld definierten Ziele erreicht werden können und die resultierenden Programme mit unterschiedlichen Systemkonfigurationen lauffähig sind.