Informatik
Refine
Year of publication
Document Type
- Doctoral Thesis (18) (remove)
Is part of the Bibliography
- yes (18)
Institute
- Informatik (18)
Context: Fast moving markets and the age of digitization require that software can be quickly changed or extended with new features. The associated quality attribute is referred to as evolvability: the degree of effectiveness and efficiency with which a system can be adapted or extended. Evolvability is especially important for software with frequently changing requirements, e.g. internet-based systems. Several evolvability-related benefits were arguably gained with the rise of service-oriented computing (SOC) that established itself as one of the most important paradigms for distributed systems over the last decade. The implementation of enterprise-wide software landscapes in the style of service-oriented architecture (SOA) prioritizes loose coupling, encapsulation, interoperability, composition, and reuse. In recent years, microservices quickly gained in popularity as an agile, DevOps-focused, and decentralized service-oriented variant with fine-grained services. A key idea here is that small and loosely coupled services that are independently deployable should be easy to change and to replace. Moreover, one of the postulated microservices characteristics is evolutionary design.
Problem Statement: While these properties provide a favorable theoretical basis for evolvable systems, they offer no concrete and universally applicable solutions. As with each architectural style, the implementation of a concrete microservice-based system can be of arbitrary quality. Several studies also report that software professionals trust in the foundational maintainability of service orientation and microservices in particular. A blind belief in these qualities without appropriate evolvability assurance can lead to violations of important principles and therefore negatively impact software evolution. In addition to this, very little scientific research has covered the areas of maintenance, evolution, or technical debt of microservices.
Objectives: To address this, the aim of this research is to support developers of microservices with appropriate methods, techniques, and tools to evaluate or improve evolvability and to facilitate sustainable long-term development. In particular, we want to provide recommendations and tool support for metric-based as well as scenario-based evaluation. In the context of service-based evolvability, we furthermore want to analyze the effectiveness of patterns and collect relevant antipatterns. Methods: Using empirical methods, we analyzed the industry state of the practice and the academic state of the art, which helped us to identify existing techniques, challenges, and research gaps. Based on these findings, we then designed new evolvability assurance techniques and used additional empirical studies to demonstrate and evaluate their effectiveness. Applied empirical methods were for example surveys, interviews, (systematic) literature studies, or controlled experiments.
Contributions: In addition to our analyses of industry practice and scientific literature, we provide contributions in three different areas. With respect to metric-based evolvability evaluation, we identified a set of structural metrics specifically designed for service orientation and analyzed their value for microservices. Subsequently, we designed tool-supported approaches to automatically gather a subset of these metrics from machine-readable RESTful API descriptions and via a distributed tracing mechanism at runtime. In the area of scenario-based evaluation, we developed a tool-supported lightweight method to analyze the evolvability of a service-based system based on hypothetical evolution scenarios. We evaluated the method with a survey (N=40) as well as hands-on interviews (N=7) and improved it further based on the findings. Lastly with respect to patterns and antipatterns, we collected a large set of service-based patterns and analyzed their applicability for microservices. From this initial catalogue, we synthesized a set of candidate evolvability patterns via the proxy of architectural modifiability tactics. The impact of four of these patterns on evolvability was then empirically tested in a controlled experiment (N=69) and with a metric-based analysis. The results suggest that the additional structural complexity introduced by the patterns as well as developers' pattern knowledge have an influence on their effectiveness. As a last contribution, we created a holistic collection of service-based antipatterns for both SOA and microservices and published it in a collaborative repository.
Conclusion: Our contributions provide first foundations for a holistic view on the evolvability assurance of microservices and address several perspectives. Metric- and scenario-based evaluation as well as service-based antipatterns can be used to identify "hot spots" while service-based patterns can remediate them and provide means for systematic evolvability construction. All in all, researchers and practitioners in the field of microservices can use our artifacts to analyze and improve the evolvability of their systems as well as to gain a conceptual understanding of service-based evolvability assurance.
Human recognition is an important part of perception systems, such as those used in autonomous vehicles or robots. These systems often use deep neural networks for this purpose, which rely on large amounts of data that ideally cover various situations, movements, visual appearances, and interactions. However, obtaining such data is typically complex and expensive. In addition to raw data, labels are required to create training data for supervised learning. Thus, manual annotation of bounding boxes, keypoints, orientations, or actions performed is frequently necessary. This work addresses whether the laborious acquisition and creation of data can be simplified through targeted simulation. If data are generated in a simulation, information such as positions, dimensions, orientations, surfaces, and occlusions are already known, and appropriate labels can be generated automatically. A key question is whether deep neural networks, trained with simulated data, can be applied to real data. This work explores the use of simulated training data using examples from the field of pedestrian detection for autonomous vehicles. On the one hand, it is shown how existing systems can be improved by targeted retraining with simulation data, for example to better recognize corner cases. On the other hand, the work focuses on the generation of data that hardly or not occur at all in real standard datasets. It will be demonstrated how training data can be generated by targeted acquisition and combination of motion data and 3D models, which contain finely graded action labels to recognize even complex pedestrian situations. Through the diverse annotation data that simulations provide, it becomes possible to train deep neural networks for a wide variety of tasks with one dataset. In this work, such simulated data is used to train a novel deep multitask network that brings together diverse, previously mostly independently considered but related, tasks such as 2D and 3D human pose recognition and body and orientation estimation.
Gegenstand dieser Arbeit ist die Darstellung und Charakterisierung einheitlicher, mesoporöser Silica-Partikel (MPSM) im Mikrometerbereich mit maßgeschneiderten Partikel- und Porendesign für die Hochleistungsflüssigkeitschromatographie. Die Synthese umfasst die Einlagerung von Silica-Nanopartikeln (SNP) in poröse organische Template, welche anschließend bei 600°C zersetzt werden. Die Impfsuspensionspolymerisation von Polystyrol-Partikeln, unter Verwendung von Glycidylmethacrylat, Ethylenglycoldimethacrylat und Porogenen, ermöglicht die Herstellung hochgradig einheitlicher, poröser p(GMA-co-EDMA)-Template. Der Einfluss wesentlicher Faktoren, einschließlich des Monomer-Porogen-Verhältnisses, des Monomerverhältnisses und der Porogenzusammensetzung, werden systematisch untersucht sowie ihre Auswirkungen auf die Porengröße, das Porenvolumen und die spezifische Oberfläche erläutert. Die Anbindung aminofunktionalisierter Substanzen erfolgt durch die Ringöffnung der Epoxidgruppe. Im anschließenden basischen Sol-Gel-Prozess werden die Silica-Nanopartikel aufgrund der Ladungsunterschiede in die funktionalisierten p(GMA-co-EDMA)-Template eingebaut. Die Partikelgröße der SNP beeinflusst wesentlich die Poreneigenschaften der MPSM und hängt von drei Faktoren ab: (i) der Wachstumsgeschwindigkeit in der kontinuierlichen Phase, die durch die Einstellungen des Sol-Gel-Prozesses gesteuert wird, (ii) der Diffusionsrate, die durch elektrostatische Anziehung reguliert wird und vom Grad der Funktionalisierung abhängt und (iii) der Porosität des Polymer-Templats. Die gezielte Anpassung der Poreneigenschaften durch die Prozesseinstellungen erlaubt die präzise Herstellung von MPSM, die auf spezifische Trennherausforderungen zugeschnitten werden und somit die Qualität der HPLC verbessern. Die vorgestellte Synthesestrategie ermöglicht, aufgrund des stufenweisen molekularen Aufbaus, eine bessere Adaption der stationären Phase an spezifische Trennherausforderungen.
In modern collaborative production environments where industrial robots and humans are supposed to work hand in hand, it is mandatory to observe the robot’s workspace at all times. Such observation is even more crucial when the robot’s main position is also dynamic e.g. because the system is mounted on a movable platform. As current solutions like physically secured areas in which a robot can perform actions potentially dangerous for humans, become unfeasible in such scenarios, novel, more dynamic, and situation aware safety solutions need to be developed and deployed.
This thesis mainly contributes to the bigger picture of such a collaborative scenario by presenting a data-driven convolutional neural network-based approach to estimate the two-dimensional kinematic-chain configuration of industrial robot-arms within raw camera images. This thesis also provides the information needed to generate and organize the mandatory data basis and presents frameworks that were used to realize all involved subsystems. The robot-arm’s extracted kinematic-chain can also be used to estimate the extrinsic camera parameters relative to the robot’s three-dimensional origin. Further a tracking system, based on a two-dimensional kinematic chain descriptor is presented to allow for an accumulation of a proper movement history which enables the prediction of future target positions within the given image plane. The combination of the extracted robot’s pose with a simultaneous human pose estimation system delivers a consistent data flow that can be used in higher-level applications.
This thesis also provides a detailed evaluation of all involved subsystems and provides a broad overview of their particular performance, based on novel generated, semi automatically annotated, real datasets.
Unternehmen stehen aktuell aufgrund der Digitalisierung, des stetigen technologischen Fortschritts und immer kürzer werdenden Produktlebenszyklen vor großen Herausforderungen. Um am Markt bestehen zu können, müssen Geschäftsmodelle öfter und schneller an sich verändernde Marktverhältnisse angepasst werden als dies früher der Fall war. Eine schnelle Anpassungsfähigkeit, auch Agilität genannt, ist in der heutigen Zeit ein entscheidender Wettbewerbsfaktor. Aufgrund des stetig wachsenden IT Anteils in Produkten sowie der Tatsache, dass diese IT-gestützt hergestellt werden, haben Änderungen des Geschäftsmodells große Auswirkungen auf die Unternehmensarchitektur eines Unternehmens.
Eine Unternehmensarchitektur umspannt das Unternehmen, indem diese die fachlichen und technischen Strukturen, insbesondere die gesamte IT, des Unternehmens beinhaltet und integriert. Das Management der Unternehmensarchitektur ist die Disziplin zur Beherrschung und Abstimmung dieser Strukturen. An der Gestaltung der Unternehmensarchitektur wirken viele Stakeholder mit individuellen und teils gegensätzlichen Interessen aus den unterschiedlichsten Bereichen des Unternehmens mit. Dies macht die Entscheidungsfindung zu einer komplexen Aufgabe.
Die in dieser Arbeit entworfene integrative Methode für die Entscheidungsfindung hat das Ziel, die Betroffenen und Beteiligten, im Folgenden Stakeholder, bei ihren Entscheidungen zu unterstützen. Die Grundidee hierbei ist die systematische Einbeziehung der Interessen der Stakeholder und davon abgeleiteter Visualisierungen. Dies verleiht der Methode ihren integrativen Charakter und hilft Abhängigkeiten zwischen Stakeholdern zu erkennen. Dadurch wird die Zusammenarbeit zwischen den an Entscheidungen beteiligten Stakeholdern gefördert. Neben der systematischen Einbeziehung von Visualisierungen wird im Rahmen dieser Arbeit das Konzept der Technik eingeführt. Techniken werden ebenfalls von den Interessen der Stakeholder abgeleitet und dienen der Unterstützung bei der Durchführung von Aktivitäten der Entscheidungsfindung, indem Vorgehensweisen bei bestimmten Aufgaben vorgegeben oder Teilprozesse der Entscheidungsfindung sogar automatisiert durchgeführt werden. Das Konzept der Technik, die systematische Ableitung von den Interessen der Stakeholder sowie das Zusammenspiel mit Visualisierungen wird in dieser Arbeit in Form einer erweiterten Konzeptualisierung der Architekturbeschreibung definiert.
Da die Werkzeugunterstützung in der Praxis häufig eine Herausforderung darstellt, rundet diese Arbeit ein eigens konzipiertes und prototypisch validiertes Architekturcockpit ab. Das Cockpit ist eine auf einem elektronischen Sitzungsraum basierende Werkzeugunterstützung der eingeführten integrativen Methode.
High Performance Computing (HPC) enables significant progress in both science and industry. Whereas traditionally parallel applications have been developed to address the grand challenges in science, as of today, they are also heavily used to speed up the time-to-result in the context of product design, production planning, financial risk management, medical diagnosis, as well as research and development efforts. However, purchasing and operating HPC clusters to run these applications requires huge capital expenditures as well as operational knowledge and thus is reserved to large organizations that benefit from economies of scale. More recently, the cloud evolved into an alternative execution environment for parallel applications, which comes with novel characteristics such as on-demand access to compute resources, pay-per-use, and elasticity. Whereas the cloud has been mainly used to operate interactive multi-tier applications, HPC users are also interested in the benefits offered. These include full control of the resource configuration based on virtualization, fast setup times by using on-demand accessible compute resources, and eliminated upfront capital expenditures due to the pay-per-use billing model. Additionally, elasticity allows compute resources to be provisioned and decommissioned at runtime, which allows fine-grained control of an application's performance in terms of its execution time and efficiency as well as the related monetary costs of the computation. Whereas HPC-optimized cloud environments have been introduced by cloud providers such as Amazon Web Services (AWS) and Microsoft Azure, existing parallel architectures are not designed to make use of elasticity. This thesis addresses several challenges in the emergent field of High Performance Cloud Computing. In particular, the presented contributions focus on the novel opportunities and challenges related to elasticity. First, the principles of elastic parallel systems as well as related design considerations are discussed in detail. On this basis, two exemplary elastic parallel system architectures are presented, each of which includes (1) an elasticity controller that controls the number of processing units based on user-defined goals, (2) a cloud-aware parallel execution model that handles coordination and synchronization requirements in an automated manner, and (3) a programming abstraction to ease the implementation of elastic parallel applications. To automate application delivery and deployment, novel approaches are presented that generate the required deployment artifacts from developer-provided source code in an automated manner while considering application-specific non-functional requirements. Throughout this thesis, a broad spectrum of design decisions related to the construction of elastic parallel system architectures is discussed, including proactive and reactive elasticity control mechanisms as well as cloud-based parallel processing with virtual machines (Infrastructure as a Service) and functions (Function as a Service). To evaluate these contributions, extensive experimental evaluations are presented.
This thesis studies concurrency control and composition of transactions in computing environments with long living transactions where local data autonomy of transactions is indispensable. This kind of computing architecture is referred to as a Disconnected System where reads are segregated -disconnected- from writes enabling local data autonomy. Disconnecting reads from writes is inspired by Bertrand Meyer's "Command Query Separation" pattern. This thesis provides a simple yet precise definition for a Disconnected System with a focus on transaction management. Concerning concurrency control, transaction management frameworks implement a'one concurrency control mechanism fits all needs strategy'. This strategy, however, does not consider specific characteristics of data access. The thesis shows the limitations of this strategy if transaction load increases, transactions are long lived, local data autonomy is required, and serializability is aimed at isolation level. For example, in optimistic mechanisms the number of aborts suddenly increases if load increases. In pessimistic mechanisms locking causes long blocking times and is prone to deadlocks. These findings are not new and a common solution used by database vendors is to reduce the isolation. This thesis proposes the usage of a novel approach. It suggests choosing the concurrency control mechanism according to the semantics of data access of a certain data item. As a result a transaction may execute under several concurrency control mechanisms. The idea is to introduce lanes similar to a motorway where each lane is dedicated to a certain class of vehicle with the same characteristics. Whereas disconnecting reads and writes sets the traffic's direction, the semantics of data access defines the lanes. This thesis introduces four concurrency control classes capturing the semantics of data access and each of them has an associated tailored concurrency control mechanism. Class O (the optimistic class) implements a first-committer-wins strategy, class R (the reconciliation class) implements a first-n-committers-win strategy, class P (the pessimistic class) implements a first-reader-wins strategy, and class E (the escrow class) implements a first-n-readers-win strategy. In contrast to solutions that adapt the concurrency control mechanism during runtime, the idea is to classify data during the design phase of the application and adapt the classification only in certain cases at runtime. The result of the thesis is a transaction management framework called O|R|P|E. A performance study based on the TPC-C benchmark shows that O|R|P|E has a better performance and a considerably higher commit rate than other solutions. Moreover, the thesis shows that in O|R|P|E aborts are due to application specific limitations, i.e., constraint violations and not due to serialization conflicts. This is a result of considering the semantics.
Vertrauen ist eine wesentliche Ressource für die Zusammenarbeit zwischen Anbietern und Kunden. In der postmodernen Gesellschaft sind beide Seiten auf Kooperation angewiesen. Ohne Vertrauen führen gemeinsame Beziehungen jedoch selten zu den erwünschten Resultaten. Alexander Rossmann zeigt auf, wie sich das Vertrauen von Kunden stimulieren lässt und welche Verhaltensweisen zu vermeiden sind. Dabei werden personale und organisationale Vertrauensstrategien konzeptionell entwickelt und am Beispiel der IT-Branche empirisch untersucht. Eine Analyse der Auswirkungen von Vertrauen bietet differenzierte Einblicke in die Chancen und Risiken von Vertrauen aus Anbieter- und Kundenperspektive.
Este trabajo se enmarca dentro del vasto contexto de Ciudades Inteligentes, y se centra en el área de la conducción inteligente de vehículos, tanto en zonas urbanas como interurbanas, mediante la recogida de datos en tiempo real, medidos con sensores, por parte de los propios conductores, así como de datos capturados mediante simulación.
El objetivo de este trabajo es doble. Por un lado, el estudio y aplicación de las diferentes técnicas y métodos de detección de valores atípicos en bases de datos multivariantes, además de una comparativa entre ellos mediante las pruebas llevadas a cabo con datos de tráfico real. Y por otro lado, establecer una relación entre las situaciones anómalas de tráfico, como puedan ser atascos o accidentes, con los valores atípicos multivariantes encontrados.
La detección de valores atípicos representa una de las tareas más importantes a la hora de realizar cualquier análisis de datos, sea cual sea el dominio o área de estudio, ya que entre sus funciones primordiales se encuentra el descubrir información útil, que resulta de gran valor, y que por lo general queda oculta por la alta dimensión de los datos.
Con el uso de mecanismos de detección de valores atípicos junto con métodos de clasificación supervisada, se va a poder llevar a cabo el reconocimiento de elementos de la infraestructura vial urbana como pueden ser rotondas, pasos de cebra, cruces o semáforos.