Zum Inhalt

Wie Axioval zusammenpasst

Diese Seite öffnet die vier Ideen der Bilderreise und zeigt, was hinter jeder Idee steckt. Das einfache Bild bleibt gleich: gemeinsame Begriffe, wiederverwendbare Prüfrezepte, ausgefüllte Prüfungen und ein Paket, das alles zusammenhält.

Die genauen technischen Namen stehen jeweils dort, wo Werkzeugentwickler sie brauchen. Alle anderen können der Erklärung ohne Quelltext folgen.

Das Wörterbuch, Rezept, die ausgefüllte Karte und das Paket von Axioval

1. Vokabular

Ein Definitionspaket kann drei unabhängige Konzeptkataloge deklarieren:

Konzept Zweck Beispiel
ObjectTypeDefinition Wiederverwendbarer Modellobjekttyp IFC IfcWall
PropertyDefinition Wiederverwendbare Eigenschaftsidentität und Wertart boolesches LoadBearing
PropertySetDefinition Optionaler externer Container-Qualifizierer Pset_WallCommon

Jedes Konzept hat eine stabile qualifizierte ID und eine oder mehrere ExternalName-Bindungen. Regeln referenzieren die stabile ID. Adapter ordnen sie jedem unterstützten Modellschema zu.

Important

PropertySetDefinition führt Eigenschaften nicht auf und besitzt sie nicht. Eine Eigenschaft kann in mehreren externen Containern erscheinen. Die Containerzugehörigkeit wird erst normativ, wenn ein Selektor oder PropertyReferenceValue ein Set nennt.

2. Vorlage

Eine RuleDefinition deklariert:

  • eine stabile Definitions-ID;
  • eine stabile capability, die Anwendungen ausdrücklich implementieren; und
  • typisierte Parameterdefinitionen.
Quelltext oder Befehle anzeigen
["axioval:example.boolean-property-equals"] = new Definitions.RuleDefinition {
  id = "axioval:example.boolean-property-equals"
  capability = "axioval:capability.property-value-equals"
  name = new Types.LocalizedText { default = "Boolean property equals" }
  parameters {
    ["property"] = new Definitions.ParameterDefinition {
      id = "property"
      name = new Types.LocalizedText { default = "Property" }
      kind = "propertyReference"
      referencedValueKind = "boolean"
    }
    ["expected"] = new Definitions.ParameterDefinition {
      id = "expected"
      name = new Types.LocalizedText { default = "Expected" }
      kind = "boolean"
    }
  }
}

referencedValueKind schließt eine subtile Typlücke: Diese boolesche Vorlage kann nicht an eine Zeichenketten-Eigenschaft gebunden werden.

3. Instanz

Eine RuleInstance bindet eine bekannte Definition an konkrete Werte und einen Anwendbarkeitsselektor. Instanzen sind Politik, die ABox-ähnliche Ebene, und gehören in externe Regelwerk-Repositories. Dieses Schema-Repository enthält sie nur unter examples/.

4. Paket und Normalisierung

axioval.json identifiziert das Paket und jeden Definitions-Einstiegspunkt statisch. Erst nachdem alle Einstiegspunkte im Repository bleiben und jedes Kandidaten-JSON semantisch gebunden wurde, wird die Ausgabe zum normalisierten Austauschformat.

Ein Paket wird untersucht, sicher geöffnet, vollständig geprüft und an ein kompatibles Werkzeug übergeben

Wofür Axioval zuständig ist

  • Gemeinsame, stabile Begriffe für Fakten am Gebäude
  • Typisierte, wiederverwendbare Beschreibungen von Prüfungen
  • Ausgefüllte Prüfungen, die als Daten geteilt werden können
  • Ein Paketvertrag, der unvollständige oder widersprüchliche Eingaben ablehnt

Wofür Axioval bewusst nicht zuständig ist

  • Modelldateien öffnen oder IFC-Beziehungen durchlaufen
  • Geometrie berechnen
  • Ausführbare Regellogik eines Pakets ausführen
  • Das kanonische Laufzeit-IR einer Anwendung festlegen
  • Registry-Vertrauen aus Repository-Eigentum ableiten