Seminar Software-Engineering

Der Lehrstuhl SEDA betreut im Wintersemester 2018/19 das gemeinsame Seminar für Bachelor- und Masterstudenten. Das Ziel des Seminars ist die Einführung in das kritische Lesen, Verstehen, Zusammenfassen und Präsentieren von wissenschaftlichen Veröffentlichungen. Inhalte sind ausgewählte Themen aus dem Bereich Software Engineering, insbesondere:

  • Systems Engineering for Cyber-Physical Systems
  • Safety, Security, Reliability and Availability
  • Risk-Assessment and -Minimization
  • Model-Based Safety Analysis

Aktuelles und Mitteilungen

  • Die Themenzuweisung wurde am 12.10.2018 per E-Mail bekannt gegeben.
  • Das Kick-Off Treffen findet statt am Freitag 19. Oktober, 10:00-10:30 Uhr in Raum 32-439.
  • Die Folien vom Kick-Off Treffen können als PDF heruntergeladen werden.
  • Die Präsentationen werden voraussichtlich an zwei Terminen stattfinden. Der erste Block ist für den 13. März und der zweite für den 18. März geplant (beide vormittags 9-12 Uhr).

Präsentationen

Die Präsentationen finden an zwei Terminen statt. Wir bitten euch, beim Erstellen der Präsentationsfolien die unten bereitgestellten Templates zu verwenden und die Dauer der Vortrtäge zu berücksichtigen.

Block 1

Datum: Mittwoch, 13. März 2019
Beginn: 09:00 Uhr
Raum: 46-267

ThemaTitelDauer
09:00 Uhr
T18SLR towards finding Fault, Error, Failures for LTE (MA)20 min
T19Survey of methods for deriving trust and reputation (MA)20 min
T10Comparison of libraries that support threads in C and C++ (MA)20 min
T14Tools for Virtual Teams (BA)15 min
10:30 Uhr
T15Verteilte Teams vs. Virtuelle Teams (BA)15 min
T0A Systematic Mapping Study of Using Artificial Neural Networks in Safety-Critical Application (MA)20 min
T7Evaluation and Categorization of Different Adaptation Techniques for Self-Adaptive Systems (MA)20 min
T9A Survey of Component Based Software Engineering Approaches for Self-Adaptive Systems (MA)20 min
12:00 Uhr

Block 2

Datum: Montag, 18. März 2019
Beginn: 09:00 Uhr
Raum: 46-267

ThemaTitelDauer
09:00 Uhr
T1Overview of the Hazard and Operability Analysis (HAZOP) (MA)20 min
T2Automating the Hazard and Operability Analysis (HAZOP) (BA)15 min
T3A Practical Comparison of Heuristics to Optimize the Variable Ordering in Binary Decision Diagrams (BDDs) (BA)15 min
T4Openness in Industrial production (BA)15 min
10:30 Uhr
T5Engineering approaches for Self Adaptive Systems (SAS) (MA)20 min
T20Survey of ways of detecting simulation (MA)20 min
T12Survey of open source tools for testing multithreaded software (BA)15 min
T7Evaluation and Categorization of Different Adaptation Techniques for Self-Adaptive Systems (MA)20 min
12:00 Uhr

 

Themenübersicht

Hinweis: Durch Anklicken eines Themas wird die Detailansicht geöffnet.

Beschreibung :

The identification of hazards is of fundamental importance for the safe design and operation of safety-critical systems. A popular technique in this area is the Hazard and Operability Analysis (HAZOP). The aim of this work is to give an overview of the technique as well as efforts in the literature to improve it, and to demonstrate the process with a small demo system.

Literatur :

  • 1. Lawley, H. G. "Operability studies and hazard analysis." Chem. Eng. Prog. 70.4 (1974): 45-56.
  • 2. Dunjó, Jordi, et al. "Hazard and operability (HAZOP) analysis. A literature review." Journal of hazardous materials 173.1-3 (2010): 19-32.

Betreuer:

Felix Möhrle

Language:

English/German

Beschreibung :

The identification of hazards is of fundamental importance for the safe design and operation of safety-critical systems. A popular technique in this area is the Hazard and Operability Analysis (HAZOP). The aim of this work is to search and summarize efforts in the literature to automate the HAZOP proces.

Literatur :

  • 1. Lawley, H. G. "Operability studies and hazard analysis." Chem. Eng. Prog. 70.4 (1974): 45-56.
  • 2. Dunjó, Jordi, et al. "Hazard and operability (HAZOP) analysis. A literature review." Journal of hazardous materials 173.1-3 (2010): 19-32.

Betreuer:

Felix Möhrle

Language:

English/German

Beschreibung :

Binary Decision Diagrams (BDDs) are a modern data structure for handling Boolean functions. They are also an efficient means of analyzing fault trees. Since the order of variables has a large influence on the complexity of the resulting BDD, good heuristics are required to ensure efficient analysis. The aim of this work is to summarize a small collection of heuristics and apply them to an exemplary fault tree to compare their effectiveness.

Literatur :

  • 1. Bouissou, M., F. Bruyere, and A. Rauzy. "BDD based fault-tree processing: A comparison of variable ordering heuristics." Proceedings of European Safety and Reliability Association Conference, ESREL’97. 1997.
  • 2. Jung, Woo Sik, Sang Hoon Han, and Jaejoo Ha. "A fast BDD algorithm for large coherent fault trees analysis." Reliability Engineering & System Safety 83.3 (2004): 369-374.

Betreuer:

Felix Möhrle

Language:

English/German

Beschreibung :

Description Openness is defined in several ways in various fields. Openness with respect to systems engineering, is a scenario where in different systems can integrate with each other during operation to share information or exchange important certificates to achieve a common goal. Similarly, openness is defined in different way in case of industrial production. The ever changing market trends, customer specific requirements for various products have triggered the need of new production systems which are flexible and adaptable to these. But openness is another step further, in Production systems. Openness can be a solution to handle this ever changing market needs and make manufacturer a competent player in today’s economy.

Literatur :

  • 1. Redlich, Tobias, et al. "The Strategy of Openness in industrial production." Management of Engineering and Technology (PICMET), 2015 Portland International Conference on. IEEE, 2015.
  • 2. Redlich, Tobias, et al. "The impact of openness on value co-creation in production networks." Procedia CIRP 16 (2014): 44-49.
  • 3. Wulfsberg, Jens Peter, Tobias Redlich, and Franz-Ludwig Bruhns. "Open production: scientific foundation for co-creative product realization." Production Engineering 5.2 (2011): 127-139.
  • 4. Propris, Lisa De, Stefano Menghinello, and Roger Sugden. "The internationalisation of production systems: embeddedness, openness and governance." Entrepreneurship and regional development 20.6 (2008): 493-515.

Betreuer:

Nishanth Laxman

Language:

English

Beschreibung :

Description Modern embedded systems are getting complex day by day, more connected and particularly complex and highly uncertain is the environment in which they are being deployed. System developers are not completely aware of where and how their systems will be deployed. This might result in operational uncertainties which might cause improper and sometimes accident prone functioning of the systems. Self-Adaptive systems (SAS) are expected to adapt to unanticipated events which occur during operation (Runtime) using imperfect information (uncertainty) about their environment. SASs provide functionalities like Self – Configuration, self – protection against threats and so on. Engineering such systems which will be self-aware and context aware is quite difficult. It will be useful to have a look into present approaches for engineering such systems and understand them.

Literatur :

  • 1. Krupitzer, Christian, et al. "A survey on engineering approaches for self-adaptive systems." Pervasive and Mobile Computing 17 (2015): 184-206.
  • 2. De Lemos, Rogério, et al. "Software engineering for self-adaptive systems: A second research roadmap." Software Engineering for Self-Adaptive Systems II. Springer, Berlin, Heidelberg, 2013. 1-32.
  • 3. Macías-Escrivá, Frank D., et al. "Self-adaptive systems: A survey of current approaches, research challenges and applications." Expert Systems with Applications 40.18 (2013): 7267-7279.
  • 4. Elkhodary, Ahmed, Naeem Esfahani, and Sam Malek. "FUSION: a framework for engineering self-tuning self-adaptive software systems." Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering. ACM, 2010.

Betreuer:

Nishanth Laxman

Language:

English

Beschreibung :

Description CACC is extended version of Adaptive cruise control in cars. Systems / Vehicles with CACC are being used to form platoons on highways and claim to improve Performance, fuel efficiency while considering the safety of own and other vehicles, and humans involved as well. It will be interesting to know, exactly to what extent is it advantageous and feasible in actual traffic scenarios, which are highly dynamic in nature and also see if such systems can be reliable.

Literatur :

  • 1. Naus, Gerrit, et al. "Cooperative adaptive cruise control." IEEE automotive engineering symposium Eindhoven, The Netherlands. Vol. 6. 2009.
  • 2. Van Arem, Bart, Cornelie JG Van Driel, and Ruben Visser. "The impact of cooperative adaptive cruise control on traffic-flow characteristics." IEEE Transactions on Intelligent Transportation Systems 7.4 (2006): 429-436.
  • 3. Milanés, Vicente, et al. "Cooperative Adaptive Cruise Control in Real Traffic Situations." IEEE Trans. Intelligent Transportation Systems 15.1 (2014): 296-305.
  • 4. Shladover, Steven, Dongyan Su, and Xiao-Yun Lu. "Impacts of cooperative adaptive cruise control on freeway traffic flow." Transportation Research Record: Journal of the Transportation Research Board 2324 (2012): 63-70.

Betreuer:

Nishanth Laxman

Language:

English

Beschreibung :

The growing complexity of modern information systems has lead to self-adaptive systems (SAS). These systems are capable of automatically modifying themselves in response to change in their ownselves or the operating environment. This modification is known as adaptation which is performed in multiple ways like: changing the parameters or the system structure. The objective of this seminar is to understand SAS, evaluate and categorize their adaptation techniques based on the type and domains in which SAS are used. The literature mentioned below is highly recommended but, is not limited to it.

Literatur :

  • A Survey on Engineering Approaches for Self-Adaptive Systems (Extended Version)
  • A Taxonomy of Compositional Adaptation
  • Component-Based Modeling and Verification of Dynamic Adaptation in Safety- Critical Embedded Systems
  • models@run.time to support dynamic adaptation
  • System Support for Adaptive Pervasive Applications
  • 3PC: System Support for Adaptive Peer-to-Peer Pervasive Computing

Betreuer:

Nikita Haupt

Language:

English

Beschreibung :

The growing complexity of modern information systems has lead to self-adaptive systems (SAS). These systems are capable of adaptation in response to change in their ownselves or the operating environment. SAS is composed of adaptation logic and managed resources. The former controls the adaptation based on a metric. There exist multiple aspects to controls of adaptation for SAS. The objective of this seminar is to understand SAS and evaluate different adaptation controls based on their type and application domains of SAS. The literature mentioned below is highly recommended but, is not limited to it.

Literatur :

  • Self-Adaptive Software: Landscape and Research Challenges
  • A Survey on Engineering Approaches for Self-Adaptive Systems (Extended Version)
  • On Patterns for Decentralized Control in Self-Adaptive Systems
  • Using Architecture Models for Runtime Adaptability
  • Self-Organising Software Architectures for Distributed Systems
  • Autonomic Computing

Betreuer:

Nikita Haupt

Language:

English

Beschreibung :

The growing complexity of modern information systems has lead to self-adaptive systems (SAS). These systems are capable of adaptation in response to change in their ownselves or the operating environment. For parameter and structural adaptation purposes, differt programming paradigms like: component based (CBSE), aspect oriented etc. can be used. The objective of this seminar is to understand the concepts of SAS w.r.t different programming paradigms and specially assess the pros and cons of CBSE for SAS based on their application domains. The literature mentioned below is highly recommended but, is not limited to it.

Literatur :

  • A Survey on Engineering Approaches for Self-Adaptive Systems (Extended Version)
  • Supporting the Model Driven Development of Reflective, Component-based Adaptive Systems
  • Composing Adaptive Software
  • Engineering Adaptation: A Component-based Model
  • A Component-Based Architecture Template for Adaptive System Design

Betreuer:

Nikita Haupt

Language:

English

Beschreibung :

Instead of running software faster (i.e., with higher frequency), now days processors are being manufactured with the increasing number of cores that run software threads concurrently. Development of multithreaded software is complex and requires an appropriate support from programming languages. This seminar topic aims at investigating available libraries that support threads in C and C++, and their comparison. Comparison should investigate native thread support available in recent C/C++ standards (e.g., C++11, C++14), as well as other libraries (e.g., POSIX), and categorize capabilities introduced with every revision of standards. The comparison criteria shall focus on available synchronization mechanisms, portability, thread manipulation, sharing data, performance, support by IDE and compilers, annotations, operating system and bare metal support, etc. The topic also aims to investigate how functions offered by these libraries propagate to the operating system kernel functions.

Literatur :

  • The Problem with Threads, Edward A. Lee, 2006
  • Pthreads Programming, Nichols Bradford, Buttlar Dick, Farrell Jacqueline Proulx, Sebastopol, CA, USA:O’Reilly & Associates, Inc.; 1996.
  • An Empirical Study on C++ Concurrency Constructs, Di Wu ; Lin Chen ; Yuming Zhou ; Baowen Xu, Oct. 2015
  • LC/DC: Lockless Containers and Data Concurrency a Novel Nonblocking Container Library for Multicore Applications, Damian Dechev ; Pierre Laborde ; Steven D. Feldman, 2013
  • NSTX-U Advances in Real-Time C++11 on Linux, Keith G. Erickson, 2015
  • https://www.youtube.com/watch?v=GNw3RXr-VJk
  • https://www.youtube.com/watch?v=paK38WAq8WY

Betreuer:

Jasmin Jahic

Language:

English

Beschreibung :

Instead of running software faster (i.e., with higher frequency), now days processors are being manufactured with the increasing number of cores that run software threads concurrently. Development of multithreaded software is complex and requires an appropriate support from programming languages. This seminar topic aims at investigating available libraries that support threads in Java, and their evolution through time. The comparison criteria shall focus on available synchronization mechanisms, thread manipulation, sharing data, performance, support by IDE, annotations, etc. During the investigation, it is required to compare memory models of C++ and Java. The topic also aims to investigate how functions offered by these libraries propagate to the operating system kernel functions.

Literatur :

  • The Problem with Threads, Edward A. Lee, 2006
  • Foundations of the Cpp concurrency memory model, Hans-J. Boehm, Sarita V. Adve, 2008
  • The Java Memory Model, Jeremy Manson and William Pugh, Sarita V. Adve, 2005
  • https://www.youtube.com/watch?v=TnCWTPuWzIk

Betreuer:

Jasmin Jahic

Language:

English

Beschreibung :

Instead of running software faster (i.e., with higher frequency), now days processors are being manufactured with the increasing number of cores that run software threads concurrently. Development of multithreaded software is complex and prone to bugs. This seminar topic aims at investigating available open source tools for finding concurrency bugs. The focus will be on ThreadSanitizer and Helgrind tools, but it is expected to add more tools to the list. The comparison criteria is identified by our FERA framework (execution Monitoring, supported synchronization primitives, concurrency bugs, software synchronization intentions, test case generation, coverage, precision, performance, programming language, benchmark). The topic shall also investigate support for the tools in different operating systems and IDEs.

Literatur :

Betreuer:

Jasmin Jahic

Language:

English

Beschreibung :

Considering measured information about team performance provides an objective view of a Software Engineering team’s productivity. With data analyses, the measurements can be used to improve a team’s performance as well as social cohesion being substantial for the quality of a later product. Further, when developing new software that should support software development teams, such metrics with corresponding data can be used to evaluate the system. The goal of this seminar topic is to conduct a literature review about team metrics and compare existing approaches regarding their focus (e.g. team creativity, team cohesion) and the corresponding required data.

Literatur :

Betreuer:

Lena Sembach

Language:

English/German

Beschreibung :

The identification of hazards is of fundamental importance for the safe design and operation of safety-critical systems. A popular technique in this area is the Hazard and Operability Analysis (HAZOP). The aim of this work is to give an overview of the technique as well as efforts in the literature to improve it, and to demonstrate the process with a small demo system.

Literatur :

  • Please contact the supervisor

Betreuer:

Anna Maria Vollmer

Language:

English/German

Beschreibung :

Provide definitions of the terms „virtual teams“ and „distributed teams“, characterize their way of working based on literature and compare both concepts.

Literatur :

  • Please contact the supervisor

Betreuer:

Anna Maria Vollmer

Language:

English/German

Beschreibung :

Identify and consolidate the challenges when using Agile in the development of safety-critical systems. Knowledge of Process Modeling is recommended for this topic.

Literatur :

  • Safety-Critical Systems and Agile Development: A Mapping Study
  • Challenges and Opportunities in Agile Development in Safety Critical Systems – A Survey
  • Agile Usage in Embedded Software Development in Safety Critical Domain–A Systematic Review

Betreuer:

Sven Theobald

Language:

English/German

Beschreibung :

A guided Systematic Literature Review will be performed by the student with the scope of finding published faults, errors and failures for Wifi. The findings will be filled in a given taxonomy.

Literatur :

  • Azizienis Algirdas, L. J.-C. R. B. L. C. (2004). Basic Concepts and Taxonomy of\nDependable and Secure Computing. IEEE Transactions on Dependable and Secure Computing, 1(1), 11–33. doi.org/10.1109/TDSC.2004.2
  • Cauffriez, L., Ciccotelli, J., Conrard, B., & Bayart, M. (2004). Design of intelligent distributed control systems: A dependability point of view. Reliability Engineering and System Safety, 84(1), 19–32. doi.org/10.1016/S0951-8320(03)00174-1
  • Tool-supported design of data aggregation processes in cloud monitoring systems
  • Cai, S., Gallina, B., Nyström, D., Seceleanu, C., & Larsson, A. (2017). Design of Cloud Monitoring Systems via DAGGTAX: A Case Study. Procedia Computer Science, 109(2016), 424–431. doi.org/10.1016/j.procs.2017.05.412

Betreuer:

Emilia Cioroaica

Language:

English

Beschreibung :

A guided Systematic Literature Review will be performed by the student with the scope of finding published faults, errors and failures for Wifi. The findings will be filled in a given taxonomy.

Literatur :

  • Azizienis Algirdas, L. J.-C. R. B. L. C. (2004). Basic Concepts and Taxonomy of\nDependable and Secure Computing. IEEE Transactions on Dependable and Secure Computing, 1(1), 11–33. doi.org/10.1109/TDSC.2004.2
  • Cauffriez, L., Ciccotelli, J., Conrard, B., & Bayart, M. (2004). Design of intelligent distributed control systems: A dependability point of view. Reliability Engineering and System Safety, 84(1), 19–32. doi.org/10.1016/S0951-8320(03)00174-1
  • Tool-supported design of data aggregation processes in cloud monitoring systems
  • Cai, S., Gallina, B., Nyström, D., Seceleanu, C., & Larsson, A. (2017). Design of Cloud Monitoring Systems via DAGGTAX: A Case Study. Procedia Computer Science, 109(2016), 424–431. doi.org/10.1016/j.procs.2017.05.412

Betreuer:

Emilia Cioroaica

Language:

English

Beschreibung :

A guided Systematic Literature Review will be performed by the student in the field of trust and reputation computing

Literatur :

  • Trust and Reputation Model in Peer-to-Peer Networks (2003 Paper)
  • Towards pre-standardization of trust and reputation models for distributed and heterogeneous systems
  • Computational models of trust and reputation: agents, evolutionary games, and social networks
  • .. more will be given

Betreuer:

Emilia Cioroaica

Language:

English

Beschreibung :

A guided Systematic Literature Review will be performed by the student with the scope of identifying ways in which a sw component can detect it is under evaluation

Literatur :

  • Detecting System Emulators Thomas Raffetseder, Christopher Kruegel, and Engin Kirda, Secure Systems Lab, Technical University of Vienna, Austria {tr,chris,ek}@seclab.tuwien.ac.at
  • VERIFICATION AND VALIDATION OF SIMULATION MODELS, Robert G. Sargent
  • .. more will be given

Betreuer:

Emilia Cioroaica

Language:

English

Zeitplan

Themenvergabe12.10.2018
Kick-Off Treffen19.10.2018 - 10:00-10:30 Uhr in Raum 32-439
Annotiertes Inhaltsverzeichnis23.11.2018
Erste Version der Ausarbeitung18.01.2019
Finale Version der Ausarbeitung08.02.2019
Abschlusspräsentationen13.03. und 18.03.2019 - 9:00-12:00 Uhr in Raum 46-267


Beim Kickoff wird die Organisation des Seminars besprochen und Kontakt mit den Betreuern hergestellt. Nach 5 Wochen Einarbeitungszeit ist von den Teilnehmern ein Inhaltsverzeichnis mit Stichpunkten zum geplanten Inhalt abzugeben. Im Folgenden ist von allen Teilnehmern eine schriftliche Ausarbeitung zu ihrem Thema zu erstellen. Die erste Version ist Mitte Januar fällig und dient als Grundlage für abschließendes Feedback durch die Betreuer. Die finale Version der Ausarbeitung ist im Februar fällig. Nach Abgabe der schriftlichen Ausarbeitungen werden die Themen bei einem abschließenden Treffen präsentiert.

Anmeldung

Die Anmeldung erfolgt mit einer kurzen E-Mail mit nachfolgenden Angaben.

  • Name
  • Matrikelnummer
  • Studiengang
  • Bachelor oder Master

Die Anmeldefrist ist der 28.09.2018. Eine endgültige Zusage kann erst im Anschluss an die Anmeldefrist gegeben werden. Aufgrund der hohen Nachfrage können Themen nur an angemeldete Studenten ausgegeben werden.

Material

Das Seminar wird auf Englisch angeboten. Bachelor-Studenten können zwischen Deutsch und Englisch wählen.

Schriftliche Ausarbeitung

Für die schriftliche Ausarbeitung ist die angepasste LNCS-Vorlage zu verwenden. Der Umfang sollte ca. 10 Seiten für Bachelor-Studenten bzw. ca. 15 Seiten für Master-Studenten betragen (exkl. Abbildungen).

Abschlusspräsentation

Für die Präsentationen stellen wir Vorlagen für PowerPoint, LibreOffice und LaTeX bereit. Die Vortragsdauer darf 15 Minuten (Bachelor) bzw. 20 Minuten (Master) nicht überschreiten.

Organisatoren