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.
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.
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