설계를, 옳고 그름을 물을 수 있는 형태로
장비 소프트웨어의 기준은 설계입니다. 그런데 그 설계는 대개 자연어 문서와 숙련자의 머릿속에 있어, 옳은지 아닌지를 물을 수 있는 형태가 아닙니다. 저희는 물을 수 있는 형태로 만드는 일부터 시작합니다.
DatumProof 소개
DatumProof는 자동화 장비의 설계를 실물 장비가 만들어지기 전에 검증하는 회사입니다. 이 페이지에는 왜 이 문제인지, 어떤 원칙으로 일하는지, 그리고 무엇을 하지 않는지를 적었습니다.
출발점이 된 질문
제어 대상인 물리 시스템이 그렇게까지 복잡하지 않다면, 제어 소프트웨어는 왜 이토록 이해하기 어렵고, 고치기 어렵고, 검증하기 어려워지는가.
답은 장비가 복잡해서가 아닙니다. 요구사항, 시스템 거동, 이상 처리, 검증 조건, 과거의 설계 판단이 명확하고 실행 가능한 형태로 표현되어 있지 않기 때문입니다. 표현되지 않은 것은 확인할 수 없습니다. 확인할 수 없는 것은 실물 장비가 움직일 때까지 알 수 없습니다 —— 장비 소프트웨어의 검증이 끝까지 미뤄지는 이유가 여기에 있습니다.
이 구조에 대해서는 왜 장비 소프트웨어는 V자 모델의 오른쪽 절반을 실행하지 못하는가에서 자세히 다루었습니다.
일의 원칙
장비 소프트웨어의 기준은 설계입니다. 그런데 그 설계는 대개 자연어 문서와 숙련자의 머릿속에 있어, 옳은지 아닌지를 물을 수 있는 형태가 아닙니다. 저희는 물을 수 있는 형태로 만드는 일부터 시작합니다.
“도구가 그렇게 말합니다”는 장비 현장에서 통하지 않습니다. 지적 사항은 설계 리뷰에 그대로 가져갈 수 있는 이벤트 시퀀스로 전달합니다. 사람이 읽고 판단할 수 없다면 산출물로서 미흡하다고 봅니다.
설계 검증은 만능이 아닙니다. 검증하는 것은 설계이지, 조립이 끝난 실물 장비가 아닙니다. 모델은 추상이며, 어떤 추상을 고르느냐에는 한계가 따릅니다. 할 수 있는 일보다 할 수 없는 일을 먼저 설명합니다.
하지 않는 일
새로운 기법을 이야기할 때 가장 경계하시는 지점은 “그러면 지금 방식을 전부 바꿔야 하느냐”입니다. 답은 아니오입니다.
기존 PLC 개발이나 제어 소프트웨어를 만드는 방식에는 손대지 않습니다. 검증은 지금의 개발 옆에 나란히 놓고 시작할 수 있습니다.
배선, 조립, 실제 모터의 응답 —— 실물 장비로만 확인할 수 있는 것은 그대로 테스트의 몫입니다. 검증과 테스트는 서로 다른 질문에 답합니다.
저희가 돌려드리는 것은 검증 결과이지 코드가 아닙니다. 설계가 옳은지를 적은 부담으로 확인할 수 있게 하는 것, 거기에만 범위를 두고 있습니다.
저희의 위치
업계는 이미 “모델로 설계한다”는 방향으로 움직이고 있습니다. 그런데 모델을 만드는 일과 그 모델이 옳다고 증명하는 일은 여전히 별개의 일로 남아 있습니다.
DatumProof는 모델을 만드는 도구와 경쟁하지 않습니다. 그 위에 얹히는 검증의 층입니다. 장비 업계에 이 층이 아직 없다는 것 —— 그것이 이 회사가 존재하는 이유입니다.
원칙
장비 소프트웨어는 명시적인 모델과 문서화된 설계 의도로부터 이해할 수 있고, 검증할 수 있고, 수정할 수 있어야 한다.
현재 상황
DatumProof는 설립 준비 중입니다. 법인 등기 정보는 절차가 완료된 뒤 이 페이지에 게재하겠습니다.
문의와 상담은 지금 단계에서도 받고 있습니다.
귀사의 장비에서 지금 무엇이 가장 아픈지. 거기서부터 시작합니다.