eXamen.press eXamen.pressisteineReihe,dieTheorieund PraxisausallenBereichenderInformatikfür dieHochschulausbildungvermittelt. Peter Tabeling Softwaresysteme und ihre Modellierung Grundlagen, Methoden und Techniken Mit469Abbildungenund45Tabellen 123 PeterTabeling Hasso-Plattner-InstitutfürSoftwaresystemtechnik anderUniversitätPotsdam Prof.-Dr.-Helmert-Straße2–3 14482Potsdam [email protected] BibliografischeInformationderDeutschenBibliothek DieDeutscheBibliothekverzeichnetdiesePublikationinderDeutschen Nationalbibliografie;detailliertebibliografischeDatensindimInternetüber http://dnb.ddb.deabrufbar. ISSN1614-5216 ISBN-103-540-25828-0SpringerBerlinHeidelbergNewYork ISBN-13978-3-540-25828-5SpringerBerlinHeidelbergNewYork DiesesWerkisturheberrechtlichgeschützt.DiedadurchbegründetenRechte,insbesondere diederÜbersetzung,desNachdrucks,desVortrags,derEntnahmevonAbbildungenund Tabellen,derFunksendung,derMikroverfilmungoderderVervielfältigungaufanderenWe- genundderSpeicherunginDatenverarbeitungsanlagen,bleiben,auchbeinurauszugsweiser Verwertung,vorbehalten.EineVervielfältigungdiesesWerkesodervonTeilendiesesWerkes istauchimEinzelfallnurindenGrenzendergesetzlichenBestimmungendesUrheberrechts- gesetzesderBundesrepublikDeutschlandvom9.September1965inderjeweilsgeltenden Fassungzulässig.Sieistgrundsätzlichvergütungspflichtig.Zuwiderhandlungenunterliegen denStrafbestimmungendesUrheberrechtsgesetzes. SpringeristeinUnternehmenvonSpringerScience+BusinessMedia springer.de ©Springer-VerlagBerlinHeidelberg2006 PrintedinGermany DieWiedergabevonGebrauchsnamen,Handelsnamen,Warenbezeichnungenusw.indiesem WerkberechtigtauchohnebesondereKennzeichnungnichtzuderAnnahme,dasssolche NamenimSinnederWarenzeichen-undMarkenschutz-Gesetzgebungalsfreizubetrachten wärenunddahervonjedermannbenutztwerdendürften.TextundAbbildungenwurden mitgrößterSorgfalterarbeitet.VerlagundAutorkönnenjedochfüreventuellverbliebene fehlerhafteAngabenundderenFolgenwedereinejuristischeVerantwortungnochirgendeine Haftungübernehmen. Satz:DruckfertigeDatendesAutors Herstellung:LE-TEX,Jelonek,Schmidt&VöcklerGbR,Leipzig Umschlaggestaltung:KünkelLopkaWerbeagentur,Heidelberg GedrucktaufsäurefreiemPapier 33/3142YL – 543210 Für Andrea. Fünfzehn! Vorwort Die ständig steigende Rechenleistung der Prozessoren sowie die immer weiter zunehmenden Speicherkapazitäten haben immer umfangreichere und komplexere Softwaresysteme ermöglicht, die nur noch mit hohem Personalaufwand entwickelt werden können. Die Beherrschbarkeit der Softwaresysteme kann jedoch nicht allein durch die Weiterentwicklung von Programmiersprachen und Entwicklungs- werkzeugen gewährleistet werden, denn mit der Größe und Kompliziertheit der Systeme nimmt auch der Bedarf nach arbeitsteiliger Entwicklung zu. Daher sind nicht nur Kenntnisse der aktuell eingesetzten Technik gefragt, sondern in zuneh- menden Maße auch planerische und kommunikative Fähigkeiten. Vor allem tech- nische Entscheidungsträger wie z.B. der „Systemarchitekt“ müssen in der Lage sein, Systeme als Ganzes und auf konzeptioneller Ebene zu erfassen sowie ihre Ideen darzustellen und weiterzugeben. Die Modellierung von Systemen ist hier von zentraler Bedeutung, denn die damit verbundene Abstraktion erlaubt erst die erfor- derliche Reduktion vieler technischer Sachverhalte eines Systems auf dessen wesentlichen Merkmale, während eine angemessene Darstellung die Weitergabe dieses Wissens im arbeitsteiligen Prozess ermöglicht. Die Vermittlung der hierzu erforderlichen Grundlagen sowie deren Vertiefung und Anwendung sind das Hauptziel dieses Buches. Im Vordergrund stehen dabei Begriffe und Darstellungsmittel, die möglichst unabhängig von Programmierspra- chen, Entwicklungswerkzeugen und Trägersystemen sind. Auf diese Weise werden Begriffe und Zusammenhänge vermittelt, die ihre Relevanz trotz des schnellen technologischen Wandels nicht so schnell verlieren dürften. Da viele Ansätze grundsätzlich auch zur Beschreibung von Hardwaresystemen geeignet sind, wird auch die Modellierung heterogener bzw. eingebetteter Systeme unterstützt. Erst eine klare, von allen Beteiligten geteilte Vorstellung des letztlich zu erstellen- den Systems schafft die Voraussetzung für eine zielgerichtete und effiziente Soft- wareentwicklung. Daher besteht ein Leitgedanke des Buches darin, Softwaresysteme nicht als umfangreiche Zusammenstellung von Programmteilen zu verstehen, sondern vorrangig das eigentlich gewollte System zu betrachten, wel- ches als dynamisches Gebilde funktionieren und mit seiner Umgebung interagieren soll – hier wird bewusst die Nähe zum Systembegriff „klassischer“ Ingenieurdiszi- plinen gesucht. Die Buchstruktur ist außerdem von der Überzeugung geprägt, dass vor dem Ver- mitteln von Modellierungsnotationen eine solide begriffliche Basis gelegt werden muss. Daher werden gerade zu Beginn sehr grundlegende Begriffe diskutiert sowie Bezüge zu formalen Sprachen und der Mathematik hergestellt. Nach der Betrach- tung grundsätzlicher Systemeigenschaften und -klassen wird die Verhaltensmodel- lierung sequentieller Systeme behandelt, insbesondere das Automatenmodell. Schließlich erfolgt eine Einführung in die Modellierung nebenläufigen Verhaltens VIII Vorwort mittels Petrinetzen. Die Verhaltensmodellierung von Systemen mit großen Zustandsrepertoires erfordert die Unterscheidung von Steuer- und Operationszu- ständen sowie die Berücksichtigung rekursiver Abläufe – dementsprechende Petri- netz-Erweiterungen werden beschrieben. Ein eigenes Kapitel behandelt Grundtypen programmierter Systeme und deren spe- zielle Modellierungsaspekte. Dabei werden auch einfache Modelle für entspre- chende Abwicklersysteme diskutiert, wodurch eine Verbindung zu Prozessoren, virtuellen Maschinen und Betriebssystemen aufgezeigt wird. Die weiteren Kapitel sind der Modellierung komplexer Systeme gewidmet, also dem Kerngedanken des Buches. Die bereits vermittelten Inhalte werden vertieft und weiterführende Konzepte und Darstellungsmittel eingeführt. Hier werden auch Grundkonzepte der objektorientierten Modellierung und die Unified Modeling Language (UML) beschrieben. Eine besondere Bedeutung haben die Fundamental Modeling Concepts (FMC), die einen übergreifenden Ansatz zur architekturorientierten Modellierung bilden und eine Verbindung der verschiedenen Aspekte ermöglichen. Auf dieser Basis erfolgt eine Betrachtung des Architekturbegriffs und typischer architektureller Sichten. Dabei wird insbesondere die Nutzung von Modellen als Kommunikationsmittel, deren Einsatz bei der Systementwicklung und verschiedene Typen von Mustern behandelt. Abschließend werden spezielle Modellierungsaspekte verteilter Systeme betrachtet, wobei auch ein Bezug zu transaktionsverarbeitenden Systemen hergestellt wird. Vielen Menschen, die auf verschiedenste Weise zum Entstehen dieses Buches bei- getragen haben, schulde ich Dank. Siegfried Wendt möchte ich hier als Ersten nen- nen. Seine tiefgreifenden Einsichten, sein Streben nach begrifflicher Klarheit und akademischer Qualität waren und sind für mich wegweisend. Viele der in diesem Buch vorgestellten Begriffe und Ansätze, insbesondere FMC, gehen auf ihn zurück. Er hat auch die Vorlesung ins Leben gerufen, aus der dieses Buch entstan- den ist. Den Studenten, denen eine Vorabversion des Buches als Vorlesungsskript zur Ver- fügung stand, möchte ich ebenfalls danken. Ihre kritischen Fragen in der Vorlesung und die vielen Hinweise zum Skript haben sicherlich zur Verbesserung des Buches beigetragen. Meinen Kollegen Andreas Knöpfel und Rasmus Hofmann danke ich für die sorgfältige Durchsicht des Manuskriptes und die technische Unterstützung. Besonderen Dank schulde ich meinem studentischen Mitarbeiter, Herrn Andreas Fahle, ohne dessen engagierte Hilfe eine rechtzeitige Fertigstellung fraglich gewe- sen wäre. Den Mitarbeitern des Springer Verlags möchte ich für die besonders engagierte, unkomplizierte und entgegenkommende Zusammenarbeit danken. Tiefer Dank gilt meiner Frau, die mit viel Geduld meine gelegentliche physische und geistige Abwesenheit während der Arbeit an dem Buch ertragen hat. Vorwort IX Trotz vieler Mühe, Unterstützung und wertvoller Hinweise wird dieses Buch ver- mutlich noch die eine oder andere Unzulänglichkeit aufweisen. Im Hinblick auf die nächste Auflage sind Anregungen, Kritik und Verbesserungsvorschläge daher stets willkommen! Peter Tabeling, im Juni 2005. Inhaltsverzeichnis Vorwort.......................................................................................VII Inhaltsverzeichnis......................................................................XI 1 Informationelle Systeme – begriffliche Abgrenzung 1.1 Dynamische vs. statische Systeme................................................1 1.2 Informationelle Systeme.................................................................2 2 Information und ihre Repräsentation 2.1 Information, Wissen, Daten, Form..................................................5 2.2 Informationsverarbeitung vs. Formverarbeitung.............................9 2.3 Grundtypen der Interpretation......................................................10 2.3.1 Wertunmittelbare Interpretation....................................................11 2.3.2 Werteverlaufsinterpretation..........................................................11 2.3.3 Mehrstufige Interpretation............................................................13 2.4 Strukturierter Aufbau von Formen................................................15 2.4.1 Symbol, Zeichen, Umschreibung.................................................16 2.4.2 Direkte vs. indirekte Umschreibung..............................................17 2.4.3 Wort, Alphabet..............................................................................17 2.4.4 Kontext, Kontextabhängigkeit.......................................................18 2.4.5 Begriffsübersicht...........................................................................19 2.5 Formale Sprachen........................................................................20 2.6 Sprache, Metasprache, Gegenstandssprache.............................21 2.7 Formale Systeme, axiomatische Systeme...................................22 2.8 Grammatiken................................................................................26 2.8.1 Ableitungsbaum............................................................................29 2.8.2 Attributierte Grammatiken............................................................31 3 Modell, System, Systembeschreibung 3.1 Systemmodelle – begriffliche Abgrenzung...................................35 3.2 Modell vs. System vs. Systembeschreibung................................38 3.3 Systemmodelle informationeller Systeme....................................40 3.4 Analyse- vs. Konstruktionsmodell................................................40 4 Modelle als mathematische Strukturen 4.1 Objekt, Attribut, Beziehung...........................................................45 4.2 Mathematische Struktur, Mengen und Relationen.......................46 4.2.1 Diskretheit und Endlichkeit von Strukturen...................................48 4.2.2 Menge, Klasse, Typ......................................................................49 4.3 Grundlegende Relationstypen und deren Darstellung.................49 4.3.1 Relationen....................................................................................50 XII Inhaltsverzeichnis 4.3.2 Darstellungsmöglichkeiten...........................................................51 4.3.3 Grundlegende Eigenschaften zweistelliger Relationen................54 4.3.4 Grundlegende Eigenschaften quadratischer Relationen..............56 4.3.5 Verkürzte Darstellung quadratischer Relationen..........................57 5 Grundlegende Eigenschaften von Verhaltensmodellen 5.1 Wertdiskretes vs. wertkontinuierliches System............................61 5.2 Zeitdiskretes vs. zeitkontinuierliches System...............................63 5.3 Analoges vs. digitales System.....................................................64 5.4 Gerichtetes vs. ungerichtetes System..........................................65 5.5 Determiniertes System.................................................................67 5.6 Kausales System.........................................................................68 5.7 Zustandsbasiertes Systemmodell................................................70 6 Verhaltensmodellierung sequentieller Systeme 6.1 Begriff des sequentiellen Systems...............................................73 6.2 Determiniertes sequentielles System...........................................75 6.3 Kausales determiniertes sequentielles System............................76 6.4 Zuordner.......................................................................................76 6.5 Automaten....................................................................................80 6.6 Darstellungsmittel für Automaten.................................................81 6.6.1 Automatengraph...........................................................................81 6.6.2 Automatentabelle.........................................................................84 6.6.3 Formelschreibweise.....................................................................84 6.6.4 Automat vs. Automatenbeschreibung..........................................86 6.6.5 Verkürzte grafische Darstellung von Automaten..........................86 6.7 Anschauliche Deutung von Zustandsübergängen.......................87 6.8 Mealy- vs. Moore-Automat...........................................................90 6.8.1 Mealy-Automat.............................................................................91 6.8.2 Moore-Automat............................................................................93 6.9 Unendliche Automaten.................................................................97 6.10 Zustandsminimierung.................................................................100 6.10.1 Verschmelzbarkeit von Zuständen.............................................100 6.10.2 Verfahren zur Minimierung.........................................................103 6.11 Eingabebeschränkung...............................................................106 6.12 Unspezifizierte Ausgaben..........................................................109 6.13 Zustandsminimierung bei unterspezifizierten Automaten..........111 7 Verhaltensmodellierung nichtsequentieller Systeme 7.1 Verhaltensbeschreibung auf Basis von Ereignissen..................117 7.1.1 Ereignisbegriff............................................................................117 7.1.2 Temporalordnung.......................................................................118 7.1.3 Kausalordnung...........................................................................121 7.2 Petrinetze...................................................................................123 7.2.1 Netzelemente.............................................................................124
Description: