Link Search Menu Expand Document

Mind map zu den fundamental modelling concepts (fmc)

Diese Mind Map gibt eine kurze Übersicht über die Terminologie des Fundamental Modelling Concepts (FMC) Standards der am Hasso Plattner Institut der Uni Potsdam für die Systemmodellierung oberhalb von UML entworfen wurde. Wie viele gute Bemühungen hat FMC allerdings keine große Verbreitung gefunden.
Die Mindmap wird am besten mit dem Flash-Viewer angezeigt: bitte hier klicken!
All + All -

Systemmodellierung und FMC

  • + -System
    • ein konkretes oder konkret vorstellbares Gebilde aus Komponenten
    • zeigt Verhalten als Ergebnis des Zusammenwirkens der Systemteile
  • + -Modellierung
    • Ziel: Erfassen der wesentlichen bzw. interessierenden Merkmale eines Systems zwecks Bewahrung oder Weitergabe dieses Wissens

      schafft die Grundlage für die effiziente Kommunikation bei der arbeitsteiligen Softwareentwicklung

      erstellt eine Beschreibung für Menschen Sinn ist die Komplexitätsbeherrschung

      Vorgang des Modellierens

      • 1. Finden/Festlegen eines/mehrerer Systemmodelle

        2. Darstellung des/der Modelle und damit Erstellung einer Beschreibung ein oder mehrerer für menschliches Verständnis optimierter Teile (Pläne)

        bei komplexen Systemen sind stets mehrere, unterschiedliche Systemmodelle gegeben, entsprechend der unterschiedlichen Abstraktionsebenen

        die Betrachtungsebene ergibt sich aus dem jeweiligen Interesse: - nur ein bestimmter Teil des Systems - nur ein bestimmter Anwendungsfall - gewählte Abstraktionshöhe

      besondere Anforderungen

      • + - Anschaulichkeit

        • primär graphische Darstellung
        • semiformal
        • anschauliche begriffliche Basis

        + - Einfachheit

        • wenige einfache grafische Elemente bzw. Grundbegriffe

        + - Universalität

        • Grundelemente so einfach aber auch so vielseitig als möglich
        • möglichst alle Systeme (Typen) sollen beschreibbar sein

        "Separation of Concerns"

        • gedanklich trennbare Aspekte müssen getrent beschreibbar sein

        + - Ästhetik

        • anschauliches klares Layout steigert Akzeptanz und Nutzen der Beschreibung

        im Gegensatz dazu: Maschinenbeschreibung: - formal, Syntax und Semantik explizit   formal festgelegt - Vollständigkeit - konsistent, keine Widersprüche

  • + -Systemmodell
    • + - grundlegende Aspekte
      • Unterscheidung verschiedener Systemmodellen und ihrer Beziehungen

        Strukturtypen _innerhalb eines_ Modells: - Verhalten (dynamisches System) - Aufbau (dynamisches System) - Wertestrukturen (informationelles System!)

    • + - 3 Strukturtypen
      • im Zeitpunkt vorliegende
        • + - Aufbaustruktur
          • Wie ist das System aufgebaut?
        • + - Wertestruktur
          • welche Information (Art) ist im System vorhanden
      • in Zeitintervallen betrachtbare
        • + - Ablaufstruktur
          • Welche Vorgänge passieren im System?
      • diese 3 Typen findet man auch in FMC
    • + - Implementierung
      • ein Modell B ist die Implementierung von Modell A, wenn sich Modell B durch Entwurfsentscheidungen von A herleitet.

        Auswahl aus alternativen Mitteln treffen

        elementare vs. nicht-elementare Entwurfsentscheidungen...

        unabhängige vs. abhängige Entwurfs- entscheidungen: zwei Entwurfsent- scheidungen sind unabhängig wenn keine die andere voraussetzt

    • aufgabenvollständige vs. aufgaben- unvollständige Modelle...
  • + -Architektur
    • nach Hofmeister, Nord & Soni: "Applied Software Architecture"
    • Grundaussagen für gute SW-Architektur
      • kritischer Faktor für den Produkterfolg (Überschaubarkeit/Verständlichkeit für alle Stakeholder muß gewährleistet sein)

        "design plan", "blue print" des Systems (Aushandeln/Festlegen der Anforderungen an das System, wichtige Grundlage für die Arbeitsteilung)

        dient der Komplexitätsbeherrschung

        gibt den aktuellen Entwurfsstand wieder

    • es gibt im Wesentlichen 4 Sichten
    • + - Code Architecture View
      • Strukturierung der Sourcen bzgl. ihrer Form (SW Paketierung)
      • + - Format der Komponenten
        • object code
        • library
        • binary
        • byte code
      • Aufteilung/Ablage (als Datei, in Verzeichnis, welche Versionierung...)
      • wirkt sich aus auf...
        • CM
        • Installation
        • Änderbarkeit im Betrieb
        • Wiederverwendung (bei Komponenten)
    • + - Module Architecture View
      • inhaltliche Strukturisierung der Sourcen = MODULARISIERUNG
      • + - Aufteilung in
        • Prozeduren
        • Klassen
        • Interfaces
      • Kapselung
      • (Aufruf-)Schichtung
      • wirkt sich auf aus...
        • Änderbarkeit des Source
        • Arbeitsteilung
        • Wiederverwendbarkeit
    • + - Execution Architecture View
      • Systemstrukturen auf tiefer "technischer" Ebene (entspricht "fertigungsvollständigem Modell")
      • + - Abbildung konzeptioneller, abstrakter Modellelemente auf...
        • Hardwarestruktur: - Rechnerknoten - Kommunikationsmittel
        • Softwarestruktur: - BS-Prozesse, Threads - Shared Memory - Locks
      • wirkt sich aus auf...
        • Verteilung
        • load balancing
        • Replikation
        • Ausfallen
    • + - conceptional Architecture View
      • aufgaben- bzw. anwendungsnahe Sicht
      • Systemkomponenten (Akteure) mit bestimmter Funktionalität
      • besteht typischerweise aus interagierenden Komponenten (components and connectors)
      • abstrahiert von der Hardware
      • zeigt prinzipiell wie das System seine Aufgaben/Anforderungen erfüllt
  • + -FMC
    • Fundamental Modelling Concepts

      Erfassung der _Systemarchitektur_, d.h. aller interessierender Systemmodelle und ihrer Beziehungen. Nicht jedoch: Visualisierung von Codestrukturen (der Software-Architektur)!

      + - Grundelemente der Darstellung: FMC-Pläne

      • + - Aufbaustruktur
        • hat aktive Systemkomponenten = AKTEURE

          hat passive Systemkomponenten - Orte zu denen Akteure Zugang   haben = SPEICHER - Orte über die Information   ausgetausch wird = KANÄLE

          + - Programmnetz

          • stellt Programmstrukturen kompakt und sprachunabhängig dar, kennzeichend ist: jeder Stelle im PN läßt sich eindeutig eine Position im Programm (ein bestimmter Befehlszählerzustand) zuordnen

          + - Aktionsnetz

          • Dient der Verallgemeinerung von Programm- strukturen, ist jedoch kein Programmnetz! Wenigstens eine Stelle im AN ist nicht eindeutig auf eine Position im Programm abbildbar!

      • + - Werte(bereichs)struktur
        • Objekte die Attribute haben und untereinander in Beziehung stehen können = ENTITÄTEN + ATTRIBUTE
        • Beziehungen dieser Objekte = RELATIONEN
      • + - Ablaufstruktur
        • elementare Aktivität eines Akteurs: = OPERATION Akteur liest Info/Werte von einem oder mehreren Orten und schreibt abgeleiteten Wert (das Operationsergebnis) auf einen Ort.

          Wertewechsel an einem Ort in einem Zeitpunkt = EREIGNIS

          KAUSALE BEZIEHUNGEN: Ereignisse stoßen Operationen an, die wiederum Ereignisse auslösen können.

      Systemarchitektur

      • Menge der Systemmodelle (jeweils Aufbau, Ablauf und Wertebereich) und deren Beziehungen untereinander

        treibende Kraft bei der Aufstellung/Beschreibung von Systemarchitekturen: Verständlichkeit und Nachvollziehbarkeit der Systemkonstruktionen

        Vorstellung eines Aufbaus aus interagierenden Komponenten ist weit verbreitet

        • components in FMC: primär operationelle Akteure
        • connectors in FMC: primär steuernde Akteure und Kommunikationsakteure aber auch Orte

        die Funktionalität läßt sich im System lokalisieren

      Softwarearchitektur

  • + -über diese Mindmap
    • Autor: Lars Windolf

      Digitalisierung einer Mitschrift aus der Vorlesung Systemmodellierung 3 von Prof. Tabeling am HPI.

      last update: 18.01. 14:30

  • + -Begriffe
    • + - Modul
      • SW-Einheit die Entwurfsentscheidung enthält (Parmas 1972).
      • in OOP: Klassen
    • + - Komponente
      • "binär wiederverwendbarer" (besser in unmittelbar auf dem Abwicklersystem abwickelbarer Form/ installierbarer Form vorliegender) Softwarebestandteil

        wiederverwendbar heißt dabei, universell und breit einsetzbar

        es gibt einen "Markt" für die Komponente

        nach Szyperski: - unit of independent deployment - unit of third party composition - has no (externally) observable state

    • + - Schnittstelle
      • es gibt Software- und Systemschnittstellen

        Teil eines Moduls auf den aus anderen Modulen heraus Bezug genommen werden kann und in dem implementierte Prozeduren, Datentypen... benannt werden.

        aber auch: Stelle an der ein System gedanklich "zerschnitten" werden kann, d.h. in aktive Systemkomponenten getrennt werden kann.

    • + - ADT
      • ein Speichertyp mit bestimmten Wertebereich
      • mit bestimmten repertoirezulässigen Operationstypen
    • + - Ereignis
      • elementar bezüglich Beobachtbarkeit
      • findet in einem Zeitpunkt statt
      • findet an einem Ort statt
      • verursacht eine Wertänderung
    • + - Operation
      • elementar bezüglich Verarbeitung

        ein Akteur bestimmt einen "neuen" Wert (Operationsergebnis)

        auf einem Ort (Zielort der Operation)

        Ergebnis hängt von Werten ab, die i.d.R. (beachte Zufallswerte) von mindestens einem Ort gelesen werden.

    • + - Akteur
      • aktive (aktivitätstragende) Komponente
    • + - Ort
      • passive Komponente
      • + - Speicher
        • für dauerhafte Informationsspeicherung
      • + - Kanäle
        • für flüchtigen Informationsaustausch
    • + - Transition
      • stellt Typen dar
      • Operationen
      • Ereignisse
      • Aktivitäten (mehrere Operationen)
    • + - Stellen
      • Steuerzustände
      • zusätzliche Bedingungen
    • + - Objekt
      • auch Instanz oder Exemplar
      • gegenständliches oder abstraktes Objekt
      • eindeutig identifizierbar
      • eindeutig unterscheidbar
      • hat Werte für seine Attribute
      • steht zu anderen Objekten in Relation
    • + - Attribut
      • gehört immer zu Objekt
      • nicht immer scharfe Abgrenzung zu Objekten
    • + - Aspekt
      • ausgewählter (einzelner) Sachverhalt auf einer bestimmten Betrachtungsebene: - Aufbau - Ablauf - Wertebereich

        aber auch (Beispiele) - Beschreibung eines Teils des Aufbau - Beschreibung einer Betriebsphase