Filtern
Erscheinungsjahr
Dokumenttyp
- Diplomarbeit (14)
- Studienarbeit (13)
- Bachelorarbeit (8)
- Dissertation (7)
- Masterarbeit (6)
- Ausgabe (Heft) zu einer Zeitschrift (6)
Sprache
- Deutsch (39)
- Englisch (14)
- Mehrsprachig (1)
Schlagworte
- Java (3)
- model-based (3)
- Autonome Fahrzeuge (2)
- BPMN (2)
- Computersimulation (2)
- Echtzeitsystem (2)
- Echtzeitsysteme (2)
- Fahrerassistenzsystem (2)
- Modellfahrzeug (2)
- Petri-Netz (2)
Institut
- Institut für Softwaretechnik (54) (entfernen)
In dieser Arbeit wurde erstmalig das Gebiet der funktionalen, system-level Web Testing Tools analysiert. Aus 194 Toolkandidaten wurden 23 Tools zur Analyse ausgewählt. Die entwickelte Methodik verwendet die Benutzerhandbücher der Tools, um ein Featuremodel zu erzeugen, dass die Features aller Tools abbildet. Insgesamt wurden 313 Features identifiziert, klassifiziert und beschrieben. Die Features wurden in 10 Kategorien unterteilt und werden mit 16 Featurediagrammen dargestellt.rnDie Ergebnisse können technologische Entscheidungsprozesse unterstützen, indem ein Überblick einerseits über die Tools auf dem Markt und andererseits über die neusten Entwicklungen im Bereich des funktionalen, system-level Web Testing bereitgestellt wird.
Die vorliegende Arbeit beschäftigt sich mit der Abbildung von Ecore nach grUML. Dabei wird sowohl die Transformation von in Ecore modellierten Modellen nach Graphen in grUML als auch die Konvertierung von Ecore-Metamodellen nach grUML-Schemas betrachtet. Zunächst werden die beiden Modellierungssprachen Ecore und grUML einzeln beschrieben. Dabei werden die Metamodelle der Sprachen erklärt und die Programmierschnittstellen vorgestellt. Im Anschluss werden Unterschiede und Gemeinsamkeiten von grUML und Ecore erläutert und auf dieser Grundlage eine Abbildung definiert. Außerdem werden Anforderungen an die Implementierung der Transformation festgehalten. Danach folgen verschiedene Details zur Realisierung. Zum Schluss wird mit Hilfe einiger Beispiele gezeigt, welche Ergebnisse durch die Transformation entstehen.
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)
Zusammenfassung
Lokalisierungsdienste gehören mit zu den wesentlichen Merkmalen moderner mobiler Endgeräte. Neben der Tatsache, dass Standortdaten zur Rekonstruktion eines Bewegungsprofils genutzt werden können, steigt der Anteil der zu untersuchenden Geräten mit entsprechender Ausstattung im Rahmen von polizeilichen Ermittlungen enorm an.
Motivation
Ziel dieser Arbeit ist es, tiefergehendes Wissen um Geolokalisierungsfragen im Bereich der Mobilfunkforensik aufzubauen, um die in den Geräten gespeicherten Standortdaten forensisch auswertbar zu machen. Darüber hinaus sollen Werkzeuge entwickelt werden, die die spezifischen Bedürfnisse der Strafverfolgungsbehörden berücksichtigen.
Probleme
Die Prozesse der Geolokalisierung in Smartphones sind komplex. Um seine Position zu lokalisieren zu können, müssen verschiedene Referenzsysteme wie z. B. GPS, Funkzellen oder WLAN-hotspots in unterschiedlicher Art und Weise verknüpft werden. Der gesamte Lokalisierungsmechanismus ist geistiges Eigentum der Hersteller und nicht mit dem Ziel forensischer Auswertungen entstanden. Ein grundlegendes Problem der forensischen Untersuchung ist, dass hauptsächlich Referenzpunkte anstelle reeller Gerätepositionen gespeichert werden. Darüber hinaus bestehen die Geolokalisierungsinformationen aus Bits und Bytes bzw. numerischen Werten, die zuverlässig an ihre Bedeutung geknüpft werden müssen. Die gewonnenen Lokalisierungsdaten sind ferner lückenhaft und stellen lediglich einen Teil des gesamten Prozesses bzw. der Gerätenutzung dar. Dieser Datenverlust muss bestimmt werden, um eine zuverlässige Aussage hinsichtlich der Vollständigkeit, Integrität und Genauigkeit der Daten zu ermöglichen. Zu guter Letzt muss, wie für jedes Beweismittel einer kriminalistischen Untersuchung, gesichert sein, dass eine Manipulation der Daten bzw. Fehler bei der Positionsschätzung des Gerätes keinen nachteiligen Einfluss auf die Auswertung haben.
Forschungsfragen
Im Zusammenhang mit Lokalisierungsdiensten in modernen Smartphones kommt es im forensischen Alltag immer wieder zu ähnlichen Fragestellungen:
* Lassen sich Standorte zu jedem beliebigen Zeitpunkt ermitteln?
* Wie genau sind die ermittelten Geodaten des Smartphones?
* Werden Standortdaten aus Smartphones vor Gericht Bestand haben?
Forschungsansatz
Zur besseren Nachvollziehbarkeit der Prozesse in modernen Smartphones und um die Qualität und Zuverlässigkeit von Geolokalisierungsdaten zu bewerten, sollen Standortdaten verschiedener Plattformen sowohl theoretisch analysiert als auch praktisch während der Lokalisierung betrachtet werden. Der Zusammenhang zwischen Daten und Entstehungskontext wird mithilfe experimenteller Live-Untersuchungen sowie Desktop- und nativen Anwendungen auf den mobilen Endgeräten untersucht werden.
Ergebnis
Im Rahmen dieser Arbeit konnten mithilfe der entwickelten Werkzeuge die forensische Untersuchung verbessert sowie die analytische Interpretation von Geodaten von- bzw. direkt auf modernen Smartphones durchgeführt werden. Dabei hat sich ein generisches Modell zur Beurteilung der Qualität von Standortdaten herauskristallisiert, das sich allgemein auf die ermittelten Geodaten aus mobilen Endgeräten anwenden lässt.
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.
Paketmanager für Quellcode wie zum Beispiel Cabal verwalten unter anderem die Abhängigkeiten zwischen Paketen. Softwareprojekte nutzen jedoch selten sämtliche Funktionalitäten, die ihre Abhängigkeiten bereitstellen. Das führt zur unnötigen Kompilation unbenutzter Code-Fragmente und zu vermeintlichen Versionskonflikten, wo gar keine Konflikte sind. In zwei Fallstudien zeigen wir, wie relevant diese zwei Probleme sind. Danach beschreiben wir, wie wir sie vermeiden können, indem wir Abhängigkeiten nicht zwischen ganzen Paketen, sondern zwischen einzelnen Code-Fragmenten feststellen.
Echzeitbetriebssysteme für Systeme mit gemischten Kritikalitäten müssen unterschiedliche Arten von Software, wie z.B. Echtzeitanwendungen und Allzweckanwendungen, gleichzeitig unterstützen. Dabei müssen sie eine solide räumliche und zeitliche Isolation zwischen unabhängigen Softwarekomponenten bieten. Daher fokussieren sich aktuelle Echtzeitbetriebssysteme hauptsächlich auf Vorhersagbarkeit und ein berechenbares Worst-Case-Verhalten.
Allerdings bieten Allzweck-Betriebssysteme wie Linux häufig effizientere, aber weniger deterministische Mechanismen, welche die durchschnittliche Ausführungszeit signifikant erhöhen. Diese Thesis befasst sich mit der Kombination der beiden gegensätzlichen Anforderungen und zeigt Mechanismen zur Thread-Synchronisation mit einem effizienten Durchschnittsverhalten, ohne jedoch die Vorhersagbarkeit und das Worst-Case-Verhalten zu beeinträchtigen. Diese Thesis untersucht und bewertet den Entwurfsraum von Abkürzungen (engl. fast paths) bei der Umsetzung von typischen blockierenden Synchronisationsmechanismen wie Mutexen, Bedingungsvariablen, Zähl-Semaphoren, Barrieren oder Nachrichtenwarteschlangen. Der Ansatz ist dabei, unnötige Systemaufrufe zu vermeiden. Systemaufrufe haben im Vergleich zu anderen Prozessoroperationen, die im Benutzermodus verfügbar sind, wie z.B. atomaren Operationen, höhere Kosten. Insbesondere erforscht die Thesis Futexe, ein aktuelles Design für blockierende Synchronisationsmechanismen in Linux, welches den konkurrenzfreien Fall der Synchronisierung mithilfe atomarer Operationen im Benutzermodus löst und den Kern nur aufruft, um Threads zu suspendieren und aufzuwecken. Die Thesis untersucht auch nicht-unterbrechbare Monitore mit aktivem Warten. Dort wird ein effizienter Mechanismus mit Prioritätsschranken verwendet, um das sogenannte Lock-Holder-Preemption-Problem ohne Systemaufrufe zu vermeiden. Ebenfalls werden passende niedere Kernprimitive beschrieben, die effiziente Warte- und Benachrichtigungsoperationen ermöglichen. Die Evaluation zeigt, dass die vorgestellten Ansätze die durchschnittliche Leistung vergleichbar zu aktuellen Ansätzen in Linux verbessern. Gleichzeitig zeigt eine Analyse des Worst-Case Zeitverhaltens, dass die Ansätze nur konstante oder begrenzte zeitliche Mehraufwände auf der Ebene des Betriebssystemkerns benötigen. Die Nutzung dieser Abkürzungen ist ein lohnender Ansatz für den Entwurf von Systemen, die nicht nur Echtzeitanforderungen erfüllen, sondern auch Allzweckanwendungen gut unterstützen sollen.
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.
Da Software heute nahezu alle Bereiche des Alltags durchdringt, ist Sicherheit von Softwaresystemen ein wichtigeres Anliegen als je zuvor. Die Sicherheit eines Softwaresystems zu bewerten stellt in der Praxis jedoch eine Herausforderung dar, da nicht viele Metriken existieren, die Sicherheitseigenschaften von Sourcecode auf Zahlenwerte abbilden. Eine geläufige Annahme ist, dass das Auftreten von Sicherheitslücken in Korrelation mit der Qualität von Software-Designs steht, allerdings fehlt es momentan an klaren Belegen für diese Annahme. Der Nachweis einer vorhandenen Korrelation kann dazu beitragen die Messung von Programmsicherheit zu optimieren, da man dann gezielt Qualitätsmetriken zum Messen von Sicherheit einsetzen könnte. Zu diesem Zweck wurden in dieser Arbeit für 50 Android-Apps aus dem Open Source-Bereich drei Sicherheits- und sieben Qualitätsmetriken, sowie Korrelationen zwischen diesen Metriken berechnet. Bei den Qualitätsmetriken handelt es sich um einfache Code-Metriken bis hin zu High-Level-Metriken, wie objektorientierte Antipatterns, die zusammen ein umfassendes Bild der Qualität vermitteln. Um die Sicherheit darzustellen wurden zwei Sichtbarkeitsmetriken zusammen mit einer Metrik, die die minimale Rechteanforderung mobiler Applikationen berechnet, ausgewählt. Es wurde festgestellt, dass auf Basis der betrachteten Evaluationsprojekte deutliche Korrelationen zwischen den meisten Qualitätsmetriken liegen. Zu den Sicherheitsmetriken wurden dahingegen keine signifikanten Korrelationen gefunden. Es werdendiese Korrelationen und deren Ursachen diskutiert und auf dieser Basis Empfehlungen formuliert.
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)
Neben der fortschreitenden Automatisierung im innerbetrieblichen Warenverkehr ist auch die Automatisierung in ausgewählten Bereichen des ausserbetrieblichen Waren- und Güterverkehrs erstrebenswert. Durch den Einsatz von fahrerlosen Lkw-Gespannen auf Speditionshöfen kann die ökonomische Effizienz, der dort anfallenden Abläufe, erheblich erhört werden. Insbesondere werden dazu präzise Regelungsverfahren benötig, die auch für Sattelzüge ein exaktes Abfahren vorgegebener Wege gewährleisten. Das allgemeine Ziel dieser Arbeit ist die Adaption und Evaluation eines Regelverfahrens zur Pfadverfolgung für Sattelzuggespanne. Die Unterschiede im kinematischen Verhalten zwischen LKW mit einem einachsigen Starrdeichselanhänger und Sattelzügen herausgearbeitet werden. Im Weiteren werden die charakteristischen kinematischen Eigenschaften von Sattelzügen bei der Adaption eines Regelverfahrens berücksichtigt, das zunächst speziell für Fahrzeuge mit Starrdeichselanhänger konzipiert wurde. Das Regelungsverfahren zur Pfadverfolgung muss sowohl für vorwärts als auch rückwärtsgerichtete Fahrmanöver geeignet sein. Das Regelungsverfahren wird als abgeschlossene Komponente in die Steuersoftware eines Modellfahrzeugs integriert. Dazu werde für die Geometrie des Modellfahrzeugs spezifische mit dem Ziel, Grenzen möglicher Regelabweichungen zu bestimmen. Die Arbeit dokumentiert darüber hinaus die zentralen Softwarekomponenten des implementierten Regelungsverfahrens
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.