Summer Term 2008
Up one levelOn this page you find all the courses offered by the chair of Software Engineering in the previous term as well as respective slides and accompanying exercises. In addition, all courses of the preceding and upcoming terms are listed here.
Softwaretechnik
Eine kurze inhaltliche Zusammenfassung Read More…
- Instructors: Andreas Podelski | Martin Mehlmann | Stefan Wehr
- Times & Locations: Donnerstags von 9:00 - 11:00 Uhr, HS 00-036, Geb. 101 | Freitags von 11:00 - 12:00 Uhr, HS 00-036, Geb. 101
Softwarepraktikum
In diesem Praktikum soll der Softwareentwicklungsprozeß, beginnend bei Anforderungsanalyse über die Entwurfsphase und Implementierung, bis hin zur Auslieferung eines fertigen Produkts in einem Planspiel erlernt werden. Die Teilnehmer werden zufällig 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. Read More…
- Instructors: Martin Schäf | Evren Ermis
- Times & Locations: 22.04 HS 00-036 Geb 101, 13 - 16 Uhr | 29.04 HS 00-036 Geb 101, 13 - 16 Uhr | 07.05 - 23.07 HS 00-006 Geb 082, 14-16 Uhr
Formal Methods for Java
Recently, formal methods have been successfully used to specify and verify large software system. A current example is the Verisoft project, whose goal is to create a fully verified processor, operating system and compiler. In this lecture we will investigate the exising methods for the language Java. The language Java was chosen because it is a mature language, with a semi-formal definition of its semantics (The Java Language Specification). However, to use mathematical reasoning, we need a precise definition of the semantics. Therefore, we will sketch the definition of an operational semantics for Java. Furthermore, we will investigate different formal methods for Java. The starting point will be the language extension JML that allows Design by Contract. This allows to add pre- and postconditions to methods and invariants to classes and loops. These assertions can be checked during runtime and this is the purpose of the JML runtime assertion checker (jmlrac). On the other hand, there are static methods, e.g., ESC/Java and Jahob, that automatically provide mathematical proofs that the Java code ensures the post-condition for each possible pre-condition. If these proofs cannot be find automatically, one can also use theorem provers that assists finding a proof manually. In this lecture, we will present the different approaches for verification of Java code. In the exercise you can investigate different tools on small practical examples. Read More…
- Instructors: Dr. Jochen Hoenicke
- Times & Locations: Tuesday 11:00 a.m. (c.t.) - 01:00 p.m., SR 02-017 Geb. 52 | Thursday 11:00 a.m. (c.t.) - 01:00 p.m., SR 00-034 Geb.51 | 3 hours per week on average
Automata and Games
The theory of automata on finite strings, infinite strings and trees provides an expressive formal framework for reasoning about reactive systems, such as communication protocols and control systems. Reactive systems are characterized by their nonterminating behaviour and persistent interaction with their environment. Read More…
- Instructors: Dr. Harald Fecher
- Times & Locations: Monday, 15:00 c.t. - 17:00, SR 01-009, Geb. 101 | Friday, 9:00 c.t. - 11:00, SR 00-010, Geb. 101 | First lecture: 21.4.
