Filtern
Dokumenttyp
- Dissertation (5)
- Masterarbeit (4)
- Bachelorarbeit (2)
- Ausgabe (Heft) zu einer Zeitschrift (2)
- Studienarbeit (1)
Sprache
- Englisch (14) (entfernen)
Schlagworte
- model-based (3)
- Abduktion <Logik> (1)
- BPMN (1)
- Bayes-Netz (1)
- Bayesian Networks (1)
- Computersimulation (1)
- Data protection (1)
- Datenschutz (1)
- Diagnose (1)
- Diagnosis (1)
Institut
- Institut für Softwaretechnik (14) (entfernen)
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.
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.
In IT-Systemen treten viele Datenschutzrisiken auf, wenn Datenschutzbedenken in den frühen Phasen des Entwicklungsprozesses nicht angemessen berücksichtigt werden. Die Datenschutz-Grundverordnung (DSGVO) schreibt das Prinzip des Datenschutz durch Technikgestaltung (PbD) vor. PbD erfordert den Schutz personenbezogener Daten von Beginn des Entwicklungsprozesses an, durch das frühzeitige Integrieren geeigneter Maßnahmen. Bei der Realisierung von PbD ergeben sich nachfolgende Herausforderungen: Erstens benötigen wir eine präzise Definition von Datenschutzbedenken. Zweitens müssen wir herausfinden, wo genau in einem System die Maßnahmen angewendet werden müssen. Drittens ist zur Auswahl geeigneter Maßnahmen, ein Mechanismus zur Ermittlung der Datenschutzrisiken erforderlich. Viertens müssen bei der Auswahl und Integration geeigneter Maßnahmen, neben den Risiken, die Abhängigkeiten zwischen Maßnahmen und die Kosten der Maßnahmen berücksichtigt werden.
Diese Dissertation führt eine modellbasierte Methodik ein, um die oben genannten Herausforderungen zu bewältigen und PbD zu operationalisieren. Unsere Methodik basiert auf einer präzisen Definition von Datenschutzbedenken und umfasst drei Untermethodiken: modellbasierte Datenschutzanalyse, modellbasierte Datenschutz-Folgenabschätzung und datenschutzfreundliche Systemmodellierung. Zunächst führen wir eine Definition für Datenschutzpräferenzen ein, anhand derer die Datenschutzbedenken präzisiert werden können und überprüft werden kann, ob die Verarbeitung personenbezogener Daten autorisiert ist. Zweitens präsentieren wir eine modellbasierte Methodik zur Analyse eines Systemmodells. Die Ergebnisse dieser Analyse ergeben die Menge der Verstöße gegen die Datenschutzpräferenzen in einem Systemmodell. Drittens führen wir eine modellbasierte Methode zur Datenschutzfolgenabschätzung ein, um konkrete Datenschutzrisiken in einem Systemmodell zu identifizieren. Viertens schlagen wir in Bezug auf die Risiken, Abhängigkeiten zwischen Maßnahmen und Kosten der Maßnahmen, eine Methodik vor, um geeignete Maßnahmen auszuwählen und in ein Systemdesign zu integrieren. In einer Reihe von realistischen Fallstudien bewerten wir unsere Konzepte und geben einen vielversprechenden Ausblick auf die Anwendbarkeit unserer Methodik in der Praxis.
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.
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.
Mapping ORM to TGraph
(2017)
Object Role Modeling (ORM) is a semantic modeling language used to describe objects and their relations amongst each other. Both objects and relations may be subject to rules or ORM constraints.
TGraphs are ordered, attributed, typed and directed graphs. The type of a TGraph and its components, the edges and vertices, is defined using the schema language graph UML (grUML), a profiled version of UML class diagrams. The goal of this thesis is to map ORM schemas to grUML schemas in order to be able to represent ORM schema instances as TGraphs.
Up to this point, the preferred representation for ORM schema instances is in form of relational tables. Though mappings from ORM schemas to relational schemas exist, those publicly available do not support most of the constraints ORM has to offer.
Constraints can be added to grUML schemas using the TGraph query language GReQL, which can efficiently check whether a TGraph validates the constraint or not. The graph library JGraLab provides efficient implementations of TGraphs and their query language GReQL and supports the generation of grUML schemas.
The first goal of this work is to perform a complete mapping from ORM schemas to grUML schemas, using GReQL to sepcify constraints. The second goal is to represent ORM instances in form of TGraphs.
This work gives an overview of ORM, TGraphs, grUML and GReQL and the theoretical mapping from ORM schemas to grUML schemas. It also describes the implementation of this mapping, deals with the representation of ORM schema instances as TGraphs and the question how grUML constraints can be validated.
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.
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.
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.
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
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.
In recent years, traceability has been more and more universally accepted as being a key factor for the success of software development projects. However, the multitude of different, not well-integrated taxonomies, approaches and technologies impedes the application of traceability techniques in practice. This paper presents a comprehensive view on traceability, pertaining to the whole software development process. Based on graph technology, it derives a seamless approach which combines all activities related to traceability information, namely definition, recording, identification, maintenance, retrieval, and utilization in one single conceptual framework. The presented approach is validated in the context of the ReDSeeDS-project aiming at requirements-based software reuse.
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.