Namenskonventionen, Namensräume und Namenseinschränkungen

Namenskonventionen werden durch Vorschriften zur Bildung (Namensmuster), Schreibung, Länge und Eindeutigkeit von Namen festgelegt.

Namenskonventionen für Repositorys, Modelle und Modellversionen

  • Für Modellserver (Repositorys) sind eindeutige Namen zu vergeben. Sie werden als Verzeichnisnamen in den Betriebssystemen verwendet.

    Beachten Sie bitte diese strenge Namenskonvention*:
    [A-Za-z0-9][A-Za-z0-9_]{0,254} (also z.B. auch keine Umlaute)

    Außerdem sind bestimmte Kürzel in beliebiger Groß-/Kleinschreibung durch die Betriebssysteme verboten: CON, PRN, AUX, NUL, COM1 ... COM9, LPT1 ... LPT9.

  • Für die Namen von eigenständigen Modellen (eindeutig im Repository) und von lokalen Modelldateien sind die Konventionen für Dateinamen unter Windows und der Zeichensatz Windows‑1252 zu beachten.

    Nicht erlaubt sind folgende Sonderzeichen: # \ / : * ? " < > |

    Außerdem sind bestimmte Kürzel in beliebiger Groß-/Kleinschreibung durch die Betriebssysteme verboten: CON, PRN, AUX, NUL, COM1 ... COM9, LPT1 ... LPT9.

    Die maximale Länge dieser Modellnamen beträgt wie für Repositorys 255 Zeichen.

    Empfohlen wird diese Namenskonvention*:
    [A-Za-zÄäÖöÜü0-9_][A-Za-zÄäÖöÜüß0-9_-$()]{0,254}

  • Für die Namen von verwalteten Modellversionen und deren Sicherungen ist der Zeichensatz Windows‑1252 zu beachten. Die Konventionen für Dateinamen unter Windows sind nicht relevant.

    Die maximale Länge der Namen für Modellversionen beträgt 128 Zeichen.

    Empfohlen wird diese Namenskonvention*:
    [A-Za-zÄäÖöÜü0-9_][A-Za-zÄäÖöÜüß0-9_-$()]{0,127}

    Für Modellversionen lassen sich Aliasnamen für Innovator-Links festlegen. Für die Link-Namen können alle für eine URL gültigen Zeichen verwendet werden*:
    [A-Za-z0-9_-.~]{1,1024}

* Darstellung als regulärer Ausdruck, vereinfachte Angabe ohne Maskierungszeichen für Metazeichen

Namensräume und Pakete

Innerhalb ihres sie direkt umschließenden Namensraums müssen Elemente anhand ihres Namens eineindeutig unterscheidbar sein. Ein Paket wird zum Beispiel benutzt, um Elemente zu gruppieren, und stellt einen gemeinsamen Namensraum für diese direkt enthaltenen Elemente bereit.

Namensräume sind schachtelbar und beinhalten benennbare Elemente, die selbst wiederum einen Namensraum für von ihnen beinhaltete Elemente darstellen. Beispielsweise müssen also Klassen innerhalb eines Pakets eineindeutig benannt sein, Operationen müssen innerhalb einer Klasse eineindeutig benannt sein und Parameter innerhalb einer Operation.

Der Inhalt eines Pakets besteht aus sogenannten "paketierbaren Elementen", dazu gehören Klassen, Ereignisse u.v.a., aber auch Pakete selbst, was eine hierarchische Anordnung von Paketen ermöglicht. Ein Paket ist der Besitzer dieser Elemente, was zur Folge hat, dass alle enthaltenen Elemente aus einem Modell gelöscht werden, sobald dieses Paket gelöscht wird.

Eindeutigkeit von Namen

In der Konfiguration lassen sich für Elemente über deren Stereotype Festlegungen zum Namensraum treffen. So kann festgelegt werden, ob Groß- und Kleinschreibung relevant sind, ob Namen eine bestimmte Mindest- und/oder Maximallänge haben dürfen und ob und in welcher Weise ein Name eindeutig sein muss.

Namenseinschränkungen

In der Konfiguration lassen sich für Elemente über deren Stereotype Namensmuster definieren. Dazu werden reguläre Ausdrücke verwendet. Stereotype vererben diese Namensmuster und können geerbte Namenseinschränkungen mit zusätzlichen Forderungen erweitern.