Refine
Year of publication
Document Type
- Diploma Thesis (14)
- Study Thesis (13)
- Bachelor Thesis (8)
- Doctoral Thesis (7)
- Master's Thesis (6)
- Part of Periodical (6)
Language
- German (39)
- English (14)
- Multiple languages (1)
Keywords
- Java (3)
- model-based (3)
- Autonome Fahrzeuge (2)
- BPMN (2)
- Computersimulation (2)
- Echtzeitsystem (2)
- Echtzeitsysteme (2)
- Fahrerassistenzsystem (2)
- Modellfahrzeug (2)
- Petri-Netz (2)
Institute
- Institut für Softwaretechnik (54) (remove)
Web application testing is an active research area. Garousi et al. did a systematic mapping study and classified 79 papers published between 2000-2011. However, there seems to be a lack of information exchange between the scientific community and tool developers.
This thesis systematically analyzes the field of functional, system level web application testing tools. 194 candidate tools were collected in the tool search and screened, with 23 tools being selected as foundation of this thesis. These 23 tools were systematically used to generate a feature model of the domain. The methodology to support this is an additional contribution of this thesis. It processes end user documentation of tools belonging to an examined domain and creates a feature model. The feature model gives an overview over the existing features, their alternatives and their distribution. It can be used to identify trends and problems, extraordinary features, help decision making of tool purchase or guide scientists how to focus research.
This thesis deals with the mapping from Ecore to grUML. Thereby the transformation of models in Ecore to graphs in grUML is as well considered as the conversion of Ecore metamodels to grUML schemas. At first the modeling languages Ecore and grUML are described separately. Thereby the metamodels of the languages are explained and the API is presented. Subsequent differences and similarities of grUML and Ecore are exemplified and based on this a mapping is defined. Also requirements for the implementation of the transformation are noted. After that details of the realisation follow. Finally the results of the transformation are shown with the help of some examples.
Dieses Dokument legt den Standard für die Transformation von grUML-Schemas (GraphUML, [BHR+09]) nach XSD (XML Schema Definition) fest und ist im Rahmen des Arbeitspakets 5.2 "Prototypische SOAMIG-Parser und -Unparser realisieren" im SOAMIG-Projekt entstanden. Das Ziel ist der Austausch von TGraphen (typisierten, attributierten, angeordneten, gerichte Graphen [ERW08]) über XML-Dokumente. Zur Spezifikation des Austauschformats wird XSD eingesetzt. Dies erlaubt eine Validierung der XML-Instanzen auf syntaktischer Ebene. Der Ausgangspunkt ist ein gegebenes Schemas in grUML-Notation1, welches nach XSD transformiert werden soll. Mit der generierten XSD existiert ein Beschreibungsmittel für Graph-Instanzen in XML. Die dadurch beschriebenen XML-Dokumente sind flach, d.h. alle Elemente sind direkt dem root-Element untergeordnet.
Absicherung der analytischen Interpretation von Geolokalisierungsdaten in der Mobilfunkforensik
(2019)
Abstract
Location based services maybe are within one of the most outstanding features of modern mobile devices. Despite the fact, that cached geolocation data could be used to reconstruct motion profiles, the amount of devices capable to provide these information in the field of criminal investigations is growing.
Motivation
The aim of this work is to generate in-depth knowledge to questions concerning geolocation in the field of mobile forensics, making especially somehow cached geolocation data forensically valuable. On top, tools meeting the specific requirements of law enforcement personnel shall be developed.
Problems
Geolocation processes within smartphones are quite complex. For the device to locate its position, different reference systems like GPS, cell towers or WiFi hot\-spots are used in a variety of ways. The whole mobile geolocation mechanism is proprietary to the device manufacturer and not build with forensic needs in mind. One major problem regarding forensic investigations is, that mainly reference points are being extracted and processed instead of real life device location data. In addition, these geolocation information only consist of bits and bytes or numeric values that have to be securely assigned to their intended meaning. The location data recovered are full of gaps providing only a part of the process or device usage. This possible loss of data has to be determined deriving a reliable measurement for the completeness, integrity and accuracy of data. Last but not least, as for every evidence within a criminal investigation, it has to be assured, that manipulations of the data or errors in position estimation have no disadvantageous effect on the analysis.
Research Questions
In the context of localisation services in modern smartphones, it always comes back to similar questions during forensic everyday life:
* Can locations be determined at any time?
* How accurate is the location of a smartphone?
* Can location data from smartphones endure in court?
Approach
For a better understanding of geolocation processes in modern smartphones and to evaluate the quality and reliability of the geolocation artefacts, information from different platforms shall be theoretically analysed as well as observed in-place during the geolocation process. The connection between data points and localisation context will be examined in predefined live experiments as well as desktop- and native applications on smartphones.
Results
Within the scope of this thesis self developed tools have been used for forensic investigations as well as analytical interpretation of geodata from modern smartphones. Hereby a generic model for assessing the quality of location data has emerged, which can be generally applied to geodata from mobile devices.
BinaryGXL
(2006)
XML ist aus der heutigen IT-Welt nicht mehr wegzudenken und wird für vielfältige Zwecke verwendet. Die Befürworter von XML führen insbesondere die Menschenlesbarkeit und leichte Editierbarkeit als Gründe für diesen Erfolg an. Allerdings hat XML gerade dadurch auch in manchen Anwendungsgebieten gravierende Nachteile: XML ist sehr verbos, und das Parsen von XML-Dateien ist relativ langsam im Vergleich zu binären Dateiformaten. Deshalb gibt es Bestrebungen ein binäres XML-Format zu schaffen und gegebenenfalls zu standardisieren. Die vorliegende Studienarbeit beschreibt einige schon existierende binäre XML-Formate und zeigt auf, wie weit der Entwurf und die Standardisierung eines allgemein akzeptierten Binary-XML-Formats fortgeschritten sind. Der praktische Teil der Studienarbeit umfasst den Entwurf und die Implementierung eines eigenen Binärformats für den XML-Dialekt GXL. Zur Bewertung der entwickelten Lösung wird diese mit den heute üblichen Kompressionstools verglichen.
Data-minimization and fairness are fundamental data protection requirements to avoid privacy threats and discrimination. Violations of data protection requirements often result from: First, conflicts between security, data-minimization and fairness requirements. Second, data protection requirements for the organizational and technical aspects of a system that are currently dealt with separately, giving rise to misconceptions and errors. Third, hidden data correlations that might lead to influence biases against protected characteristics of individuals such as ethnicity in decision-making software. For the effective assurance of data protection needs,
it is important to avoid sources of violations right from the design modeling phase. However, a model-based approach that addresses the issues above is missing.
To handle the issues above, this thesis introduces a model-based methodology called MoPrivFair (Model-based Privacy & Fairness). MoPrivFair comprises three sub-frameworks: First, a framework that extends the SecBPMN2 approach to allow detecting conflicts between security, data-minimization and fairness requirements. Second, a framework for enforcing an integrated data-protection management throughout the development process based on a business processes model (i.e., SecBPMN2 model) and a software architecture model (i.e., UMLsec model) annotated with data protection requirements while establishing traceability. Third, the UML extension UMLfair to support individual fairness analysis and reporting discriminatory behaviors. Each of the proposed frameworks is supported by automated tool support.
We validated the applicability and usability of our conflict detection technique based on a health care management case study, and an experimental user study, respectively. Based on an air traffic management case study, we reported on the applicability of our technique for enforcing an integrated data-protection management. We validated the applicability of our individual fairness analysis technique using three case studies featuring a school management system, a delivery management system and a loan management system. The results show a promising outlook on the applicability of our proposed frameworks in real-world settings.
Code package managers like Cabal track dependencies between packages. But packages rarely use the functionality that their dependencies provide. This leads to unnecessary compilation of unused parts and to speculative conflicts between package versions where there are no conflicts. In two case studies we show how relevant these two problems are. We then describe how we could avoid them by tracking dependencies not between packages but between individual code fragments.
Real-time operating systems for mixed-criticality systems
must support different types of software, such as
real-time applications and general purpose applications,
and, at the same time, must provide strong spatial and
temporal isolation between independent software components.
Therefore, state-of-the-art real-time operating systems
focus mainly on predictability and bounded worst-case behavior.
However, general purpose operating systems such as Linux
often feature more efficient---but less deterministic---mechanisms
that significantly improve the average execution time.
This thesis addresses the combination of the two contradicting
requirements and shows thread synchronization mechanisms
with efficient average-case behavior, but without sacrificing
predictability and worst-case behavior.
This thesis explores and evaluates the design space of fast paths
in the implementation of typical blocking synchronization
mechanisms, such as mutexes, condition variables, counting
semaphores, barriers, or message queues. The key technique here
is to avoid unnecessary system calls, as system calls have high
costs compared to other processor operations available in user
space, such as low-level atomic synchronization primitives.
In particular, the thesis explores futexes, the state-of-the-art
design for blocking synchronization mechanisms in Linux
that handles the uncontended case of thread synchronization
by using atomic operations in user space and calls into the
kernel only to suspend and wake up threads. The thesis also
proposes non-preemptive busy-waiting monitors that use an
efficient priority ceiling mechanism to prevent the lock holder
preemption problem without using system calls, and according
low-level kernel primitives to construct efficient wait and
notify operations.
The evaluation shows that the presented approaches
improve the average performance comparable
to state-of-the-art approaches in Linux.
At the same time, a worst-case timing analysis shows
that the approaches only need constant or bounded temporal
overheads at the operating system kernel level.
Exploiting these fast paths is a worthwhile approach
when designing systems that not only have to fulfill
real-time requirements, but also best-effort workloads.
Ein Interpreter für GReQL 2
(2006)
Im Rahmen dieser Diplomarbeit wird die Auswertungskomponente fuer die Graphanfragesprache GREQL 2, welche von Katrin Marchewka beschrieben wurde, entworfen, welche Anfragen diese Sprache interpretiert. Die Auswertungskomponente besteht aus den Bausteinen Auswerter, Parser, Optimierer, Funktionsbibliothek und dem Containerframework JValue. Der Parser wurde bereits von Katrin Marchewka implementiert, der Optimierer bleibt einer Anschlußarbeit vorbehalten. Innerhalb dieser Arbeit werden die Bausteine Auswerter, Funktionsbibliothek und JValue als Prototypen implementiert. Aufgrund der Erfahrungen mit der Auswertungskomponente fuer den GREQL 2-Vorgaenger GREQL 1 ist das Primaerziel dieser Arbeit der Entwurf einer sauberen, klaren, erweiterbaren und zukunftsfähigen Architektur, wobei die aktuellen Prinzipien der Softwaretechnik beüecksichtigt werden sollen.
Im Vordergrund dieser Arbeit stehen die Geschäftsprozessmodelle und deren Überführung in das für eine Weiterverarbeitung in JGraLab benötigte TGraph-Format. Für die Modellierung der Geschäftsprozesse im SOAMIG-Projekt fiel die Auswahl, aus Gründen der Verbreitung und der Kompetenzen der SOAMIG-Partner, zugunsten der drei bereits erwähnten Modellierungssprachen UML Aktivitätsdiagramme, BPMN und EPK aus. Obwohl sich diese drei Notationen allesamt für die Erstellung von Geschäftsprozessmodellen bewährt haben und auch in Kombination in der Praxis eingesetzt werden, so differenzieren sie sich dennoch durch verschiedene Zielsetzungen bei ihrer Entwicklung. Die aufgrund der Zielsetzungen und der hohen Funktionsvielfalt resultierenden Unterschiede und Inkompatibilitäten der Sprachen untereinander bei der Modellierung von Geschäftsprozessen erschweren eine einheitliche Transformation nach JGraLab und die Behandlung der zu erhebenden Geschäftsprozessmodelle in JGraLab. Für jede Sprache müsste ein eigener Regelsatz und eine maßgeschneiderte Konvertierungsmöglichkeit festgelegt werden. Um eine sprach- und werkzeugunabhängige Geschäftsprozessmodellierung zu ermöglichen werden in dieser Arbeit zuerst die im SOAMIG-Projekt benötigten Sprachkonzepte und -elemente für die Modellierung von Geschäftsprozessen der UML Aktivitätsdiagramme, der BPMN und der EPK vorgestellt. Im nächsten Schritt werden notationsübergreifende Abbildungen der Srachkonzepte und -elemente aufeinander beschrieben, Defizite und Lücken der Sprachen aufgedeckt und durch eigene Auslegungen der Notationen gefüllt, und schließlich Metamodelle der drei Sprachen, aufgrund der gewonnen Erkentnisse sowie ein Referenzmetamodell auf Basis dieser Metamodelle erstellt und dargestellt. Im letzten Teil dieser Arbeit wird die exemplarische Realisierung eines Modell-zu-Referenzmodell Konverters auf Basis der BPMN und des Modellierungswerkzeuges BizAgi Process Modeler der Firma BizAgi Ltd vorgestellt, und der Lösungsansatz anhand des Beispiels eines Geschäftsprozesses validiert. Die Konvertierer ermöglichen die Abbildung eines Geschäftsprozessmodelles auf ein semantisch-äquivalentes Referenzmetamodell-konformes Modell, auf dessen Basis weitere Arbeitsschritte vor der/ für die Migration, unabhängig von der ursprünglich eingesetzten Modellierungssprache, definiert werden können.
Since software influences nearly every aspect of everyday life, the security of software systems is more important than ever before. The evaluation of the security of a software system still poses a significant challenge in practice, mostly due to the lack of metrics, which can map the security properties of source code onto numeric values. It is a common assumption, that the occurrence of security vulnerabilities and the quality of the software design stand in direct correlation, but there is currently no clear evidence to support this. A proof of an existing correlation could help to optimize the measurements of program security, making it possible to apply quality measurements to evaluate it. For this purpose, this work evaluates fifty open-source android applications, using three security and seven quality metrics. It also considers the correlations between the metrics. The quality metrics range from simple code metrics to high-level metrics such as object-oriented anti-patterns, which together provide a comprehensive picture of the quality. Two visibility metrics, along with a metric that computes the minimal permission request for mobile applications, were selected to illustrate the security. Using the evaluation projects, it was found that there is a clear correlation between most quality metrics. By contrast, no significant correlations were found using the security metrics. This work discusses the correlations and their causes as well as further recommendations based on the findings.
Program slicing is a technique for extracting that parts of a program which influence a previously defined, so-called slicing criterion. The latter mostly takes the form of a source code statement and a set of variables. Over the years an abundance of variants and enhancements has evolved from the original notion of a program slice. One of these developments is called chopping. A chop only contains those statements which are necessary to sustain the effects of a certain statement on another statement. Corresponding to the slicing criterion, the two statements have to be available in advance. This diploma thesis deals with the development of a service model in order to support the computation of a slice or a chop, given an original program and a slicing or chopping criterion respectively. A service model is a framework of communicating services so that each service performs a specific task within the concept of program slicing. The three main tasks, without considering further decomposition, are the mapping of program code into a representation suitable for slicing, the slicing itself and the display of the slice as code. The key benefit of service-orientation is that a service encapsulates the underlying algorithms. Hence the possibility of improving or substituting them without changing the interfaces of the related service relieves the developer of the need of adapting adjoining services. Thus, service-orientation fosters maintainability and improvability. Besides the definition of the services, this thesis also partially formally defines the data flow between them, i.e. their interfaces. It also features graph class definitions for most data structures. An accurate description of the interfaces encourages reuse, provided the services are of adequate granularity.
In dieser Arbeit wird ein zweigeteilter Regler für die Pfadverfolgung eines Modellfahrzeugs mit einachsigem Anhänger entwickelt. Darüber hinaus wird ein Beweis für die Stabilität und die Konvergenzeigenschaft der gefundenen Regelungsgesetze geliefert. Das Verfahren wird anschließend in die bestehende Steuersoftware des Versuchsfahrzeuges integriert und eine Testumgebung erstellt, um das Regelungsverfahren damit abschließend zu evaluieren.
Entwicklung eines Regelungsverfahrens zur Pfadverfolgung für ein Modellfahrzeug mit Sattelanhänger
(2009)
Besides the progressive automation of internal goods traffic, there is an important area that should also be considered. This area is the carriage of goods in selected external areas. The use of driverless trucks in logistic centers can report economic efficiency. In particular, these precise control procedures require that trucks drive on predetermined paths. The general aim of this work is the adaption and evaluation of a path following control method for articulated vehicles. The differences in the kinematic behavior between trucks with one-axle trailer and semi-trailer vehicles will be emphasized. Additionally, the characteristic kinematic properties of semi-trailers for the adaptation of a control procedure will be considered. This control procedure was initially designed for trucks with one-axle trailer. It must work in forwards and backwards movements. This control process will be integrated as a closed component on the control software of the model vehicle. Thus, the geometry of the model vehicle will be specified, and the possible special cases of the control process will be discovered. The work also documents the most relevant software components of the implemented control process.
Im Rahmen dieser Diplomarbeit wird ein TGraph-basiertes Modell-Vergleichsverfahren entwickelt. Dieses Verfahren soll eine anwendbare Berechnung von Deltas für TGraph-basierte Modelle ermöglichen. Modelle können durch TGraphen repräsentiert werden. Für die Erzeugung und Verarbeitung von TGraphen wurde am Institut für Softwaretechnik das Java Graph Laboratory, kurz JGraLab, entwickelt. Es handelt sich dabei um eine Java Klassenbibliothek, die eine hoch effiziente API zur Verarbeitung von TGraphen bereitstellt. [Ebe87, ERW08, ERSB08] Basierend auf der JGraLab API wird ein System entwickelt, das unterschiedliche Werkzeuge zur Verwaltung von Modellen bereitstellt. Der Fokus dieser Diplomarbeit liegt dabei auf der Entwicklung eines Werkzeugs, das zu zwei gegebenen TGraphen ein Delta berechnet.
Im Rahmen dieser Arbeit soll das Software-Modellierungstool Enterprise Architect so erweitert werden, dass die Trennung der Belange entsprechend dem erweiterten Hyperspace-Modell von Lohmann ermöglicht wird. Daneben soll auch die Bestimmung so genannter Slices ermöglicht werden. Bei einem Slice handelt es sich um die Menge aller Belange und syntaktischen Einheiten, welche mit einem oder mehreren Belangen direkt oder transitiv verknüpft sind. Die Idee der Bestimmung solcher Slices ist graphenorientiert: Die transitive Hülle der ausgewählten Belange und der mit diesen verknüpften Belange wird bestimmt. Dies kann auf bestimmte Kantenarten, welche die Arten der Verknüpfung von Belangen widerspiegeln, eingeschränkt werden. Bevor dies implementiert werden kann, muss untersucht werden, ob die Funktionalität mit den im Enterprise Architect gegebenen Möglichkeiten realisiert werden kann. Ist dies nicht der Fall, so müssen Modelle aus dem Enterprise Architect zunächst mit Hilfe von JGraLab in Graphen überführt werden, damit anschließend die Slices unter Anwendung der Graphenabfragesprache Graph Repository Query Language (GreQL) bestimmt werden können. Die Funktionalitäten sollen in einem gemeinsamen Software-Baustein realisiert werden, der sich konform zu den für den Enterprise Architect vorgegebenen Schnittstellen verhalten muss und keine Konflikte im Programmablauf verursachen kann.