Przykład zastosowania AI do zamiany języka naturalnego na formuły stosowane w budownictwie do opisu wymagań projektowych

Wstęp

Sprawdzanie zgodności projektu z obowiązującymi wytycznymi jest procesem iteracyjnym, z reguły manualnym, opartym obecnie w dużej mierze na rysunkach 2D. W konsekwencji proces ten jest uciążliwy, czasochłonny i podatny na błędy.
W projekcie budowlanym opartym na BIM, dane kompleksowo opisują budynek, który ma zostać wzniesiony. Stanowią je informacje geometryczne i semantyczne, które obejmują znaczenie wyrażeń, relacji między elementami oraz znaczenie kontekstualne. Model IFC prezentuje różnego typu dane, które powinny spełniać wymagania formalne zarówno te stawiane rzeczywistemu obiektowi, jak i te które dotyczą jego cyfrowej reprezentacji. Aby zoptymalizować czas weryfikacji modeli oraz zminimalizować “błąd ludzki” dąży się do komputerowego wsparcia tego procesu poprzez automatyzację. Jednak automatyczne sprawdzanie zgodności modelu i wymagań prawnych/inwestora wymaga między innymi przetłumaczenia przepisów budowlanych i wytycznych dotyczących danego projektu na kod wykonywalny, zrozumiały dla maszyn i algorytmów.
Informacje zapisane w formie sformalizowanego kodu, stanowią doskonałą podstawę do automatyzacji procesu sprawdzania zgodności cyfrowego modelu obiektu budowlanego względem zapisanych warunków.
Architekci i pozostali uczestnicy procesu inwestycyjnego coraz częściej pracują z cyfrowymi modelami informacji o budynku. Modele te obok znanych zastosowań mogą również służyć przy niewielkich dodatkowych nakładach pracy, do automatycznego sprawdzania, czy projektowane budynki spełniają określone wymagania. Takie podejście może również zapewnić znaczne skrócenie czasu i wysiłku potrzebnego władzom i projektantom podczas sprawdzania projektów pod kątem zgodności z przepisami budowlanymi podczas wydawania lub ubiegania się o pozwolenie na budowę. W niektórych krajach częściowa automatyczna weryfikacja zgodności jest już nieodłączną częścią procesu składania wniosków o pozwolenie na budowę, ale w wielu innych plany proponowanych budynków są nadal sprawdzane ręcznie. Raporty Doing Business publikują dane o tej sytuacji w 190 krajach. Polska wg Doing Business 2020 zajmuje 39 pozycję z 12 procedurami i 153 dniami. To się jednak zmienia, ponieważ wiele krajów pracuje nad usprawnieniem tych procesów. Ogólnie rzecz biorąc, stwarza to nowe możliwości dla sektora budowlanego w zakresie skrócenia czasu przetwarzania wniosków dzięki wykorzystaniu już istniejącego materiału danych.
Formalizacja wymagań wymaga specjalistycznej wiedzy w zakresie formułowania specyfikacji, które mają usystematyzowaną, rygorystyczną składnię i semantykę. W związku z tym wymagania są często formułowane w języku naturalnym. Kluczowym więc aspektem weryfikacji i walidacji jest przełożenie tych wymagań na język specyfikacji [1,2].
Niniejsza publikacja dotyczy nieco węższego zadania związanego z zastosowaniem formalizacji języka naturalnego do formuł stosowanych w standardzie IDS (InformationDelivery Specification). Zanim zostanie przedstawiony model2 AI wspierający proces tworzenia specyfikacji zgodnych z IDS zastosowany w rozwiązaniu IDS Maker (Sekcja „Opis Rozwiązania” oraz „Znaczenie pomysłu”), zaprezentowana zostanie sama logika oraz zasady obowiązujące w strukturze pliku IDS (plik wymagań informacyjnych dla modeli IFC, standard IDS utworzony i rozwijany przez buildingSMART).

Struktura pliku IDS i definiowanie wymagań

Każda ze specyfikacji w pliku IDS może składać się z dwóch członów określających zasoby informacyjne modeli IFC lub ich elementów, są to: Zastosowanie oraz Wymagania. Proste specyfikacje mogą mieć jedynie Zastosowanie. Wówczas takie specyfikacje wskazują jedynie, że jakieś określone w tej części obiekty powinny w modelu wystąpić.
Specyfikacja może być jednak bardziej złożona i składać się nie tylko z Zastosowania, ale również z sekcji Wymagań. Wymagania zawsze dotyczą elementów które są wskazane w sekcji Zastosowanie. Takie Specyfikacje więc nie tylko sprawdzają występowanie pewnych elementów (sekcja Zastosowanie), ale również czy te wskazane elementy spełniają warunki określone w Wymaganiach.
W skrócie, posiadając model IFC, szukamy wszystkich obiektów, które spełniają warunki w sekcji Zastosowanie i sprawdzamy je pod względem każdego wymagania z sekcji Wymagania.
Zastosowanie jak i Wymagania można określić przy pomocy 6-ciu różnych kategorii zasobów informacyjnych. Rodzaje faset są takie same zarówno dla Zastosowania jak i Wymagań, dzielą się na Encje, Atrybuty, Właściwości, Materiały, Klasyfikacje, Relacje (Część).

Przykłady wymagań (Requirements) względem elementów ścian o różnych fasetach to np.:

  1. Wskazane elementy (określone w Zastosowaniu) mają mieć Encję (typ elementu IFC) równą IfcWallStandardCase.
  2. Dla wskazanych elementów (określonych w Zastosowaniu) Atrybut Name (nazwa) ma być równa “External Load-Bearing Wall”
  3. Wskazane elementy (określone w Zastosowaniu) mają mieć Właściwość ThermalTransmittance w Zestawie Właściwości Pset_WallCommon o wartości 0.18 W/m2K
  4. Wskazane elementy (określone w Zastosowaniu) mają być z Materiału Porotherm 25 P+W
  5. Wskazane elementy (określone w Zastosowaniu) mają mieć Klasyfikację EF_25_10 z systemu Uniclass 2015
  6. Wskazane elementy (określone w Zastosowaniu) mają mieć Relację IfcRelContainedInSpatialStructure z kondygnacją IfcBuildingStorey

Każda z faset zarówno określająca Zastosowanie jak i Wymagania może mieć różną “szczegółowość”, to znaczy wymaganie może być na poziomie ogólnym np. określać, że po prostu jakaś konkretna właściwość ma występować lub też może być bardziej szczegółowa wskazując, że określona właściwość nie tylko ma występować, ale również ma przybierać wartość z określonego zakresu (np. zakres wielkości dla parametru liczbowego lub też zakres określony listą możliwych parametrów opisowych).
Każda ze specyfikacji zarówno w części “Zastosowanie” jak i w części “Wymagania” może zawierać zbiór faset odnoszących się do różnych parametrów. W tych dwóch częściach istnieją pewne zasady interpretacji poszczególnych definiowanych reguł. To znaczy zbiór reguł wymienionych w Zastosowaniu w każdej pojedynczej specyfikacji rządzi się warunkiem “koniunkcji” (i) (i dlatego ta część też określona jest jednym wspólnym typem z 3ech możliwych: Wymagane, Opcjonalne, Zabronione), natomiast w Wymaganiach jednej specyfikacji każda reguła jest określona odrębnym typem warunku (są więc one analizowane osobno, a nie jako grupa powiązanych warunków). Każdy pojedynczy warunek w wymaganiach przybiera jeden z 3-ech możliwych typów: wymagany, opcjonalny, zabroniony.

Opis rozwiązania AI – generowanie specyfikacji na podstawie tekstu użytkownika

Przedmiotem badań są wybrane problemy przetwarzania języka naturalnego (ang. Natural Language Processing – NLP) w komputerowych systemach wyszukiwania informacji [3,4]. Dotyczą one tworzenia charakterystyk wyszukiwawczych dla tych systemów. To interesujący badawczo, a zarazem złożony i do tej pory niezbadany dogłębnie, problem nauki o informacji. Badania wyniknęły z potrzeby zautomatyzowania procesu analizy wymagań projektowych. Wymagania projektowe opisujące szereg danych dotyczących budowli takich jak przepisy normowe, technologiczne i eksploatacyjne są zapisywane w języku naturalnym i nie nadają się do automatycznego przetwarzania. W technologii BIM opracowano standard IDS, który służy do takiej analizy, ale narzuca, aby wymagania projektowe były zapisane w postaci formuł matematycznych według określonego schematu (jak opisano wyżej). Przełożenie wymagań użytkownika w postaci zdań na sformalizowany zapis zgodny z wymaganiami pliku IDS oraz utworzenie takiego pliku wynikowego to fundamentalne zadanie, które zdecyduje o możliwości automatyzacji kontroli wymagań projektowych dla modelu i praktycznej użyteczności tego rozwiązania. Celem badań było zdobycie wiedzy co do możliwości wykorzystania w tym celu sztucznej inteligencji dla zamiany wymagań opisanych w języku naturalnym na reguły matematyczne.
Za pośrednictwem portalu IDS Maker użytkownik definiuje wymagania w języku naturalnym, które po zatwierdzeniu są przetwarzane przez model AI.
Na etapie wstępnym kontroler w IDS Maker (jednostka, która zarządza akcjami użytkownika po stronie serwera aplikacji) analizuje wymagania i tworzy wewnętrzną, łatwo przekazywalną strukturę danych, a następnie wysyła ją do osobnej aplikacji zarządzającej pracą modeli językowych. Dane zostają przekazane do modelu delegującego, który rozpoznaje rodzaje faset i kieruje je do odpowiednich modeli ze względu na indywidualny typ fasety.
Gdy aplikacja obsługująca modele AI dostaje zapytanie (Request) z IDS Makera, to w łatwy sposób odczytuje strukturę danych w postaci obiektów JSON i mapuje je na własną strukturę. Następnie główny model delegujący (mediator) określa typ fasety i przekazuje każde wymaganie użytkownika do jednego z 6 modeli BIRM (Basic IDS Recognition Model), który specjalizuje się tylko w wyznaczonym typie fasety:

  • BIRM_Attribute – do pracy z atrybutami
  • BIRM_Classification – do pracy z klasyfikacjami
  • BIRM_Entity – do pracy z obiektami IFC
  • BIRM_Material – do pracy z materiałami
  • BIRM_PartOf – do pracy z relacjami między obiektami IFC
  • BIRM_Property – do pracy z właściwościami obiektów

Każdy model obsługuje tylko jeden typ fasety, dzięki czemu udało się uniknąć tak zwanego zjawiska przesycenia (kiedy pewnego typu danych model ma zbyt dużo i skłania się używać ich częściej do generowania odpowiedzi). Podział na 6 modeli pozwala na przetrenowanie jakieś konkretnej jego części, co pozwala uniknąć konieczności przeprowadzenia takiego procesu na wszystkich zasobach od nowa. W ten sposób ponowne wytrenowanie może zostać zrealizowane w krótszym czasie, a w przypadku przerwy w dostawie prądu czy innej awarii, jest szansa, że zanim do tego dojdzie, przynajmniej część z prac zostanie ukończona (a nie zostanie przerwany jeden długi proces).
Do wytrenowania modeli zostało napisane osobne narzędzie AITestDataMaker, które w oparciu o standardy IFC oraz bSDD generuje około 1.2 mln rekordów danych testowych.

Wszystkie modele oprócz mediatora mają identyczną zasadę działania. Wygląda ona następująco:

  1. Tekst użytkownika jest dostarczany do odpowiedniego modelu
  2. Model analizuje tekst i wyznacza slowa-klucze, następnie przetwarza cały tekst na zestaw wektorów liczbowych i wyznacza ich wagę
  3. Model wyciąga kluczowe dane (o ile wystąpiły w tekście użytkownika) i przekształca je na obiekt, który można jednoznacznie przenieść na strukturę IDS
  4. Gdy wszystkie obiekty są utworzone, model delegujący strukturyzuje je i wysyła wynik konwersji do IDS Makera.

Po odczycie odpowiedzi modelu używamy mechanizmów do normalizacji oraz uzupełnienia brakujących danych (takich jak np. semantyka nazw klas oraz właściwości czy przypisanie właściwego typu danych dla wartości atrybutów/właściwości).
Gdy użytkownik uzna, że wygenerowany wynik nie spełnia jego oczekiwań i go zmodyfikuje, to w momencie pobrania pliku wszystkie utworzone przez AI specyfikacje zostaną porównane ze stanem początkowym (tuż po wygenerowaniu). Jeśli wystąpią różnice (czyli zmiany wprowadzone przez użytkownika), to zostanie wygenerowany plik z danymi do dalszej ewaluacji modelu.

Rys 1. Schemat działania systemu, proces od wprowadzenia danych do generowania wyników i walidacji

Znaczenie praktyczne pomysłu

Opisane badania i prace rozwojowe mają znaczenie praktyczne związane z automatyzacją
kontroli wymagań modeli BIM tworzonych w standardzie IFC. Wymagania te mogą być
rozmaite i dotyczą:

    • Określenia tolerancji wymiarowych dla elementów konstrukcyjnych, takich jak ściany,
      drzwi i okna.
    • Poziomu szczegółowości modelu na różnych etapach projektu.
    • Określenia właściwości, które muszą być przypisane do poszczególnych elementów
      modelu, takich jak np. „Fire Rating” dla ścian czy „Acoustic Rating” dla drzwi.
    • Definiowania, jak elementy powinny się zachowywać w określonych warunkach,
      np. odporność na ogień, izolacja akustyczna.
    • Wymagań dotyczących metadanych, takich jak nazwa producenta, numer katalogowy,
      data instalacji.
    Rys 2. Schemat przebiegu badania i przetwarzania wymagań

    Przebieg procesu przetwarzania języka naturalnego modelem BIRM wygląda
    następująco:

    Rys 3. Interfejs użytkownika systemu, w którym wprowadza się wymagania w języku
    naturalnym. Widoczny jest formularz z przykładowym tekstem wymagań dotyczących
    właściwości ścian (np. parametrów termicznych), przyciski do nawigacji oraz uzupełnienia listy
    faset. Rysunek ilustruje pierwszy etap procesu, w którym użytkownik komunikuje się z
    systemem.

    a. Użytkownik wpisuje swoje wymagania zgodnie z instrukcją – analogicznie do podanych przykładów (lub w przybliżeniu do nich)
    b. Informacje wprowadzone przez użytkownika są układane w tablice obiektów w formacie JSON i w takiej formie przesyłane do modelu:

    {
    "applicabilities":[
    "an ifc class \"ifcwindow\"”
    ],
    "requirements":[
    "a classification \"MDS-12\" from \"MyClass\" system"
    ]
    }

    c. Model delegujący wyznacza typ obiektu (fasety), którego dotyczy warunek i przekazuje konkretne wymaganie do odpowiedniego modelu BIRM

    Rys 4. Przebieg procesu analizy wymagań użytkownika przez modele AI. Widoczne są 2 zapytania, pierwsze jest zapytaniem kontrolnym, sprawdzającym połączenie z aplikacją zarządzającą modelami AI. W drugim zapytaniu widać cały proces przetwarzania tekstów użytkownika na obiekty JSON, które później są układane w odpowiednie struktury danych i przesyłane do portalu IDS Maker w celu dalszej analizy i przetworzenia na strukturę pliku IDS.

    d. Model BIRM wyciąga dane z tekstu i tworzy predefiniowane obiekty, które można użyć do dalszego przetwarzania wymagań użytkownika

    {
    "Applicabilities": [
    {
    "T": "entity",
    "F1": "simpleValue(ifcwindow)",
    "F2": null,
    "F3": null
    }
    ],
    "Requirements": [
    {
    "T": "classification",
    "F1": "simpleValue(MyClass)",
    "F2": "simpleValue(MDS-12)",
    "F3": null
    }
    ]
    }

    e. następnie po stronie aplikacji IDS Maker tworzona jest specyfikacja oraz przypisywane są do niej odpowiednio: Zastosowanie (Applicabilities) i Wymagania (Requirements). W miarę możliwości podejmowane są próby dodawania dodatkowych informacji (datatype, wersja IFC, normalizacja nazw encji oraz formatowanie wartości dla faset Attribute oraz Property).

    Rys 5. Interfejs użytkownika służący do weryfikacji wygenerowanych wymagań. Widoczne jest porównanie oryginalnego tekstu wprowadzonego przez użytkownika z wynikiem przetworzenia przez AI oraz narzędzia umożliwiające wprowadzenie poprawek. Rysunek ilustruje etap walidacji, w którym użytkownik może zaakceptować lub zmodyfikować wyniki.

    f. Jako końcowy etap przetwarzania, przedstawiane są użytkownikowi wyniki modelu i jego tekst początkowy. Na tym etapie użytkownik może przyjąć wygenerowaną specyfikację lub wrócić do wprowadzania/edycji danych
    g. Wygenerowana specyfikacja jest w pełni edytowalna i pozwala użytkownikowi na modyfikację / dodawanie / usuwanie faset
    h. Końcowy efekt przetwarzania wprowadzonego tekstu przez użytkownika na strukturę XML IDS

    Rys 6. Interfejs użytkownika do manualnego tworzenia / edycji pliku IDS. Każda specyfikacja, która była wygenerowana za pomocą AI jest odpowiednio oznakowana na panelu specyfikacji
    Rys 7. Końcowy efekt przetwarzania – fragment pliku IDS w formacie XML zawierający sformalizowane wymagania projektowe. Widoczne są struktury danych, takie jak „Applicabilities” (Zastosowanie) i „Requirements” (Wymagania), wraz z przypisanymi parametrami. Rysunek demonstruje, jak język naturalny jest ostatecznie przekształcany na strukturą obiektową XML (właściwą dla IDS)

    Model generatora AI, pozwala użytkownikowi na wpisanie reguł w postaci zdań, których treści są przetwarzane i kolejno mapowane na strukturę danych formatu IDS. Model AI wymaga jednak precyzyjnych instrukcji, po to, aby zostały one w dalszej kolejności dobrze zinterpretowane. Właśnie dlatego dla każdej fasety i różnych kombinacji utworzono przykładowe zdania (w jęz. angielskim), które stanowią instrukcję-wzorzec w jaki sposób użytkownik powinien komunikować mechanizmowi swoją wolę.

    Rys 8. Interfejs użytkownika umożliwiający uzyskanie podpowiedzi do wprowadzania danych dla wszystkich możliwych kombinacji faset, zdefiniowanych pól oraz typów wartości.
    Rys 8a. Przykładowa podpowiedź dotycząca pola o typie SimpleValue (wartość).
    Rys 8b. Przykładowa podpowiedź dotycząca pola o typie MinLength (Minimalna długość).

    Każda z rodzaju faset może przekazywać pewien zasób wiedzy. W przypadku fasety Encji może ona odnosić się jedynie do typu IFC elementu w modelu, ale również może zawierać wymaganie dotyczące typu predefiniowanego. Podobnie jest w innych fasetach, tak jak w fasecie Właściwości, Użytkownik może określić samą właściwość z zestawu właściwości, ale może też określić wartość jaką ma ona przyjmować w modelu. W zależności od rodzaju danych jakie ta właściwość określa, spektrum wartości może być różne.
    Zobaczmy kilka przykładów z właściwościami o różnych typach danych.
    Specyfikacja będzie określać, że zewnętrzne ściany nośne, mają mieć przenikalność cieplną w zakresie 0.10 – 0.20 W/m²K.
    Aby użyć sztucznej inteligencji należy więc zapisać, że w zakresie Zastosowania (typ specyfikacji WYMAGANA):
    A property “LoadBearing” from “Pset_WallCommon” property set with a value “true”
    Jak również: A property “IsExternal” from “Pset_WallCommon” property set with a value “true”
    A w zakresie wymagań (rodzaj wymagań MUST HAVE):
    A property “ThermalTransmittance” from “Pset_WallCommon” property set with a value greater than or equal to “0.10” and less than or equal to “0.20”

    Rys 9. Przykład wymagań dotyczących właściwości ścian zewnętrznych, takich jak przenikalność cieplna. Widok ten reprezentuje wprowadzone przez użytkownika zastosowanie oraz wymagania wraz z dodatkowym tekstem ułatwiającym całościowy odczyt specyfikacji w języku naturalnym. Dane wejściowe zostały celowo wprowadzone z literówkami, by pokazać, jak modele radzą sobie z takimi przypadkami
    Rys 10. Wyniki analizy tekstu użytkownika przez modele AI. Dane wejściowe celowo wprowadzone z literówkami, by pokazać, jak modele radzą sobie z takimi przypadkami. W tym raporcie możemy porównać, czy wprowadzone polecenia użytkownika zgadzają się z finalną strukturą specyfikacji wygenerowaną przez model AI. Z racji tego, że mieliśmy właściwość ThermalTransmittance ze standardowego zestawu właściwości IFC, to został też automatycznie dodany typ danych IFC dla tej właściwości
    Rys 11. Widok wygenerowanej specyfikacji w oknie edycji pliku IDS. Każda specyfikacja po wygenerowaniu jest w pełni edytowalna, a gdy powstaną jakieś zmiany, to aplikacja IDS Maker porówna
    finalny wynik edycji z wynikiem modelu AI i wygeneruje dane do ewaluacji modelu, by w przyszłości uzyskiwać jeszcze lepsze i bardziej precyzyjne wyniki.

    Zakończenie

      Opisane rozwiązanie wykorzystujące sztuczną inteligencję do zamiany języka naturalnego na formuły wymagań projektowych w standardzie IDS stanowi znaczący krok w kierunku automatyzacji procesów budowlanych. Dzięki zastosowaniu zaawansowanych technik przetwarzania języka naturalnego (NLP) oraz specjalistycznych modeli AI dedykowanych poszczególnym fasetom, system umożliwia efektywne przekształcanie nieprecyzyjnych wymagań opisanych słownie na ścisłe, matematyczne formuły.
      Główne korzyści płynące z tego rozwiązania to:

      • Oszczędność czasu i redukcja błędów – automatyzacja procesu weryfikacji wymagań projektowych eliminuje konieczność żmudnej, manualnej analizy, co przekłada się na szybsze i bardziej rzetelne wyniki.
      • Zwiększenie zgodności z przepisami – precyzyjne mapowanie wymagań na standard IDS pozwala na dokładniejsze sprawdzanie zgodności projektów z obowiązującymi normami.
      • Elastyczność i skalowalność – podział na wyspecjalizowane modele oraz możliwość ich indywidualnego trenowania sprawia, że system można łatwo dostosować do nowych wytycznych lub rozszerzyć o dodatkowe funkcjonalności.

      Praktyczne zastosowanie tego narzędzia w procesach BIM, takich jak automatyczna weryfikacja wymagań dotyczących właściwości materiałów, tolerancji wymiarowych czy metadanych, otwiera nowe możliwości dla sektora budowlanego. W przyszłości rozwój podobnych rozwiązań może przyczynić się do dalszej optymalizacji procesów projektowych, skracając czas realizacji inwestycji i podnosząc jakość finalnych projektów.
      Wdrożenie technologii AI w budownictwie to nie tylko odpowiedź na obecne wyzwania, ale również inwestycja w przyszłość, gdzie automatyzacja i cyfryzacja staną się standardem w codziennej pracy architektów, inżynierów i innych uczestników procesu inwestycyjnego.

      Literatura

      1. Blank-Landeshammer, B. (2020). Formalisierung von Bauvorschriften für die automatisierte Überprüfung von BIM Modellen [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2021.86597
      2. Rohit J. Kate, Yuk Wah Wong, Raymond J. Mooney, Learning to Transform Natural to Formal Languages, Proceedings of the AAAI Conference on Artificial Intelligence, 20, 2005
      3. .Iat Tou Leong, Raul Barbosay, Translating Natural Language Requirements to Formal Specifications: A Study on GPT and Symbolic NLP, Conference: 2023 53rd Annual IEEE/IFIP International Conference on Dependable Systems and Networks Workshops (DSN-W)
      4. Jaeyeol Song, Jinsung Kim, Jin-Kook Lee, NLP and Deep Learning-based Analysis of Building Regulations to Support Automated Rule Checking System, Pages 586-592 (2018 Proceedings of the 35th ISARC, Berlin, Germany, ISBN 978-3-00-060855-1, ISSN 2413-5844)
      dr inż. Andrzej Tomana
      dr inż. Andrzej Tomana

      Urodzony w 1948 roku w Krakowie, jest absolwentem pierwszego kursu Teorii Konstrukcji na Wydziale Lądowym w Politechnice Krakowskiej, gdzie podjął pracę po ukończeniu studiów w 1972 roku. W roku 1981 obronił pracę doktorską na temat „Zastosowanie ścisłych elementów skończonych do optymalnego kształtowania prętowych układów drgających”. W czasie pracy w Politechnice Krakowskiej do 1994 roku uczestniczył w realizacji kilku projektów naukowo-badawczych, wśród nich można wyróżnić prace z zakresu analizy mechanicznych skutków zwarć w rozdzielniach najwyższych napięć (praca nagrodzona przez MNiSZW) oraz opracował ponad 20 publikacji naukowych z zakresu zastosowania Metody Elementów Skończonych w budownictwie oraz zastosowania Sztucznych Sieci Neuronowych do szacowania wartości nieruchomości. Wśród prac inżynierskich można wymienić m.in. analizę wpływów sejsmicznych na obudowę metra w Algerze, analizę hal wystawowych w Lipsku i kilkanaście projektów korpusów wanien elektrolitycznych z żywico-betonu (obciążenia statyczne, dynamiczne, efekty cieplne).
      W 1987 roku założył firmę Datacomp, którą kieruje do dzisiaj. W firmie kieruje projektami informatycznymi związanymi z oprogramowaniem inżynierskim do analizy i wymiarowania oraz kosztorysowania. Obecnie prowadzi projekty związane z technologią BIM – BIMVision i BIMestiMate, które są oferowane na rynku globalnym. Jest autorem kilkunastu publikacji z tego zakresu, a przede wzystkim pierwszej polskiej monografii „BIM – innowacyjna technologia w budownictwie”. Jest członkiem Rady Koordynacyjnej Biur Projektów Izby Projektowania Budowlanego, PZITB, Akademii Inżynierskiej, Stowarzyszenia Klaster BIM, członkiem Biulding Smart Polska. Był kierownikiem projektu finansowanego ze środków UE „Opracowanie prototypu platformy systemowej do zarzadzania inwestycjami budowlanymi z wykorzystaniem technologii BIM” i uczestniczył w kilku projektach finansowanych z UE m.in. UrbanBIM, BIMhealthy. Obecnie w firmie jest kierownikiem zespołu badawczo-rozwojowego. Z publikacjami można zapoznać się na stronie www.bim4u.eu

      Artykuły: 50