Xpert. press Springer-Verlag Berlin Heidelberg GmbH Die ReiheXpert.press des Springer-Verlags vermittelt Professionals im Projektmanagement sowie in den Bereichen Betriebs- und Informationssysteme, Software Engineering und Programmiersprachen aktuell und kompetent relevantes Fachwissen über Methoden, Technologien und Produkte zur Entwicklung und Anwendung moderner Informationstechnologien. Manfred Broy • Ralf Steinbrüggen Modellbildung in der Informatik Mit 51 Abbildungen und CD-ROM Springer Manfred Broy • Ralf Steinbruggen Technische Universităt Munchen Institut fiir Informatik Boltzmannstr. 3 85748 Garching Bibliografische Information der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen N ationalbibliografie; detaillierte bibliografische Daten sind im Internet iiber <http://dnb.ddb.de> abrufbar. Additional material to this book can be downloaded from http://extras.springer.com. ISSN 1439-5428 ISBN 978-3-642-62267-0 ISBN 978-3-642-18732-2 (eBook) DOI 10.1007/978-3-642-18732-2 Dieses Werkist urheberrechtlich geschiitzt. Die dadurch begriindeten Rechte, insbesondere die der Ubersetzung, des Nachdrucks, des Vortrags, der Ent nahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfil mung oder der Vervielfăltigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfăltigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland vom 9. Septem ber 1965 in der jeweils geltenden Fassung zulăssig. Sie ist grundsătzlich vergiitungspflichtig. Zuwiderhandlungen unterliegen den Strafbestim mungen des Urheberrechtsgesetzes. Der Springer-Verlag ist nicht Urheber der Daten und Programme. Weder der Springer-Verlag noch der Autor iibernehmen Haftung fiir die CD-ROM und das Buch, einschlieBlich ihrer Qualităt, Handels- oder Anwendungseignung. In keinem Fall iibernehmen der Springer-Verlag oder der Autor Haftung fiir direkte, indirekte, zufăllige oder Folgeschăden, die sich aus der Nutzung der CD-ROM oder des Buches ergeben. http://www.springer.de © Springer-Verlag Berlin Heidelberg 2004 Ursprünglich erschienen bei Springer-Verlag Berlin Heidelberg New York 2004 Softcover reprint of the hardcover lst edition 2004 Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Marken schutzgesetzgebung als frei zu betrachten wăren und daher von jedermann benutzt werden diirften. Umschlaggestaltung: KiinkelLopka, Heidelberg Satz: Reproduktionsfertige Vorlagen durch den Autor Gedruckt auf săurefreiem Papier 33/3142PS -5 4 3 2 1 O Vorwort Informatik hat viele Facetten. Einer ihrer herausragenden Züge ist die Modellbildung in der Informationsverarbeitung: Welches sind die Grundlinien unseres Faches als technische und wissenschaftliche Disziplin der Modellierung von informatischen Systemen? Dieses Buch gibt eine Einführung in grundlegende Begriffe und Methoden. Es vermittelt durch begleitendeAufgaben (mit Lösungs vorschlägen) professionelle Fertigkeiten. Auf der beiliegenden CD ist ein CASE Tool bereitgestellt, das für den Gebrauch an Hoch schulen und Schulen frei zur Verfügung steht. Für Firmen gibt es einreichhaltiges Schulungsangebot. Wir wenden uns an zwei Gruppen von Lesern, an Lehrer mit (vorhandener oder angestrebter) Lehrbefähigung in Informatik und an Pratiker der Systementwicklung. Diese zweifache Ausrichtung signalisiert der ersten Zielgruppe, dass einschlägiger Stoff praxisre levant vorgestellt, und der zweiten, dass Abstraktion auf das We sentliche angestrebt wird. Der Praktiker soll sich mit seiner Weise, informatisch zu denken, wiederfinden, der Lehrer in seiner Frage nachStrukturund Vorgehensweise. Der Wunsch, in das Fach tiefer einzudringen, steht, zumal bei Fürdas Lehramt weiterlaufendem Schuldienst, unter dem Handicap des äußerst en gen Zeitrahmens. Wir konzentrieren uns daher auf das Wesentliche und wählen zentrale Themen der Lehramtsprüfungsordnungen. Zu dem sind wir der Meinung, dass die Lehrplanentwicklung noch bei weitem nicht abgeschlossen ist, sondern sich in der Richtung, die wir in diesem Buch andeuten, weiter entwickeln wird. Als Aus gangspunkt dient uns der Schulversuch des "Europäischen Gymna siums 3",derebenfalls die Modellbildung insZentrum rückte. Der Wechsel der jeweils aktuellen Technologien gleicht zuneh ...und die mend dem viel zitierten Wettlauf zwischen dem Hasen und dem System Igel. Wir stellen ausgewählte Techniken in einen systematischen entwicklung Zusammenhang und beleuchten den formalen Hintergrund. Um an zudeuten, welche Probleme und Methoden wir im Auge haben, möchten wir etwas weiter ausholen: Vorwort -- v - Informatische Die Informatik befasst sich mit der Verarbeitung, Speicherung, Systeme Übertragung und Darstellung von Information unter besonderer Be rücksichtigung des Einsatzes digitaler informationsverarbeitender Maschinen. Damit steht der Begriff Information zunächst im Zent rum. In der Informatik ist der Begriff Information allerdings stets "handfest", das heißt gegenständlich zu sehen. Information muss dargestellt werden, um einer Bearbeitung zugänglich zu sein. Soll beispielsweise die Information betrachtet werden, die dem Zustand einer Ampel entspricht, dann müssen konkrete Darstellungen ge wählt werden. So kann etwa "Rot" für Anhalten, "Gelb" für Ach tung und "Grün" für freie Fahrt stehen. An diesem Beispiel zeigt sich schon, dass Information, die fürreale Zwecke nützlich sein soll, stets ein Abbild bestimmter Ausschnitte unserer Wirklichkeit dar stellt, die Realität modelliert. In der Modellbildung werden viele Einzelheiten weggelassen. Nurdierelevanten Details werden darge stellt. Im Fall der Ampel wird nur noch ihrZustand angegeben, von Größe, Anstrich etc. wird abstrahiert. Information - oder genauer ihre Darstellung - wird in der Infor matik durch digitale Maschinen verarbeitet, gespeichert, übertragen und dargestellt. Somit steht neben der Information der Begriff der informationsverarbeitenden Maschine ganz im Vordergrund. Ma schinenbeschreibungen können selbst wiederum als Informationen aufgefasst werden. Daraus ergibt sich ein wesentliches Prinzip der Informatik: Neben die elementaren Informationen treten Informati onen, die das Verhalten komplexer Maschinen darstellen. Dabei handelt es sich nicht etwa nur um Rechenanlagen und Rechnernetze. Wenn zum Beispiel der Knopf einer Fußgängerampel betätigt wird, um "Grün" anzufordern, so wird ein informationsverarbeitender Vorgang ineinem verteilten reaktiven System angestoßen. Verteilte reaktive Systeme sind in unserem digitalisierten Alltag allgegenwär tig. Wir sprechen von informatischen Systemen. Dies führt aufeine erhebliche Komplexität in der Informatik, impliziert aber auch letzt endlich die universelle Mächtigkeit der Informatik als Wissenschaft undTechnikderModelIierung. Modellierung Bei den Modellen der Informatik haben wir es mit Darstellungen zu tun, die mitHilfe digitaler Technik Vorgänge aus der realen Welt wiedergeben. Modellierung dient in aller Regel zweierlei Zwecken. Zum einen wird ausschnittsweise ein Abbild der realen Welt und ei ne Aufgabe der Informationsverarbeitung dargestellt. Wir sprechen dann auch vom Domänenmodell. Zum anderen wird eine Vorlage für die Arbeitsweise eines informatischen Systems angegeben. Dies wird auch alsSystemmodell bezeichnet. Informatikmodelle konkretisieren sich nicht nur in Computer hardware und -software sondern auch in Planungs-, Organisations- vi • Vorwort • • und Steuerungsmodellen. Die Umsetzung der vorhandenen Mög lichkeiten und die Vermeidung inhärenter Risiken werden wie bei jeder neuen Technologie angewiesen sein auf die Vorstellungskraft, Erfindungsgabe, Ausbildung und professionelle Disziplin der in Zu kunft Handelnden. Nicht alle Beteiligten sind von Haus aus Infor matiker. Experten unterschiedlicher Herkunft sind um größere Pro jekte vereint und müssen intensiv kommunizieren und kooperieren. Die Kooperation ruht aufvier Säulen: Pragmatik. Im Systems & Software Engineering hat sich eine Reihe von anschaulichen Beschreibungstechniken, insbesondere diagrammatischer Art, herausgebildet. Formalismen. Wie auch sonstim Ingenieursbereich sind die An eignung und die Anwendung der einschlägigen Zweige der Ma thematik unabdingbar. Nur dies gibt Gewähr für Präzision und Zuverlässigkeit, für Kostenbeherrschung und Nutzen der Produk te. Methodik. Abstraktion ist die wesentliche Technik, um die Kom plexität von Software unter Kontrolle zu bringen. Sie spielt eine ähnlich vereinfachende Rolle wie Approximation in anderen In genieursbereichen. Werkzeuge. Methodisches Vorgehen erfordert im Allgemeinen den Einsatz von Spezialsoftware, so genannten CASE-Werkzeu gen (ComputerAided Software Engineering Tools). Modelle enstehen in der Zusammenschau aus unterschiedlichen Pragmatik Sichten. Für die .Datensicht" sind Entity-Relationship-Diagramrne ein verbreitetes Darstellungsmittel (Kap. 0). Wir behandeln außer- dem Systemstruktur-, Zustandsübergangs- und Sequenzdiagramme (Kap. 2) und beleuchten ihren Zusammenhang untereinander wie auch ihre Übertragung informale Modelle. Die Abstraktion von speziellen Besonderheiten gehört gleichsam Formalismen programmatisch zur Mathematik. Für die Spezifikation und Verfei- nerung verwenden wir axiomatische Beschreibungen (Kap. 1) und als ausführbare Form funktionale Programme (§ 2.8). Durchgängi- ger Hintergrund sind mathematische Logik (Kap. 3) und die einfa- che Typentheorie (§ 3.2, 3.3) sowie formale Sprachen (Kap. 4). Un- sere Einführung in diese Bereiche, Spezifikations- und Program- miersprachen eingeschlossen, setzt keine besonderen Vorkenntnisse voraus. Behandelt werden auch rechnende Systeme (§ 2.6, 2.7). Dies führt insGebietder Algorithmik. Wir fragen, wie ein Problem informatische Konturbekommt, und Methodik werden sehen, dass jeder Formalismus, jedes Beschreibungsmittel der ModelIierung eine spezifische Zerlegung in Einzelaspekte an die zu bearbeitende Aufgabe heranträgt. Das gilt auch für Anforde- Vorwort -- vii - rungsanalyse und Modelldesign (Kap. 5). Wir gehen den Fragen nach, woher eine Systementwicklung ihre Argumente nimmt, nach welchen Methoden verifiziert wird und wie Theorembeweiser ar beiten (Kap. 4). Werkzeug Wir benutzen AutoFOCUS zur diagrammatischen Modellierung undebenso zurKosistenzprüfung undSimulation. Die Stoffauswahl begrunden wir im Vorspann jedes Kapitels geson dert. Im jeweiligen Resümee ("Wie es weitergeht") werden Praxis relevanz und Fachbezug herausgestellt. Diese Stellen sind am Sei tenrand gekennzeichnet, so dass derrote Faden nicht verloren geht. Die einzelnen Kapitel sind begrifflich weitgehend unabhängig voneinander. Der Einstieg ist daher an vielen Stellen möglich. Die Wege im Buch nehmen stets ihren Ausgang bei der Pragmatik, im Gegensatz zu Lehrbüchern, die Begriffe größtmöglicher Allgemein heit an die Spitze stellen und Anwendungen erst im Nachhinein be handeln. Einen Teil des Stoffes, der sich eher "dialogisch", unter Mitwirken des Lesers, vermitteln lässt, bieten wir in der Form von Übungen. Dieses Buch istdas Ergebnis eines langjährigen Engagements für die Vermittlung von Informatikinhalten an Lehrer und an Informa tiker im Systems Engineering. Wir haben dem Bayerischen Wis sensehaftsministerium zu danken für die Förderung eines Projekts zur Lehrerausbildung, das den Namen "Netzgestützter Lehrverbund zur Lehrerausbildung in Informatik (NELLI)" trug, in dessen Rah men wir uns differenziert auseinandersetzen konnten mit einem für Schulen passenden Informatikkonzept, mit der gebotenen Abstrak tionsebene für die Lehrerausbildung und mit den didaktischen Frau gen der Lehrerqualifizierung. An den Diskussionen nahmen Peter Hubwieser und Fred Kröger engagiert teil, wofür wir ihnen aufrichtig danken. Am NELLI-Projekt haben Heiko Lötzbeyer, Wolfgang Prenninger und Thomas Ströse mitgearbeitet. An der Ausarbeitung der Übungsaufgaben haben Gertrud Bauer und Ferdi nand Winhard großen Anteil. Anregungen zum Manuskript verdan ken wir Stefan Berghofer, Herbert Ehler, Fred Kröger, Manfred Jobmann, Wolfgang Naraschewski und Martin Rappl. Das Model lierungswerkzeug wurde bereitgestellt von der Firma Validas, vertreten durch Oscar Slotosch und Franz Huber, deren Engagement unser ganz besonderer Dank gilt. Sehr verbunden sind wir dem Springer-Verlag für die außerordentliche Sorgfalt bei der Durchsicht desManuskript und beider Herstellung. Wir danken fürdie überaus angenehme verlegerische Betreuung. Auf den Verlag geht die Anre gung zurück, dem Buch eine Ausrichtung zu geben, die Lehrer und Praktikergleichermaßen anspricht. viii • Vorwort • • Inhalt Einleitung:Das Entity-Relationship-Modell 1 0.1 ER-Diagramme 3 0.2 Datenlexika 9 0.3 Übungen 12 0.4 Wieesweitergeht 15 1 Algebraische Modellierung 21 1.1 SignaturenundAxiome 23 1.2 Grundlegende Spezifikationen 35 1.3 Übungen 44 1.4 Wieesweitergeht 50 2 DiagrammatischeModelIierung 53 2.1 ModelIierungauskomplementärenSichten 54 2.2 Struktursicht(Systemstrukturdiagramme) 59 2.3 Verhaltenssicht (Zustandsübergangsdiagramme) 54 2.4 Zeitverlauf 65 2.5 Interaktionssicht(Sequenzdiagramme) 67 2.6 Algorithmen 72 2.7 PartielleKorrektheit,TerminierungundKomplexität 81 2.8 Datensicht(derapplikativenProgrammierung) 87 2.9 Übungen 97 2.10Wieesweitergeht 108 Inhalt -- ix - 3 Modellierung und Verifikation 113 3.1 FormelnundRegeln 115 3.2 Variablen,SubstitutionundGleichheit 127 3.3 Einformaler Rahmendes Beweisens 129 3.4 Eineinfacher Deduktionskalkül 136 3.5 InduktiveDefinitionenundBeweise 143 3.6 Übungen 150 3.7 Wieesweitergeht 158 4 StrukturformalerSprachen 161 4.1 Interpretationund Übersetzungvon Programmen 161 4.2 EndlicheAutomaten 166 4.3 Reguläre Ausdrücke 171 4.4 Chomsky-Grammatiken 178 4.5 Backus-Naur-Form 185 4.6 Syntaxanalyse 192 4.7 Übungen 195 4.8 Wieesweitergeht 197 Abschluss: Requirements Engineering 201 5.1 Die FrühphaseeinerSystementwicklung 201 5.2 DasAufgabenspektrum 203 5.3 KlassifizierungderAnforderungen 204 5.4 AnforderungsmodelIierung undSystemdesign 205 5.5 Wieesweitergeht 208 Anhang 213 Einigemathematische Begriffe 213 Gesetzeder BooleschenAlgebra 216 GesetzederQuantoren 217 Lösungenzu ER-Diagrammen 218 Lösungen zu algebraischen Spezifikationen 224 Lösungen zur Verifikation 230 Lösungenzuformalen Sprachen 245 Index 253 x • Inhalt • •