# Summer Term 2013

On this page you find all the courses offered by the chair of Software Engineering in the summer term 2013 as well as respective slides and accompanying exercises.

## Softwarepraktikum (Nur für B.Sc. Informatik und B. Sc. ESE)

In diesem Praktikum soll ein Softwareentwicklungsprozess, beginnend bei Anforderungserhebung über Entwurfsphase bis hin zur Implementierung, die Organisation der Arbeit innerhalb einer Gruppe und der Umgang mit komplexen Systemen erlernt werden. Die Teilnehmer werden von den Betreuern in Gruppen eingeteilt und müssen eine bestimmte Aufgabenstellung realisieren. Hierzu müssen sie sich selbst organisieren, die Anforderungen definieren, Arbeit geschickt auf Gruppenmitglieder verteilen und neue Technologien selbstständig erlernen.

## Decision Procedures (Lecture)

Decision Procedures are the basis for program verification: The task of program verification is to give a formal proof that a program meets its specification. This amounts to determining the truth value of a logical formula. A decision procedure is an algorithm that can for a certain type of formulas decide whether the formula is true or false. We will investigate decision procedures for different logics. Starting with propositional logic we will investigate decision procedures for logics with integers, reals, recursive structures (lists and trees), arrays, etc.

## Real-Time Systems (Lecture)

Real-time systems need to react to certain input stimuli within given time bounds. For example, an airbag in a car has to unfold within 300 milliseconds in a crash. There are many embedded safety-critical applications and each requires real-time specification techniques. We will study and apply some of these techniques, based on logic and automata, most prominently timed automata.

## Seminar Automata Theory

In the lecture about theoretical computer science you have seen finite automata, pushdown automata and Turing machines. All three of them operate on finite words. However there are other automata models and automata that do not operate on finite words, but e.g. on infinite words, on nested words, on trees, etc. In this seminar we will have a look at automata models that you have not seen in the lecture on theoretical computer science.

## Seminar Hybrid Systems

The development of cyber physical systems (CPS) is considered to be the next computing revolution. Cyber physical systems are networked computational systems that interact with the physical world. Examples of such systems are autonomous cars, robots, intelligent energy-efficient buildings, embedded medical devices, etc. The systems like that require tight connection between discrete and continuous behavior. The design of CPS presents many challenges because of their complexity, safety requirements and real-time nature. Thus collaboration among people from different disciplines and between academics and industry is required to make progress in the area of CPS. In this seminar we will discuss different aspects of one of the most powerful formalisms to model CPS - hybrid automata.

## Proseminar Topics in Software Engineering

The proseminar will cover different aspects of software design and engineering.

## Seminar Advanced Topics in Software Engineering

The seminar will cover different aspects of software design and engineering.

## Seminar Advanced Topics in Requirements Engineering

The seminar will cover different aspects of requirements engineering and the corresponding state of the art.

## Cyber-Physical Systems - Hybrid Models

In this lecture we will investigate different methods and algorithms used to model and analyze cyber-physical systems. We will use the formalism of hybrid automata in order to account for the discrete and the continuous aspects of the behavior of cyber-physical systems.