[Back]


Doctor's Theses (authored and supervised):

K. A. Brunner:
"The Design of a Building Model Service";
Supervisor, Reviewer: G. Kappel, A. Mahdavi, S. Dustdar; Institur für Architekturwissenschaften, Abteilung Bauphysik und Bauökologie, 2007; oral examination: 04-25-2007.



English abstract:
Building Models or Building Information Modells (BIM) are fine-grained, multi-faceted, integrated computational models of physical buildings. They capture not only the geometric, but also semantic data of building components and their relations. The promise of building information models is to support the entire lifecycle of a building, from concepzion through operation and maintenance to decommisioning. Building models servers are software systems that maintain such models and provide access to local and remote client appliciations.
Existing software architectures for building model servers are strongly focused on the requirements of the design phase and, to a lesser extent, the construction phase of the building lifecycle. These requirements resemble those of source code version control systems, with infrequent but potentially massive check-in/check-out operations on a central model repository.
The subject of this dissertation is the design of building model servers suitable for support of the operation phase of a building. The prototypical application used here is simulation-based ligthing control, which requires a fine-grained and up-to-date-model of the controlled space and devices, mcuh more so than typical facility management applications. The model is therefore connected to sensors and actuators within the building, keeping itself updated with sensor data and also acting as an interface to building systems for client applications.
The main challenge for such operation-phase building models are 1.) the integration of a wide range of different data sources and endpoints, and 2.) the efficient handling of sustained rates of incoming data while ensuring simple, uninterrupted, low-latency access to model data. Certain client applications (such as lighting control) even have soft real-time requirements. Great emphasis must therefore be placed on performance, scalability, as well as modifiability. This dissertation argues that existing model server architectures are not suitable to ensure these quality attributes, particularly because they are not designed for high concurrency.
At the core of the proposed architectrue, the building obejct model is implemented in a bitemporal main meomry database with persistent backing storage. Changes to model obejcts are versioned, allowing simple and transparent access to a full model history ("time travel"). The database ensures serializable transactions with a high degree of concurrency using a variant of the multi-version transaction ordering (MVTO) algorithm. Transactions amay be prioritised to ensure low latency updates. The performance and scalability of the concurrency control mechanism compares favourably with a simple locking scheme. The model server provides full support for happened-before and known-before ordering of date even when the data arrive unordered or very late by allowing retroactive insertion of records.
Distribution design is one of the key points in the software architecture: instead of using a reference architecture (such as client-server) and working around its limitations, the moste beneficial runtime locations of tasks and data for given requirements are considered. This is particularly important for client appliciations.
Two classes of client component behaviour are identified. Interactive behaviour is characterised by bursts of short read/write accesses to a varying set of model objects, possibly in reaction to model changes. Interactive components require little CPU and memory, but call for low-latency model access and immediate notification od model changes. They access the model as agents that are executed as threads within the model service, following the principle to run code where its data are. Agents can be installed and activated at run-time without service disruption.
Batch behaviour is characterised by intensive, long-running work on a fixed set of model objects, as is typical for building simulation and other analysis tasks. Write operations are rare. Such tasks call for great amounts of CPU cycles and are typically less affected by concurrent model changes. Batch components are therefore distributed to other systems and work on snapshot copies of the required model subset. Combined with a space-based communication layer, this distribution is transparent to a high degree and allows simple load distribution with a minimum of central administration.
Communication with the building systems is performed through an external message-queue infrastructure. The model service uses a flexible processing pipeline served by thread pools to locate and update the target obejcts corresponding to incoming messages. For concurrency-optimised internal communications (e.g. between agents), the model service provides a simple generalised message queuing system that can transparently connect to the external messaging system if needed. A facility for runtime-pliggable code is provided to achieve a hiogh degree of modifiability and availability.

German abstract:
Gebäude-Informationsmodelle sind hochauflösende, universelle, integrierte Informationsmodelle physischer Gebäude. Sie enthalten nicht nur geometrische, sondern auch semantische Daten von Baukomponenten und ihren Zusammenhängen. Zweck solcher Modelle ist es, den gesamten Lebenszyklus von Gebäuden von der Konzeption über Betrieb und Wartung bis hin zum Abbruch zu unterstützen. Gebäudemodell-Dienste sind Softwarekomponenten, die solche Gebäudemodelle betreiben und den Zugriff für Anwendungen ermöglichen.
Bestehende Software-Architekturen für Gebäudemodell-Dienste orientieren sich stark an den Anforderungen der Entwurfsphase und teilweise auch der Errichtungsphase von Gebäuden. Diese Anforderungen ähneln jenen von Versionierungssystemen für die Softwareentwicklung: Dabei werden in relativ großen Zeitabständen Daten (potentiell in großen Blöcken) abgefragt und eingepflegt.
Gegenstand dieser Dissertation ist der Entwurf von Gebäudemodell-Diensten, die sich für die Unterstützung des Betriebs von Gebäuden eignen. Als Referenzanwendung dient simulationsgestützte Beleuchtungsregelung, die ein besonders hochauflösendes und aktuelles Modell erfordert. Das Modell ist daher mit Sensoren und Aktuatoren im Gebäude verbunden, wodurch es laufend aktualisiert wird und für Anwednungen als Schnittstelle zu Gebäudesystemen dienen kann.
Die Hauptprobleme beim Entwurf solcher Dienste sind 1.) die Integration einer breiten Palette verschiedener Datenquellen und - senken, sowie 2.) die effiziente Verarbeitung von anhaltend hohen Datenraten, wobei gleichzeitig einfacher, ununterbrochener und rascher Zugriff auf Modelldaten möglich sein muss. Einige Anwendungen (etwa Beleuchtungsregelung) haben sogar "weiche" Echtzeitanforderungen. Besonderes Augenmerk ist daher auf Performanz, Skalierbarkeit und Modifizierbarkeit zu legen. In dieser Dissertation wird argumentiert, dass bestehende Architekturen von Gebäudemodell-Diensten für diese Anforderungen wenig geeignet sind.
Im Kern der vorgeschlagenen Architektur steht das Objektmodell in einer bitemporalen Hauptspeicher-Datenbank mit persistenter Speicherung. Änderungen an Objekten sind versioniert, was den einfachen und transparenten Zugriff auf die gesamte Modellhistorie ermöglicht. Die Datenbank ermöglicht serialisierbare Transaktionen mit hoher Nebenläufigkeit durch den Einsatz von Multiversions-Synchronisierung auf Basis einer Variante von multiversion transaction ordering (MVTO). Transaktionen können für zeitgerechte Aktualisierung priorisiert werden. Die Geschwindigkeit und Skalierbarkeit dieses Synchronisations-Mechanismus ist sehr gut im Vergleich zu einfachen Locking-Ansätzen. Sowohl die Reihenfolge der Datenbank-Aktualtisierung als auch der gespeicherten Ergebnisse kann jederzeit wiederhergestellt werden, auch wenn Daten ungeordnet oder verspätet eintreffen. Dies ist möglich, indem Daten auch nachträglich in die Versionshistorie eingefügt werden können.
Der Verteilungsaspekt ist einer der wichtigsten Punkte der Architektur: Statt eine herkömmliche Referenzarchitektur (z.B. Client Server) zu verwenden und ihre jeweiligen beschränkungen zu umgehen, wird für jeden Prozess die passendstes Lokation bestimmt, wo er ausgeführt werden soll.
Es wird zwei Arten von charakteristischem Verhalten von Anwendungen ausgegangen. Interaktives Verhalten besteht in raschen Folgen von kurzen Schreib- und Lesezugriffen auf verschiedene Objekte, etwa als Raeaktion auf Modelländerungen. Interaktive Applikationen benötigen wenig CPU und Speicher, aber raschen Modellzugriff und sofortige Benachrichtigung bei Modelländerungen. Solche Anwendungen werden als Agenten innerhalb des Modelldienstes ausgeführt, um Code möglichst dort auszuführen, wo die Daten sind. Agenten können zur Laufzeit installiert und aktiviert werden, ohne den Dienst zu unterbrechen.
Batch-Verhalten besteht in intensivem, langem Arbeiten mit fixen Modellausschnitten, was typisch für Simulation und andere Analyseaufgaben ist. Schreibzugriffe sind selten. Solche Aufgaben benötigen viel CPU und sind von gleichzeitigen Modelländerungen weniger betroffen. Batch-Applikationen werden daher auf andere Knoten verteilt und arbeiten auf Kopien der benötigten Modellteile. Zusammen mit einer auf spaces basierenden Kommunikation ist diese Verteilung sehr transparent und erlaubt einfache Lastverteilung mit einem Minimum an Administration.
Die Kommunikation mit Gebäudesystemen wird über eine externe Infrastruktur für asynchrones Messaging abgewickelt. Der Modelldienst verwendet eine flexible nebenläufige Verarbeitung, um Zielobjekte zu lokalisieren und mit den empfangenen Daten zu aktualisieren. Für interne Kommunikation zwischen nebenläufigen Programmen (z.B. Agenten) wird eine einfache asynchrone Messaging-Infrastruktur zur Verfügung gestellt, die auch mit externem Messaging verbunden werden kann. Code kann zur Laufzeit gatauscht werden, um hohe Verfügbarkeit und Modifizierbarkeit zu erreichen.

Keywords:
Brunner, Mahdavi, Gebäudeinformationsmodelle, Building Model Service

Created from the Publication Database of the Vienna University of Technology.