Einleitung
Dieser IDS4ALL converter, entwickelt von Simon Fischer, Harald Urban, Konstantin Höbart und Christian Schranz vom Forschungsbereich Digitaler Bauprozess der TU Wien (https://www.tuwien.at/cee/ibb/zdb), überführt Informationsanforderungen aus einer Excel-Datei in eine IDS-Datei. In der Praxis werden Informationsanforderungen oft tabellarisch in Excel definiert. Dieses Tool soll helfen, diese einfach in IDS zu überführen und dabei die volle Funktionalität von IDS zu nutzen. Ziel ist es, eine Struktur der Excel-Datei zu verwenden, die den vorhandenen Strukturen für Informationsanforderungen ähnelt, um die Anpassung an IDS zu erleichtern.
Der Konverter wandelt Informationsanforderungen definiert nach der Vorlage „IDS4ALL-Template“ in eine IDS-Datei um.
Diese Vorlage enthält fünf Tabellenblätter:
- IDS4ALL: Definiert allgemeine Informationen (Metadaten) der IDS-Datei. Dieses Tabellenblatt und seine Struktur ist vorgegeben und muss eingehalten werden.
- Template: leere Vorlage mit allen möglichen Spalten ohne Spezifikationen
- Example specifications: Enthält Beispiele für alle im Benutzerhandbuch beschriebenen Funktionalitäten des IDS4ALL-Konverters. Kann auch als Vorlagenblatt verwendet werden.
- User manual: Erklärung/Anleitung auf Englisch
- Benutzerhandbuch: Erklärung/Anleitung auf Deutsch
Im Folgenden wird die erforderliche Struktur mit Beispielen aus dem Tabellenblatt „Example specifications“ detailliert beschrieben.
Aufbau des Tabellenblattes „Example specifications“
Das Tabellenblatt „Example specifications“ führt einzelne Spalten für mögliche Einträge in einem IDS Facet ein. In einer klassischen oder traditionellen Informationsanforderungstabelle gibt es eine Spalte für die IFC-Entität, die die Applicability definiert, und Spalten für das PropertySet, den Property-Namen, den Datentyp und den Property-Wert, um die Requirements zu definieren. Auf die gleiche Weise werden Spalten für die anderen IDS Facets sowohl für die Applicability als auch für die Requirements eingeführt. Die Namen der Spalten sind vorgegeben und müssen eingehalten werden. Spalten für die Applicability beginnen mit „A“. Spalten für die Requirements beginnen mit „R“. Zusätzliche allgemeine Spalten (Phase, Role, Usecase, SpecificationCardinality) haben kein Präfix. Die Reihenfolge der Spalten in der Excel-Tabelle ist nicht vorgegeben. Ebenso müssen nicht alle Spalten vorhanden sein. Spalten von IDS Facets, die nicht erforderlich sind, können entfernt oder weggelassen werden, wodurch die Excel-Datei einfach gehalten werden kann. Dadurch kann der IDS4ALL-Konverter sowohl für einfache klassische Informationsanforderungen als auch für komplexere Anforderungen verwendet werden, die das volle Potenzial von IDS nutzen. Wenn ein Facet verwendet wird, muss jedoch sichergestellt werden, dass auch alle erforderlichen Spalten des Facets verwendet werden. Beispielsweise sind die Einträge „PropertySet“ und „Property“ für das Property Facet erforderlich. Wenn das Property Facet verwendet wird, müssen mindestens diese beiden Spalten ausgefüllt werden.
Die Definition von Spezifikationen erfolgt zeilenweise. Verschiedene Zeilen mit der gleichen Applicability werden zu einer Spezifikation zusammengefasst. Wenn die verschiedenen Zeilen unterschiedliche Requirements betreffen, werden sie mit einer „Und“-Logik zu einer Spezifikation zusammengefasst. Verschiedene Zeilen betreffen jedoch oft auch dieselben Requirements, z. B. werden Listen möglicher Eigenschaftswerte oft in separaten Zeilen aufgeführt. Daher können für die Spalten R.AttributeValue und R.PropertyValue auch verschiedene Zeilen verwendet werden, um verschiedene mögliche Werte aufzulisten. Wenn alle anderen Einträge in den Zeilen gleich sind, werden die Werte in den verschiedenen Zeilen mit einer „Oder“-Logik zu einer Liste möglicher Werte zusammengeführt (siehe „Example specifications“, Zeilen 12–21 und 22–31). Die zweite Möglichkeit, Listen von „Oder“-Werten zu definieren, ist die Verwendung des Trennzeichens | (siehe Beschreibung der Schlüsselwörter/-symbole).
Die Reihenfolge der Zeilen ist nicht vorgegeben. Auch leere Zeilen sind zulässig. Diese werden vom Konverter ignoriert (siehe „Example specifications“, Zeilen 55 und 61).
Im Allgemeinen ist die Zeilenstruktur nicht hierarchisch. Jede Zeile muss für sich allein stehen können. Das bedeutet, dass jede Zeile alle Informationen enthalten muss und keine Informationen aus vorherigen Zeilen übernommen werden. Es ist jedoch möglich, die Daten durch Überschriftszeilen für eine neue Entität oder ein neues PropertySet wie in den „Example specifications“ zu strukturieren. Eine Überschriftszeile in der Applicability (siehe „Example specifications“, Zeile 5) erstellt eine zusätzliche allgemeine Spezifikation, in der alle Informationen der spezifischeren Spezifikationen zusammengeführt werden. Sie ersetzt nicht die spezifischeren Spezifikation, sondern ist eine zusätzliche Spezifikation. Eine Überschirftszeile in den Requirements (siehe „Example specifications“, Zeile 6) erstellt keine neue Spezifikation. Stattdessen wird sie mit den detaillierteren Spezifikationen darunter zusammengeführt. Wenn Sie Ihre Daten jedoch mithilfe der allgemeinen Spalten in verschiedene IDS-Dateien aufteilen, stellen Sie sicher, dass die allgemeinen Spalten auch für diese Überschriftszeilen ausgefüllt werden (sollten mit den allgemeinen Daten einer spezifischeren Spezifikation übereinstimmen, wobei es unerheblich ist, mit welcher spezifischeren Spezifikation). Andernfalls werden die Zeilen nicht zusammengeführt und es werden unvollständige Facets generiert.
Nachfolgend finden Sie eine Liste der vordefinierten Spaltennamen, unterteilt in Applicability, Requirements und allgemeine Informationen, einschließlich einer Erklärung:
Spaltennamen Applicability 4846_6bc211-f9> |
Spaltennamen Requirements 4846_d27cde-bb> |
Spaltennamen Allgemein 4846_081340-f5> |
Beschreibung 4846_50aaae-78> |
Erlaubte Schlüsselwörter/-symbole 4846_62c50a-0e> |
---|---|---|---|---|
A.Entity 4846_3c31f9-5e> |
R.Entity 4846_be9e8c-ce> | 4846_275afa-8f> |
Entity Facet: Definition der IFC-Entität und des PredefinedType in der Form „Entity.PredefinedType“. Vorsicht: Standardisierte PredefinedTypes müssen wie im IFC-Standard definiert, mit Großbuchstaben angegeben werden (siehe „Example specifications“, Zeile 33). Benutzerdefinierte Typen können klein geschrieben werden (siehe „Example specifications“, Zeile 34). 4846_e5f78c-f7> |
alle 4846_a88c73-f8> |
4846_58c65c-ea> |
R.Description.Entity 4846_654f4f-61> | 4846_c414e9-86> |
Entity Facet: Beschreibung der IFC-Entität. Kann in Kombination mit dem Entity Facet in den Anforderungen verwendet werden, um allgemeine Informationen über eine Entität in den Instructions des Entity Facet zu speichern. Wird beispielsweise verwendet, um eine eindeutige Beschreibung aller Entitäten bereitzustellen, die in den Informationsanforderungen erscheinen. Zu diesem Zweck kann eine Spezifikation das Entity Facet in der Applicability und in den Requirements enthalten, wobei in den Requirements die Beschreibung hinzugefügt wird. (siehe „Example specifications“, Zeilen 3 und 4). Eine Beschreibung ist nur in den Requirements möglich, da das IDS-Schema keine Instructions im Facet erlaubt, wenn es in der Applicability verwendet wird. 4846_f6776b-39> |
\& 4846_88c174-05> |
A.PropertySet 4846_de360a-28> |
R.PropertySet 4846_667b19-8b> | 4846_aac55e-25> |
Property Facet: Definition des PropertySets 4846_c2a724-93> |
alle 4846_155af9-66> |
A.Property 4846_a0ec34-b5> |
R.Property 4846_54e77e-07> | 4846_a338e7-fb> |
Property Facet: Definition des Property-Namens. Dieser Wert wird in IDS unter dem baseName im Property Facet gespeichert. 4846_55e497-dd> |
alle 4846_1a0ac2-5b> |
A.PropertyDatatype 4846_1ad1d7-f7> |
R.PropertyDatatype 4846_cebb74-ae> | 4846_1c3a9b-c3> |
Property Facet: Definition des Datentyps der Eigenschaft (z. B. IfcLabel, IfcBoolean). 4846_4b9f09-64> |
\& 4846_2fdef4-d2> |
A.PropertyValue 4846_97d4da-a8> |
R.PropertyValue 4846_3cfeb5-a5> | 4846_f4735f-42> |
Property Facet: Definition des Property-Werts 4846_cc4d08-aa> |
alle 4846_4703a2-b4> |
4846_dab7ea-4f> |
R.PropertyURI 4846_b5c9a0-ab> | 4846_b4789b-b7> |
Property Facet: Definition des URI (Uniform Resource Identifier) des Properties 4846_ee4415-d9> |
\& 4846_33563e-81> |
4846_215f45-14> |
R.Description.Property 4846_7692aa-6a> | 4846_2f8452-d2> |
Property Facet: Beschreibung des Properties. Kann in Kombination mit dem Property Facet in den Requirements verwendet werden, um allgemeine Informationen über ein Property in den Instructions des Property Facet zu speichern (siehe „Example specifications“, Zeile 9). Eine Beschreibung ist nur in den Requirements möglich, da das IDS-Schema keine Instructions im Facet erlaubt, wenn es in der Applicability verwendet wird. 4846_1b016d-8a> |
\& 4846_b1c05e-8d> |
A.Material 4846_8cc6c3-55> |
R.Material 4846_f46c2d-c0> | 4846_705a5f-32> |
Material Facet: Definition des Materialnamens 4846_1f4b42-6e> |
alle 4846_624115-64> |
4846_13fc2d-99> |
R.MaterialURI 4846_603975-cb> | 4846_fa637d-59> |
Material Facet: Definition des URI (Uniform Resource Identifier) des Materials 4846_6e0a69-d7> |
\& 4846_e30605-de> |
A.Attribute 4846_794685-18> |
R.Attribute 4846_b4806f-26> | 4846_829104-74> |
Attribute Facet: Definition des Attributnamens 4846_510d2e-d2> |
alle 4846_9d4e05-a0> |
A.AttributeValue 4846_a14d2a-38> |
R.AttributeValue 4846_873b98-84> | 4846_511278-02> |
Attribute Facet: Definition des Attributwerts 4846_47beb3-4a> |
alle 4846_f6bca6-98> |
A.Classification 4846_92b5ca-75> |
R.Classification 4846_6be005-60> | 4846_011e84-f6> |
Classification Facet: Definition des Klassifikationsnamens 4846_1f3719-50> |
alle 4846_da966a-09> |
A.ClassificationSystem 4846_297ca2-e8> |
R.ClassificationSystem 4846_8d1140-48> | 4846_158a47-bc> |
Classification Facet: Definition des Klassifikationssystems 4846_543e70-e4> |
alle 4846_ea45de-e1> |
4846_50fc61-f9> |
R.ClassificationURI 4846_6d8e4c-62> | 4846_4bb69f-94> |
Classification Facet: Definition des URI (Uniform Resource Identifier) der Klassifikation 4846_b04bcc-df> |
\& 4846_e32128-16> |
A.PartOfRelation 4846_d7239e-d1> |
R.PartOfRelation 4846_fad0da-b8> | 4846_1c4f36-75> |
PartOf Facet: Definition der verwendeten Relation 4846_1e10ea-10> |
alle 4846_1735ed-cb> |
A.PartOfEntity 4846_244e1a-b5> |
R.PartOfEntity 4846_4be219-bb> | 4846_6e7719-89> |
PartOf Facet: Definition der IFC-Entität, die über die angegebene Relation mit dem aktuellen Element verknüpft werden soll 4846_8bddd8-e7> |
alle 4846_5299ec-67> |
4846_e4f05d-f7> |
R.Cardinality 4846_400cb2-7d> | 4846_e92db9-c9> |
Definition der Kardinalität eines Facets. Die Kardnialität eies Facets in den Requirements legt fest, ob die definierte Anforderung erfüllt werden muss (required), erfüllt wird darf (optional), oder nicht erfüllt werden darf (prohibited). Diese Spalte bezieht sich auf alle Facets in den Requirements. Werden also in einer Zeile mehrere verschiedene Facets verwendet und eine Kardinalität definiert, gilt diese für alle Facets dieser Zeile. Sollen die Facets verschiedene Kardinalitäten aufweisen, können sie auf mehrere Zeilen aufgeteilt werden, da mehrere Zeilen in einer Spezifikation mit und verknüpft werden (insofern die Applicability übereinstimmt). Diese Spalte ist optional. Wird sie nicht verwendet, bekommt jedes Facet den Standardwert required. 4846_9a9860-3b> |
\& 4846_70b897-a1> |
4846_096efa-ec> | 4846_312f11-12> |
Phase 4846_a7b6cc-53> |
Angabe der Projektphasen, in denen die Spezifikation erforderlich ist. Diese Information wird im IDS in den Instructions der Spezifikation gespeichert und auch für die Aufteilung in einzelne IDS-Dateien verwendet (je nach Eintrag im IDS4ALL-Tabellenblatt). 4846_d5ee9b-70> |
\& und | (haben die gleiche Bedeutung in dieser Spalte) 4846_c1bf81-9d> |
4846_eee575-ad> | 4846_9aa66f-6c> |
Role 4846_94f616-0c> |
Angabe der Rolle(n) (z. B. Architektur, Tragwerksplanung), die für die Spezifikation verantwortlich ist (sind). Diese Information wird im IDS in den Instructions der Spezifikation gespeichert und dient auch zur Trennung einzelner IDS-Dateien (abhängig vom Eintrag im IDS4ALL-Tabellenblatt). 4846_01764b-35> |
\& und | (haben die gleiche Bedeutung in dieser Spalte) 4846_630261-82> |
4846_3858d0-2e> | 4846_e1f037-07> |
Usecase 4846_3d2d30-54> |
Angabe der Anwendungsfälle, in denen die Spezifikation erforderlich ist. Diese Information wird im IDS in den Instructions der Spezifikation gespeichert und dient auch zur Trennung einzelner IDS-Dateien (abhängig vom Eintrag im IDS4ALL-Tabellenblatt). 4846_ec7a2f-83> |
\& und | (haben die gleiche Bedeutung in dieser Spalte) 4846_cbfe09-11> |
4846_8a7661-7c> | 4846_4edf7d-f5> |
SpecificationCardinality 4846_f9aff2-81> |
Definition der Kardinalität einer Spezifikation. Die Kardinalität einer Spezifikation legt fest, ob die angegeben Elemente im Modell vorhanden sein müssen. In dieser Zeile sind drei verschiedene Werte gültig (required, optional, prohibited). Diese Werte werden in der Applicability einer Spezifikation gespeichert und in die „occurs“-Attribute des Attributteils eines IDS umgewandelt. |
keine 4846_ae836b-48> |
4846_521358-1f> | 4846_4dec18-fc> |
SpecificationIfcVersion 4846_7f82c8-91> |
Definition der IFC-Version für eine Spezifikation. Wird diese Spalte verwendet, überschreibt sie die IFC-Version aus dem Tabellenblatt IDS4ALL. In Zeilen, wo keine spezifische IFC-Versionen definiert werden, verbleiben die Standard-Versionen aus dem Tabellenblatt IDS4ALL. Erlaubte Werte: |
\& und | (haben die gleiche Bedeutung in dieser Spalte) 4846_1997d9-49> |
Schlüsselwörter/-symbole
Um in einzelnen Zellen mehr als nur einfache Werte zu definieren, sind Schlüsselwörter/-symbole erforderlich. Die Symbole weisen immer auf eine komplexe Einschränkung oder eine spezielle Verarbeitung der Werte in der Zelle hin. Daher sind sie als normaler Text nicht zulässig. Die Symbole sind nicht in jeder Spalte zulässig. Die obige Liste zeigt, welche Symbole in welcher Spalte zulässig sind.
Schlüsselwort/-symbol 4846_d95629-fe> |
Definition 4846_1e78b8-db> |
Beschreibung 4846_4a4f05-c4> |
---|---|---|
| 4846_a5dd4f-c6> |
Oder 4846_39cd76-dc> |
Dieses Symbol trennt die Werte einer ‘Oder’-Liste innerhalb einer Zelle.
Es wird verwendet, um eine Liste möglicher Werte in einer Zelle zu definieren.
Das ‘Oder’-Symbol hat in den Requirements und in der Applicability unterschiedliche Funktionen.
In den Requirements werden diese Werte in IDS als komplexe ‘Aufzählungs’-Einschränkung gespeichert (siehe ‘Example specifications’, Zeilen 47 und 48). |
\& 4846_f7e655-3a> |
Und 4846_95bbbe-20> |
Dieses Symbol ermöglicht es, mehrere Werte mit einem ‘Und’ zu verknüpfen (siehe ‘Example specifications’, Zeile 49).
Es wird verwendet, um mehrere Facets in einer Spezifikation zu kombinieren.
Diese Logik bezieht sich immer auf alle Spalten, die zu einem Facet gehören.
Es muss darauf geachtet werden, dass in allen Spalten des Facets die gleiche Anzahl von ‘Und’-Symbolen verwendet wird (z. B. PropertySet: Pset_WallCommon&Pset_WallCommon; Property: LoadBearing&Compartmentation; PropertyValue: True&False).
Bei einem optionalen Parameter in IDS wie bei PropertyValue können Werte auch leer gelassen werden (z. B. True&).
Dies bedeutet, dass der zweite Wert nicht definiert ist und die IDS-Spezifikation angibt, dass die Eigenschaft mit einem beliebigen Wert vorhanden sein muss. |
pattern= 4846_f36b0e-f0> |
Regex-Muster 4846_e3e9dd-23> |
Definition eines Schemas für die Zeichenkette des Wertes (siehe ‘Example specifications’, Zeile 49). Wird durch reguläre Ausdrücke (regex) definiert. 4846_1fda06-5a> |
length= 4846_75663d-b1> |
Genaue Länge eines Werts 4846_a24c0f-81> |
Beschränkung der Anzahl der einzelnen Zeichen eines Werts 4846_498b2a-02> |
length>= 4846_1b0c88-15> |
minimale Länge eines Werts 4846_47910a-46> |
Beschränkung der Anzahl der einzelnen Zeichen eines Werts 4846_827f8e-77> |
length<= 4846_7a9fe6-d6> |
maximale Länge eines Werts 4846_63cbda-11> |
Beschränkung der Anzahl der einzelnen Zeichen eines Werts (siehe Tabellenblatt ‘Example specifications’, Zeile 50) 4846_8ecf21-c2> |
< 4846_b71236-56> |
kleiner 4846_e7bc42-88> |
Beschränkung eines numerischen Werts 4846_7429f0-a6> |
<= 4846_b20273-ed> |
kleiner gleich 4846_6681fd-20> |
Beschränkung eines numerischen Werts (see ‘Example specifications’, row 51) 4846_364a76-a1> |
> 4846_bd2a41-04> |
größer 4846_2e2204-30> |
Beschränkung eines numerischen Werts 4846_c73880-59> |
>= 4846_a9b4e5-50> |
größer gleich 4846_b676ea-ed> |
Beschränkung eines numerischen Werts 4846_b0dfbd-fc> |
Einschränkungen
Das Dezimaltrennzeichen eines numerischen Werts muss ein Punkt oder ein Komma sein.
Der Name einer Spezifikation kann nicht benutzerdefiniert festgelegt werden. Er wird aus der IFC-Entität automatisch erzeugt.
Es ist nicht möglich, benutzerdefinierte Werte für den Purpose und den Milestone des IDS festzulegen. Diese Werte werden automatisch aus den allgemeinen Spalten generiert. Die Phasen werden als Milestone und die Kombination aus Rollen und Anwendungsfällen als Purpose gespeichert.