Seminar über fortgeschrittene Themen im Software Engineering 2011
| Dozent(in): | Hella Seebach, Florian Nafz |
| Termin: | Vorbesprechung am 3.5. 11:30 Uhr, Blockseminar am 21./22. Juni |
| Gebäude/Raum: | 3018 |
Dieses Jahr werden in dem Seminar aktuelle Themen aus dem Bereich selbst-organisierender, vertrauenswürdiger Systeme behandelt. Am 3. Mai findet das KickOff-Meeting statt, in dem der Kontext des Seminars und die einzelnen, zu bearbeitenden Themen vorgestellt werden. Nach der Vorstellung der Themen könnt ihr euch in einer Liste für drei Wunschthemen eintragen und wir werden anschließend die Themenvergabe durchführen.
Folgende Themen stehen zur Auswahl:
-
The Trust Analysis Pattern (Betreuer: Hella Seebach)
Für viele Bereiche in der Softwareentwicklung wurden Pattern entwickelt, um die Wiederverwendbarkeit von Ideen und Konzepten für "gutes" Design zu erhöhen. Trust ist unter anderem bei Anwendungen aus dem Bereich des elektronischen Handels ein wichtiger Aspekt, der viele Anwendungen überhaupt erst ermöglicht bzw. Ihnen zu Erfolg verhilft. Im Rahmen der Seminararbeit soll ein Überblick über Trust im Bereich E-Commerce gegeben werden und anschließend das Pattern "The Trust Analysis Pattern" vorgestellt werden.- Kini, et al.: Trust in Electronic Commerce: Definition and Theoretical Considerations
- Fayad, et al.: The Trust Analysis Pattern
-
The Chinese Wall Pattern (Betreuer: Hella Seebach)
Die "Chinese Wall Security Policy" wurde entwickelt, um Zugriffe auf Daten zu beschränken. Es dient der Kategorisierung der Daten in "Conflict of Interest"-Gruppen und der damit verbundenen Zugriffsverwaltung. Das daraus abgeleitete Pattern kann jedoch auch in verschiedenen anderen Bereichen eingesetzt werden. In der Seminararbeit soll das Pattern vorgestellt werden sowie dessen Einsatz in virtuellen Organisationen im Grid. Des Weiteren sind hier Themen wie "Goal Refinement" und nachweisbare Korrektheit des Patterns relevant. -
Systems Engineering: Überblick, Methoden und Architekturen (Betreuer: Jan-Philipp Steghöfer)
Das Design komplexer technischer Systeme erfordert einen interdisziplinären Ansatz, der im Systems Engineering auch verfolgt wird. Anhand des INCOSE Systems Engineering Handbook und dem NASA Systems Engineering Handbook sollen in der Seminararbeit wesentliche Unterschiede zwischen klassischem Software Engineering und Systems Engineering ausgearbeitet, einige der verwendeten Methoden kurz vorgestellt und geeignete Architekturen skizziert werden.
Literatur:- NASA Systems Engineering Handbook, National Aeronautics and Space Administration, 2007
- INCOSE Systems Engineering Handbook v3.2, International Council on Systems Engineering, 2010
-
Natur-inspirierter Entwurf von Systems of Systems (Betreuer: Jan-Philipp Steghöfer)
Große technische Systeme bestehen in vielen Fällen aus miteinander interagierenden, kleineren Systemen, die selbst einen klar definierten Zweck erfüllen und auch wieder aus einzelnen Teilsystemen zusammengesetzt sind. Solche Systems of Systems finden sich auch in der Natur, wo einzelne Lebewesen miteinander agieren, um zusammen z.B. einen Staat oder eine Kolonie zu formen, die dann wiederum Teil eines größeren Ökosystems ist. Im Rahmen der Seminararbeit soll die Übertragbarkeit solcher natürlicher Organisationsmechanismen anhand aktueller Beispiele aus der Literatur auf technische Systems of Systems untersucht werden.
Literatur:- Azani, C.H.: System of systems architecting via natural development principles. Proceedings of the International Conference on Systems of Systems Engineering (SoSE) 2008
- Moitra S. et al.: Analogies between structural and systems biology and systems-of-systems engineering in dynamic environments. Proceedings of the International Conference on Systems of Systems Engineering (SoSE) 2010
-
Laufzeitverifikation (Betreuer: Florian Nafz)
Selbst-organsierende Systeme haben das Ziel Entscheidungen von der Design in die Laufzeit zu verlagern. Bisher konnte die Korrektheit eines System zur Designzeit validiert bzw. verifiziert werden. Nun werden allerdings auch Techniken benötigt die Korrektheit zur Laufzeit sicherzustellen. In dieser Arbeit soll ein Überblick über das Gebiet der "Runtime Verification" gegeben werden. Hierzu gehört sowohl die Klärung des Begriffs "Runtime Verification" also auch ein Vergleich mir den bekannten Techniken zur Systemvaldierung und Verifikation.
Literatur:- M. Leucker. et al: A Brief Account of Runtime Verification. Journal of Logic and Algebraic Programming, Volume 78, Issue 5, May-June 2009,
-
Das IEEE Reliability Test System (Betreuer: Florian Nafz)
Das Reliability Test System des Institute of Electrical and Electronics Engineers (IEEE) wurde in den 70er Jahren entwickelt, um Methoden zur Evaluation der Zuverlässigkeit von Energiesystemen zu testen. Seitdem wurde es kontinuierlich weiterentwickelt und in zahlreichen Papieren als Fallbeispiel verwendet. Im Rahmen der Seminararbeit soll die Zielstellung, der Aufbau und die Verwendung des Systems anhand eines Beispiels demonstriert werden.
Literatur:- Grigg, C. et al.: The IEEE Reliability Test System-1996. A report prepared by the Reliability Test System Task Force of the Application of Probability Methods Subcommittee. IEEE Transactions on Power Systems, 1999
- Bruce, A.G.: Reliability analysis of electric utility SCADA systems. IEEE Transactions on Power Systems, 1998
-
Fehlerbaumanalyse für Energiesysteme (Betreuer: Florian Nafz)
Energiesysteme und Energiemanagement spielen in heutiger Zeit eine immer wichtigere Rolle. Die Fehlerbaumanalyse stellt ein wichtiges Werkzeug zur Analyse und Bewertung von sicherheitskritischen Systemen dar. Sie erlaubt zum Beispiel die Identifizierung von sogenannten single-point Fehlern (ein einzelner Fehler führt zum Ausfall). Im Rahmen dieser Arbeit soll die Fehlerbaumanalyse am Beispiel Eneregieverteilung erklärt werden.
Literatur:- Hong Y. et al.: Reliability assessment of generation and transmission systems using fault-tree analysis. Energy Conversion an Management, 50(11), 2009
- Volkanovski A. et al.: Application of the fault tree analysis for assessment of power system reliability. Reliability Engineering & System Safety, 94(6), 2009
-
Einsatz von Multi-Agenten-Systemen zur dezentralen Kontrolle von Stromverteilungsnetzen (Betreuer: Florian Siefert)
Ein Ansatz um das heutige Stromverteilungsnetz autonomer, adaptiver und stabiler zu machen, ist der Einsatz von Multi-Agenten-Systemen. So soll das Stromnetz beispielsweise in der Lage sein, sich selbst zu heilen. In dieser Seminararbeit sollen die Umsetzungsmöglichkeiten von Multi-Agenten-Systemen zur dezentralen Kontrolle von Stromverteilungsnetzen vorgestellt werden.
Literatur:- Armin, M.: Toward self-healing energy infrastructure systems. IEEE Computer Applications in Power, 2001
- Ioannis S. B. et al: Implementing Multiagent Systems Technology for Power Distribution Network Control and Protection Management. IEEE Transactions on Power Delivery, 2007
-
Einsatz von genetischen Algorithmen zur Optimierung unter Unsicherheit (Betreuer: Florian Siefert)
Genetische Algorithmen imitieren die natürliche Evolution und werden häufig in Such- oder Optimierungsproblemen eingesetzt. Die Anwendung von Optimierungsverfahren erweist sich jedoch als problematisch, wenn diese in Systemen mit großer Unsicherheit über die zukünftige Entwicklung eingesetzt werden und darüber hinaus auf Daten angewiesen sind, die versuchen, Aussagen über die zukünftige Entwicklung des Systems zu treffen. Im Rahmen dieser Seminararbeit soll der Einsatz von genetischen Algorithmen zur Optimierung unter Unsicherheit untersucht und vorgestellt werden.
Literatur:- Yoshitomi, Y. et al: Genetic Algorithm in Uncertain Environments for Solving Stochastic Programming Problem. Journal of the Operations Research Society of Japan, 2000
- Li, M. et al: A Multi-Objective Genetic Algorithm for Robust Design Optimization. Proceedings of the 2005 Conference on Genetic and Evolutionary Computation, 2005
-
Optimierung unter Unsicherheit mittels Particle Swarm Optimization (Betreuer: Gerrit Anders)
Die Idee der Particle Swarm Optimization ist es, einen Suchraum mit mehreren Einheiten (Partikeln) nach einer möglichst optimalen Lösung zu durchkämmen. Der Weg, den ein Partikel durch den Suchraum nimmt, hängt dabei von seiner aktuellen Position und von den Positionen der besten Lösungen, die er selbst bzw. der Schwarm gefunden hat, ab. In dieser Seminararbeit soll untersucht werden, wie sich Particle Swarm Optimization in Situationen einsetzen lässt, in welchen die zur Optimierung notwendigen Parameterwerte zum Teil nur ungenau vorliegen.
Literatur:- Pappala, V.S. et al: Power System Optimization under Uncertainties: a PSO Approach. Proceedings of the IEEE Swarm Intelligence Symposium, 2008
- Ono, S. et al: Multi-Objective Particle Swarm Optimization for Robust Optimization and its Hybridization with Gradient Search. Proceedings of the IEEE Congress on Evolutionary Computation, 2009
-
Coalition Formation unter Unsicherheit (Betreuer: Gerrit Anders)
Viele Systeme bestehen aus einer Menge unterschiedlicher, einfacher Agenten, die allein nicht in der Lage sind, komplexe Aufgaben zu lösen. Um trotzdem erfolgreich zu sein, müssen sie die Aufgaben kollaborativ bearbeiten, indem sich Agenten mit unterschiedlichen Fähigkeiten in sogenannten Coalitionen zusammenschließen. Dabei besteht das Interesse, Coalitionen zu formieren, die dem System einen möglichst großen Nutzen bringen. Dies wird erschwert, wenn nur unvollständige Informationen über die Agenten vorliegen (z.B. sind nicht immer alle Fähigkeiten der Agenten bekannt). Im Rahmen dieser Seminararbeit sollen existierende Ansätze zur Coalition Formation unter Unsicherheit untersucht und diskutiert werden.
Literatur:- Hooper, D.J. et al: Dynamic Coalition Formation Under Uncertainty. Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, 2009
- Kraus, S. et al: The Advantages of Compromising in Coalition Formation with Incomplete Information. Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems, 2004
Weitere Informationen zu Forschungsprojekten, die sich mit diesen Themen befassen sind unter SAVE ORCA und ForSa@OC-Trust zu finden.
Organisatorisches:
KickOff-Meeting 3.5.2011 11.30 Uhr Raum 3018 (Besprechungsraum)
Bitte meldet Euch für das Seminar bis zum 2.5. 18 Uhr bei Hella Seebach an. Im KickOff-Meeting wird eine Liste mit den Themen ausliegen, in der ihr euch für ein bestimmtes Thema eintragen könnt.
Das Seminar findet als Blockseminar am Dienstag den 21.06. und Mittwoch den 22.6 statt.
Anforderungen:
- Literaturrecherche zu dem gewählten Thema (hier ist Aktualität gefragt, es reicht nicht, nur Lehrbücher zu studieren).
- Ausarbeitung und Halten eines Vortrags/einer Präsentation (ca. 45 Minuten).
- schriftliche Ausarbeitung/Bericht (ca. 15 Seiten)
- aktive Teilnahme an den Vorträgen der anderen Teilnehmer.
Anmeldung bis zum 2.5.2011 per Mail an Hella Seebach
Teilnehmerzahl: Die Teilnehmerzahl ist auf 11 Personen begrenzt.
weitere Informationen zu der Lehrveranstaltung:
| empfohlenes Studiensemester der Lehrveranstaltung: | Hauptstudium |
| Fachrichtung Lehrveranstaltung: | Informatik |
| Nummer der Lehrveranstaltung: | 07105 |
| Dauer der Lehrveranstaltung: | 2 SWS |
| Typ der Lehrveranstaltung: | S - Seminar |
| Leistungspunkte: | 4 LP |
| Bereich: | Softwaretechnik und Programmiersprachen |
| Prüfung: | Hausarbeit |
| Semester: | SS 2011 |
