Ferien-Akademie 2003

Software Theater

Kurs 12


Prof. Bernd Brügge, Ph.D.

Lehrstuhl für Angewandte Softwaretechnik

Institut für Informatik

Technische Universität München

Prof. Asim Smailagic, Ph.D.

School of Computer Science

Carnegie Mellon University

Gastdozenten/Guest Speakers:

Alexander Stengel

Apple Computer

(Final Cut Pro 4 Expert)

Joerg Refeld

Customer with

Problem Statement




Motivation. Designing and implementing mobile distributed interactive applications for the support of work on complex systems represent a challenge to the richness of communication between application and system specialists. The traditional method of paper-based project documentation and textual description, amended by modelling in the graphical language UML, does not yet offer enough richness to avoid misunderstandings.

In Software Theater we employ existing digital video (DV) technology to develop film documents that are used in the software development process. Just as commercially made motion pictures do, the Software Theater films represent perspectives, or particular points-of-view, of the world as seen by the filmmakers. Using non-linear DV editing techniques, the filmmakers can assemble a collection of scenes that can be traversed in differing sequential orders to examine various possible scenarios of an envisioned system. These film scenarios could represent differing, possibly contradictory, views on the part of various stakeholders. Alternatively, they can represent alternative, branching event sequences based on differing circumstances. We emphasise that the film scenarios could, just as commercial films, sometimes represent a reality that is not yet realisable -- a vision of what is desired.

The film scenarios are stored as system document artifacts that represent a rich perspective on the real world that is envisioned by the system stakeholders. The film segments may display the real-time sequence of events that are pertinent to the system (of course, these real-time segments may be paused or viewed in slow-motion as dictated by development needs). Because the films are stored digitally, clips can be embedded in other software documents, and, alternatively, other software documents, commentaries, and notes can be embedded directly within the film so that pertinent issues and rationale discussions are placed directly in the real-world context with which they are associated.

Goal. The goal of the course is to teach basics of a visual language and dramaturgy in order to transfer a visionary scenario into cinematics in such a way that communication between software developers and customer is enriched.

Methodology. The course teaches cinematic and software engineering aspects: conflict and plot points. Action and Subtext. Questions of resolution, picture composition, and framing. Possibilities of expression for the camera. Theory and exercises about the axis. Principles and types of editing. Requirements analysis. System design. Modelling. The theory must be applied in a practical exercise from the idea to a finished product. With simple means we will develop small scenario films, whose topics are worked out together.

The main topic is how to bring requirements engineering, in particular for mobile systems, closer to the customers.

Software Theater is a new type of modelling. It aims at improvement of requirements specification. The starting point is that diagrams such as Use Cases can hardly be understood by some customers. As a consequence such models are often inaccurate. This is a problem, in particular in the early phases of requirements analysis.

Software Theater goes away from the traditional modelling and begins with filming scenarios first , in order to represent the requirements for a system more understandably. In the next phase these films are then converted into traditional models. The goal is to capture as much information as possible about the target system, in particular the visionary aspects of scenarios to and make them into a film.

That sounds beautiful, however we do not know how film scripts must look so that they can be the basis for a film on the one hand and for models on the other hand. Actors are still easy to spot; how to express the event flow however, pre and post conditions, all this is still unclear. To that extent this seminar addresses unresolved research problems. A very ambitious outcome would be to produce UML models from such films (and the appropriate artifacts such as film scripts, shooting lists, takes, etc.) automatically, much as today code fragments can be already produced from UML models.

The schedule for the first week is already posted, the second week will be planned together on site with all participants.

This page is hosted by the Chair for Applied Software Engineering of the Technische Universität München.
Imprint (Impressum)