41 research outputs found

    Ein generisches und hoch skalierbares Framework zur Automatisierung und Ausführung wissenschaftlicher Datenverarbeitungs- und Simulationsworkflows

    Get PDF
    Scientists and engineers designing and implementing complex system solutions use computational workflows for simulations, analysis, and evaluations. Along with growing system complexity, the complexity of these workflows also increases. However, without integration tools, scientists and engineers are more concerned with implementing additional interfaces to integrate software tools and model sets, which hinders their original research or engineering aims. Therefore, efficient automation and parallel computation of complex workflows are increasingly important in order to perform computational science in many scientific fields like energy and environmental informatics. When coupling heterogeneous models and other executables, a wide variety of software infrastructure requirements must be considered to ensure the compatibility of workflow components. The consistent utilization of advanced computing capabilities and the implementation of sustainable software development concepts that guarantee maximum efficiency and reusability are further issues that scientists within research organizations must regularly meet. This thesis addresses these challenges by presenting a new generic, modular, and highly scalable process operation framework for efficient coupling and automated execution of computational scientific workflows. Based on a microservice architecture utilizing container virtualization and orchestration, the framework supports the flexible and efficient parallelization of computational tasks on distributed cluster nodes. Using distributed message-oriented middleware and different I/O adapters provides a scalable and high-performance communication infrastructure for data exchange between executables, allowing the computation of workflows without requiring the adjustment of executables or the implementation of interfaces or adapters. The convenient user interface based on Apache NiFi technology ensures the simplified specification, processing, controlling, and evaluation of computational scientific workflows. Due to the framework’s high scalability and extended flexibility, use cases benefitting from parallel execution are parallelized, thereby significantly saving runtime and improving operational efficiency, especially during complex tasks like iterative grid optimization

    Die (re-)konfigurierbare Fahrzeugarchitektur

    Get PDF
    Die Lebenszyklen von Fahrzeugen und die Innovationszyklen zugrundeliegender Technologien laufen auseinander, sehr zum Nachteil der Fahrzeughersteller. Besonders betroffen sind dabei Bereiche, die geringe Stückzahlen mit hoher Variabilität und langen Garantiezeiträumen kombinieren, zum Beispiel Busse. Dadurch ergibt sich eine Anzahl an Herausforderungen an die Hersteller, die im Rahmen dieser Dissertation herausgearbeitet werden. Anschließend erfolgt eine Betrachtung des Standes der Wissenschaft und Technik, insbesondere mit Hinblick auf die Fragestellung, wie denn dieser die Herausforderungen adressiert. Dabei werden neben technischer auch rechtliche Aspekte beleuchtet, die ihrerseits neue Herausforderungen hinzufügen. Gezeigt wird, dass klassische Fahrzeugarchitekturen mit ihren unflexiblen signalbasieren Elektrik-/Elektronik-Architekturen nicht mehr geeignet sind, diesen Herausforderungen zu begegnen. Flexiblere serviceorientierte Architekturen eignen sich weitaus besser, um neue Trends wie das automatisierte Fahren oder fortschrittlichere, kamerabasierte Fahrerassistenzsysteme zu integrieren. Dabei werden verschiedene Ansätze wie die bereits in der Automobilindustrie verbreitete AUTOSAR Adaptive Platform und das bisher hauptsächlich in der Forschung eingesetzte Robot Operating System 2 (ROS2) vorgestellt und miteinander verglichen. Als Konsequenz wird in dieser Dissertation eine (re-)konfigurierbare Fahrzeugarchitektur entwickelt, die Synergien aus einer Verknüpfung verschiedener Domänen wie Nutzfahrzeuge und PKW, aber auch Informationstechnik nutzt. Dies sind zum einen geringere Stückpreise durch Nutzung von Komponenten aus Domänen mit höheren Stückzahlen, zum anderen durch ein Ersetzen von beispielsweise Sensoren durch günstigere beziehungsweise überhaupt noch verfügbare Exemplare während des Lebenszyklus eines Fahrzeuges. Basierend auf einer serviceorientierten Architektur in ROS2 und vorher definierter Anforderungen an eine solche Fahrzeugarchitektur, wird ein Konzept entworfen und anschließend prototypisch umgesetzt, um Use-Cases darzustellen, die besonders von dieser neuartigen Architektur profitieren. Ein Beispiel hierfür ist das Austauschen von Steuergeräten, entweder aus den oben angesprochenen Gründen der Verfügbarkeit oder Kosten von Komponenten oder aber zur Erweiterung der Funktionalität. Zur Senkung von Betriebskosten und Verbesserung der Energiebilanz des Fahrzeuges und der Flotte können außerdem Funktionalitäten beziehungsweise Services in das Backend ausgelagert werden. Die Evaluation dieser prototypisch umgesetzten Architektur und der Use-Cases zeigt, dass der Ansatz grundsätzlich funktioniert und außerdem eine nutzbare Performanz erreicht. Neue Chancen ergeben sich durch eine mögliche Steigerung der Ressourcenauslastung und dynamischer Redundanz, die ausgefallene Komponenten zur Laufzeit des Fahrzeuges ausgleichen kann

    Entwicklung und Evolution dienstorientierter Anwendungen im Web Engineering

    Get PDF
    Die vorliegende Abhandlung untersucht die methodische und systematische Herangehensweise an die Entwicklung dienstorientierter Anwendungen im Web Engineering. Dabei wird deren architekturelle Betrachtung in den Vordergrund gerückt, die auf der Grundlage autonomer, wiederverwendbarer Komponenten in Form von Web Services basiert. Dazu werden dedizierte Modelle, Methoden und Werkzeuge entlang dieser - an Web-Standards orientierten - Architektur entwickelt

    KomBInoS - Modellgetriebene Entwicklung von multimodalen Dialogschnittstellen für Smart Services

    Get PDF
    Diese Arbeit ist angesiedelt im Kontext der drei Forschungsgebiete Smart Service Welt, Modellgetriebene Softwareentwicklung und Intelligente Benutzerschnittstellen. Das Ziel der Arbeit war die Entwicklung eines ganzheitlichen Ansatzes zur effizienten Erstellung von multimodalen Dialogschnittstellen für Smart Services. Um dieses Ziel zu erreichen, wurde mit KomBInoS ein umfassendes Rahmenwerk zur modellgetriebenen Erstellung solcher Benutzerschnittstellen entwickelt. Das Rahmenwerk besteht aus: (1) einer Metamodell-Architektur, welche sowohl eine modellgetriebene Entwicklung als auch die Komposition von multimodalen Dialogschnittstellen für Smart Services erlaubt, (2) einem methodischen Vorgehen, welches aus aufeinander abgestimmten Modelltransformationen, möglichen Kompositionsschritten und manuellen Entwicklungstätigkeiten besteht, sowie (3) einer integrierten Werkzeugkette als Implementierung der Methode. Es wurde außerdem eine cloud-fähige Laufzeitumgebung zur mobilen Nutzung der so erstellten Benutzerschnittstellen entwickelt. Als Proof-of-Concept werden acht Beispielanwendungen und Demonstratoren aus fünf Forschungsprojekten vorgestellt. Zusätzlich zur Smart Service Welt fand und findet KomBInoS auch Anwendung im Bereich der Industrie 4.0.This work is located in the context of the three research areas Smart Service World, Model-Driven Software Development and Intelligent User Interfaces. The aim of the work was to develop a holistic approach for the efficient creation of multimodal dialogue interfaces for Smart Services. To achieve this goal, KomBInoS was developed as a comprehensive framework for the model-driven creation of such user interfaces. The framework consists of: (1) a metamodel architecture that allows both model-driven development and the composition of multimodal dialogue interfaces for Smart Services, (2) a methodical approach consisting of coordinated model transformations, possible compositional steps and manual development activities, as well as (3) an integrated tool chain as an implementation of the method. Furthermore, a cloud-enabled runtime environment was developed for mobile use of the user interfaces created in this way. As proof-of-concept, eight sample applications and demonstrators from five research projects will be presented. In addition to the Smart Service Welt, KomBInoS was and is also used in the field of industry 4.0

    Funktionsorientierte Bausteine zur Integration kontinuierlicher Medien in verteilte Anwendungen

    Get PDF
    Das Ziel der vorliegenden Arbeit war die Entwicklung einer komfortablen Beschreibung verteilter Anwendungen, die kontinuierliche Medien integrieren. Die Klarheit des Ansatzes ergibt sich aus der Beschränkung auf die anwenderrelevanten Funktionalitäten. Weitere Gebiete, die systembezogen sind, wurden nur soweit wie nötig behandelt. Die Aufgaben anderer Bereiche, wie des Betriebssystems und des Managementsystems sowie der Kommunikationsdienste, konnten nur gestreift werden, indem die anwendungsabhängigen Anforderungen spezifiziert wurden. Durch deren Extraktion und die Zuordnung der Anforderungen an die einzelnen Bereiche, ergibt sich eine klarere Sicht auf Betriebssystem, Management und Kommunikationsdienste und deren notwendige Weiterentwicklung. Das entwickelte Funktionenmodell beschreibt zusammenhängend alle mit kontinuierlichen Medien verbundenen Arbeiten. In der vorliegenden Arbeit wurde gezeigt, wie aus den Funktionen auf kontinuierlichen Medien durch die Spezifikation geeigneter Schnittstellen Bausteine zur Integration der Medien in verteilte Anwendungen erstellt werden. Die Beschrei­ bung der Bausteine erfolgt durch diese Schnittstellen; es sind Steuer-, Daten- und Managementschnittstellen. Die Herauslösung der gesonderten Beschreibung der Multimedia-Datenflußstruktur schafft einerseits die Grundlage für eine Teilklassifikation der Anwendungen nach Medien-­Gesichtspunkten. Andererseits kann die Erstellung einer Anwendung aus einer bestimmten Anwendungsklasse, wie zum Beispiel ein einfaches Wiedergabesystem, durch die gesonderte Beschreibung der Multimedia-­Datenflußstruktur schneller in der Bausteinstruktur realisiert werden. Das Funktionenmodell wird auch in [Fritzsche96] beschrieben. Das in dieser Arbeit konzipierte Bausteinmodell gewährleistet eine integrierte Beschreibung von Geräten, Werkzeugen und Anwendungen kontinuierlicher Medien. Die verwendete Beschreibungstechnik erlaubt dabei nicht nur eine übersichtliche Darstellung sondern bietet auch hierarchische Strukturierungen an. Das Zusammenspiel der Bausteine erfordert zu­ sätzliche Komponenten zur Steuerung und Abstimmung der einzelnen Funktionen, die in dieser Arbeit neu eingeführt werden. Es lassen sich sowohl zentralistische als auch verteilte Steuerungen realisieren. Mit einer entsprechenden Schnittstelle versehen kann eine Steuerkomponente eine ganze Gruppe von Bausteinen dem Benutzer als Einheit zur Verfügung stellen. Somit lassen sich auch verschiedene Medien und/oder mehrere Funktionen gemeinsam mit einer Steuerkomponente zu einem Baustein zusammenfassen. Diese zusammenge­ setzten Bausteine bieten nun echte Multifunktionalität und Multimedialität. Durch die Komponenten- und Anwendungsmodellierung nach [Zimm93] wird darüber hinaus eine flexible, auch dynamisch änderbare Anwendungsstruktur vom Anwendungs-Management ermöglicht. Das Bausteinmodell wird auch in [Fritzsche96] behandelt. Bisherigen Ansätzen für Multimedia-Komponenten fehlt die allgemeine Interoperabilität der Komponenten. Diese kann nur durch eine umfassende, formale Spezifikation der Komponenten-Schnittstellen, insbesondere aber von Steuerschnittstellen, erfolgen. Zur Spezifikation der Schnittstellen ist die Integration der kontinuierlichen oder zeitabhängigen Medien als abstrakte Datentypen unabdingbar. Auf diese Art werden aus den Komponenten Bausteine. Im vorliegenden Ansatz wurden erstmalig Steuerschnittstellen für Multimedia-Komponenten spezifiziert und als Hierarchie dargestellt. Der neue Ansatz erlaubt es daher, multimediale Systeme nach einem Baukastensystem zu erstellen, indem Bausteine durch Bindung untereinander zu einer Anwendung zusammengesetzt werden. Nach der Verbindungsstruktur der multimedialen Anwendung können verschiedene Anwendungstypen unterschieden werden. Die Definition der Komponentenschnittstellen bezieht sich auf ein abstraktes Datenmodell für kontinuierliche Medien. Das Datenmodell ist eine eigenständige Weiterentwicklung der Ansätze von [Herrtw91] und [Gibbs94] und kann auch zur Realisierung der Komponenten verwendet werden. Multimediadaten wurden zunächst auf zwei Ebenen als Sequenz und Sequenzelemente modelliert. Daraus lassen sich bereits einige Funktionen auf den Daten ableiten, die von den Bausteinen realisiert werden müssen. Kennzeichnend für die Sequenzelemente ist, daß sie die Zeitparameter Zeitpunkt und Dauer besitzen und damit eine explizite Integration der Zeit in das Datenmodell realisieren. Aus diesen Parametern der Elemente können auch für die Sequenz die Parameter Zeitpunkt und Dauer abgeleitet werden. Somit könnte eine Sequenz selbst wieder Element einer Sequenz werden. Da diese Sequenzen von Sequenzen aber zum Teil schwer zu handhaben sind und zum Aufbau von sehr komplexen Verschachtelungen verleiten, wird in dieser Arbeit eine andere Erweiterung der Datenhierarchie, eine Liste, vorgestellt. Diese Erweiterung führt nur eine weitere Hierarchieebene oder Granularitätsstufe ein, ist aber durch die vorgegebenen Funktionen gleichmächtig wie die Verschachtelung der Sequenzen, im Operationsablauf aber leichter nachzuvollziehen. Die Liste repräsentiert die gröbste Granularitätsstufe. Diese ist mit der Titelfolge einer Schallplatte oder einer CD vergleichbar. Die einzelnen Teile haben zueinander nur eine lose Ordnung. In der ersten Verfeinerung der Granularität wird in jedem einzelnen Listenelement eine strenge zeitliche Ordnung gefordert; ein Listenelement ist eine Sequenz. In der zweiten Stufe der Verfeinerung, der Unterteilung der Sequenzen, treten die bereits bekannten Se­ quenzelemente auf. Die Daten werden im Ticker-Schrittgeber-Modell interpretiert. Dieses Modell erhält zwei Zeitebenen, den Ticker als Bezugssystem der Funktionen untereinander und den Schrittgeber als Steuerung der einzelnen Funktionen. Ein zweistufiges Uhrenmodell mir festgesetzten Operationen und Uhrenbeziehungen wird in dieser Arbeit neu eingeführt. Die Beziehung zwischen Schrittgeber und Ticker ist, daß ein Schritt nach einer bestimmten Anzahl von Ticks erfolgt. Der Startwert des Tickers kann frei gewählt werden, ebenso der Startwert des Schrittgebers. Für den Schrittgeber bestimmt sein Start-Tick, wann er beginnt fortzuschreiten. Ein Schrittgeber ist mit genau einer Sequenz verbunden, deren Start-Schritt beschreibt, bei welchem Schrittwert das erste Sequenzelement gültig wird. Die Start-Zeitpunkte der Elemente und ihre Dauern werden in Schritten gemessen. Das Datenmodell für Multimedia wurde in [Fritzsche95] veröffentlicht. Implementierungen Als Grundlage für die Entwicklung der Bausteine zur Integration kontinuierlicher Medien in verteilte Anwendungen wurden die Funktionen auf den Medien herangezogen. Diese sind in ihren einfachsten Formen die Grundfunktionen Perzeption, Präsentation und Speicherung der Medien, wobei die Speicherung in die Funktionen Schreiben in den Speicher und Lesen aus dem Speicher geteilt wird. Die durch die Perzeption festgelegten, oder künstlich erzeugten Mediendaten können zwischen den einzelnen Funktionen übertragen werden. Eine Bearbeitung der Daten ist beim Austausch zwischen den Funktionen möglich. Die Veränderung der Daten und ihr Bezug zu den Grundfunktionen wird durch die Verarbeitungsfunktionen der Typen f 1 bis f 5 beschrieben. Die Funktionen werden durch Operationen gesteuert, die aus dem Datenmodell abgeleitet werden. Insbesondere wird so auch die explizite Veränderung der Zeitparameter möglich. Somit bietet das Datenmodell eine geeignete Grundlage für jede Art der Verarbeitung kontinuierlicher Medien. Das entwickelte Modell unterstützt die Anwendungserstellung durch objektorientierte Ansätze auf den Ebenen der Konzeption, der Anwendungsspezifikation und der Komponentenentwicklung. Konzeptionell bietet das Funktionenmodell die schnelle und übersichtliche Darstellung der Anwendung. Die aus dem Funktionenmodell ableitbare Anwendungsspezifikation unterstützt die weitere Entwicklung durch Anwendungs- und Komponentenschablonen, sowie durch die vorgefertigte und erweiterbare Hierarchie der Schnittstellen und durch die Bibliotheken für Standardbausteine. Die Verwendung dieser Elemente der Anwendungsspezifikation läßt sich teilweise automatisieren. Das Ergebnis der Anwendungsspezifikation ist eine Menge von Komponenten, die alle vollständig spezifiziert sind. Diese Komponenten sind die funktionsorientierten Bausteine zur Integration kontinuierlicher Medien in verteilte Anwendungen. Im ersten Schritt wurde das vorgestellte Datenmodell mit seinen Operationen in einer objektorientierten Programmiersprache (C [Lipp91]) implementiert [Braun92]. Darauf aufbauend wurden verschiedene Anwendungsfunktionen und Normalisierungsoperationen entwickelt und für den Bereich Audio realisiert [Bast93]. Die von den Funktionen auf kontinuierlichen Medien abgeleiteten Bausteine werden, wie in der vorliegenden Arbeit ausführlich dargestellt, als Komponenten verteilter Anwendungen realisiert. Aus den verschiedenen Realisierungsebenen sollen hier zwei Beispiele hervorgehoben werden. Zunächst wird auf die Komponentenrealisierung eingegangen; danach folgt die Realisierung von Tickern und enger Kopplung. Diese beiden Punkte stellen zentrale Aufgaben des Ansatzes dar. Realisierung von Komponenten Die Realisierung der Komponenten gliedert sich in zwei Abschnitte. Der erste Abschnitt ist die Zerlegung einer Komponente in Standardobjekte nach [Zimm93]. Die Standardobjekte entstammen Kommunikationsklassen, Stub-­ und Dispatcherklassen, Anwendungsklassen und Kooperationsprotokollklassen. Die Objekte der Anwendungsklassen realisieren die Anwendungsfunktionalität der Komponente. Das Ausprogrammieren dieser Objekte stellt den zweiten Abschnitt der Komponentenrealisierung dar. Dazu liefert das entwickelte Datenmodell die Programmierunterstützung. Zur Abbildung der Spezifikationskonstrukte der Komponenten auf Implementierungskonstrukte wird in [Zimm93] eine Methode vorgestellt, die die unterschiedlichen Konstrukte für Schnittstellen, Kommunikationskontexte und Komponenten auf Klassen und Objekte abbildet. So entsteht eine Klassenhierarchie von C Klassen [Lipp91] für kommunikations-­, anwendung-s­ und managementorientierte Objekte. Weiterhin wird in [Zimm93] ein Verfahren vorgestellt, durch das in Abhängigkeit von den Eigenschaften einer Komponente parallel ablaufende Datenflüsse in ein System von leichtgewichtigen Prozessen (Threads) transformiert werden können. Als Resultat gewinnt man eine modulare Softwarearchitektur der Komponente, die sich aus interagierenden Objekten und zugehörigen Threads zusammen­ setzt. In [Zimm93] werden folgende Objektklassen unterschieden: . Kommunikationsklassen . Stub-­ und Dispatcherklassen . Anwendungsklassen . Kooperationsprotokollklassen. Eine elementare Objektarchitektur aus diesen Klassen ist in Abbildung 54 dargestellt. Es gibt jeweils eine Realisierung für eine Supplier-Komponente und eine Consumer- Komponente. Die Anwendungsobjekte können bezüglich ihrer Funktionalität in initiierende und akzeptierende Objekte eingeteilt werden. Im Falle unidirektionaler Schnittstellen sind die Anwendungsobjekte auf der Konsumentenseite (z.B. Benutzerkomponente) für die Initiierung von Methoden an Schnittstellenobjekten verantwortlich. Beispielsweise ist ein Anwendungsobjekt innerhalb der Benutzerkomponente für die Initiierung der Steueroperationen verantwortlich. Im Falle von interaktiven Komponenten [Zimm93] erfolgt dazu ein Benutzerdialog mit einem interaktiven Benutzer. Also realisiert innerhalb der Benutzerkomponente das Anwendungsobjekt einen solchen Benutzerdialog. Anwendungsobjekte auf der Konsumentenseite stellen somit typischerweise keine eigenen Methoden bereit, sondern bestehen lediglich aus einem Konstruktor. Auf der akzeptierenden Seite, den Anbieter (Supplier), realisiert ein Anwendungsobjekt die Operationen an einer Schnittstelle. Dazu wird eine Methode accept benötigt, falls ein verbindungsorientierter Kommunikationskontext zugrunde liegt. Diese Methode dient der Behandlung eingehender Verbindungswünsche. In [Alireza94] werden verschiedene Komponentenrealisierungen ausführlich vorgestellt. Die Realisierung der Ticker und Schrittgeber stellt die Einbettung der zeitbezogenen Komponenten in ihre (Betriebssystem­) Umgebung dar. Ähnlich, wie eine Komponente über den Socketmechanismus Zugang zum Kommunikationssystem erhält, erhält eine zeitbezogene Komponente über den Ticker-Schrittgeber-Mechanismus Zugang zum Zeitbezugssystem. Denn die Schrittgeber beziehen sich auf Ticker, Ticker aber auf die Systemzeit. Da auch die Systemzeit als Takt zur Verfügung gestellt wird, können Ticker und Schrittgeber wegen ihrer ähnlichen Funktionalitäten aus einer gemeinsamen Zeitgeberklasse abgeleitet werden. Im Anhang C ist die Deklaration dieser gemeinsamen Klasse angegeben. In einer Anwendung beziehen sich die Schrittgeber verschiedener Komponenten auf einen gemeinsamen Ticker. Dieser Ticker liegt in der Systemumgebung der den Komponenten gemeinsamen interaktiven Benutzerkomponente. Die interaktive Benutzerkomponente verteilt die Ticks über die Steuerschnittstellen an die Komponenten und realisiert so die enge Kopplung der Komponenten. Bei einer Tickrate von 600 Hz ist es nur innerhalb eines Systems sinnvoll jeden Tick als Ereignis zu verteilen. Anstatt nun zu jedem Tick ein Ereignis zu verteilen werden bei der Tickverteilung Tickwerte mit fester Rate verteilt, wobei diese Rate in die Größenordnung der Schritte fällt. Um die Übertragungsraten gemäß den Anforderungen an der Steuerschnittstelle klein zu halten, wird zu jedem Schritt nur ein Teil (1 Byte) des Tickwertes übertragen. Begonnen wird mit der Übertragung des höchstwertigen Bytes, so daß im letzten Schritt einer Tickerübertragung mit dem letzten Byte der genaue aktuelle Tickwert übertragen wird. Ähnliche Verfahren werden bereits bei anderen Synchronisations­ verfahren verwendet. Eine genaue Beschreibung sowie die Kodierung für die verschachtelte Übertragung von Tickwerten und Schnittstellen­Aufrufen wird in [Hesme93] vorgestellt. Weitere Entwicklung Zur Realisierung verteilter multimedialer Anwendungen, muß man die einzelnen verteilten Komponenten bestimmen und ihre Funktion beschreiben. Die Komponenten tauschen unter­ einander Steuerungsinformationen und Multimediadaten aus. Diese Daten und das beim Austausch verwendete Protokoll sollten allgemein standardisiert sein, um den Zusammen­ schluß heterogener Systeme zu ermöglichen. In der vorliegenden Arbeit wurde gezeigt, wie sowohl die Daten als auch das Zusammenspiel der Komponenten festgelegt werden können. Obwohl alle Geräteklassen und Geräte­ funktionen sowie verschiedene Werkzeuge entwickelt wurden, und das vorgestellte Modell die gesamte Entwicklung verteilter multimedialer Anwendungen unterstützt, ist dieses große Gebiet noch lange nicht erschöpfend behandelt. Eine Erweiterung der Managementschnittstellen und die Realisierung von komplexen Werkzeugen sind die vordringlichsten Aufgaben. Damit entsteht ein mächtiges Entwicklungswerkzeug für Multimediaanwendungen. Funktionsorientierte Bausteine zur Integration kontinuierlicher Medien in verteilte Anwendungen Eine weitere Aufgabe ist die genauere Untersuchung der Nebenbedingungen, die zur Unterscheidung der Funktionen der Typen f 1 bis f 5 führten. Aus diesen Untersuchungen sowie aus den Ergebnissen der Ticker- und Schrittgeber-Realisierung lassen sich dann genauer spezifizierte Anforderungen an die Betriebs- oder Kommunikations-Systeme ableiten

    Assistierte Ad-hoc-Entwicklung von kompositen Webanwendungen durch Nicht-Programmierer

    Get PDF
    Mit der steigenden Verfügbarkeit komponenten- und serviceorientiert bereitgestellter Ressourcen und Dienstleistungen entwickelt sich das Web zu einer geeigneten Plattform für vielfältige Anwendungsszenarien. Darauf aufbauend entstehen komposite Webanwendungen durch das Rekombinieren und Verknüpfen vorhandener Bausteine. Auf diese Weise kann ein funktionaler Mehrwert zur Lösung situationsspezifischer Problemstellungen erzielt werden. Zunehmend wird angestrebt, dass Endnutzer selbst als Anwendungsentwickler in Erscheinung treten. Dieses Prinzip, das End-User-Development, ist ökonomisch lukrativ, da Nischenanforderungen effizienter erfüllt werden können. Allerdings stehen dabei insbesondere Domänenexperten ohne Programmiererkenntnisse noch immer vor substantiellen Herausforderungen, wie der bedarfsgerechten Auswahl von Bausteinen und deren korrekten Komposition. Diese Dissertation stellt daher neue Methoden und Werkzeuge für das assistierte End-User-Development von kompositen Webanwendungen vor. Im Ergebnis entsteht das ganzheitliche Konzept einer Kompositionsplattform, die Nicht-Programmierer in die Lage versetzt, eigenständig Anwendungen bedarfsgerecht zu entwickeln und einzusetzen. Als zentrales Element existiert ein hochiteratives Vorgehensmodell, bei dem die Entwicklung und die Nutzung kompositer Webanwendungen weitgehend verschmelzen. Ein wesentliches Merkmal des Ansatzes ist, dass aus Nutzersicht sämtliche Aktivitäten auf fachlicher Ebene stattfinden, während die Kompositionsplattform die technische Umsetzung übernimmt und vor den Nutzern verbirgt. Grundlage hierfür sind Konzepte zur universellen Komposition und eine umfassende Modellbasis. Letztere umfasst semantikbasierte Beschreibungen von Komponenten sowie Kompositionsfragmenten und von deren Funktionalitäten (Capabilities). Weiterhin wird statistisches und semantisches Kompositionswissen sowie Nutzerfeedback modelliert. Darauf aufbauend werden neue, anwendungsunabhängige Mechanismen konzipiert. Hierzu zählt ein Empfehlungssystem, das prozessbegleitend Kompositionsschritte vorschlägt und das erstmals mit Empfehlungsstrategien in hohem Maße an seinen Einsatzkontext angepasst werden kann. Weiterhin sieht der Ansatz semantikbasierte Datenmediation und einen Algorithmus vor, der die Capabilities von Kompositionsfragmenten abschätzt. Diese Konzepte dienen schließlich als Basis für eine in sich zusammenhängende Werkzeugpalette, welche die Aktivitäten des Vorgehensmodells durchgehend unterstützt. Zum Beispiel assistiert ein Wizard Nicht-Programmierern bei der anforderungsgetriebenen Identifikation passender Kompositionsfragmente. Weitere konzipierte Hilfsmittel erlauben es Nutzern, Anwendungen live zu komponieren sowie anzupassen und deren Funktionsweise nachzuvollziehen bzw. zu untersuchen. Die Werkzeuge basieren maßgeblich auf Capabilities zur fachlichen Kommunikation mit Nutzern, als Kompositionsmetapher, zur Erklärung funktionaler Zusammenhänge und zur Erfassung von Nutzeranforderungen. Die Kernkonzepte wurden durch prototypische Implementierungen und praktische Erprobung in verschiedenen Anwendungsdomänen validiert. Zudem findet die Evaluation von Ansätzen durch Performanz-Messungen, Expertenbefragung und Nutzerstudien statt. Insgesamt zeigen die Ergebnisse, dass die Konzepte für die Zielgruppe nützlich sind und als tragfähig angesehen werden können.:1 Einleitung 1.1 Analyse von Herausforderungen und Problemen 1.1.1 Zielgruppendefinition 1.1.2 Problemanalyse 1.2 Thesen, Ziele, Abgrenzung 1.2.1 Forschungsthesen 1.2.2 Forschungsziele 1.2.3 Annahmen und Abgrenzungen 1.3 Aufbau der Arbeit 2 Grundlagen und Anforderungsanalyse 2.1 CRUISE – Architektur und Modelle 2.1.1 Komponentenmetamodell 2.1.2 Kompositionsmodell 2.1.3 Architekturüberblick 2.1.4 Fazit 2.2 Referenzszenarien 2.2.1 Ad-hoc-Erstellung einer CWA zur Konferenzplanung 2.2.2 Geführte Recherche nach einer CWA 2.2.3 Unterstützte Nutzung einer CWA 2.3 Anforderungen 3 Stand von Forschung und Technik 3.1 Kompositionsplattformen für EUD 3.1.1 Webservice-Komposition durch Endnutzer 3.1.2 Mashup-Komposition durch Endnutzer 3.1.3 Fazit 3.2 Empfehlungssysteme im Mashupkontext 3.2.1 Empfehlungsansätze in Kompositionsplattformen 3.2.2 Nutzerfeedback in Empfehlungssystemen 3.2.3 Fazit 3.3 Eingabe funktionaler Anforderungen 3.3.1 Textuelle Ansätze 3.3.2 Graphische Anfrageformulierung 3.3.3 Hierarchische und facettierte Suche 3.3.4 Assistenten und dialogbasierte Ansätze 3.3.5 Fazit 3.4 Ansätze zur Datenmediation 3.4.1 Ontology Mediation 3.4.2 Vertreter aus dem Bereich (Semantic) Web Services 3.4.3 Datenmediation in Mashup-Plattformen 3.4.4 Fazit 3.5 Fazit zum Stand von Forschung und Technik 4 Assistiertes EUD von CWA durch Nicht-Programmierer 4.1 Assistiertes EUD von Mashups 4.1.1 Modellebene 4.1.2 Basismechanismen 4.1.3 Werkzeuge 4.2 Grobarchitektur 5 Basiskonzepte 5.1 Grundlegende Modelle 5.1.1 Capability-Metamodell 5.1.2 Erweiterungen von Komponentenmodell und SMCDL 5.1.3 Nutzer- und Kontextmodell 5.1.4 Metamodell für kontextualisiertes Feedback 5.2 Semantische Datenmediation 5.2.1 Vorbetrachtungen und Definitionen 5.2.2 Techniken zur semantischen Datenmediation 5.2.3 Architektonische Implikationen und Abläufe 5.3 Ableiten von Capabilities 5.3.1 Anforderungen und verwandte Ansätze 5.3.2 Definitionen und Grundlagen 5.3.3 Übersicht über den Algorithmus 5.3.4 Detaillierter Ablauf 5.3.5 Architekturüberblick 5.4 Erzeugung eines Capability-Wissensgraphen 5.4.1 Struktur des Wissensgraphen 5.4.2 Instanziierung des Wissensgraphen 5.5 Zusammenfassung 6 Empfehlungssystem 6.1 Gesamtansatz im Überblick 6.2 Empfehlungssystemspezifische Metamodelle 6.2.1 Trigger-Metamodell 6.2.2 Pattern-Metamodell 6.3 Architektur und Abläufe des Empfehlungssystems 6.3.1 Ableitung von Pattern-Instanzen 6.3.2 Empfehlungsgründe identifizieren durch Trigger 6.3.3 Empfehlungen berechnen 6.3.4 Präsentation von Empfehlungen 6.3.5 Integration von Patterns 6.4 Zusammenfassung 7 Methoden zur Nutzerführung 7.1 Der Startbildschirm als zentraler Einstiegspunkt 7.2 Live-View 7.3 Capability-View 7.3.1 Interaktive Exploration von Capabilities 7.3.2 Kontextsensitive Erzeugung von Beschriftungen 7.3.3 Verknüpfen von Capabilities 7.3.4 Handhabung von Komponenten ohne UI 7.4 Wizard zur Eingabe funktionaler Anforderungen 7.5 Erklärungstechniken 7.5.1 Anforderungen und verwandte Ansätze 7.5.2 Kernkonzepte 7.5.3 Assistenzwerkzeuge 8 Implementierung und Evaluation 8.1 Umsetzung der Modelle und der Basisarchitektur 8.2 Realisierung der Mediationskonzepte 8.2.1 Erweiterung des Kompositionsmodells 8.2.2 Implementierung des Mediators 8.2.3 Evaluation und Diskussion 8.3 Algorithmus zur Abschätzung von Capabilities 8.3.1 Prototypische Umsetzung 8.3.2 Experten-Evaluation 8.4 Umsetzung des Empfehlungskreislaufes 8.4.1 Performanzbetrachtungen 8.4.2 Evaluation und Diskussion 8.5 Evaluation von EUD-Werkzeugen 8.5.1 Evaluation der Capability-View 8.5.2 Prototyp und Nutzerstudie des Wizards 8.5.3 Prototyp und Nutzerstudie zu den Erklärungstechniken 8.6 Fazit 9 Zusammenfassung, Diskussion und Ausblick 9.1 Zusammenfassung und Beiträge der Kapitel 9.2 Einschätzung der Ergebnisse 9.2.1 Diskussion der Erreichung der Forschungsziele 9.2.2 Diskussion der Forschungsthesen 9.2.3 Wissenschaftliche Beiträge 9.2.4 Grenzen der geschaffenen Konzepte 9.3 Laufende und weiterführende Arbeiten A Anhänge A.1 Richtlinien für die Annotation von Komponenten A.2 Fragebogen zur System Usability Scale A.3 Illustration von Mediationstechniken A.4 Komponentenbeschreibung in SMCDL (Beispiel) A.5 Beispiele zu Algorithmen A.5.1 Berechnung einer bestimmenden Entity A.5.2 Berechnung der Ähnlichkeit atomarer Capabilities A.6 Bewertung verwandter Ansätze Literaturverzeichnis Webreferenze

    Parallele und kooperative Simulation für eingebettete Multiprozessorsysteme

    Get PDF
    Die Entwicklung von eingebetteten Systemen wird durch die stetig steigende Anzahl und Integrationsdichte neuer Funktionen in Kombination mit einem erhöhten Interaktionsgrad zunehmend zur Herausforderung. Vor diesem Hintergrund werden in dieser Arbeit Methoden zur SystemC-basierten parallelen Simulation von Multiprozessorsystemen auf Manycore Architekturen sowie zur Verbesserung der Interoperabilität zwischen heterogenen Simulationswerkzeugen entwickelt, experimentell untersucht und bewertet

    Beiträge zur Automatisierung der frühen Entwurfsphasen verteilter Systeme

    Get PDF
    With the rapid increasing speed of electronic devices systems with highercomplexity, interconnectedness and heterogeneity can be developed. The developmentof such systems can only be done by teams of specialists. Atthe same time the development needs to happen in parallel to ensure anearly time to market. Therefore in the traditional design process the designis described in form of a written specification of the common system andpartitioned to several teams. This takes place in early design stages at highproduct uncertainty. Sub system development assumptions and decisions aremade without being able to evaluate the effect on the common system. Thusmany critical errors, especially those, caused by coupling effects, are discoveredduring system integration at the end of the design process. Furthermorean optimization of the common system is not possible, because of the lack ofa common system model. Hence the traditional design process is a high riskdevelopment process. In the Mission Level Design approach, an executable specification of thecommon system instead of a written specification is developed after conceptdevelopment. These is validated and optimized against the requirements ofthe common system. The such validated specification of the coupled systemis then passed on to specialist teams for sub system development. The subsystems are then integrated. In this manner integration problems can besolved in the early design stages. Development time and risk can be reducedsignificantly. To increase the specification quality and speed while developing common systemmodels, in the present work, standardized methods for specification andperformance evaluation of distributed systems and methods for automatedmapping of function into architecture are developed. This allows architectureoptimization of the common system in the early design stages. In addition,methods for transformation of the abstract design into implementations aredeveloped.Mit der rapide steigenden Geschwindigkeit elektronischer Bauelemente könnenSysteme mit erhöhter Komplexität, Vernetzung und Heterogenität entwickeltwerden. Dies hat zur Folge, dass eine Entwicklung nur durch Teamsvon Spezialisten durchführbar ist. Gleichzeitig muss die Entwicklung parallelerfolgen, um eine möglichst frühzeitige Produkteinführung zu ermöglichen.Im traditionellen Entwurfsprozess wird daher der Entwurf in Form einer geschriebenenSpezifikation des Gesamtsystems erfasst und anschließend aufmehrere Teams aufgeteilt. Dies erfolgt in den frühen Entwurfsphasen, welchedurch eine hohe Unsicherheit über das Produkt gekennzeichnet sind. Dabeimüssen bei der Entwicklung der Subsysteme Annahmen und Entscheidungengetroffen werden, ohne den Einfluss auf das Gesamtsystem abschätzenzu können. Kopplungseffekte werden weitestgehend ignoriert. Viele kritische,insbesondere durch Kopplungseffekte hervorgerufene Fehler, können folglicherst bei der Integration am Ende der Entwicklung entdeckt werden. Zudem isteine Optimierung des Gesamtsystems nicht möglich, da kein Gesamtsystemmodellvorliegt. Der traditionelle Entwurfsprozess besitzt daher ein hohesEntwicklungsrisiko. Beim Entwurfsansatz Mission Level Design wird nach dem Konzeptentwurfanstatt einer geschriebenen eine ausführbare Spezifikation des Gesamtsystemsentwickelt. Diese wird gegen die Gesamtsystemanforderungen validiertund optimiert. Daraufhin wird die Spezifikation des gekoppelten Gesamtsystemsan mehrere Teams zur Entwicklung der Subsysteme weitergegeben,welche dann wieder zu einem Gesamtsystem integriert werden. Integrationsproblemewerden so schon in den frühen Entwurfsphasen gelöst, was einewesentliche Verringerung von Entwicklungszeit und -risiko bewirkt. Um die Spezifikationsqualität und -geschwindigkeit bei der Entwicklung vonGesamtsystemmodellen zu erhöhen, werden im Rahmen der Arbeit standardisierteMethoden zur Beschreibung und Leistungsbewertung verteilterSysteme, sowie zum automatisierten Mapping von Funktion in Architekturentwickelt. Dies ermöglicht bereits in den frühen Entwurfsphasen eine Architekturoptimierungdes Gesamtsystems. Zusätzlich werden Methoden zurÜberführung des abstrakten Entwurfs in Implementationen entwickelt

    Objektorientierte Stromprogrammierung

    Get PDF
    Diese Arbeit stellt das Gesamtkonzept der objektorientierten Stromprogrammierung vor. Ziel ist es, die Implementierung und Optimierung paralleler Anwendungen für Multikernrechner zu vereinfachen. Es werden Spracherweiterungen eingeführt, welche von Ausführungsfäden und expliziter Synchronisierung abstrahieren. Darauf aufbauend ermöglicht ein eigenes Laufzeitsystem die Optimierung von Stromprogrammen im Produktivbetrieb, ohne dass ein Einwirken des Programmierers erforderlich ist
    corecore