Kernkonzepte

Metapad basiert auf den Prinzipien der Metamodellierung - einem leistungsfähigen Ansatz zur Definition und Arbeit mit domänenspezifischen Modellen. Diese Anleitung erklärt die wichtigsten Konzepte, denen Sie begegnen werden.


Die Modellierungsschichten

Metapad verwendet eine Schichtenarchitektur, die von der Meta-Object Facility (MOF) der OMG inspiriert ist. Das Verständnis dieser Schichten ist entscheidend für den effektiven Einsatz von Metapad.

M3: Das Meta-Metamodell (Systemschicht)

Dies ist das eingebaute Fundament von Metapad - Sie ändern es nicht direkt. Es definiert:

  • Was ein "Node Type" ist
  • Was ein "Relationship Type" ist
  • Was eine "Property" ist
  • Was ein "Diagram" ist

Betrachten Sie M3 als die Grammatik der Modellierungssprache selbst.

M2: Ihr Metamodell (Typ-Schicht)

Hier definieren Sie, welche Arten von Dingen in Ihrer Domäne existieren können:

M2-KonzeptBeschreibungBeispiel
Node TypeEine Kategorie von Dingen"Department", "Employee", "Server"
Relationship TypeEine Kategorie von Verbindungen"works_in", "depends_on", "hosts"
Property DefinitionAttribute, die Instanzen haben können"budget" (Number), "name" (Text)
Allowed ConnectionRegeln für gültige Beziehungen"Employee kann 'work_in' Department"

Ihre M2-Schicht ist im Wesentlichen eine domänenspezifische Sprache für Ihr Unternehmen.

M1: Ihr Modell (Instanz-Schicht)

Hier erstellen Sie konkrete Dinge basierend auf Ihren M2-Typen:

M1-KonzeptBeschreibungBeispiel
NodeEine konkrete Instanz eines Node Type"Engineering" (ein Department)
RelationshipEine konkrete Verbindung"Alice works_in Engineering"
Property ValueTatsächliche Daten einer Instanzbudget = 500000

Ihre M1-Schicht ist Ihr eigentliches Modell - der Knowledge Graph Ihrer Domäne.


Node Types und Nodes

Node Types (M2)

Ein Node Type definiert eine Kategorie von Elementen. Beim Erstellen eines Node Type geben Sie Folgendes an:

  • Name: Wie dieser Typ heißt (z.B. "Department")
  • Properties: Welche Attribute Instanzen haben werden
  • Visueller Stil: Farbe, Form (für Diagramme)

Nodes (M1)

Ein Node ist eine konkrete Instanz eines Node Type. Jeder Node hat:

  • Name: Die Bezeichnung dieser Instanz (z.B. "Engineering")
  • Type: Zu welchem Node Type er gehört
  • Property Values: Tatsächliche Daten für jede definierte Property

Relationship Types und Relationships

Relationship Types (M2)

Ein Relationship Type definiert eine Kategorie von Verbindungen. Er gibt an:

  • Name: Wie diese Beziehung heißt (z.B. "works_in")
  • Properties: Optionale Attribute für die Verbindung selbst

Relationships (M1)

Eine Relationship verbindet zwei konkrete Nodes:

  • Source: Wo die Beziehung beginnt (z.B. "Alice")
  • Target: Wo sie endet (z.B. "Engineering")
  • Type: Welchen Relationship Type sie verwendet (z.B. "works_in")

Allowed Connections

Allowed Connections sind Einschränkungen, die festlegen, welche Relationships zwischen welchen Node Types gültig sind.

Warum Einschränkungen wichtig sind

Ohne Einschränkungen könnten Sie versehentlich ungültige Verbindungen erstellen:

  • "Department works_in Employee" (verkehrt herum!)
  • "Server works_in Department" (falsche Typen!)

Allowed Connections definieren

Eine Allowed Connection legt fest:

  • Relationship Type: Welche Beziehung (z.B. "works_in")
  • Source Type: Welcher Node Type die Quelle sein kann (z.B. "Employee")
  • Target Type: Welcher Node Type das Ziel sein kann (z.B. "Department")

Dies stellt sicher, dass Ihr Modell strukturelle Integrität bewahrt.


Properties

Properties sind Attribute, die Nodes und Relationships beschreiben.

Property Definitions (M2)

Beim Definieren einer Property geben Sie Folgendes an:

AttributBeschreibung
NameDer Property-Bezeichner (z.B. "budget")
TypeDatentyp: Text, Number, Boolean, Date, List
RequiredOb Instanzen diesen Wert haben müssen
DefaultOptionaler Standardwert

Property Values (M1)

Jede Node- oder Relationship-Instanz kann Werte für die Properties ihres Typs haben:

Engineering (Department)
├── name: "Engineering"
├── budget: 500000
└── location: "Berlin"

Diagramme

Diagramme sind visuelle Darstellungen Ihres Modells. Sie enthalten nicht die Daten - sie referenzieren sie.

Wichtige Konzepte

  • Ein Modell, viele Diagramme: Sie können mehrere Diagramme erstellen, die verschiedene Aspekte zeigen
  • Gleicher Node, mehrere Diagramme: Ein Node kann in mehreren Diagrammen erscheinen
  • Layout ist pro Diagramm: Position und Größe werden pro Diagramm gespeichert, nicht pro Node

Diagramm-Arten

  • Übersichtsdiagramme: Zeigen das große Ganze
  • Detaildiagramme: Fokus auf einen bestimmten Bereich
  • Typ-Diagramme: Zeigen Ihre M2-Metamodellstruktur

Der Knowledge Graph

Wenn Sie Nodes und Relationships kombinieren, erstellen Sie einen Knowledge Graph - ein vernetztes Informationsnetz über Ihre Domäne.

┌─────────────┐   works_in   ┌─────────────────┐
│    Alice    │─────────────►│   Engineering   │
│  (Employee) │              │  (Department)   │
└─────────────┘              └─────────────────┘
       │                              │
       │ manages                      │ part_of
       ▼                              ▼
┌─────────────┐              ┌─────────────────┐
│     Bob     │              │    Company      │
│  (Employee) │              │ (Organization)  │
└─────────────┘              └─────────────────┘

Dieser Graph kann:

  • Abgefragt werden: "Wer arbeitet in Engineering?"
  • Analysiert werden: "Wie hoch ist das Gesamtbudget?"
  • Exportiert werden: Nach Neo4j, RDF oder in andere Formate
  • Visualisiert werden: Durch verschiedene Diagrammansichten

Analogie aus der Praxis

Stellen Sie es sich wie eine Datenbank vor, nur flexibler:

Datenbank-KonzeptMetapad-Entsprechung
TabellenschemaNode Type
SpaltendefinitionProperty Definition
TabellenzeileNode
Fremdschlüssel-ConstraintAllowed Connection
Join/BeziehungRelationship

Aber im Gegensatz zu einer Datenbank bietet Metapad:

  • Eine visuelle Modellierungsoberfläche
  • KI-gestützte Erstellung
  • Echtzeit-Zusammenarbeit
  • Fokus auf Graph-Beziehungen statt Tabellen

Zusammenfassung

SchichtEnthältZweck
M3System-PrimitiveDefiniert, welche Modellierungskonstrukte existieren
M2Ihr MetamodellDefiniert, was in Ihrer Domäne gültig ist
M1Ihr ModellEnthält Ihre tatsächlichen Daten

Das Verständnis dieser Schichten hilft Ihnen:

  • Saubere, gut strukturierte Modelle zu entwerfen
  • Mit Ihrem Team in einheitlicher Terminologie zu kommunizieren
  • Die vollen Möglichkeiten von Metapad auszuschöpfen

Tipp: Möchten Sie diese Konzepte in Aktion sehen? Erkunden Sie das Tutorial-Modell in unserer Galerie — es zeigt Node Types, Relationship Types, Allowed Connections und mehr.

Nächste Schritte