Bausystem
Prosa-Definition¶
Ein Bausystem ist eine funktionale Gruppierung von Bauteilen nach gemeinsamer konstruktiver oder bemessungstechnischer Aufgabe mit eigener Identität, in der die Mitgliedschaft eines Bauteils nicht-exklusiv ist und die Bauteile selbst lebenszyklisch unabhängig vom Bausystem existieren.
Mathematische Definition¶
Sei
- W das Weltkoordinatensystem (siehe
weltkoordinatensystem), - 𝓑 die Menge aller Bauteile im Sinne von
bauteil, - 𝒰 der UUID-Raum nach
uuid, - ℱ ein endlicher Funktions-Klassifikationsraum (z. B. {Tragwerk, Aussteifung, Hüllkonstruktion, Eindeckung, Schichtaufbau-Lage_n, Befestigungssystem, …}); die genaue Wertemenge wird in den konkreten Subtypen festgelegt.
Dann ist ein Bausystem ein Tupel
S := (uuid, mitglieder, funktion, bezeichnung?)
mit
- uuid ∈ 𝒰: technischer Surrogatschlüssel des Bausystems (Pflicht, persistent, RFC 9562 v7); externe Referenzen auf das Bausystem gehen ausschließlich auf diese UUID.
- mitglieder ⊂ 𝓑, mitglieder endlich: die Menge der Bauteile, die dem Bausystem funktional zugeordnet sind. Die leere Menge ist zulässig (ein Bausystem in Definition vor Bauteil-Zuordnung).
- funktion ∈ ℱ: die konstruktive oder bemessungstechnische Aufgabe, die die Mitglieder gemeinsam erfüllen.
- bezeichnung?: optionaler humanlesbarer Name (z. B. „Hauptdach-Tragwerk", „südliche Dachfläche").
und den Konsistenzbedingungen
- Nicht-Exklusive Mitgliedschaft (zentrale Bausystem-
Eigenschaft): In einem Modell mit Bausystem-Menge 𝒮ᴹ ist
Mitgliedschaften können sich beliebig überlappen; ein Bauteil kann gleichzeitig Mitglied beliebig vieler Bausysteme sein. Auch die gleichzeitige Mitgliedschaft in einem Bausystem und einer Bauteilgruppe (
∀ S₁, S₂ ∈ 𝒮ᴹ : S₁ ≠ S₂ ⇏ S₁.mitglieder ∩ S₂.mitglieder = ∅bauteilgruppe) ist zulässig. - Keine kaskadische Lebenszyklus-Bindung: Wird das Bausystem S aus dem Modell entfernt, bleiben seine Mitglieder bestehen. Das Entfernen eines Bausystems löscht ausschließlich die Gruppierungs-Beziehung, nicht die Bauteile selbst.
- Mitglieder-Existenz: Jedes Mitglied b ∈ mitglieder existiert unabhängig vom Bausystem; b ist auch ohne S ein vollständiges Bauteil. Die Mitgliedschaft b ∈ S.mitglieder ist eine Beziehung, kein konstituierender Bestandteil von b.
- Optionale Auswahl-Regel (deklarativ vs. extensional): Ein Bausystem kann durch eine explizite Mitgliederliste (extensional) oder durch eine Auswahl-Regel über Bauteilen (intensional, z. B. „alle b ∈ 𝓑 mit b.istLastabtragend()") definiert sein. Beide Varianten sind zulässig; die intensionale Variante muss bei jeder Modell-Änderung neu ausgewertet werden, die extensionale ist eine eingefrorene Momentaufnahme. Die Wahl ist Modellierungs-Entscheidung pro Subtyp; in der formalen Definition genügt mitglieder ⊂ 𝓑 als Endergebnis.
Eine eigene geometrische Punktmenge des Bausystems ist optional und nicht konstituierend: manche Bausysteme haben eine Bezugsebene oder eine Hülle (z. B. eine Dachfläche als funktionales Bausystem hat eine Trägerfläche), andere nicht (ein Tragwerk hat keine eigene Hülle, sondern besteht aus den Geometrien seiner Mitglieder). Wird eine geometrische Repräsentation modelliert, ist sie eine zusätzliche Eigenschaft des Subtyps, nicht des Bausystem-Oberbegriffs.
Die abgeleitete geometrische Punktmenge als Vereinigung der Mitglieder-Punktmengen ist immer verfügbar:
G_W(S) := ⋃_{b ∈ mitglieder} G_W(b) ⊂ ℝ³.
Wohldefiniertheit¶
- Existenz: Für jede funktionale Aufgabe, die mehrere Bauteile gemeinsam erfüllen, lässt sich ein Bausystem als Tupel (uuid, mitglieder, funktion, bezeichnung?) erfassen. Mindestkonfiguration: |mitglieder| = 0, funktion ∈ ℱ, bezeichnung = ⊥ (zulässig als noch nicht befülltes System in Definition).
- Eindeutigkeit der Identität: Innerhalb eines Modells gilt ∀ S₁, S₂ : (S₁ ≠ S₂) ⇒ (S₁.uuid ≠ S₂.uuid). Die Bausystem-UUID ist konstruktionsseitig zu vergeben (UUID v7 nach RFC 9562) und persistent.
- Mitgliedschafts-Funktion ist nicht funktional: Anders als bei
bauteilgruppekann ein Bauteil b mehreren Bausystemen angehören. Die Beziehung Bauteil → Bausystem ist eine Relation (Many-to-Many), keine Funktion. Diese Eigenschaft ist die zentrale strukturelle Differenz zubauteilgruppe. - Konsistenz mit
bauteil: Jedes b ∈ mitglieder ist ein Bauteil im Sinne vonbauteil. Die Mitgliedschaft fügt b keine zusätzlichen Pflichtfelder hinzu und ändert keine Bauteil-Eigenschaften. - Wohldefiniertheit bei intensionaler Auswahl-Regel: Wenn S durch eine Auswahl-Regel φ : 𝓑 → {true, false} definiert ist, gilt mitglieder = { b ∈ 𝓑 | φ(b) = true } zum Auswertungszeitpunkt. Die Regel φ muss deterministisch und seitens des Modells reproduzierbar sein; bei nicht-deterministischer Regel ist das Bausystem nicht wohldefiniert.
- Trivial wohldefinierte Mitglieder-Menge: mitglieder ist als Menge unsortiert; alle Aussagen über das Bausystem sind invariant unter Permutation der Mitglieder.
- Nicht-Zirkularität: Die Definition verwendet die Primitive
punkt,vektor,weltkoordinatensystem,toleranzen,uuidsowie den bereits definierten Begriffbauteil. Sie verweist nicht auf konkrete Subtypen (Tragwerk, Dachfläche-als-Sicht, Aussteifungssystem) und nicht aufbauteilgruppe(das ist ein orthogonaler Aggregations-Mechanismus, keine Voraussetzung).
Erläuterung (nicht normativ)¶
Das Bausystem ist die ontologische Antwort auf eine Klasse von funktionalen Sichten, die im Holzbau immer wieder auftauchen und gemeinsame strukturelle Eigenschaften haben:
- Das Tragwerk eines Bauwerks ist die funktionale Sicht „alle lastabtragenden Bauteile". Ein Sparren ist Mitglied des Tragwerks, weil er Lasten trägt — er bleibt aber konstruktiv ein Sparren mit eigener Identität und kann gleichzeitig Mitglied der Dachfläche als funktionalem Bausystem sein.
- Eine Dachfläche als funktionale Sicht („alle Bauteile, die geometrisch zur südlichen Dachfläche gehören") sammelt Sparren, Schalung und Eindeckung dieser Dachseite. Derselbe Sparren ist gleichzeitig Mitglied des Tragwerks (lastabtragend) und Mitglied der Dachfläche (geometrisch zugehörig); diese Doppelmitgliedschaft ist genau der Punkt.
- Ein Aussteifungssystem sammelt alle Bauteile, die zur
horizontalen Aussteifung beitragen (Streben (
strebe), Kopfbänder (kopfband), Windrispen, aussteifende Schalungen). Auch hier sind die einzelnen Streben gleichzeitig Mitglieder des Tragwerks und des Aussteifungssystems.
In allen drei Beispielen sind die strukturellen Merkmale identisch: eigene Identität als Sicht/Klassifikation, nicht-exklusive Mitgliedschaft, keine kaskadische Löschung, Bauteile existieren unabhängig vom System, geometrische Eigenschaften optional. Diese Merkmalsgemeinsamkeit rechtfertigt den abstrakten Oberbegriff Bausystem.
DDD-Perspektive¶
Im Sinne von Domain-Driven Design ist ein Bausystem kein
Aggregat im engeren Sinn (Evans 2003 Kap. 6), sondern eine
Sicht, ein Tag oder eine Many-to-Many-Klassifikation. Die
Aggregate des Modells sind die Bauteile selbst (sowie die
Bauteilgruppen, siehe bauteilgruppe); das Bausystem ist eine
Klammer um eine Auswahl dieser Aggregate. Die Modifikations-Semantik
folgt daraus direkt: das Hinzufügen oder Entfernen einer
Bausystem-Mitgliedschaft ist eine Beziehungs-Operation, keine
Aggregat-Operation, und greift insbesondere nicht in die
Bauteil-Aggregate ein.
Strukturelle Rolle: begriffstyp: relation und Asymmetrie zu Spezialisierungen¶
Das Bausystem trägt begriffstyp: relation, weil es eine funktionale
Sicht auf Bauteile ist: es führt nicht-exklusive Mitgliedschaft,
hat keine eigenen partitiven Bestandteile über die
Mitglieder-Beziehung hinaus und bindet die Mitglieder nicht an seinen
Lebenszyklus. Eine Spezialisierung des Bausystems darf strukturell
mehr leisten als die Wurzel und in diesem Fall einen anderen
begriffstyp: führen. Paradigmatisch ist tragwerk: fachlich ist es
ein Bausystem (die funktionale Sicht „lastabtragend"), strukturell aber
ein Aggregat (begriffstyp: aggregat), weil es zusätzlich zur
Bauteil-Mitgliedschaft eigene partitive Bestandteile (Verbindungen,
Auflager, Lastfälle) sowie eigene Konsistenzbedingungen über der
Komposition (Inzidenz, Zusammenhang, Lastpfad-Vollständigkeit) trägt.
Die daraus folgende Asymmetrie zwischen oberbegriff: (fachliche
Spezialisierungs-Linie) und begriffstyp: (strukturelle Rolle) ist
zulässig und beabsichtigt; sie ist in _KONVENTIONEN.md Sektion 3,
Erläuterung zu relation, normativ verankert.
Abgrenzung zu Bauteilgruppe in einem Satz¶
Bausystem ist funktionale Gruppierung mit nicht-exklusiver
Mitgliedschaft und ohne kaskadische Löschung, Bauteilgruppe ist
partitive Komposition mit exklusiver Mitgliedschaft und
kaskadischer Löschung. Ein Bauteil kann zu beliebig vielen
Bausystemen, aber zu höchstens einer Bauteilgruppe gehören. Siehe
hg_bauteilgruppe.md.
Mehrfachmitgliedschaft als Stärke, nicht als Schwäche¶
Die Tatsache, dass ein Sparren gleichzeitig im Tragwerk, in der Dachfläche, im Aussteifungssystem und (falls vorhanden) in einer Auswechslungs-Bauteilgruppe geführt wird, ist kein Modellierungs- Konflikt, sondern die korrekte Repräsentation der konstruktiven Realität: derselbe physische Sparren erfüllt mehrere Funktionen gleichzeitig. Die ontologische Trennung zwischen Bauteilgruppe (exklusiv) und Bausystem (nicht-exklusiv) erlaubt diese Mehrfachzuordnung, ohne die exklusive Whole/Part-Beziehung der Bauteilgruppen zu verletzen.
Beziehungen¶
- Oberbegriff: derzeit
null. Bauteilgruppe und Bausystem liegen auf einer eigenen Aggregats-Hierarchie neben Element (siehe Erläuterung inhg_bauteilgruppe.md). - Bestandteile (relational, nicht partitiv):
- Bauteile (
bauteil) als Mitglieder der Gruppierung; die Beziehung ist Many-to-Many, nicht Whole/Part. - Funktion (Klassifikation aus ℱ): die konstituierende funktionale Aufgabe.
- Spezialisierungen (eigene Einträge folgen oder existieren bereits, trigger-basiert):
- Tragwerk (
tragwerk) — existiert bereits als Glossareintrag: funktionale Sicht „alle lastabtragenden Bauteile". Ontologisch eine Spezialisierung von Bausystem; siehe Folgearbeit unten zur Frage einer formalen Anbindung. - Aussteifungssystem (
aussteifungssystem): funktionale Sicht „alle Bauteile, die zur horizontalen Aussteifung beitragen". - Dachfläche als funktionale Sicht (
dachflaecheführt derzeit den geometrischen Begriff; eine zusätzliche Lesart als funktionales Bausystem „alle Bauteile dieser Dachseite" ist denkbar, aber nicht Gegenstand dieses Eintrags). - Schichtaufbau-Lage (
dachaufbauführt den Schichtaufbau als Aggregat; einzelne Lagen können als Bausysteme aufgefasst werden). - Eindeckung (
eindeckung, Folgearbeit): funktionale Sicht „alle Eindeckungsbauteile (Ziegel, Schindeln, Bahnenware)". - Hüllkonstruktion (
huellkonstruktion, Folgearbeit): Außenhülle des Bauwerks als funktionales System. - Befestigungssystem (
befestigungssystem, Folgearbeit): funktionale Gruppierung von Verbindungsmitteln und Verbindern nach gemeinsamem Befestigungs-Zweck. - Verwendung:
- Bestandteil eines Bauwerks als funktionale Klassifikation.
- Mehrere Bausysteme können auf denselben Bauteilen koexistieren (siehe Bedingung 1).
- Abgrenzung:
- Bauteilgruppe (
bauteilgruppe): partitive, exklusive Komposition; siehe oben undhg_bauteilgruppe.md. - Bauteil (
bauteil): einzelner Bestandteil; ein Bausystem ist eine Beziehung über mehreren Bauteilen, kein Bauteil. Ein Bausystem ist insbesondere nicht selbst ein Element-Subtyp (sieheelement). - Tragwerk (
tragwerk): konkrete Spezialisierung von Bausystem für die Funktion „lastabtragend". Tragwerk hat derzeitoberbegriff: null, was vor der Einführung des Bausystem-Begriffs konsistent war; nach Einführung wäreoberbegriff: bausystemdie strukturell saubere Anbindung (siehe Tragwerk-Beobachtung in der Folgearbeit unten). - Verbindung (
verbindung): lokales Knoten-Aggregat aus Bauteilen, Verbindungsmitteln, Verbindern und Verstärkungen mit Fokus auf Kraftübertragung an einem Punkt; ist ontologisch ein partitives Aggregat (eigenerbegriffstyp: aggregat), kein Bausystem. - Dachfläche (
dachflaeche): derzeit als geometrischer Begriff geführt (begrenzte ebene Fläche mit Neigung). Die Lesart als funktionales Bausystem über den Bauteilen einer Dachseite ist eine andere Begriffsschicht und nicht Gegenstand dieses Eintrags. - Dachaufbau (
dachaufbau): aggregierter Schichtaufbau eines Daches; eigene Aggregat-Semantik, nicht primär ein funktionales Bausystem. - Element (
element): Bausysteme sind keine Element-Subtypen (Memoryproject_element_ontologie).
Implementierungshinweis¶
Im aktuellen Glossarstand wird ausdrücklich keine Code-Klasse
Bausystem angelegt (Memory project_glossar_konventionen,
Briefing briefing_aggregations_begriffe.md). Die ontologische
Vorbereitung lebt zunächst nur im Glossar; die Code-Klasse entsteht
zusammen mit dem ersten konkreten Subtyp, der in einem Tool
tatsächlich benötigt wird (vermutlich entweder eine konkrete
Tragwerk-Implementierung oder eine Dachflächen-Sicht). Der folgende
Skizzen-Code ist ausschließlich orientierender Implementierungs-
Hinweis.
// SKIZZE — nicht jetzt anlegen.
// Glossar: hg_bausystem.md
package domain.bauteil
import domain.bauteil.Bauteil
import java.util.UUID
/**
* Bausystem: funktionale, nicht-exklusive Gruppierung von
* Bauteilen nach gemeinsamer Aufgabe. Keine eigene Aggregat-
* Identität im DDD-Sinn — die Mitglieder sind die Aggregate, das
* Bausystem ist die Klammer.
*
* Sealed, weil konkrete Subtypen (Tragwerk, Aussteifungssystem,
* Dachflächen-Sicht, Schichtaufbau-Lage, Eindeckung,
* Hüllkonstruktion) eigene Funktion-Klassifikationen und eigene
* Auswahl-Regeln tragen.
*/
sealed class Bausystem {
abstract val uuid: UUID
abstract val mitglieder: Set<Bauteil> // extensional
abstract val funktion: BausystemFunktion
abstract val bezeichnung: String?
// Keine Invariante "mitglieder.isNotEmpty()" — leere Bausysteme
// sind in der Definitions-Phase zulässig.
// Keine Invariante "Mitglieder gehören zu keinem anderen
// Bausystem" — Mehrfachmitgliedschaft ist die zentrale
// Eigenschaft.
}
enum class BausystemFunktion {
TRAGWERK, AUSSTEIFUNG, HUELLKONSTRUKTION,
EINDECKUNG, SCHICHTAUFBAU_LAGE, BEFESTIGUNGSSYSTEM,
/* Folgearbeit: erweitern, sobald konkrete Subtypen entstehen */
}
- Einheit: Längen (sofern eine optionale Bausystem-Geometrie existiert) in mm (Double); Winkel intern in Radiant.
- Identität:
uuidist Pflicht und persistent (RFC 9562 v7); externe Referenzen auf ein Bausystem gehen ausschließlich auf diese UUID. Mitglieder werden über ihre Bauteil-UUIDs referenziert. - Invarianten (im
init-Block prüfen, bei VerletzungResultat.Fehlerbzw.Entartet-Variante; niemals Exception werfen): - Keine Mindestgröße:
mitglieder.size >= 0(leere Bausysteme in Definition zulässig). - Keine Exklusivitäts-Prüfung gegen andere Bausysteme. Mehrfachmitgliedschaft ist die zentrale Eigenschaft und ausdrücklich zugelassen.
- Bei intensionaler Definition durch Auswahl-Regel φ: φ muss
deterministisch sein; bei nicht-deterministischer Regel
Entartet.NichtDeterministischeAuswahlregel. - Edge Cases:
- Leeres Bausystem: zulässig (Definition ohne Mitglieder).
- Bausystem mit einem Mitglied: zulässig (z. B. ein einzelner Kragträger als alleiniges Tragwerk).
- Vollständige Überlappung mit anderem Bausystem (S₁.mitglieder = S₂.mitglieder bei verschiedenen funktionen): zulässig (z. B. „Tragwerk" und „Holzkonstruktion" decken sich, wenn alle Bauteile aus Holz und tragend sind).
- Mitgliedschaft eines Bauteils in einer Bauteilgruppe und in einem Bausystem gleichzeitig: zulässig (z. B. ein Wechselbalken einer Auswechslungs-Bauteilgruppe ist gleichzeitig Mitglied des Tragwerks-Bausystems).
- Entfernen eines Bauteils aus dem Modell: das Bauteil wird automatisch aus allen Bausystem-Mitgliederlisten entfernt; die Bausysteme bleiben als Gruppierungen bestehen (gegebenenfalls leer).
- Abgeleitete Eigenschaften (als Funktionen, keine Felder):
geometrieInWelt(): GeometrieInW= ⋃_{b ∈ mitglieder} G_W(b).boundingBox(): AABB= achsenparalleler Hüllquader in W über den Mitgliedern.enthaelt(b: Bauteil): Boolean=b in mitglieder.auswahlregel(): (Bauteil) -> Boolean(optional, bei intensional definierten Bausystemen): die deterministische Mitgliedschafts-Funktion.
Quellen¶
Primär (normativ):
- ISO 16739-1:2024, „Industry Foundation Classes (IFC) for data
sharing in the construction and facility management industries —
Part 1: Data schema", insbesondere
IfcBuildingSystemundIfcRelAssignsToGroup. - buildingSMART International: IFC4.3 Documentation (Version 4.3.2.0, 2024).
- DIN EN 1990:2010-12, „Eurocode: Grundlagen der Tragwerksplanung", Abschnitt 1.5.1.1.
- DIN EN 1995-1-1:2010-12, „Eurocode 5: Bemessung und Konstruktion von Holzbauten – Teil 1-1: Allgemeines", Abschnitte 1.5 und 5.
- SIA 260:2013, „Grundlagen der Projektierung von Tragwerken", Abschnitt 2.1.
Sekundär:
- Evans, E.: Domain-Driven Design — Tackling Complexity in the Heart of Software. Addison-Wesley 2003, insbes. Kap. 6.
- Vernon, V.: Implementing Domain-Driven Design. Addison-Wesley 2013, insbes. Kap. 5 und 10.
- Lignum (Hrsg.): Holzbautabellen HBT. Lignum, Zürich, aktuelle Auflage.
- Blass, H. J.; Sandhaas, C.: Ingenieurholzbau – Grundlagen der Bemessung. KIT Scientific Publishing, Karlsruhe 2016.
Korpus (nicht autoritativ):
- Holzbau Deutschland, Merkblatt „Begriffe und Klassifizierungen für den Holzbau" (abgerufen 2026-05-09).
- Wikipedia, Lemmata „Tragwerk" und „Aussteifung" (abgerufen 2026-05-09).
Folgearbeit (trigger-basiert)¶
Konkrete Spezialisierungen werden definiert oder ontologisch angebunden, sobald das jeweilige Tool sie benötigt:
tragwerk(existiert bereits) — funktionale Sicht „alle lastabtragenden Bauteile". Strukturell eine Spezialisierung von Bausystem; eine formale Anbindung (oberbegriff: bausysteminhg_tragwerk.md) ist eine sinnvolle Folge-Korrektur, ist aber nicht Gegenstand dieses Eintrags und wird Eric zur Entscheidung vorgelegt (siehe Übergabe-Notiz dieses Auftrags).aussteifungssystem— Sicht über aussteifende Bauteile.eindeckung— Sicht über Eindeckungsbauteile (Ziegel, Schindeln, Bahnenware).huellkonstruktion— Sicht über die Außenhülle des Bauwerks.befestigungssystem— Sicht über Verbindungsmittel und Verbinder eines gemeinsamen Befestigungs-Zwecks.- Erweiterte Lesart von
dachflaecheals funktionales Bausystem „alle Bauteile dieser Dachseite" — wenn ein Tool diese Sicht braucht, als zusätzliche Begriffsschicht modellieren.
Außerdem als Folgearbeit auf Glossar-Ebene:
- Ggf. ein abstrakter Oberbegriff
aggregatüberbauteilgruppe,bausystem,verbindungundtragwerk, falls sich strukturelle Gemeinsamkeiten (eigene UUID, Gruppierungs- Beziehung) als hinreichend tragfähig erweisen — derzeit als offen geführt.