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)
Das Hauptziel dieser Studienarbeit war die Entwicklung eines Überführungstools, das sowohl den Repository Inhalt eines EA Projektes in einen TGraphen als auch einen TGraphen in ein EA Projekt überführen kann. Außerdem sollte das application programming interface des Enterprise Architects analysiert und beschrieben werden. Diese beiden Ziele konnten erfüllt werden und wurden in den vorherigen Kapiteln beschrieben. Zusätzlich beinhaltet die Studienarbeit noch eine Beschreibung und ein Anwendungsbeispiel zu JGraLab.
Im Rahmen dieser Arbeit wurden die zeitbewerteten Prädikat/Transitions-Netze (Z-Pr/T-Netze) zur Modellierung, Simulation und Verifikation sicherheitskritischer Echtzeitsysteme entwickelt. Z-Pr/T-Netze integrieren Konzepte zur Modellierung temporärer Zusammenhänge und sind darüber hinaus mittels der Berechnung von S- und T-Invarianten sowie der Identifikation von Traps und Co-Traps strukturell analysierbar. Die Eignung von Z-Pr/T-Netzen zur Modellierung, Simulation und Verifikation komplexer Systeme aus dem Anwendungsbereich sicherheitskritischer Echtzeitsysteme wird anhand des Earliest-Deadline-First-Protokolls (EDF) und des Priority-Inheritance-Protokolls (PIP) belegt. Es erfolgt daher eine Modellierung des EDF und PIP mittels Z-Pr/T-Netzen sowie eine Verifikation für das EDF und PIP basierend auf der strukturellen Analyse der korrespondierenden Z-Pr/T-Netze. Die Anwendbarkeit struktureller Analyseverfahren zur Verifikation des EDF und PIP in Verbindung mit der nicht zu unterschätzenden Komplexität eben dieser belegen die Anwendbarkeit von Z-Pr/T-Netzen zur Modellierung, Simulation und Verifikation komplexer Systeme aus dem Anwendungsbereich sicherheitskritischer Echtzeitsysteme.
Workflows und Logik
(2009)
In dieser Arbeit wurde gezeigt, wie die Netzdarstellung eines Workflows in eine aktionslogische, prädikatenlogische, transaktionslogische oder aktionslogische Formel umgeformt werden kann. Ebenso wurde der umgekehrte Weg beschrieben. So ist es jetzt möglich, Workflows auch mit Hilfe der verschiedenen Inferenztechniken der einzelnen Logiken zu untersuchen. Bei der Transformation wurden allerdings einige Einschränkungen getroffen. So wurde auf die Transformation von Quantoren sowie auf Zykel in den zu transformierenden Workflow-Netzen verzichtet. Außerdem wurden die möglichen Kantenlabels von pr/t-Netzen zur Umwandlung in eine prädikatenlogische Darstellung auf einzelne Tupel beschränkt.
Im Rahmen der Studienarbeit wurde ein webbasiertes Informationssystem für die neuen Bachelor- und Masterstudiengänge des Fachbereichs Informatik an der Universität Koblenz-Landau entwickelt. Dieses System dient i.A. der Visualisierung und der (Online)-Editierung des Modulhandbuchs. Die Studienarbeit selbst beschreibt die Vorgehensweise bei der Systemumsetzung. Sie beschreibt die Phasen der Anforderungserhebung, der Modellierung, der Implementierung und des Testens.
Im Rahmen dieser Arbeit wurde die Effizienz von Anfragen an OWL-Ontologien und Anfragen an TGraphen evaluiert. Dabei wurden die zwei unterschiedlichen Transformationsverfahren Schema-Aware Mapping und Simple Mapping getestet. Bei der Transformation einer OWL-Ontologie in einen TGraphen über Schema-Aware Mapping werden ein TGraph-Schema und ein TGraph erzeugt. Im Gegensatz zu Schema-rnAware Mapping besitzt Simple Mapping ein schon vordefiniertes TGraph-Schema, das für alle OWLOntologien anwendbar ist. Damit wird bei der Transformation einer OWL-Ontologie in einen TGraphen über Simple Mapping nur ein TGraph - kein TGraph-Schema - generiert. Mit den Verfahren wurden entsprechend auch SPARQL-Anfragen in GReQL-Anfragen transformiert.
Für die Entwicklung sicherer Softwaresysteme erweitert UMLsec die UML durch die Definition von Sicherheitsanforderungen, die erfüllt sein müssen. In Klassendiagrammen können Attribute und Methoden von Klassen Sicherheitseigenschaften wie secrecy oder integrity haben, auf die nicht authorisierte Klassen keinen Zugriff haben sollten. Vererbungen zwischen Klassen erzeugen eine Komplexität und werfen die Frage auf, wie man mit der Vererbung von Sicherheitseigenschaften umgehen sollte. Neben der Option in sicherheitskritischen Fällen auf Vererbungen zu verzichten, gibt es im Gebiet der objektorientierten Datenbanken bereits viele allgemeine Recherchen über die Auswirkungen von Vererbung auf die Sicherheit. Das Ziel dieser Arbeit ist es, Ähnlichkeiten und Unterschiede von der Datenbankseite und den Klassendiagrammen zu identifizieren und diese Lösungsansätze zu übertragen und zu formalisieren. Eine Implementierung des Modells evaluiert, ob die Lösungen in der Praxis anwendbar sind.
The STOR project aims at the development of a scientific component system employing models and knowledge for object recognition in images. This interim report elaborates on the requirements for such a component system, structures the application area by identifying a large set of basic operations, and shows how a set of appropriate data structures and components can be derived. A small case studies exemplifies the approach.
TGraphBrowser
(2010)
Im Rahmen dieser Arbeit wird ein Webserver implementiert, mit dem man sich Graphen, die mit Hilfe des Java-Graphenlabors (JGraLab) erzeugt wurden, in einem Browser anzeigen lassen kann. Es werden dem Nutzer eine tabellarische und eine graphische Darstellung des Graphen angeboten. In jeder der beiden Darstellungsarten ist das Navigieren durch den Graphen möglich. Um Graphen mit mehreren tausend Elementen für den Nutzer überschaubarer zu machen, können die angezeigten Kanten und Knoten nach ihren Schematypen gefiltert werden. Ferner kann die dargestellte Menge an Graphelementen durch eine GReQL-Anfrage oder durch explizite Angabe bestimmt werden.
Wurden Echtzeitanwendungen früher meist auf hochspezialisierter Hardware und mit eigens dafür entwickelten Betriebssystemen ausgeführt, so wird heutzutage oft auch handelsübliche Hardware eingesetzt, auf dem eine Variante des Linux-Kernels läuft.
Im Rahmen dieser Arbeit wurden Testverfahren aufgestellt und in Form einer Echtzeitanwendung implementiert, welche verschiedene Leistungsmerkmale des Linux-Kernels im Hinblick auf dessen Echtzeitfähigkeit messen.
Diese Tests wurden auf drei verschiedenen Kernel-Versionen ausgeführt. Anschließend wurden die Ergebnisse der Testreihen miteinander verglichen.
Im Rahmen dieser Arbeit wird eine Clusteranalyse-Umgebung durch Kopplung bestehender Lösungen entwickelt. Um Clusteranalysen auf Softwareelementen durchführen zu können, wird eine Software zur Clusteranalyse an das bestehende Reverse Engineering Tool GUPRO zur Extraktion von Informationen aus Softwareartefakten, wie z.B. Quellcode-Dateien, gekoppelt. Die entstehende Clusteranalyse-Umgebung soll alle Services einer Clusteranalyse auf Softwareelementen unter einer Oberfläche vereinen. Wichtiger Bestandteil der Arbeit ist sowohl die Aufbereitung der theoretischen Grundlagen der Clusteranalyse mit Blickpunkt auf das Softwareclustering, als auch ein strukturierter Auswahlprozess der für die zu entwickelnde Umgebung verwendeten Software zur Clusteranalyse. Letztendlich soll der Funktionalitätsumfang der Clusteranalyse-Umgebung auf ein im Voraus, in Form einer Anforderungsdefinition, festgelegtes Maß angehoben werden.
101worker ist die modulare Wissensverarbeitungskomponente des 101companies-Projektes. Durch organisches Wachstum des Systems, statt Beachtung von bewährten Software-Design-Prinzipien, haben sich Wartungs- und Leistungsprobleme entwickelt. Diese Arbeit beschreibt diese Probleme, entwirft Anforderungen für das Refactoring des Systems und beschreibt und analysiert schließlich die resultierende Implementierung. Die Lösung involviert die Zusammenfassung von verstreuten und redundanten Informationen, aufsetzen von Unit- und funktionalen Test-Suiten und Inkrementalisierung der Busarchitektur von 101worker.
Softwaresysteme haben einen zunehmenden Einfluss auf unser tägliches Leben. Viele Systeme verarbeiten sensitive Daten oder steuern wichtige Infrastruktur, was die Bereitstellung sicherer Software unabdingbar macht. Derartige Systeme werden aus Aufwands- und Kostengründen selten erneuert. Oftmals werden Systeme, die zu ihrem Entwurfszeitpunkt als sicheres System geplant und implementiert wurden, deswegen unsicher, weil sich die Umgebung dieser Systeme ändert. Dadurch, dass verschiedenste Systeme über das Internet kommunizieren, sind diese auch neuen Angriffsarten stetig ausgesetzt. Die Sicherheitsanforderungen an ein System bleiben unberührt, aber neue Erkenntnisse wie die Verwundbarkeit eines zum Entwurfszeitpunkt als sicher geltenden Verschlüsselungsalgorithmus erzwingen Änderungen am System. Manche Sicherheitsanforderungen können dabei nicht anhand des Designs sondern nur zur Laufzeit geprüft werden. Darüber hinaus erfordern plötzlich auftretende Sicherheitsverletzungen eine unverzügliche Reaktion, um eine Systemabschaltung vermeiden zu können. Wissen über geeignete Sicherheitsverfahren, Angriffe und Abwehrmechanismen ist grundsätzlich verfügbar, aber es ist selten in die Softwareentwicklung integriert und geht auf Evolutionen ein.
In dieser Arbeit wird untersucht, wie die Sicherheit langlebiger Software unter dem Einfluss von Kontext-Evolutionen bewahrt werden kann. Der vorgestellte Ansatz S²EC²O hat zum Ziel, die Sicherheit von Software, die modellbasiert entwickelt wird, mithilfe von Ko-Evolutionen wiederherzustellen.
Eine Ontologie-basierende Wissensbasis wird eingeführt, die sowohl allgemeines wie auch systemspezifisches, sicherheitsrelevantes Wissen verwaltet. Mittels einer Transformation wird die Verbindung der Wissensbasis zu UML-Systemmodellen hergestellt. Mit semantischen Differenzen, Inferenz von Wissen und der Erkennung von Inkonsistenzen in der Wissensbasis werden Kontext-Evolutionen erkannt.
Ein Katalog mit Regeln zur Verwaltung und Wiederherstellung von Sicherheitsanforderungen nutzt erkannte Kontext-Evolutionen, um mögliche Ko-Evolutionen für das Systemmodell vorzuschlagen, welche die Einhaltung von Sicherheitsanforderungen wiederherstellen.
S²EC²O unterstützt Sicherheitsannotationen, um Modelle und Code zum Zwecke einer Laufzeitüberwachung zu koppeln. Die Adaption laufender Systeme gegen Bedrohungen wird ebenso betrachtet wie Roundtrip-Engineering, um Erkenntnisse aus der Laufzeit in das System-Modell zu integrieren.
S²EC²O wird ergänzt um eine prototypische Implementierung. Diese wird genutzt, um die Anwendbarkeit von S²EC²O im Rahmen einer Fallstudie an dem medizinischen Informationssystem iTrust zu zeigen.
Die vorliegende Arbeit leistet einen Beitrag, um die Entwicklung und Wartung langlebiger Softwaresysteme in Bezug auf ihre Sicherheit zu begleiten. Der vorgestellte Ansatz entlastet Sicherheitsexperten bei ihrer Arbeit, indem er sicherheitsrelevante Änderungen des Systemkontextes erfasst, den Einfluss auf die Sicherheit der Software prüft und Ko-Evolutionen zur Bewahrung der Sicherheitsanforderungen ermöglicht.
Program slicing
(2008)
Im Rahmen dieser Diplomarbeit wird das Dienstmodell für Program Slicing, welches von Hannes Schwarz vorgestellt wurde, zu einem komponentenbasierten Referenztool weiterentwickelt und implementiert. Dieses Referenztool verwendet zum Slicen ein Referenzschema für Programmiersprachen, welches ebenfalls in dieser Arbeit eingeführt wird. Die hier eingesetzten Slicing-Verfahren basieren auf diesem Referenzschema. Somit kann das Referenztool als Grundlage zum Slicen von Quellcode in beliebigen Programmiersprachen genutzt werden, wenn das Referenzschema vorab an die Gegebenheiten dieser Sprachen angepasst wird. Exemplarisch wird in dieser Diplomarbeit ein Program Slicing Tool für C-Quellcode entwickelt. Dieses Slicing Tool basiert auf dem Referenztool, in dem es die einzelnen Komponenten des Referenztools bei Bedarf spezialisiert oder in der ursprünglichen Form übernimmt. Damit das Program Slicing Tool als Referenz gelten kann, wird in dieser Arbeit eine einfache, erweiterbare und komponentenbasierte Architektur entwickelt. Diese entsteht durch den Einsatz aktueller Prinzipien der Softwaretechnik.
Die Workshop-Reihe 'Algorithmen und Werkzeuge für Petrinetze' wurde 1994 mit dem Ziel initiiert, in der deutschsprachigen Petrinetz-Community den fachlichen Austausch und die inhaltliche Zusammenarbeit zwischen den mit der Entwicklung und Analyse von Algorithmen beschäftigten Arbeitsgruppen und den im Bereich der Implementierung von Werkzeugen tätigen Arbeitsgruppen zu fördern. Der vorliegende Sammelband enthält die Vorträge, die auf dem Workshop präsentiert worden sind. Um auch die Vorstellung von noch unfertigen Ideen oder von in Entwicklung befindlichen Werkzeugen zu ermöglichen, fand wie in den vergangenen Jahren kein formaler Begutachtungsprozess statt. Die eingereichten Beiträge wurden lediglich auf ihre Relevanz für das Workshop-Thema hin geprüft.
Probability propagation nets
(2008)
In der vorliegenden Arbeit wird eine Petri-Netz-Repräsentation für die Propagation von Wahrscheinlichkeiten und Evidenzen (Likelihoods) vorgestellt und auf probabilistische Horn-Abduktion sowie Fehlerbäume und Bayes-Netze angewendet. Diese sogenannten Wahrscheinlichkeits-Propagations-Netze (probability propagation nets) machen Propagations-Prozesse transparent, indem sie strukturelle und dynamische Aspekte in einer homogenen Darstellung vereinen. Anhand populärer Beispiele wird verdeutlicht, dass Wahrscheinlichkeits-Propagations-Netze die Propagations-Prozesse - besonders im Hinblick auf die Bayes-Netz-Algorithmik - anschaulich darstellen und gut nachvollziehbar machen, so dass sie sich für die Analyse und Diagnose probabilistischer Modelle eignen. Durch die Repräsentation von Fehlerbäumen mit Wahrscheinlichkeits-Propagations-Netzen können diese Vorzüge auf die Modellierung technischer Systeme übertragen werden.
Over the past few decades society’s dependence on software systems has grown significantly. These systems are utilized in nearly every matter of life today and often handle sensitive, private data. This situation has turned software security analysis into an essential and widely researched topic in the field of computer science. Researchers in this field tend to make the assumption that the quality of the software systems' code directly affects the possibility for security gaps to arise in it. Because this assumption is based on properties of the code, proving it true would mean that security assessments can be performed on software, even before a certain version of it is released. A study based on this implication has already attempted to mathematically assess the existence of such a correlation, studying it based on quality and security metric calculations. The present study builds upon that study in finding an automatic method for choosing well-fitted software projects as a sample for this correlation analysis and extends the variety of projects considered for the it. In this thesis, the automatic generation of graphical representations both for the correlations between the metrics as well as for their evolution is also introduced. With these improvements, this thesis verifies the results of the previous study with a different and broader project input. It also focuses on analyzing the correlations between the quality and security metrics to real-world vulnerability data metrics. The data is extracted and evaluated from dedicated software vulnerability information sources and serves to represent the existence of proven security weaknesses in the studied software. The study discusses some of the difficulties that arise when trying to gather such information and link it to the difference in the information contained in the repositories of the studied projects. This thesis confirms the significant influence that quality metrics have on each other. It also shows that it is important to view them together as a whole and suppose that their correlation could influence the appearance of unwanted vulnerabilities as well. One of the important conclusions I can draw from this thesis is that the visualization of metric evolution graphs, helps the understanding of the values as well as their connection to each other in a more meaningful way. It allows for better grasp of their influence on each other as opposed to only studying their correlation values. This study confirms that studying metric correlations and evolution trends can help developers improve their projects and prevent them from becoming difficult to extend and maintain, increasing the potential for good quality as well as more secure software code.
Datenflussmodelle in der Literatur weisen oftmals einen hohen Detailgrad auf, der sich auf die auf den Modellen durchgeführten Datenflussanalysen überträgt und diese somit schwerer verständlich macht. Da ein Datenflussmodell, das von einem Großteil der Implementierungsdetails des modellierten Programms abstrahiert, potenziell leichter verständliche Datenflussanalysen erlaubt, beschäftigt sich die vorliegende Masterarbeit mit der Spezifikation und dem Aufbau eines stark abstrahierten Datenflussmodells und der Durchführung von Datenflussanalysen auf diesem Modell. Das Modell und die darauf arbeitenden Analysen wurden testgetrieben entwickelt, sodass ein breites Spektrum möglicher Datenflussszenarien abgedeckt werden konnte. Als konkrete Datenflussanalyse wurde unter anderem eine statische Sicherheitsprüfung in Form einer Erkennung unzureichender Nutzereingabenbereinigungen durchgeführt. Bisher existiert kein Datenflussmodell auf einer ähnlich hohen Abstraktionsebene. Es handelt sich daher um einen einzigartigen Lösungsentwurf, der Entwicklern die Durchführung von Datenflussanalysen erleichtert, die keine Expertise auf diesem Gebiet haben.
Im Rahmen dieser Diplomarbeit wird erforscht, wie bestehende Tools zur Berechnung von Softwaremetriken über COBOL-Quelltexte mit den vorhandenen Entwicklerwerkzeugen der Debeka Versicherungsgruppe interoperabel gemacht werden können. Der Text richtet sich primär an Leser aus dem Bereich der Informatik. Zum Verständnis wird ein Wissensstand vergleichbar dem eines Informatikers mit abgeschlossenem Bachelorstudium oder Vordiplom vorausgesetzt.