Advanced Seminar Embedded Systems and Internet of Things

This semester we offer the following topics for the advanced seminar "Embedded Systems and Internet of Things":

  1. Scenario Based Programming
  2. Software Testing using Live Sequence Charts
  3. Error and Uncertainty Propagation of Sensors
  4. Dynamic Task Migration in Distributed Systems Using Mobile Agents
  5. Fault-Tolerant Multi-Agent Systems
  6. Access Control: Attribute-Based Encryption with Blockchain
  7. Sensor Truth: Decentralization and Uncertainty
  8. Consensus Time: Decentralized Time Synchronization in Dynamic Clusters

You will find the description of the topics below. Furthermore, we put one or more reference papers for each topic as a starting point for your research. Your task for each topic will be to read and analyze several references, get an overview of the current state of the art and summarize your findings in a paper-style report. Afterwards you will present your findings in a short talk in front of your fellow students.

During the seminar you will also learn how to conduct the research, how to write a scientific paper and how to present your work.

 

Apply for a Topic

Due to the high interest in our seminar topics we use an application process to assign the topics.

If you are interested in one of the topics, please apply for a topic by writing an email to the supervisor of the topic. Express your interest and why you want to have that specific topic and why you think that you are most suitable for the topic.

Additionally, you should state a second topic that you would like to take, such that we can still find a topic for you if your primary choice is not available.

Deadline: We encourage you to apply until the 05.04.2019. We will assign topics on the 05.04.2019 based on the requests until then and mark which topics are taken. After this date, we will answer to requests within 3 days, assuming that there is enough motivation for the given topic.

Kick-off meeting

The kick-off meeting will be on the 24th of April at 9:45 in room 4981. We ask all selected participants who have been assigned a topic to be present in the kick-off meeting. Please notify us in case you can not make it to the meeting, otherwise we will give your place to another applicant.

 

Topics

Scenario Based Programming

Scenario based programming means describing the program flow as a sequence of instructions, generally using a standard or graphical programming tools. In this topic, you are supposed to analyse different methods of describing such scenarios and programs that they can describe. Live Sequence Charts is one of such methods which is provided in the second reference.

References:

Toward Scenario-Based Algorithmics

An Introduction to Lines, Arrows, and Strange Boxes in the Context of Formal Verification

Supervisor: Ege Korkan

Topic assigned

 

Software Testing using Live Sequence Charts

Live Sequence Chart (LSC) is a method of describing program flow between different entities participating to a system. It can be considered as a more detailed version of UML Sequence Charts and they can be used to generate test scripts in different languages for many different applications. In this topic, you are going to analyze the use of LSCs for testing purposes and point out the common patterns used for testing Internet connected devices.

References:

An executable model and testing for Web software based on live sequence charts

Automatic Generation of Conformance Tests from Message Sequence Charts

Supervisor: Ege Korkan

Topic assigned

 

Error and Uncertainty Propagation of Sensors

Advent of Internet communication to a wider array of sensors brings the problem of the diversity of the quality measurement. Cheaper and generally less precise sensors provide data with an uncertainty that cannot be neglected, especially when considering that they are closer to the source of the measurement. If the source of error can be described and transmitted to connected devices, the accidents caused due to imprecision can be mitigated. In this topic you are going to analyze how this error can be transmitted to other devices and how it can be described in a standardized way.

References:

Patterns for Implementing Uncertainty Propagation

Programming the Internet of Uncertain<T>hings

Supervisor: Ege Korkan

Topic assigned

 

Fault-Tolerant Multi-Agent Systems

Multi-agent systems are systems composed of multiple independent computing elements. Fault-tolerance is an important property for many applications including safety-critical applications. In this seminar topic it should be investigated how agents being part of a multi-agent system can achieve fault-tolerant behavior.

References: 

Supervisor: Philipp Weiß

Topic assigned

 

Dynamic Task Migration in Distributed Systems Using Mobile Agents

Mobile agents are components that can move between different computation nodes at run-time and enable a dynamic system behavior. In this seminar topic it should be investigated how this migration of mobile agents can be achieved and which benefits this paradigm offers.

References:

Supervisor: Philipp Weiß

Topic assigned

 

Access Control: Attribute-Based Encryption with Blockchain

Attribute Based Encryption (ABE) is a asymmetric cryptographic scheme that realizes a fine-grained access control mechanism for data. In this seminar topic it should be investigated whether and how Blockchain and its validated transaction system can be utilized to enforce an attribute-based temporarily data access in a decentralized IoT network.

References:

Supervisor: Emanuel Regnath

Topic assigned

 

Sensor Truth: Decentralization and Uncertainty

Cheap IoT devices can rarely afford proper security against physical attacks such as reprogramming. This seminar topic should investigate how and under which conditions an IoT network can trust sensor measurements in the presence of malicious nodes and which methods exist to estimate the uncertainty of these measurements.

References:

Supervisor: Emanuel Regnath

Topic assigned

 

Consensus Time: Decentralized Time Synchronization in Dynamic Clusters

Public key cryptography is essential for decentralized systems such as IoT platforms. With supercomputers and cloud computing on the one side and billions of highly constrained devices on the other side, the discrepancy between available computational power and communication bandwidth introduces a trade-off between the required difficulty to withstand attacks and the required efficiency to run the cryptography on embedded devices. We want to investigate the idea to use keys of different size and computational complexity and manage them in a smart way to ensure a sufficient security level. Instead of using one large key (e.g RSA 4096) all the time, we could use a shorter, less secure key that is updated more often.

References: 

Supervisor: Emanuel Regnath 

Topic assigned