Winter Term 2013/2014
Softwarepraktikum (Nicht 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.
Design and Analysis of Cyber Physical Systems (Seminar)
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.
Computer Supported Modeling and Reasoning
This lecture is about using logic for system (e.g., program or chip) development and analysis. The system behavior and desired system properties can both be formalized using logic, for the purpose of verifying the properties using computer support. The lecture is intended for anyone interested in artificial intelligence (KI), logic, hardware and software verification. The lecture is roughly structured in four parts. In part 1, we shall introduce various logic systems including propositional logic, first-order logic, and (naive) set theory. We shall see how proofs in these systems can be conducted both using paper and pencil and using the interactive theorem prover Isabelle. In part 2, we shall attempt to understand what happens behind the scenes: we shall study meta-logic, which is the general theory allowing us to implement all kinds of logic systems using a single tool. In part 3, we shall see how an important part of mathematics and programming languages can be modeled in this framework, including concepts such as arithmetic, data-types, and recursion. Part 4 will be a case study coming from functional or imperative programming or from the area of specification languages.
Informatik III
Die Vorlesung gibt eine Einführung in die Theoretische Informatik. Sie führt in die Themen Endliche Automaten, Formale Sprachen und Grammatiken ein und liefert mehrere äquivalente präzise Fassungen des Berechenbarkeitsbegriffs. Es schließt sich eine Einführung in die Komplexitätstheorie, speziell die Theorie der NP-Vollständigkeit, an. Behandelt werden abstrakte Modelle von Maschinen und Sprachen und mit ihrer Hilfe werden Komplexitätsmaße wie Schrittzahl (Laufzeit) und Speicherbedarf von Algorithmen präzise definiert.
Static Code Analysis (Seminar)
In the classical sense static analysis techniques are used to extract information regarding the possible behavior of a program, without actually running the program. This statically extracted information is then used for revealing bugs or optimizing the code.
Software Design, Modelling, and Analysis in UML (Lecture)
The model-driven approach to software and systems development proposes to address quality and complexity issues in the development process. The usage of modelling languages not only for documentation, but, e.g., for automated analysis, test generation, and code generation is gaining momentum in particular in the context of (safety) critical software development. The necessary pre-requisites are a semantically founded modelling language and methods and tools for analysis. We will take the Unified Modelling Language (UML) as an example and demonstrate how to equip a relevant sublanguage (sometimes referred to as executable core) with a precise meaning in line with the official standard documents. To complement these discussions, we provide access to a contemporary UML modelling tool and use it for some of the exercises.
Software Testing (Seminar)
This seminar covers important achievements in the area of Automated Black-box and White-box Testing.