12.07.2015 Aufrufe

Zur formalen Beschreibung der funktionalen Anforderungen an ein ...

Zur formalen Beschreibung der funktionalen Anforderungen an ein ...

Zur formalen Beschreibung der funktionalen Anforderungen an ein ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Zur</strong> <strong>formalen</strong> <strong>Beschreibung</strong> <strong>der</strong><strong>funktionalen</strong> Anfor<strong>der</strong>ungen <strong>an</strong> <strong>ein</strong>Informationssystem*H<strong>ein</strong>rich Hußm<strong>an</strong>nInstitut für InformatikTechnische Universität München80290 MünchenE-Mail: hussm<strong>an</strong>n@informatik.tu-muenchen.deIn Zusammenarbeit mit: Rudi Hettler, Frie<strong>der</strong>ike Nickl, Oscar Slotosch.* Diese Arbeit wurde vom Bundesministerium für Forschung und Technologie im Rahmen des Verbundprojekts„Korrekte Software“ (KORSO) geför<strong>der</strong>t.


ZusammenfassungDieses Papier ist im Rahmen des Projekts KORSO bei <strong>der</strong> Beh<strong>an</strong>dlung <strong>der</strong>Fallstudie „HDMS-A“ entst<strong>an</strong>den. Hier werden die methodischen und theoretischenÜberlegungen zusammengefaßt, die <strong>der</strong> <strong>formalen</strong> Anfor<strong>der</strong>ungsspezifikation fürdiese Fallstudie zugrundeliegen. Diese formale Grundlage wurde zum großen Teil<strong>an</strong>h<strong>an</strong>d <strong>der</strong> Fallstudie erarbeitet; deshalb enthält dieses Papier auch konkreteErfahrungsberichte aus <strong>der</strong> Fallstudie.Dieses Papier ist <strong>ein</strong>e Ergänzung zu dem Papier „Die funktionale Essenz vonHDMS-A“ [SNM + 93], in dem die konkreten Anfor<strong>der</strong>ungen <strong>der</strong> Fallstudie in <strong>der</strong>hier beschriebenen Form dargestellt sind. Weitere ergänzende Information findetsich in zwei separaten Papieren über technische Details <strong>der</strong> Umsetzungsemiformaler in formale Darstellungsweise [Het93, Nic93].Glie<strong>der</strong>ung1. Von informellen Anfor<strong>der</strong>ungen zu <strong>formalen</strong> Spezifikationen........................31.1. Einführung ..........................................................................31.2. Vom IST zum SOLL durch Bestimmung <strong>der</strong> Essenz ..........................61.3. Formalisierung <strong>der</strong> Essenz ........................................................72. Struktur <strong>der</strong> <strong>formalen</strong> Anfor<strong>der</strong>ungs-Spezifikation .................................. 112.1. Motivation......................................................................... 112.2. Grundstruktur <strong>ein</strong>er Anfor<strong>der</strong>ungsbeschreibung ............................. 112.3. Zentrale Komponenten........................................................... 122.4. Fachgebietsorientierte Komponenten .......................................... 142.5. Integration verschiedener Systemsichten ...................................... 192.6. Sicherheits<strong>an</strong>for<strong>der</strong>ungen ....................................................... 213. Zusammenfassung............................................................................. 22Literatur<strong>an</strong>gaben .................................................................................. 232


1 . Von informellen Anfor<strong>der</strong>ungen zu <strong>formalen</strong>Spezifikationen1.1. EinführungSeit etwa 25 Jahren wird intensive Forschung mit dem Ziel betrieben, die Qualität undZuverlässigkeit von Software-Produkten zu erhöhen. Dabei haben sich divergierendeEntwicklungslinien ergeben, bei denen sich erst in jüngster Zeit <strong>ein</strong>e Konvergenz abzeichnet.Entwicklungslinie „Formale Programmentwicklung“:Der Begriff „Korrekte Software“ wurde bis in die jüngste Verg<strong>an</strong>genheit vorwiegend mit <strong>ein</strong>erspeziellen Forschungsrichtung assoziiert, die versucht, die Softwareentwicklung auf <strong>ein</strong> strengmathematisches Fundament zu stellen und durch formale Tr<strong>an</strong>sformations- o<strong>der</strong> Beweisverfahrensicherzustellen, daß das Endprodukt <strong>ein</strong>er vorgegebenen Anfor<strong>der</strong>ung genügt. Etwasvernachlässigt wurde in diesem Bereich die Frage, wie m<strong>an</strong> die Adäquatheit <strong>ein</strong>er Anfor<strong>der</strong>ungsdefinitionsicherstellt, von <strong>der</strong> die restliche Entwicklung ja vollständig abhängig ist.Grundsätzlich zielt auch das Projekt KORSO auf die formale Entwicklung von Software ab,allerdings wird hier <strong>der</strong> Qualität <strong>der</strong> Anfor<strong>der</strong>ungen mehr Augenmerk geschenkt.Entwicklungslinie „Pragmatisches Software Engineering“:Neben <strong>der</strong> „<strong>formalen</strong> Programmentwicklung“ gibt es, eher aus dem Bereich <strong>der</strong> Datenb<strong>an</strong>k-Programmierung und <strong>der</strong> Wirtschaftsinformatik kommend, <strong>ein</strong>e Gruppe von Ansätzen, die sichmit pragmatischen Mitteln zur <strong>an</strong>schaulichen Darstellung von Anfor<strong>der</strong>ungen und <strong>der</strong> org<strong>an</strong>isatorischenEinbindung des Software-Entwicklungsprozesses in betriebliche Abläufe befaßt.Unglücklicherweise wurden in diesem Bereich die theoretischen Grundlagen und neuereErkenntnisse im Bereich <strong>der</strong> Programmiersprachen weitgehend vernachlässigt, so daß dasGebiet des sogen<strong>an</strong>nten „Requirements Engineering“ heutzutage bis auf wenige Ausnahmenohne Bezug zu streng <strong>formalen</strong> Ansätzen arbeitet.Im Rahmen <strong>der</strong> Fallstudie „HDMS-A“ im KORSO-Projekt [LCFW92] wurde versucht, <strong>an</strong>h<strong>an</strong>d<strong>ein</strong>es praktischen Beispiels <strong>ein</strong>e Brücke zwischen den beiden Welten zu schlagen. Ausgehendvon informellen Texten und teilweise formalisierten <strong>Beschreibung</strong>en, wurde <strong>ein</strong>e streng formale<strong>Beschreibung</strong> des Systems entwickelt, die die Grundlage für spätere formale Verifikationenwichtiger Teilaspekte des Systems bildet. In dem vorliegenden Papier werden dieVorgehensweise und die <strong>Beschreibung</strong>smittel beh<strong>an</strong>delt, die grundsätzlich auf jedes (verteilteo<strong>der</strong> zentrale) Informationssystem übertragbar sind. Die konkreten Anfor<strong>der</strong>ungen fürHDMS-A sind in <strong>ein</strong>em separaten Dokument beschrieben [SNM + 93].1.1.1. Anfor<strong>der</strong>ungenDie Abgrenzung des Begriffs „Anfor<strong>der</strong>ungsdefinition“ übernehmen wir aus <strong>der</strong> Literatur:„Ein Dokument, das <strong>ein</strong>e vollständige <strong>Beschreibung</strong> dessen enthält, was <strong>ein</strong>Softwaresystem tun soll, aber nicht erklärt, wie es das tun soll.“ [Dav90]3


Mit „Requirements Engineering“ wird die systematische Erfassung von Anfor<strong>der</strong>ungenbezeichnet, mit dem Ziel, daß <strong>ein</strong>e Anfor<strong>der</strong>ungsdefinition entsteht, die• die Wünsche <strong>der</strong> Systemnutzer richtig und vollständig wie<strong>der</strong>gibt und• <strong>ein</strong>e ausreichende Grundlage für die spätere Konstruktion des Systems darstellt.M<strong>an</strong> k<strong>an</strong>n Anfor<strong>der</strong>ungen <strong>an</strong> <strong>ein</strong> System grob klassifizieren in:• Funktionale Anfor<strong>der</strong>ungen• statische Aspekte (Datenstruktur)• dynamische Aspekte (Ablaufreihenfolge von Aktionen)• Wertverlaufsaspekte (auch funktionale Aspekte im engeren Sinn gen<strong>an</strong>nt)• als Spezialfall aller Aspekte: funktionale Sicherheits<strong>an</strong>for<strong>der</strong>ungen• Nicht-funktionale Anfor<strong>der</strong>ungen• Verteiltheits<strong>an</strong>for<strong>der</strong>ungen• technologieabhängige Sicherheits<strong>an</strong>for<strong>der</strong>ungen• Leistungs<strong>an</strong>for<strong>der</strong>ungen (Perform<strong>an</strong>ce)• Aspekte des EntwicklungsprozessesDiese Studie befaßt sich ausschließlich mit <strong>funktionalen</strong> Anfor<strong>der</strong>ungen und ist imAnwendungsbereich <strong>ein</strong>geschränkt auf Systeme, die vom Zugriff auf <strong>ein</strong>e o<strong>der</strong> mehrereDatenb<strong>an</strong>ken geprägt sind und bei denen absolute Grenzen <strong>der</strong> Antwortzeit (Echtzeit) k<strong>ein</strong>ewesentliche Rolle spielen.Abbildung 1 gibt <strong>ein</strong>en groben Überblick über die klassische Phasen<strong>ein</strong>teilung <strong>der</strong> Software-Entwicklung in <strong>ein</strong>er <strong>an</strong> die Bedürfnisse korrekter Software <strong>an</strong>gepaßter Form.Informelle Anfor<strong>der</strong>ungs- und ZielbeschreibungRequirementsEngineeringFormale Anfor<strong>der</strong>ungsdefinition"Vertrag"EntwurfsspezifikationAusführbare SpezifikationOptimierte, zielsprachen<strong>an</strong>gepaßte Spezifik.DesignCode, DB-Schemata, ... Abb. 1Hier wird <strong>ein</strong> scharfer Trennungsstrich zwischen den Phasen <strong>der</strong> Anfor<strong>der</strong>ungsermittlung unddem eigentlichen Systemdesign gezogen. Wie die Praxis zeigt, ist diese Trennung nicht so zu4


verstehen, daß alle Rückkopplungen aus späteren Phasen auf die Anfor<strong>der</strong>ungsdefinitionausgeschlossen sind. Folgende Merkmale sollen jedoch dadurch <strong>an</strong>gedeutet werden:• Die Tätigkeitsprofile in den Gebieten „Requirements Engineering“ und „Design“ sindgrundverschieden. In <strong>der</strong> Anfor<strong>der</strong>ungsermittlung arbeitet m<strong>an</strong> häufig mit informellenHilfsmitteln; erst das Endprodukt dieser Arbeit markiert den vollständigen Überg<strong>an</strong>g indie Welt <strong>der</strong> <strong>formalen</strong> Programmentwicklung. Dagegen arbeitet m<strong>an</strong> im Design korrekterSoftware fast ausschließlich mit <strong>formalen</strong> Hilfsmitteln; <strong>ein</strong>en Teil <strong>der</strong> Tätigkeit könnenhier Verifikationsaufgaben <strong>ein</strong>nehmen.• Im Bereich <strong>der</strong> Anfor<strong>der</strong>ungsermittlung ist auch das Vorgehen <strong>an</strong><strong>der</strong>s als im Design. Inden früheren Phasen benötigt m<strong>an</strong> <strong>ein</strong>en iterativen Arbeitsstil, <strong>der</strong> die ständige Revisiongrundlegen<strong>der</strong> Aussagen berücksichtigt und geradezu begünstigt. Im Design hingegenwird m<strong>an</strong> stärker zielgerichtet (wenn auch inkrementell) arbeiten und Revisionen <strong>der</strong>Grundlagen möglichst vermeiden.• Beim Einsatz formaler Methoden hat das Produkt <strong>der</strong> Anfor<strong>der</strong>ungsermittlung <strong>ein</strong>en<strong>an</strong><strong>der</strong>en Charakter als bei herkömmlichen Methoden. Durch die Formalisierung ist <strong>ein</strong>ewesentlich tiefergreifende Konsolidierung <strong>der</strong> Best<strong>an</strong>dteile möglich als sie bei herkömmlichenMethoden, etwa durch die Erstellung von Prototypen, erreicht wird. Dies trägt zu<strong>ein</strong>er größeren Stabilität <strong>der</strong> Grund<strong>an</strong>for<strong>der</strong>ungen bei.Die Vorgehensweise in den hier pauschal als „Design“ bezeichneten späteren Phasen <strong>der</strong>Entwicklung ist genauer beschrieben in <strong>ein</strong>em weiteren Papier des KORSO-Projekts[PWB+93]; sie ist nicht Gegenst<strong>an</strong>d des vorliegenden Berichts.1.1.3. FormalitätsgradeIn den hier verwendeten graphischen Darstellungen (<strong>ein</strong>schließlich obiger Abbildung 1) werdenverschiedene Umr<strong>an</strong>dungen verwendet, um den Grad <strong>der</strong> Formalität auszudrücken, in dem dasbetreffende Dokument gehalten ist. Dabei werden folgende Konventionen benutzt:InformellInformelle <strong>Beschreibung</strong>en sind typischerweise natürlichsprachige Texte (aber oft auchgraphische Skizzen). Als Grundlage für strenge Definitionen sind solche Darstellungenwenig geeignet: sie sind oft unvollständig, inkonsistent, mehrdeutig und diskussionsbedürftig.Dennoch sind informelle <strong>Beschreibung</strong>en absolut unerläßlich für dieKommunikation zwischen Menschen, insbeson<strong>der</strong>e zwischen Menschen verschiedenerFachspezialisierung, und für das schrittweise Formulieren formalerer <strong>Beschreibung</strong>en.FormalUnter <strong>formalen</strong> <strong>Beschreibung</strong>en verstehen wir hier <strong>Beschreibung</strong>en in Sprachen mitmathematisch präziser Syntax und Sem<strong>an</strong>tik (!). Solche Darstellungen sind kaum intuitivzu verstehen und deshalb ungeeignet für die Kommunikation mit Spezialisten aus demAnwendungsgebiet. Dennoch sind formale <strong>Beschreibung</strong>en die entscheidende Voraussetzungfür den Einsatz mathematisch-logischer Hilfsmittel (Beweise) und für sichereWerkzeugunterstützung.5


Für die Fallstudie wurde die formale Spezifkationssprache SPECTRUM [BFG+93]verwendet.SemiformalSemiformale Darstellungen stellen <strong>ein</strong>en Kompromiß zwischen Formalität undVerständlichkeit dar. Semiformale <strong>Beschreibung</strong>en haben grundsätzlich <strong>ein</strong>e präzisedefinierte Syntax, werden aber m<strong>an</strong>chmal durch zusätzliche informelle Informationenergänzt. Die Darstellungen sind meist graphisch orientiert, häufig werden auch Tabellen,Matrizen und strukturierter Text verwendet. Die Sem<strong>an</strong>tik semiformaler <strong>Beschreibung</strong>enist üblicherweise abhängig von natürlichsprachigen Namen o<strong>der</strong> Zusatzerklärungen.In <strong>der</strong> HDMS-A Fallstudie wurden folgende semi<strong>formalen</strong> Hilfsmittel verwendet:• Entity-Relationship-Diagramme zusammen mit tabellarischen <strong>Beschreibung</strong>en <strong>der</strong>Entitätstypen zur graphischen Darstellung <strong>der</strong> statischen Datenstruktur;• Datenflußdiagramme, die Einheiten <strong>der</strong> Informationsverarbeitung sowie Datenflüssezwischen diesen Einheiten, externen Akteuren und Speichern zeigen.1.2. Vom IST zum SOLL durch Bestimmung <strong>der</strong> EssenzAus gängigen Software-Entwurfsmethoden mit Betonung <strong>der</strong> Anfor<strong>der</strong>ungsdefinition (etwaSA/SD, o<strong>der</strong> OOA/OOD, vgl. [Dav90]) übernehmen wir die Grund<strong>an</strong>nahme, daß die<strong>funktionalen</strong> Anfor<strong>der</strong>ungen <strong>an</strong> das gepl<strong>an</strong>te System in wesentlichen Zügen durch <strong>ein</strong>existierendes System vorgegeben sind, das abgelöst werden soll. Diese Annahme istinsbeson<strong>der</strong>e d<strong>an</strong>n realistisch, wenn m<strong>an</strong> auch nicht-technische Realisierungen vonInformationsverarbeitung (durch menschliche SachbearbeiterInnen, Formblätter, Briefwechsel,Telefonate) in den Systembegriff mit <strong>ein</strong>bezieht. Wir bezeichnen das vorgegebene System als„IST“, das <strong>an</strong>gestrebte System als „SOLL“:ISTSOLLAbb. 2Wie durch die Form <strong>der</strong> Kästen in Abbildung 2 <strong>an</strong>gedeutet, verwenden die heutegebräuchlichen Entwurfsmethoden ausschließlich semiformale und informelle <strong>Beschreibung</strong>smittel.Die Wahl <strong>der</strong> Darstellungsmittel muß für die Zwecke <strong>der</strong> Entwicklung korrekterSoftware <strong>an</strong><strong>der</strong>s ausfallen, wie in den folgenden Abschnitten vorgeschlagen: Ziel ist <strong>ein</strong>eformale <strong>Beschreibung</strong> des „SOLL“-Systems.Das grundsätzliche Vorgehen bei <strong>der</strong> Ermittlung <strong>der</strong> SOLL-Anfor<strong>der</strong>ungen k<strong>an</strong>n durchaus ausden klassischen Methoden übernommen werden. <strong>Zur</strong>ückgehend auf [DeM79], hat sich imwesentlichen <strong>ein</strong> Vorgehen in vier Schritten durchgesetzt:(1) Grobes Modellieren des IST-Systems(2) Ableiten <strong>der</strong> Essenz des IST-Systems(3) Anpassen <strong>der</strong> Essenz <strong>an</strong> die SOLL-Anfor<strong>der</strong>ungen(4) Modellieren des SOLL-Systems6


Der Begriff <strong>der</strong> „Essenz“ wird hier in Anlehnung <strong>an</strong> [MP84] verwendet. Die essentiellen<strong>funktionalen</strong> Anfor<strong>der</strong>ungen <strong>an</strong> <strong>ein</strong> System sind diejenigen, die auch unter <strong>der</strong> Annahmeperfekter Technologie nötig sind, um das System zu beschreiben. In diesem Schritt soll m<strong>an</strong>also unbegrenzte große Speicher, beliebig hohe Rechengeschwindigkeit, zuverlässigeKommunikation und ähnliches voraussetzen. Das ermöglicht <strong>ein</strong>e knappe und übersichtliche<strong>Beschreibung</strong> und erleichtert das Erkennen neuartiger Lösungswege. Erst in Schritt 4 könnenwie<strong>der</strong> gezielt bestimmte gewünschte Technologie-Abhängigkeiten <strong>ein</strong>gebracht werden.1.3. Formalisierung <strong>der</strong> EssenzEs ist klar, daß für die Zwecke <strong>der</strong> Entwicklung korrekter Software zumindest das SOLL-Modell des Systems in formaler Form <strong>an</strong>gegeben werden muß. Wir schlagen vor, daß dasProdukt des Schritts 3 (SOLL-Essenz) vollständig als formale Spezifikation <strong>an</strong>gegeben wird,ebenso bei Schritt 4. In früheren Schritten können Formalisierungen für Ausschnitte ebenfallssinnvoll s<strong>ein</strong>. Im folgenden werden die <strong>ein</strong>zelnen Schritte in Bezug auf die verwendetenSprachmittel <strong>ein</strong>zeln beh<strong>an</strong>delt; außerdem werden jeweils Erfahrungen aus <strong>der</strong> HDMS-A-Fallstudie berichtet.Schritt 1: Modellieren des IST-SystemsEs ist klar, daß in Schritt 1 <strong>der</strong> Einsatz formaler Mittel nur schwer möglich ist. Er ist auch nur<strong>ein</strong>geschränkt wünschenswert, da <strong>ein</strong>e zu detaillierte Beschäftigung mit den technologieabhängigenF<strong>ein</strong>heiten des existierenden Systems oft Zeitverschwendung wäre. SemiformaleMittel sind sinnvoll, um die Darstellung übersichtlich zu gestalten.In <strong>der</strong> HDMS-A-Fallstudie wurden kommentierte Bedingungs-Ereignis-Netze (semiformal) zur<strong>Beschreibung</strong> <strong>der</strong> fachlichen Abläufe <strong>ein</strong>gesetzt. Für die <strong>Beschreibung</strong> des statischenDatenmodells wurde bereits teilweise <strong>ein</strong>e formale Sprache (SPECTRUM) verwendet, da hier zuerwarten ist, daß weite Teile <strong>der</strong> Struktur (etwa die Details <strong>ein</strong>es Blutbilds o<strong>der</strong> <strong>ein</strong>esHerzkatheter-Befunds) ohne große Verän<strong>der</strong>ungen in die SOLL-Spezifikation <strong>ein</strong>gepaßt werdenkönnen. Allerdings zeigt <strong>ein</strong>e nachträgliche Beurteilung, daß es günstiger gewesen wäre,bereits <strong>an</strong> dieser Stelle semiformale <strong>Beschreibung</strong>smittel (ER-Diagramme) <strong>ein</strong>zusetzen und inSPECTRUM nur die elementaren Sorten für Attributwerte zu beschreiben (siehe auch Abschnitt2.3.1 unten). Das Resultat <strong>der</strong> IST-Analyse für HDMS-A ist dokumentiert in [CKL93].Schritt 2: Ableiten <strong>der</strong> IST-EssenzAbbildung 3 deutet <strong>an</strong>, was im nächsten Schritt nach <strong>der</strong> Feststellung <strong>der</strong> IST-Situation zu tunist: Die Technologie-Abhängigkeiten und zufälligen Gegebenheiten werden eliminiert,insgesamt wird die <strong>Beschreibung</strong> auf ihren wesentlichen Kern reduziert und damit erheblichverkl<strong>ein</strong>ert. Dieser Prozeß findet vorwiegend auf <strong>der</strong> semi<strong>formalen</strong> Ebene statt, formaleHilfsmittel sind hier noch von untergeordneter Bedeutung.IST-<strong>Beschreibung</strong>Schritt 2IST-EssenzAbb. 37


Typischerweise ist Schritt 2 nur sehr schwer vom nächsten Schritt 3 abzugrenzen, in dem dieEssenz daraufhin <strong>an</strong>gepaßt wird, was in dem <strong>an</strong>gestrebten System tatsächlich realisiert werdensoll. Eine Erfahrung bei <strong>der</strong> Entwicklung <strong>der</strong> HDMS-A SOLL-Essenz war, daß dieDiskussionen <strong>der</strong> Beteiligten sich sehr schnell <strong>der</strong> SOLL-Ebene zuw<strong>an</strong>dten. Die IST-Analysediente im wesentlichen als systematischer Einstieg in das Problemgebiet. Deshalb liegt k<strong>ein</strong>separates Papier zur IST-Essenz vor.Schritt 3: Erstellen <strong>der</strong> SOLL-EssenzDas Kernstück <strong>der</strong> Anfor<strong>der</strong>ungsdefinition ist die Entwicklung <strong>der</strong> SOLL-Essenz. In denmeisten Fällen will m<strong>an</strong> (wie bei HDMS-A) vorgegebene Arbeitsabläufe unterstützen, so daßdie SOLL-Essenz die IST-Essenz im wesentlichen umfaßt. Typische Abweichungen beimSchritt zum SOLL sind Ver<strong>ein</strong>heitlichungen von Datenstrukturen und Ergänzungen umzusätzliche Leistungen des zu entwickelnden Systems.Abbildung 4 deutet die Charakteristika dieses Schritts <strong>an</strong>. In Schritt 3a werden Verän<strong>der</strong>ungenauf <strong>der</strong> semi<strong>formalen</strong> Ebene durchgeführt, die sich durch den Überg<strong>an</strong>g vom IST zum SOLLergeben, aber auch durch tiefere Einsicht in das Problemfeld im Vergleich zur IST-Analyse.Anschließend (Schritt 3b) werden die gefundenen Resultate in formale Notation überführt. Diesbedeutet, daß nur noch solche semiformale Mittel verwendet werden dürfen, für die <strong>ein</strong>eÜbersetzung in formale <strong>Beschreibung</strong>en problemlos möglich ist (siehe Abschnitt 2).IST-EssenzSchritt 3aSOLL-EssenzSchritt 3bSOLL-EssenzAbb. 4Diese <strong>ein</strong>fache Darstellung ist etwas irreführend. In Wirklichkeit ist zu beobachten, daß dieFormalisierung (Schritt 3b) meist zu Rückkopplungen mit <strong>der</strong> semi<strong>formalen</strong> Formulierung(Revisionen) führt. Wie in [ERAE86] dargestellt, ist das Vorgehen bei <strong>der</strong> Anfor<strong>der</strong>ungsdefinitionals Zyklus zu verstehen (Abb. 5), <strong>der</strong> in mehrfachen Durchläufen immer mehrInformation aus <strong>der</strong> wenig <strong>formalen</strong> Ebene des Wissenserwerbs in <strong>ein</strong>e <strong>der</strong> Analysezugängliche formale Gestalt tr<strong>an</strong>sformiert.8


WissenserwerbKonversionModellierungAnalyseAbb. 5Bei <strong>der</strong> HDMS-A Fallstudie wurde versucht, folgendes Vorgehen <strong>ein</strong>zuhalten, um den obigenSchritt 3b in mehreren Durchläufen durch diesen Zyklus zu realisieren:• Wissenserwerb bedeutet das Gewinnen neuer Einsichten, intuitiv o<strong>der</strong> durchKommunikation mit Anwen<strong>der</strong>n o<strong>der</strong> <strong>an</strong><strong>der</strong>en Entwicklern. Ein großer Teil solcherEinsichten besteht in Vorschlägen zur Verbesserung o<strong>der</strong> Ergänzung bereits vorliegen<strong>der</strong>Dokumente.• Modellierung bedeutet die Umsetzung von erworbenen Einsichten zunächst insemiformale Darstellungen (hier Datenflußdiagramme, ER-Diagramme und Attributstrukturen),später auch in formale Ergänzungen (wie Spezifikationen elementarerTr<strong>an</strong>saktionen).• Analyse tritt in verschieden intensiven Formen auf. In späteren Iterationen des Zykluswerden weitergehende Analyseverfahren möglich.• Analyse semiformaler Darstellungen durch Formalisierung bedeutet dieUmsetzung und Ergänzung <strong>der</strong> semi<strong>formalen</strong> Darstellungen zu <strong>formalen</strong> Spezifikationenin SPECTRUM. Für ER-Diagramme und Attributstrukturen wurde <strong>ein</strong>e schematischeÜbersetzung in SPECTRUM definiert (siehe [Het93]); für die Datenflußdiagramme ist aufdieser Stufe zunächst die Identifikation <strong>ein</strong>facher Aktivitäten (in HDMS-A elementareTr<strong>an</strong>saktionen gen<strong>an</strong>nt) von Bedeutung, die durch SPECTRUM-Spezifikationen mit <strong>ein</strong>erSem<strong>an</strong>tik zu versehen sind. Schon beim Versuch <strong>der</strong> Angabe dieser Sem<strong>an</strong>tik ergebensich häufig sinnvolle Rückfragen, die zu Modifikationen <strong>der</strong> semi<strong>formalen</strong> Dokumenteführen können.• Analyse <strong>der</strong> <strong>formalen</strong> Spezifikationen bedeutet zusätzlich die Untersuchung <strong>der</strong>SPECTRUM-Spezifikationen mit <strong>formalen</strong> Mitteln. Typisch sind hierfür Überprüfungenauf Sortenkorrektheit und Konsistenzuntersuchungen.• Analyse <strong>der</strong> Gesamtspezifikation bedeutet darüberhinaus die formale Überprüfung,ob die durch die elementaren Tr<strong>an</strong>saktionen ermöglichten Arbeitsabläufe mit dendurch die Dynamik <strong>der</strong> Datenflußdiagramme zulässigen Arbeitsabläufen über<strong>ein</strong>stimmen(siehe auch die Abschnitte 2.4.2 – 2.4.4 und [Nic93]).9


• Konversion ist nötig, sol<strong>an</strong>ge die Analyse zu Einsichten führt, die nicht mit den(semi<strong>formalen</strong>) Resultaten <strong>der</strong> Modellierung in Einkl<strong>an</strong>g stehen. Typisch sind etwazusätzlich nötige Entitätstypen, Attribute, Relationships o<strong>der</strong> Tr<strong>an</strong>saktionen, <strong>ein</strong>e f<strong>ein</strong>ereUnterglie<strong>der</strong>ung von zunächst als elementar vermuteten Tr<strong>an</strong>saktionen o<strong>der</strong> auch <strong>ein</strong>ePräzisierung informeller Definitionen von Begriffen und Erläuterungen. In diesem Fallmüssen die entsprechenden Modifikationen auf den informellen Dokumenten nachgetragenund dem Anwen<strong>der</strong> präsentiert werden – <strong>ein</strong> neuer Durchlauf durch den Zyklusbeginnt. Im Gegensatz zu <strong>der</strong> intuitiv naheliegenden Bedeutung des Begriffes„Konversion“ wurde in <strong>der</strong> Fallstudie <strong>ein</strong>e echte Rückübersetzung aus <strong>der</strong> <strong>formalen</strong> insemiformale Darstellungen nicht verwendet; das Nachtragen in den informellenDokumenten erwies sich als ausreichend.Die als separates Dokument vorliegende „funktionale Essenz“ zu HDMS-A [SNM+93]entspricht dem Endprodukt des Schrittes 3.Schritt 4: Modellieren des SOLL-SystemsDer Vorteil <strong>ein</strong>er frühen Einbeziehung formaler Mittel zahlt sich bei Schritt 4 aus. JedeHinzufügung <strong>ein</strong>er Technologie-Abhängigkeit muß selbstverständlich immer noch die SOLL-Anfor<strong>der</strong>ungen realisieren. Ob dies <strong>der</strong> Fall ist, läßt sich hier bereits mit <strong>formalen</strong> Mittelnüberprüfen. Hierzu muß die technologische Basis in ihren Grundzügen formal beschriebenwerden und die SOLL-Essenz-Spezifikation im Sinne klassischer Verf<strong>ein</strong>erungsbegriffe[PWB + 93] über <strong>der</strong> Basis realisiert werden.Der Schritt 4 konnte in <strong>der</strong> HDMS-A-Fallstudie nur noch <strong>an</strong>gedeutet werden. TypischeBeispiele wären in HDMS-A:• die Einbindung vorh<strong>an</strong>dener Systeme (die <strong>ein</strong>e formal beschriebene Schnittstelle erhaltenmüssen),• die Einhaltung <strong>ein</strong>er bestimmten Verteilungsstruktur <strong>der</strong> Datenhaltung (aus org<strong>an</strong>isatorischeno<strong>der</strong> rechtlichen Gründen),• die Berücksichtigung von Benutzerrollen und Zugriffsrechten (siehe auch [Ren94]),• die Verwendung <strong>ein</strong>er Kommunikationsarchitektur mit Konsequenzen für die grundsätzlicheSystemfunktionalität,• die Verwendung <strong>ein</strong>er (graphischen) Benutzeroberfläche mit Konsequenzen für dieBündelung o<strong>der</strong> Entkoppelung von Tr<strong>an</strong>saktionen.10


2 . Struktur <strong>der</strong> <strong>formalen</strong> Anfor<strong>der</strong>ungs-Spezifikation2.1. MotivationIm folgenden wird die spezielle Darstellungsform für die Spezifikation <strong>der</strong> <strong>funktionalen</strong> Essenz<strong>ein</strong>es Systems beschrieben, die in <strong>der</strong> HDMS-A-Fallstudie verwendet wurde. Ziel dieser<strong>Beschreibung</strong>sform ist es, <strong>ein</strong>en tragbaren Kompromiß zu finden zwischen <strong>der</strong> für dieEntwicklung korrekter Software notwendigen <strong>formalen</strong> Präzision und <strong>der</strong> für das Verständnis<strong>ein</strong>es umf<strong>an</strong>greichen Systems notwendigen kompakten, übersichtlichen und <strong>an</strong>wendungsorientierten<strong>Beschreibung</strong>.Beson<strong>der</strong>e Bedeutung kommt hier dem Aspekt <strong>der</strong> Anwendungsorientierung zu. Es istwesentlich, daß die Anfor<strong>der</strong>ungsdefinition vollständig <strong>der</strong> fachlichen Struktur des Anwendungsgebiets<strong>an</strong>gepaßt ist und nur minimale Architektur<strong>an</strong>nahmen für das zu entwickelndeSystem enthält. Darüberhinaus ist für die oben beschriebenen Rückkopplung mit demAnwen<strong>der</strong>wissen die systematische Einbeziehung von semi<strong>formalen</strong> Darstellungsformennotwendig.Zu diesem Zweck werden zwei in <strong>der</strong> Praxis gängige semiformale <strong>Beschreibung</strong>smittel zurAnfor<strong>der</strong>ungsbeschreibung übernommen, nämlich• Entity-Relationship-Diagramme(zusammen mit Attributstrukturen für die Entitätstypen) und• Datenflußdiagramme.Diese <strong>Beschreibung</strong>smittel werden aber als abkürzende Schemata für formale (SPECTRUM-)Spezifikationen verst<strong>an</strong>den und somit mit <strong>ein</strong>er streng <strong>formalen</strong> Sem<strong>an</strong>tik unterlegt. Dadurchsind wesentliche Teile <strong>der</strong> <strong>formalen</strong> Spezifikation auch für <strong>ein</strong>en Leserkreis zugänglich, <strong>der</strong>nicht in formaler Spezifikation ausgebildet ist.Wichtig für das Verständnis dieses Ansatzes ist, daß es sich hier nicht um <strong>ein</strong>e Abkehr von <strong>der</strong>streng <strong>formalen</strong> Systemspezifikation h<strong>an</strong>delt. Die Spezifikation k<strong>an</strong>n als geschlossener formaler(SPECTRUM-)Text verst<strong>an</strong>den werden, in dem allerdings <strong>ein</strong>e Vielzahl von sehr schematischenFunktionsdeklarationen und Axiomen nicht explizit aufgeschrieben, son<strong>der</strong>n implizit erzeugtsind.2.2. Grundstruktur <strong>ein</strong>er Anfor<strong>der</strong>ungsbeschreibungDie Anfor<strong>der</strong>ungen werden, wie oben erläutert, nach Fachgebieten und fachlichen Aufgabengeglie<strong>der</strong>t dargestellt. Fachgebiete sind typischerweise verschiedene Abteilungen <strong>ein</strong>es Betriebs(bzw. <strong>ein</strong>er Klinik), fachliche Aufgaben sind meist als Tätigkeitsprofil <strong>ein</strong>er bestimmtenGruppe von Mitarbeitern gegeben.In <strong>der</strong> IST-<strong>Beschreibung</strong> sind die fachlichen Aufgaben durch Abläufe vorgegeben. Im Fall vonHDMS-A waren die Abläufe durch kommentierte Bedingungs-Ereignis-Netze beschrieben; die11


Form darf hier aber je nach Anwendung und R<strong>an</strong>dbedingungen stark schw<strong>an</strong>ken. Für dieDarstellung <strong>der</strong> <strong>funktionalen</strong> Essenz k<strong>an</strong>n die Glie<strong>der</strong>ung nach Fachgebieten meist direkt aus<strong>der</strong> IST-Analyse übernommen werden (in HDMS-A sind Beispiele für Fachgebiete: Labor,Aufnahme/Entlassung, Pflegerroutine). Kern <strong>der</strong> <strong>Beschreibung</strong> <strong>ein</strong>es Fachgebiets ist dieAngabe <strong>der</strong> essentiellen fachlichen Abläufe und Aktivitäten.Alle fachlichen Abläufe verwenden Datenelemente, etwa die in <strong>der</strong> IST-Spezifikationbeschriebenen Datensätze o<strong>der</strong> Abstraktionen davon. Eine <strong>der</strong> wesentlichen Aufgaben bei <strong>der</strong>Erstellung <strong>der</strong> <strong>funktionalen</strong> Essenz besteht darin, alle diese Datenelemente (soweit sie nicht r<strong>ein</strong>lokaler und temporärer Natur sind) in <strong>ein</strong> zentrales Datenmodell <strong>ein</strong>zupassen, das zwischen denverschiedenen fachlichen Einzelabläufen vermittelt und als Fundament des Systems dient.Abgerundet wird <strong>ein</strong>e abstrakte Systemvorstellung durch <strong>ein</strong>e fiktive Systemoberfläche, die fürdie Schnittstelle zwischen <strong>der</strong> Systemumgebung und den fachlichen Einzelkomponenten sorgt.Insgesamt ergibt sich <strong>der</strong> in Abbildung 6 <strong>an</strong>gedeutete Aufbau <strong>der</strong> Anfor<strong>der</strong>ungsbeschreibung,die auf k<strong>ein</strong>en Fall mit <strong>ein</strong>er Architektur <strong>der</strong> gepl<strong>an</strong>ten Systemrealisierung verwechselt werdensollte. Zum Beispiel k<strong>an</strong>n das endgültige System aufgrund von Verteilungsfor<strong>der</strong>ungen o<strong>der</strong>fachgebietsübergreifenden Funktionalitäten in s<strong>ein</strong>er Architektur vollständig <strong>an</strong><strong>der</strong>s <strong>an</strong>gelegts<strong>ein</strong>! Die vorgeschlagene Strukturierung ist durchaus nicht ungewöhnlich, sie wurde unter<strong>an</strong><strong>der</strong>em bereits in [WS79] vorgeschlagen.Abstrakte SystemoberflächeFachgebiet 1…Fachgebiet nDatenmodellAbb. 6Die graphisch <strong>an</strong>gedeutete interne Struktur <strong>der</strong> fachgebietsspezifischen Anteile wird unten inAbschnitt 2.4 näher erläutert.2.3. Zentrale Komponenten2.3.1 DatenmodellDie zentrale Komponente „Datenmodell“ aus Abbildung 6 enthält, als SPECTRUM-Spezifikationverst<strong>an</strong>den, naturgemäß sehr viel schematische Information, etwa über das Zusammenwirkenvon speichernden, lesenden und löschenden Zugriffen auf die Datenb<strong>an</strong>k. Es ist sinnvoll, vondiesem schematischen Anteil zu abstrahieren, <strong>der</strong> den Leser verwirrt und von <strong>der</strong> essentiellenInformation ablenkt. Deshalb wird das Datenmodell in Form <strong>ein</strong>es klassischen Entity-Relationship-Diagramms mit zugehörigen Entitätstyp-<strong>Beschreibung</strong>en (Attributstruktur) undRelationshiptypen <strong>an</strong>gegeben. Dabei wird allerdings im Gegensatz zu vielen semi<strong>formalen</strong>Ansätzen vorausgesetzt, daß jedem Attribut <strong>ein</strong> wohldefinierter Wertebereich zugeordnet ist, <strong>der</strong>12


durch <strong>ein</strong>e SPECTRUM-Sorte spezifiziert ist. Im Sinne loser Spezifikation ist dieMinimal<strong>an</strong>for<strong>der</strong>ung die Existenz <strong>ein</strong>er Sorte für jedes Attribut, im allgem<strong>ein</strong>en k<strong>an</strong>n m<strong>an</strong> hierpräzise Informationen aus <strong>der</strong> IST-Analyse übernehmen o<strong>der</strong> oft auch St<strong>an</strong>dard-Sortenverwenden.Die semiformale <strong>Beschreibung</strong> des Datenmodells k<strong>an</strong>n systematisch in <strong>ein</strong>e geschlosseneSPECTRUM-Spezifikation übersetzt werden (siehe [Het93] für Details). Diese Übersetzung mußallerdings im Regelfall für die Zwecke <strong>der</strong> Spezifikation nicht tatsächlich ausgeführt werden.Durch die Wahl mnemotechnisch günstiger Namen k<strong>an</strong>n m<strong>an</strong> die Übersetzung „virtuell“ lassenund <strong>ein</strong>fach in weiteren SPECTRUM-Texten Bezug auf die durch die Übersetzung definiertenFunktionen und Sorten nehmen.2.3.2. SystemoberflächeDie zentrale Komponente „Systemoberfläche“ hat – abstrakt gesehen – <strong>ein</strong>e ziemlich trivialeFunktion. Die Gesamtsicht des Systems ist die <strong>ein</strong>er stromverarbeitenden Einheit, die Strömevon Benutzer<strong>ein</strong>gaben aufnimmt und Ströme von Ausgaben abgibt. Die Systemoberfläche istdafür zuständig, die Aktivierung <strong>der</strong> fachlichen Einzelfunktionen und ihre Versorgung mitParametern zu org<strong>an</strong>isieren sowie die Systemausgaben richtig „zuzustellen“. Auf <strong>der</strong> Ebene <strong>der</strong>Anfor<strong>der</strong>ungsdefinition wird deshalb k<strong>ein</strong>e zentrale Benutzeroberfläche <strong>an</strong>gegeben. Stattdessengenügt es, die Ein-/Ausgabeschnittstellen jeweils für die Fachgebiete zu beschreiben, und zwarauch hier in relativ abstrakter Form (siehe 2.4). Ein detailliertes Design <strong>der</strong> Benutzerschnittstellenerfolgt erst später, wenn z.B. <strong>ein</strong> Prototyp <strong>ein</strong>es Arbeitsplatzes erstellt wird.M<strong>an</strong> k<strong>an</strong>n sich als implizite Benutzerschnittstelle etwa die Auswahl <strong>der</strong> Fachgebiete alsHauptmenü vorstellen und die innerhalb <strong>ein</strong>es Fachgebiets vorh<strong>an</strong>denen elementarenTr<strong>an</strong>saktionen als Untermenüs (mit Parameterversorgung), wobei natürlich bestimmteFunktionen bei bestimmten Parameter<strong>an</strong>gaben nicht aufrufbar sind. Eine ähnliche impliziteDefinition <strong>der</strong> Oberfläche wird z.B. auch im ADISSA-Ansatz [Sho88] vorgeschlagen.Die hier gemachten Aussagen sind graphisch in Abbildung 7 <strong>an</strong>gedeutet.Abstrakte Systemoberfläche…Datenmodell (E/R Diagramm)Abb. 713


2.4. Fachgebietsorientierte KomponentenWie bereits oben erwähnt, werden die fachlichen Einzelabläufe grundsätzlich in sogen<strong>an</strong>nteelementare Tr<strong>an</strong>saktionen zerlegt, die in <strong>der</strong> Form von Funktionen in SPECTRUM beschriebenwerden. Um die oben <strong>an</strong>gesprochene Rückkopplung zur semi<strong>formalen</strong> <strong>Beschreibung</strong> zuerhalten, werden die fachlichen Arbeitsabläufe durch Datenflußdiagramme illustriert. EineFachgebietsbeschreibung enthält immer sowohl Diagramme als auch <strong>formalen</strong> Spezifikationstext.Die in den Datenflußdiagrammen auftretenden (im Falle <strong>ein</strong>es hierarchischen Diagrammsdie nicht weiter verf<strong>ein</strong>erten) Kästen entsprechen entwe<strong>der</strong> <strong>ein</strong>er elementaren Tr<strong>an</strong>saktion desgepl<strong>an</strong>ten Systems o<strong>der</strong> – falls <strong>der</strong> Kasten im Datenflußdiagramm außerhalb <strong>der</strong> Systemgrenze<strong>an</strong>gesiedelt ist – <strong>ein</strong>er sogen<strong>an</strong>nten Umweltfunktion. Eine Umweltfunktion ist <strong>ein</strong>e Datentr<strong>an</strong>sformation,die nicht innerhalb des zu entwickelnden Systems, son<strong>der</strong>n außerhalb des Systemsstattfindet, aber für die <strong>Beschreibung</strong> zusammenhängen<strong>der</strong> Abläufe ebenfalls beschrieben wird.Sowohl elementare Tr<strong>an</strong>saktionen als auch Umweltfunktionen werden durch SPECTRUM-Spezifikationen ergänzt. Hierbei werden für Umweltfunktionen meist nur bestimmtegrundlegende (sicherheitsrelev<strong>an</strong>te) Eigenschaften beschrieben, die für <strong>ein</strong> korrektesFunktionieren des Systems vorausgesetzt werden.2.4.1. Struktur <strong>ein</strong>er Fachgebiets-SpezifikationAus den oben gemachten Ausführungen ergibt sich, daß <strong>ein</strong>e Einzel-Spezifikation für <strong>ein</strong>bestimmtes Fachgebiet mindestens die Best<strong>an</strong>dteile enthält, die in Abbildung 8 aufgeführt sind:AxiomatischeSpezifikationen(für element.Tr<strong>an</strong>saktionenund Umweltfkt.)Datenfluß-DiagrammSchnittstellezumDatenmodellAbb.8Der grau unterlegte Anteil in Abbildung 8 besteht aus formalem SPECTRUM-Text, <strong>der</strong> nichtunterlegte Anteil aus <strong>ein</strong>em <strong>ein</strong>zigen (möglicherweise hierarchisch geglie<strong>der</strong>ten)Datenflußdiagramm, das den Überblick über das gesamte Fachgebiet gibt.Der formale Anteil ist unterglie<strong>der</strong>t in <strong>ein</strong>zelne elementare Tr<strong>an</strong>saktionen (dargestellt alssenkrechte „Fächer“), für die jeweils <strong>ein</strong>e Funktion und zugehörige Axiome <strong>an</strong>gegeben werden.Unter Umständen kommt noch <strong>ein</strong> die Einzel-Tr<strong>an</strong>saktionen übergreifen<strong>der</strong> Anteil hinzu, <strong>der</strong>auf <strong>der</strong> Basis des Datenmodells bestimmte nützliche Hilfsfunktionen realisiert (hier „Schnittstellezum Datenmodell“ gen<strong>an</strong>nt). In <strong>ein</strong>fachen Fällen entfällt dieser Anteil; d<strong>an</strong>n genügt diedurch die Übersetzung des ER-Diagramms gelieferte Schnittstelle.14


Aus pragmatischen Gründen ist zusätzlich <strong>ein</strong> kommentieren<strong>der</strong> Text erfor<strong>der</strong>lich, <strong>der</strong> dieDifferenzen zwischen <strong>der</strong> <strong>funktionalen</strong> Essenz und <strong>der</strong> IST-<strong>Beschreibung</strong> aufzählt un<strong>der</strong>läutert.2.4.2. Spezifikation elementarer Tr<strong>an</strong>saktionenEine elementare Tr<strong>an</strong>saktion beschreibt <strong>ein</strong>e Modifikation des Systemzust<strong>an</strong>des (d.h. <strong>ein</strong>erInst<strong>an</strong>z des Datenmodells), die die vollständige Reaktion des Systems auf <strong>ein</strong> externes Ereignisdarstellt. Aus Benutzersicht ist <strong>ein</strong>e elementare Tr<strong>an</strong>saktion die kl<strong>ein</strong>ste Einheit <strong>der</strong>Systemreaktion, die durch Eingaben <strong>an</strong> <strong>der</strong> Benutzerschnittstelle <strong>an</strong>gesteuert werden k<strong>an</strong>n.Menüs und Dialogabläufe sind im allgem<strong>ein</strong>en Zusammenfassungen solcher elementarenTr<strong>an</strong>saktionen und werden in <strong>der</strong> <strong>funktionalen</strong> Essenz noch nicht betrachtet.Der Begriff <strong>der</strong> (elementaren) Tr<strong>an</strong>saktion wird hier nicht völlig gleichbedeutend mit dementsprechenden Terminus aus dem Bereich <strong>der</strong> Datenb<strong>an</strong>ksysteme verwendet. Die elementarenTr<strong>an</strong>saktionen <strong>der</strong> Anfor<strong>der</strong>ungsbeschreibung ähneln Datenb<strong>an</strong>ktr<strong>an</strong>saktionen jedoch in ihrerUnteilbarkeit. Eine elementare Tr<strong>an</strong>saktion wird entwe<strong>der</strong> als g<strong>an</strong>zes o<strong>der</strong> überhaupt nichtausgeführt. Die im Datenmodell beschriebenen Relationshiptyp-Restriktionen und <strong>an</strong><strong>der</strong>estatische Integritätsbedingungen des Datenmodells sollten Invari<strong>an</strong>ten <strong>der</strong> elementarenTr<strong>an</strong>saktionen s<strong>ein</strong> (was mit <strong>formalen</strong> Mitteln untersuchbar ist).Die Festlegung <strong>der</strong> elementaren Tr<strong>an</strong>saktionen ist <strong>ein</strong> Teil <strong>der</strong> Modellierung in Schritt 3b gemäßAbschnitt 1.3. Es k<strong>an</strong>n also durchaus verschiedene Ansichten darüber geben, welcheelementaren Tr<strong>an</strong>saktionen für <strong>ein</strong> bestimmtes Informationssystem wirklich essentiell sind.Die Ein- und Ausgaben elementarer Tr<strong>an</strong>sitionen entsprechen strukturierten Daten, die inSPECTRUM spezifiziert werden können. Meistens h<strong>an</strong>delt es sich hier um Tupel vonDatensorten, die bereits für die Attributstruktur als SPECTRUM-Sorten spezifiziert sind. Falls essich um komplexere Record-Strukturen h<strong>an</strong>delt (etwa bei <strong>der</strong> Ausgabe von ausgefülltenFormularen), k<strong>an</strong>n m<strong>an</strong> wie beim Datenmodell auch <strong>ein</strong>e tabellarische Attributstruktur <strong>an</strong>geben,die „virtuell“ o<strong>der</strong> automatisch in SPECTRUM übersetzt wird. (Dieses Hilfsmittel wurde imBeispiel HDMS-A etwa für die im Laufe <strong>der</strong> An- und Abmeldung entstehenden verwaltungstechnischenDokumente verwendet.)Eine elementare Tr<strong>an</strong>saktion „eta“, die Daten <strong>der</strong> (SPECTRUM-)Sorte „DataIn“ in Daten <strong>der</strong>Sorte „DataOut“ überführt, führt d<strong>an</strong>n zu <strong>ein</strong>er SPECTRUM-Funktion folgen<strong>der</strong> Signatur:eta: DataIn × Db → DataOut × Db;Der Bezeichner „Db“ steht hier für den aktuellen Zust<strong>an</strong>d <strong>der</strong> System-„Datenbasis“, wie in[Het93] näher erläutert. Diese Tr<strong>an</strong>saktion zeigt den allgem<strong>ein</strong>sten Fall <strong>ein</strong>es lesenden undschreibenden Zugriffs auf die Datenbasis, in den Spezialfällen von nur lesendem o<strong>der</strong> nurschreibendem Zugriff k<strong>an</strong>n <strong>der</strong> „Db“-Parameter auf jeweils <strong>ein</strong>er Seite des Funktionspfeilesentfallen (siehe auch [Nic93]).Unter diesen Voraussetzungen k<strong>an</strong>n die Sem<strong>an</strong>tik für die meisten elementaren Tr<strong>an</strong>saktionen instrukturell <strong>ein</strong>facher (wenn auch textuell m<strong>an</strong>chmal relativ l<strong>an</strong>ger) Form mit SPECTRUM-Axiomen <strong>an</strong>gegeben werden.15


2.4.3. Spezifikation von UmweltfunktionenUmweltfunktionen sind Datentr<strong>an</strong>sformationen, die zur Ablaufbeschreibung im Datenflußdiagrammbenötigt werden, aber nicht innerhalb des Computer-Systems, also nicht alselementare Tr<strong>an</strong>saktionen, realisiert werden können o<strong>der</strong> sollen. Die in <strong>der</strong> HDMS-A Fallstudieverwendeten Datenflußdiagramme zeigen jeweils die Grenze des Systems (d.h. <strong>der</strong> auf demComputer realisierten Teile) <strong>an</strong>. Kästen außerhalb dieser Systemgrenze sind Umweltfunktionen;Kästen innerhalb <strong>der</strong> Grenze sind elementare Tr<strong>an</strong>saktionen. In [SNM+93] wird darüberhinausdie Konvention verwendet, daß Umweltfunktionen auch als Kästen mit gestricheltem R<strong>an</strong>ddargestellt werden und d<strong>an</strong>n auch (für <strong>ein</strong>e übersichtlichere Darstellung) innerhalb <strong>der</strong>Systemgrenze liegen können.Im Gegensatz zu elementaren Tr<strong>an</strong>saktionen haben die Umweltfunktionen k<strong>ein</strong>en Zugriff aufdie Datenbasis. Jede Umweltfunktion läßt sich also genau nach dem oben <strong>an</strong>gegebenenSchema in SPECTRUM näher beschreiben. Die Parameter für die Datenbasis entfallen hier:uf: DataIn → DataOut;Im Gegensatz zu <strong>ein</strong>em weit verbreiteten Mißverständnis bedeutet formale Spezifikation vonfachlichen Funktionen nicht, daß diese Funktionen in ihrem vollen Umf<strong>an</strong>g <strong>ein</strong>deutig festgelegts<strong>ein</strong> müssen. Ein loser Spezifikationsstil ermöglicht es durchaus, fachlich komplexeEinzelfunktionen nur skizzenhaft und in Teilaspekten festzulegen. Im Beispiel HDMS-A seihier als <strong>ein</strong>leuchtendes Beispiel die Bestimmung des Blutbilds aus <strong>ein</strong>em Laborauftrag und<strong>ein</strong>er Blutprobe erwähnt, <strong>ein</strong>e typische Umweltfunktion aus dem Labor-Fachgebiet. Es ist<strong>ein</strong>fach, <strong>ein</strong>e teilweise formale Spezifikation für diesen Vorg<strong>an</strong>g zu geben (aus <strong>ein</strong>emLaborauftrag und <strong>ein</strong>er Blutprobe werden Blutbildwerte ermittelt). Für Sicherheitsaspekte k<strong>an</strong>nes wichtig werden, auch festzulegen, daß die abgelieferten Werte in <strong>ein</strong>em identifizierendenMerkmal (z.B. Auftragsnummer) mit <strong>der</strong> Blutprobe über<strong>ein</strong>stimmen. Eventuell können auchnoch bestimmte Plausibilitätsregeln spezifiziert werden, die genaue Angabe jedoch, welcheWerte konkret aus <strong>ein</strong>er Blutprobe ermittelt werden, entzieht sich natürlich <strong>ein</strong>er mathematischen<strong>Beschreibung</strong>.2.4.4. Ablaufbeschreibung durch DatenflußdiagrammeDas Datenflußdiagramm ist zunächst als begleitende Illustration des Systems von elementarenTr<strong>an</strong>saktionen für <strong>ein</strong> Fachgebiet zu sehen. In diesem Sinne gibt es <strong>ein</strong>en Überblick über dieverwendeten elementaren Tr<strong>an</strong>saktionen und ihre Datenabhängigkeiten, <strong>der</strong> auch für Anwen<strong>der</strong>verständlich s<strong>ein</strong> soll.Eine wichtige Konsistenzbedingung zwischen den Datenflußdiagrammen und den SPECTRUM-Spezifikationen <strong>der</strong> elementaren Tr<strong>an</strong>saktionen muß <strong>ein</strong>gehalten werden, damit sich die beiden<strong>Beschreibung</strong>sformen sinnvoll ergänzen:• Je<strong>der</strong> elementaren Tr<strong>an</strong>saktion entspricht <strong>ein</strong> Kasten des Datenflußdiagramms innerhalb<strong>der</strong> Systemgrenze. Analog entspricht je<strong>der</strong> Umweltfunktion <strong>ein</strong> Kasten außerhalb <strong>der</strong>Systemgrenze o<strong>der</strong> <strong>ein</strong> gestrichelter Kasten.16


• Jedem Eingabeparameter <strong>der</strong> elementaren Tr<strong>an</strong>saktion o<strong>der</strong> Umweltfunktion entspricht <strong>ein</strong>Datenfluß in den betreffenden Kasten. Analog gibt es zu jedem Ausgabeparameter <strong>ein</strong>enDatenfluß aus dem betreffenden Kasten.• Ein lesen<strong>der</strong> bzw. schreiben<strong>der</strong> Zugriff <strong>ein</strong>er elementaren Tr<strong>an</strong>saktion auf die Datenbasiswird durch <strong>ein</strong>en Pfeil dargestellt, <strong>der</strong> den betreffenden Kasten mit <strong>ein</strong>em Symbol für<strong>ein</strong>en Datenspeicher verbindet. Es können mehrere solche Datenspeicher existieren, dieverschiedenen Ausschnitten aus <strong>der</strong> System-Datenbasis entsprechen. Ein schreiben<strong>der</strong>Zugriff entspricht <strong>ein</strong>em Pfeil in den Datenspeicher, <strong>ein</strong> lesen<strong>der</strong> Zugriff <strong>ein</strong>em Pfeil ausdem Datenspeicher.Nach diesen Konventionen ist die obige Tr<strong>an</strong>saktion „eta“ so im Diagramm zu repräsentieren,wie es Abbildung 9 zeigt.DataInetaDataOutDbAbb. 9Über diese r<strong>ein</strong>e Illustrationsfunktion für die Einzeltr<strong>an</strong>saktionen hinaus k<strong>an</strong>n m<strong>an</strong> dasDatenflußdiagramm auch verwenden, um <strong>ein</strong>e lose <strong>Beschreibung</strong> des Zusammenwirkenselementarer Tr<strong>an</strong>saktionen zu Gesamtabläufen des Systems zu geben. Hierzu werden die<strong>ein</strong>zelnen, den Tr<strong>an</strong>saktionen und Umweltfunktionen entsprechenden Diagrammteile mit denDatenflüssen zu Ablaufplänen zusammengeschaltet. Zwei spezielle Konstrukte erleichtern hierdie Darstellung:• Um komplexe Abläufe übersichtlich darzustellen, wurde in [SNM+93] <strong>ein</strong>Abkürzungsmech<strong>an</strong>ismus verwendet. Wie bei Datenflußdiagrammen üblich, k<strong>an</strong>n <strong>ein</strong>g<strong>an</strong>zes Teildiagramm "zusammengefaltet" und als <strong>ein</strong> Kasten dargestellt werden, um es in<strong>ein</strong>en größeren Kontext <strong>ein</strong>zubetten. Solche "zusammengefalteten" Teilabläufe sind alsKästen mit fettgedrucktem R<strong>an</strong>d dargestellt.• An m<strong>an</strong>chen Stellen ist es notwendig, <strong>ein</strong> Datum abhängig von <strong>ein</strong>er Bedingung <strong>an</strong>verschiedene Tr<strong>an</strong>saktionen weiterzureichen. Hierfür wurden in [SNM+93] Rauten-Symbole verwendet, die als Datenfluß-Weichen zu verstehen sind. Für <strong>ein</strong>e genauere<strong>Beschreibung</strong> <strong>der</strong> Sem<strong>an</strong>tik siehe [Nic93].Im allgem<strong>ein</strong>en ist es <strong>ein</strong>e nichttriviale Aufgabe, für Datenflußdiagramme <strong>ein</strong>e mathematischeSem<strong>an</strong>tik <strong>an</strong>zugeben. Die Schwierigkeit entsteht dadurch, daß <strong>der</strong> Datenfluß all<strong>ein</strong>egrundsätzlich k<strong>ein</strong>e Aussage über die Reihenfolge des Aufrufs <strong>der</strong> Einzelfunktionen(Ablaufstruktur) macht. Im Bereich des Software Engineering wird bei diesem Thema bis heutemit ziemlich unpräzisen sem<strong>an</strong>tischen Vorstellungen gearbeitet (für <strong>ein</strong>e Diskussion siehe[Woo88] und auch [War86]).17


Um k<strong>ein</strong>e syntaktischen Einschränkungen (etwa <strong>ein</strong> Verbot von Datenflüssen zwischenelementaren Tr<strong>an</strong>saktionen) in Kauf nehmen zu müssen und um <strong>ein</strong>en leichten Überg<strong>an</strong>g in denEntwurf <strong>ein</strong>es verteilten Systems zu ermöglichen, wurde in [Nic93] <strong>ein</strong>e formale Sem<strong>an</strong>tikentworfen, die Datenflußdiagramme als Netz stromverarbeiten<strong>der</strong> Agenten versteht. DieseSem<strong>an</strong>tik ist auch in SPECTRUM darstellbar und k<strong>an</strong>n als implizite Erweiterung <strong>der</strong>vorgegebenen Funktions<strong>ein</strong>heiten zu stromverarbeitenden Funktionen verst<strong>an</strong>den werden. ImVergleich zur Verwendung von Datenflußdiagrammen etwa in <strong>der</strong> Strukturierten Analyse[MP84] legt diese Sem<strong>an</strong>tik das Systemverhalten wesentlich strenger fest. Gemäß <strong>der</strong> in[Nic93] <strong>an</strong>gegebenen Sem<strong>an</strong>tik umfassen Datenflußdiagramme durchaus auch Kontrollfluß-Aspekte, sie sind intuitiv am besten als Ablaufdiagramme zur <strong>Beschreibung</strong> g<strong>an</strong>zerGeschäftsvorgänge zu verstehen.Die Grundidee dieser Darstellung ist es, die fachlichen Abläufe jeweils für <strong>ein</strong>zelne Datenelementezu beschreiben. Die Datenflußdarstellung für <strong>ein</strong>e <strong>ein</strong>zelne Blutprobe, die die Laborroutinedurchläuft, zeigt die <strong>ein</strong>zelnen Phasen <strong>der</strong> Laborroutine, verkettet durch die zugehörigenDatenflüsse. Solche kausalen Verkettungen umfassen sowohl Systemfunktionen (elementareTr<strong>an</strong>saktionen) als auch Umweltfunktionen. Die formale Sem<strong>an</strong>tik <strong>der</strong> Datenflußdiagrammeerzeugt aus <strong>ein</strong>em Netz von Datenelement-verarbeitenden Funktionsbezeichnungen <strong>ein</strong> Prädikatauf <strong>ein</strong>em System von Datenströmen. Dabei werden Funktionen, <strong>der</strong>en Wertverlauf auf<strong>ein</strong>zelnen Datenelementen beschrieben ist, fortgesetzt zu Relationen zwischen <strong>ein</strong>gehenden undausgehenden Datenströmen (lifting). Jede <strong>ein</strong>zelne Funktion wird in diesem Sinne fortgesetzt,aber auch für das gesamte Netz ergibt sich wie<strong>der</strong> <strong>ein</strong>e Bedeutung als <strong>ein</strong>e Spezifikation <strong>ein</strong>esSystems von Strömen. Technisch <strong>an</strong>spruchsvoll wird dieses lifting durch die lesenden undspeichernden Zugriffe auf die Datenbasis; hierzu siehe [Nic93]. Ein Beispiel für dieZusammenarbeit zwischen Ablauf- und statischem Datenmodell findet sich auch in [NW93].Die Datenflußdiagramme stellen mit dieser Interpretation <strong>ein</strong>e <strong>Beschreibung</strong> dar, die diemöglichen Systemabläufe (die möglichen Folgen von elementaren Tr<strong>an</strong>saktionen und Umweltfunktionen)<strong>ein</strong>schränkt. Zulässig sind nur noch solche Abläufe, bei denen für jedes <strong>ein</strong>zelneDatenelement alle Phasen s<strong>ein</strong>er Bearbeitung in <strong>der</strong> richtigen (durch die Datenflußpfeilegegebenen) Reihenfolge durchlaufen werden.Eine wichtige Eigenschaft <strong>der</strong> Datenfluß-Modellierung ist, daß sie Realisierungen verschiedenerVerteilungsstruktur in <strong>ein</strong>em abstrakten Modell zusammenfaßt. So wird in <strong>der</strong> Laborbeschreibungnur <strong>ein</strong>e Gruppe von System- und Umwelt-Funktionen zur Blutbild-Ermittlung beschrieben.Im abzulösenden und im später erstellten System können hier erheblich kompliziertereRealisierungen auftreten, z.B. können mehrere Laborgeräte mit Fähigkeit zur Bearbeitungg<strong>an</strong>zer Probensätze installiert werden, was zu sehr komplexen Abläufen führen k<strong>an</strong>n. Um dieseKomplexität aus <strong>der</strong> Essenzbeschreibung auszublenden, wird das Verhalten hier verallgem<strong>ein</strong>ertzu <strong>ein</strong>er Funktion (beschrieben als Relation), die Ströme von Blutproben in Strömevon Laborwerten abbildet. Sowohl <strong>ein</strong> <strong>ein</strong>zelner Arbeitsplatz zur Analyse je <strong>ein</strong>er Blutprobe alsauch mehrere parallel arbeitende Blutbildgeräte, ja sogar <strong>ein</strong>e fließb<strong>an</strong>dartige Abarbeitung, sindmögliche Realisierungen dieser essentiellen Funktion. Für technische Details hierzu siehe[Nic93].Es ist wichtig zu wissen, daß die mathematisch <strong>an</strong>spruchsvolle Umsetzung vonDatenflußdiagrammen nicht von jedem Leser <strong>der</strong> Spezifikation nachvollzogen werden muß! Dernächste Abschnitt wird zeigen, daß wesentliche Aspekte <strong>der</strong> Systembeschreibung auch ohneRückgriff auf die Sem<strong>an</strong>tik <strong>der</strong> Datenflußdiagramme verst<strong>an</strong>den werden können.18


2.5. Integration verschiedener SystemsichtenEine nach den oben vorgestellten Richtlinien erstellte Systemspezifikation enthält sehr vielInformation in <strong>ein</strong>er Mischung unterschiedlicher Darstellungen. Dies hat den Vorteil, daß fürverschiedene Anwendungszwecke verschiedene Aspekte <strong>ein</strong> und <strong>der</strong>selben Spezifikationsichtbar gemacht und zur Diskussion gestellt werden können (idealerweise natürlich unterstütztdurch <strong>ein</strong> Computersystem).2.5.1. Die Sicht des Anwen<strong>der</strong>sEin Anwen<strong>der</strong>, <strong>der</strong> wenig o<strong>der</strong> k<strong>ein</strong>e Kenntnisse formaler Spezifikationen mitbringt, hat dieMöglichkeit, grundlegende Eigenschaften des spezifizierten Systems <strong>an</strong>h<strong>an</strong>d <strong>der</strong> graphischenDarstellungen zu studieren, die in <strong>der</strong> Spezifikation enthalten sind. Diese Diagramme selbstbedürfen zwar auch wie<strong>der</strong> <strong>ein</strong>er intuitiven Interpretation, sie folgen jedoch den im Software-Engineering seit l<strong>an</strong>gem üblichen St<strong>an</strong>dards, so daß eventuell bereits vorh<strong>an</strong>denes Fachwissenin klassischer System<strong>an</strong>alyse nutzbringend <strong>ein</strong>gesetzt werden k<strong>an</strong>n. Die Diagramme ohne ihreformale Sem<strong>an</strong>tik sind <strong>ein</strong> semiformales Darstellungsmittel, das genügt, um beim Anwen<strong>der</strong>Spezialfragen zum Detailverhalten <strong>ein</strong>zelner Tr<strong>an</strong>saktionen zu provozieren, die <strong>ein</strong> in <strong>formalen</strong>Methoden geschulter Spezialist <strong>an</strong>h<strong>an</strong>d <strong>der</strong> <strong>formalen</strong> Spezifikationen be<strong>an</strong>tworten und im Sinnedes in Abbildung 5 gezeigten Zyklus <strong>ein</strong>setzen k<strong>an</strong>n.Abbildung 10 zeigt den für den Anwen<strong>der</strong> relev<strong>an</strong>ten Ausschnitt aus <strong>der</strong> Gesamtspezifikationdurch Schraffierung.DFD1…DFDnDatenmodell (E/R Diagramm)Abb. 102.5.2. Die Sicht des formal geschulten SpezifikateursFür <strong>ein</strong> Verständnis <strong>der</strong> Funktionalität des Systems ist <strong>ein</strong>e Betrachtung <strong>der</strong> Datenflußdiagrammenicht notwendig, wenn m<strong>an</strong> bereit ist, sich intensiv mit den SPECTRUM-Spezifikationen<strong>der</strong> elementaren Tr<strong>an</strong>saktionen aus<strong>ein</strong><strong>an</strong><strong>der</strong>zusetzen.In diesem Fall ist die SPECTRUM-Vari<strong>an</strong>te des zugrundegelegten Datenmodells von Interesse,sowie die darauf aufbauenden Spezifikationen <strong>der</strong> elementaren Tr<strong>an</strong>saktionen (je Fachgebiet <strong>ein</strong>Bündel von Funktionsspezifikationen).Aus <strong>der</strong> Sicht <strong>der</strong> axiomatischen Spezifikation hat dieser Ausschnitt <strong>der</strong> Spezifikation <strong>ein</strong>erelativ triviale Struktur und ist somit <strong>ein</strong>e gute Basis für weitere Verf<strong>ein</strong>erung o<strong>der</strong> fürVerifikationsaufgaben.19


Elem.Tr<strong>an</strong>s.1.1, ...…Elem.Tr<strong>an</strong>s.n.1, ...Datenmodell (Spectrum Übersetzung)Abb.112.5.3. Die Sicht <strong>der</strong> QualitätssicherungDurch die konsequente Abstützung <strong>der</strong> verwendeten semi<strong>formalen</strong> Darstellungsformen aufformale Grundlagen ist es mit <strong>formalen</strong> Mitteln möglich, die richtige Integration <strong>der</strong>verschiedenen Spezifikationskomponenten sicherzustellen. Mit dem Begriff <strong>der</strong> Integration isthier die begriffliche und inhaltliche Konsistenz gem<strong>ein</strong>t. M<strong>an</strong>gelnde Integration liegt etwa vor,wenn <strong>ein</strong>e Tr<strong>an</strong>saktionsspezifikation Gebrauch von <strong>ein</strong>em Entitätstyp macht, <strong>der</strong> nicht imDatenmodell auftaucht.Die Frage nach <strong>der</strong> Integration <strong>der</strong> Tr<strong>an</strong>saktionsspezifikationen mit dem Datenmodell läßt sichauf die Umsetzung des Datenmodells in <strong>ein</strong>e SPECTRUM-Spezifikation und <strong>ein</strong>e <strong>an</strong>schliessendesyntaktische Überprüfung reduzieren. Darüberhinaus k<strong>an</strong>n die Frage, ob die statischenIntegritätsbedingungen des Datenmodells tatsächlich Invari<strong>an</strong>ten <strong>der</strong> elementaren Tr<strong>an</strong>saktionensind, mit den Mitteln formaler Verifikation <strong>an</strong>geg<strong>an</strong>gen werden.Erheblich komplizierter k<strong>an</strong>n die Frage nach <strong>der</strong> Integration <strong>der</strong> Tr<strong>an</strong>saktionsspezifikationen mitden Datenflußdiagrammen werden. Eine <strong>ein</strong>fache syntaktische Konsistenzbedingung wurdebereits oben in 2.4.3 <strong>an</strong>gegeben. Darüber hinaus aber ist <strong>ein</strong>e Fragestellung zu klären, die sichaus folgenden beiden Beobachtungen ergibt:• Die Spezifikationen <strong>der</strong> elementaren Tr<strong>an</strong>saktionen beschreiben in SPECTRUM partielleFunktionen. Deshalb enthalten sie bereits Aussagen darüber, in welchem Systemzust<strong>an</strong>dwelche Tr<strong>an</strong>saktion zulässig ist.• Die Erweiterung <strong>der</strong> elementaren Tr<strong>an</strong>saktionen zu <strong>ein</strong>em Netz stromverarbeiten<strong>der</strong>Agenten gemäß des Datenflußdiagramms legt ebenfalls fest, welche Reihenfolgen vonTr<strong>an</strong>saktionen zulässig sind und welche nicht.Es sollte zumindest sichergestellt werden, daß alle Abläufe, die gemäß den Datenflußdiagrammenzulässig sind, auch zulässig im Sinne <strong>der</strong> elementaren Tr<strong>an</strong>saktionen sind. Denndie Datenflußdiagramme beschreiben die Einbettung <strong>der</strong> Systemfunktionalität in alltäglicheArbeitsabläufe, die vom System zu unterstützen sind.Die umgekehrte Fragestellung, nämlich ob nur die in den Datenflußdiagrammen zulässigenAbläufe auch legal im Sinne <strong>der</strong> Definiertheit elementarer Tr<strong>an</strong>saktionen s<strong>ein</strong> sollen, mag zwarfür <strong>ein</strong>zelne sicherheitskritische Bereiche ebenfalls von hoher Bedeutung s<strong>ein</strong>, ist aber nichtgenerell notwendig. Ein Beispiel hierfür aus <strong>der</strong> HDMS-A Fallstudie ist die elementareTr<strong>an</strong>saktion „Aufnahme auf Station“, die im Regelfall (wie im Datenflußdiagramm gezeigt) aufdie Neu-Aufnahme <strong>ein</strong>es Patienten folgt. Es k<strong>an</strong>n daber durchaus sinnvoll s<strong>ein</strong>, <strong>ein</strong>e weitere20


„Aufnahme auf Station“ innerhalb <strong>ein</strong>es Klinik-Aufenthalts zu ver<strong>an</strong>lassen, nämlich bei <strong>ein</strong>emWechsel <strong>ein</strong>es Patienten von <strong>ein</strong>er Station auf <strong>ein</strong>e <strong>an</strong><strong>der</strong>e.Wie dieses Beispiel zeigt, k<strong>an</strong>n <strong>ein</strong> genaues Studium <strong>der</strong> zulässigen Abläufe zu sinnvollenRückfragen auf <strong>der</strong> Ebene <strong>der</strong> Problemdefinition führen – <strong>ein</strong> zyklisches Vorgehen wie oben inAbschnitt 1.3 beschrieben.2.6. Sicherheits<strong>an</strong>for<strong>der</strong>ungenIm Rahmen <strong>der</strong> HDMS-A-Fallstudie wird <strong>ein</strong>er beson<strong>der</strong>s wichtigen Klasse von Anfor<strong>der</strong>ungen,die „Sicherheits<strong>an</strong>for<strong>der</strong>ungen“ gen<strong>an</strong>nt werden, beson<strong>der</strong>e Aufmerksamkeit gewidmet.Grundsätzlich sind diese Anfor<strong>der</strong>ungen als Teil <strong>der</strong> <strong>funktionalen</strong> Anfor<strong>der</strong>ungen zu verstehen.Für <strong>ein</strong>en Teil dieser Anfor<strong>der</strong>ungen ist es jedoch sinnvoll, zunächst <strong>ein</strong>e Kernspezifikation <strong>der</strong><strong>funktionalen</strong> Essenz zu erstellen und die Sicherheits<strong>an</strong>for<strong>der</strong>ungen als Ergänzung des Kerns zuformulieren. Es h<strong>an</strong>delt sich hier um Anfor<strong>der</strong>ungen, die Einschränkungen o<strong>der</strong> die Zusicherungvon Eigenschaften für die spezifizierten Abläufe besagen. Grundsätzlich k<strong>an</strong>n m<strong>an</strong>die funktionale Essenz <strong>ein</strong>es Systems wie HDMS-A nur als fertiggestellt betrachten, wenn allerelev<strong>an</strong>ten Sicherheits<strong>an</strong>for<strong>der</strong>ungen <strong>ein</strong>gearbeitet wurden. Es reicht auf k<strong>ein</strong>en Fall aus, hierausschließlich auf Verifikationsschritte in späteren Phasen zu verweisen.Drei typische Sicherheitseigenschaften in HDMS-A seien hier gen<strong>an</strong>nt, die alle den Charakter<strong>ein</strong>er Einschränkung o<strong>der</strong> verl<strong>an</strong>gten Eigenschaft <strong>der</strong> <strong>funktionalen</strong> Essenz haben:• Integritätsbedingungen auf <strong>der</strong> Datenb<strong>an</strong>k (in HDMS-A etwa: Steter Patientenbezug undAngabe <strong>der</strong> Urheberschaft für alle medizinischen Daten).Solche Bedingungen können statisch über dem schematischen Datenmodell formuliertwerden. Wie bereits oben gesagt, ist für alle elementaren Tr<strong>an</strong>saktionen zu zeigen(beweisen), daß sie diese Bedingungen invari<strong>an</strong>t lassen.• Lebensläufe von Datenobjekten (in HDMS-A etwa: K<strong>ein</strong>e Herzkatheter-Untersuchungohne vorhergehendes großes Blutbild; o<strong>der</strong>: Auf jede Anordnung folgt ihre Ausführung).Solche Bedingungen können als dynamische Sicht auf das Datenmodell verst<strong>an</strong>denwerden und führen auf Verifikationsaufgaben bezüglich <strong>der</strong> Vor- und Nachbedingungenvon <strong>ein</strong>zelnen Tr<strong>an</strong>saktionen, die bereits <strong>an</strong> <strong>der</strong> Essenz-Spezifikation durchführbar sind.Alternativ können sie mit Hilfe <strong>der</strong> in den Datenflußdiagrammen festgelegten Ablaufspezifikationenbearbeitet werden, wenn <strong>der</strong>en Über<strong>ein</strong>stimmung mit den Vor- undNachbedingungen gezeigt wurde.• Zugriffsrechte (in HDMS-A etwa: Auslieferung medizinischer Daten nur <strong>an</strong> <strong>ein</strong>enzuständigen Arzt).Solche Bedingungen führen auf zusätzliche Einschränkungen für die Datenb<strong>an</strong>kzugriffeund die Einführung <strong>ein</strong>er Rechteverwaltung.Im Rahmen <strong>der</strong> Fallstudie HDMS-A wurde <strong>der</strong> dritte <strong>der</strong> obengen<strong>an</strong>nten Aspekteschwerpunktmäßig bearbeitet. In [Ren94] ist <strong>ein</strong> Konzept zu finden, das Ansätze aus <strong>der</strong>21


<strong>ein</strong>schlägigen Literatur (Descriptionary Access Control) mit dem hier vorgestellten Verfahrenzur Essenz-Spezifikation verbindet. In [Ste93] wurde das Modell <strong>der</strong> Zugriffskontrolle mitmaschineller Hilfe verifiziert.3. ZusammenfassungIn <strong>der</strong> Fallstudie HDMS-A wurde deutlich, daß für die Bearbeitung <strong>ein</strong>er größeren Fallstudieaus dem Bereich <strong>der</strong> Informationssysteme <strong>ein</strong>e Integration formaler Methoden mit klassischenVerfahren des Requirements Engineering unerläßlich ist. Es wurde demonstriert, wie sich diesebeiden traditionell eher fremden Ansätze methodisch und sem<strong>an</strong>tisch zu <strong>ein</strong>em praktiablenAnsatz integrieren lassen.Die hier beschriebene Methode <strong>der</strong> Systemspezifikation läßt sich grundsätzlich auf jedesInformationssystem (auch auf sehr große Systeme) übertragen. Dennoch sind noch <strong>ein</strong>e Reihevon Verbesserungen denkbar. So ist es etwa unbefriedigend, daß <strong>der</strong>zeit die Spezifikationenelementarer Tr<strong>an</strong>saktionen (<strong>der</strong> größte Anteil <strong>an</strong> SPECTRUM-Text) weitgehend in <strong>ein</strong>emausführbaren und damit schon recht implementierungsnahen Stil gehalten sind. Es wärevorstellbar, hier durch <strong>ein</strong>e weitergehende Integration von <strong>Beschreibung</strong>smitteln aus demklassischen Software Engineering <strong>ein</strong>e abstraktere und weniger detailbelastete <strong>Beschreibung</strong> zuerreichen.22


Literatur<strong>an</strong>gaben[BFG + 93]M. Broy, C. Facchi, R. Grosu, R. Hettler, H. Hussm<strong>an</strong>n, D. Nazareth, F. Regensburger, O.Slotosch, K. Stølen: The requirement <strong>an</strong>d design specification l<strong>an</strong>guage SPECTRUM - Aninformal introduction. Technische Berichte TUM-I9911 und I9312, Technische UniversitätMünchen, 1993.[CKL93]F. Cornelius, M. Klar, M. Löwe: Ein Fallbeispiel für KORSO: IST-Analyse HDMS-A.Technischer Bericht 93-28, Technische Universität Berlin, 1993.[Dav90]A. M. Davis: Software requirements - Analysis & Specification. Prentice-Hall 1990.[DeM79]T. DeMarco: Structured <strong>an</strong>alysis <strong>an</strong>d system specification. Prentice-Hall 1979.[ERAE86]E. Dubois, J. Hagelst<strong>ein</strong>, E. Lahou, F. Ponsaert, A. Rifout, E. Stephens, F. Williams: Modelcomponents for Requirements Engineering. Final Report of the ESPRIT 1 „METEOR“ project,Task 1, 1986.[Het93]R. Hettler: Übersetzung von E/R-Modellen nach SPECTRUM. Technischer Bericht TUM-I9333,Technische Universität München, 1993.[LCFW92]M. Löwe, F. Cornelius, J. Faulhaber, R. Wessäly: Ein Fallbeispiel für KORSO: EinVorschlag. Technischer Bericht 92-45, Technische Universität Berlin, 1992.[MP84]S. M. McMenamin, J. F. Palmer: Essential systems <strong>an</strong>alysis, Yourdon Press 1984. DeutscheÜbersetzung: Strukturierte System<strong>an</strong>alyse, Carl H<strong>an</strong>ser 1988.[Nic93]F. Nickl: Ablaufspezifikation durch Datenflußmodellierung und stromverarbeitendeFunktionen, Technischer Bericht TUM-I9334, Teschnische Universität München, 1993.[NW93]F. Nickl, M. Wirsing: A formal approach to requirements engineering. Ersch<strong>ein</strong>t in Proc.International Symposium on Formal Methods in Programming <strong>an</strong>d their Applications,Novosibirsk, Juli 1993, Springer-Verlag (Lecture Notes in Computer Science).[PWB+93]P. Pepper, M. Wirsing, R. Betschko, M. Beyer, K. Didrich, J. Faulhaber, W. Grieskamp, M.Mehlich, T. S<strong>an</strong>ten, M. Strecker, KORSO: A methodology for the development of correctsoftware. Interner Bericht KORSO-Projekt, Entwurfsfassung vom 16.3.1993.23


[Ren94]K. Renzel: Formale <strong>Beschreibung</strong> von Sicherheitsaspekten für das Fallbeispiel HDMS-A.Technischer Bericht 9402, Ludwis-Maximili<strong>an</strong>s-Universität München, J<strong>an</strong>uar 1994.[Sho88]P. Shoval, Architectural design of information systems using structured <strong>an</strong>alysis. InformationSystems 13 (1988) 193-210.[SNM + 93]O. Slotosch, R. Hettler, H. Hußm<strong>an</strong>n, S. Merz, F. Nickl: Die funktionale Essenz von HDMS-A. Technischer bericht TUM-I9335, Technische Universität München, 1993.[Ste93]K. Stenzel, A verified Access Control Model. Technischer Bericht 26/93, Fakultät fürInformatik, Universität Karlsruhe, 1993.[War86]P. T. Ward: The tr<strong>an</strong>sformation schema: An extension of the data flow diagram to representcontrol <strong>an</strong>d timing. IEEE Tr<strong>an</strong>sactions on Software Engineering Vol. SE-12, No. 2 (1986), pp.198-210.[WS79]A. Wasserm<strong>an</strong>, S. Stinson: A specification method for interactive information systems. In:Proc. Symposium on Specification of Reliable Software, IEEE 1979, pp. 68-79.[Woo88]M. Woodm<strong>an</strong>: Yourdon dataflow diagrams: A tool for disciplined requirements <strong>an</strong>alysis.Information <strong>an</strong>d Software Technology Vol. 30, No. 9 (1988), pp. 515-533.24

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!