BIM 칼럼니스트 강태욱의 이슈 & 토크
이번 호에서는 오토데스크 포지 디지털 트윈(Autodesk Forge Digital Twin) 소스 예제를 간단히 분석한다. 쉬운 이해를 위해 구조와 소스 코드를 먼저 분석하고, 이를 UML(Unified Modeling Language)로 표현해 구조를 역설계한다. 이를 통해 실무적 관점에서 플랫폼 기반의 디지털 트윈 서비스 개발 절차 및 방법, 고려사항 등을 확인해본다.
■ 강태욱 | 건설환경 공학을 전공하였고 소프트웨어 공학을 융합하여 세상이 돌아가는 원리를 분석하거나 성찰하기를 좋아한다. 건설과 소프트웨어 공학의 조화로운 융합을 추구하고 있다. 팟캐스트 방송을 통해 Engineering digest와 관련된 작은 메시지를 만들어 나가고 있다. 현재 한국건설기술연구원에서 BIM/GIS/FM/BEMS/역설계 등과 관련해 연구를 하고 있으며, 연구위원으로 근무하고 있다.
이메일 | laputa99999@gmail.com
페이스북 | www.facebook.com/laputa999
홈페이지 | https://sites.google.com/site/bimprinciple
팟캐스트 | http://www.facebook.com/groups/digestpodcast
오토데스크에서 제공하는 예제 프로그램은 디지털 트윈의 특징 중 물리모델과 디지털모델의 연결, 실시간 IoT 센서 정보 반영, 시뮬레이션, 클라우드와 같은 기능을 오픈소스로 구현한 것이다.
그림 1. 포지 디지털 트윈 데모(소스코드 : https://github.com/Autodesk-Forge/forge-digital-twin)
오토데스크 포지 디지털 트윈 소프트웨어 아키텍처 분석 방법은 먼저 소스코드와 GUI 뷰를 분석한 후, 객체 및 클래스 정적 구조, 시퀀스 동적 구조를 역설계하는 순서로 진행한다.
1. 컴포넌트 구조 및 실행 방법
이 소프트웨어는 오토데스크 포지, Node.JS 자바스크립트 런타임 플랫폼, express 웹서버, Bootstrap UI 테마, MongoDB 데이터베이스를 사용하고 있다.
오토데스크 포지에 가입하고, 앞에 언급된 컴포넌트를 모두 설치한 후 다음 명령을 실행해 웹서버를 구동한다.
git clone https://github.com/Autodesk-Forge/forge-digital-twin
npm install
export FORGE_CLIENT_ID=<client-id>
export FORGE_CLIENT_SECRET=<client-secret>
export FORGE_MODEL_URN=<model-urn>
export MONGODB_URL=<mongodb-connection-string>
npm start