산업용 AI 연결을 위한 MCP 어댑터와 모크‑퍼스트 평가
본 논문은 LLM 기반 AI 어시스턴트가 산업 현장의 Modbus, MQTT‑Sparkplug B, OPC UA와 같은 전통적 프로토콜을 직접 다루지 못하는 문제를 해결하기 위해, 프로토콜별 MCP 어댑터와 ‘모크‑퍼스트’ 검증 흐름을 제안한다. 공통 응답 엔벨롭을 도입하고, 로컬 모크 환경에서 정상·결함·스트레스·복구 시나리오를 870회, 2820개 툴 호출에 걸쳐 정량적으로 평가한다. 결과는 어댑터의 정상 동작, 범위 검증 기반 오류 처리,…
저자: Melwin Xavier, Melveena Jolly, Vaisakh M A
**1. 서론**
산업 현장에서는 Modbus, MQTT‑Sparkplug B, OPC UA와 같은 전통적인 OT 프로토콜이 여전히 핵심 통신 수단이다. 그러나 최신 대형 언어 모델(LLM) 기반 AI 어시스턴트는 텍스트·JSON 형태의 도구 인터페이스에 최적화돼 있어, 바이너리 프레임이나 벤더 SDK와 직접 통신하기 어렵다. 이 격차는 AI가 복합적인 공정 제어 작업을 수행하려 할 때 큰 장애물로 작용한다. 논문은 이러한 프로토콜‑AI 격차를 메우기 위해, **MCP(Model Context Protocol) 어댑터**와 **모크‑퍼스트 검증 흐름**을 제안한다.
**2. 설계 목표 및 기여**
- **MCP‑to‑OT 어댑터 아키텍처**: 프로토콜 별 어댑터가 MCP 도구를 등록하고, 공통 응답 엔벨롭({success, data, error, meta})을 반환하도록 표준화한다.
- **모크‑퍼스트 방법론**: 로컬 모크 엔드포인트를 이용해 어댑터 동작을 사전 검증하고, 결함 주입·스트레스·복구 시나리오를 물리적 장비 없이 재현한다.
- **정량적 결정론적 평가**: 정상, 결함, 스트레스, 복구 네 가지 시나리오를 870회 실행, 2820개 툴 호출을 통해 어댑터의 정확성, 오류 처리, 동시성 한계, 복구 능력을 측정한다.
**3. 어댑터 아키텍처 상세**
- **스키마 발견**: 각 어댑터는 JSON‑RPC를 통해 도구 이름, 입력·출력 스키마를 MCP 서버에 등록한다. AI 클라이언트는 `list_tools`와 `get_schema` 호출만으로 모든 프로토콜을 탐색 가능하다.
- **공통 응답 엔벨롭**: `success`(bool), `data`(프로토콜 전용 페이로드), `error`(구조화된 오류 코드·메시지), `meta`(레턴시, 시도 횟수, 엔드포인트 정보) 필드를 포함한다. 이는 정상·오류·복구 경로를 동일한 외부 구조로 관측하게 해, 교차 프로토콜 오케스트레이션을 단순화한다.
- **안전 가드**: 쓰기 전 서버‑레벨 설정(예: write‑disable 플래그, 주소 범위 검증)을 적용한다. Modbus 어댑터는 uint16(0‑65535) 범위 검증을 수행해 초과값을 오류로 반환한다. MQTT 어댑터는 토픽 유효성·QoS 검증, OPC UA 어댑터는 타입·노드 존재 검증을 수행한다.
**4. 모크‑퍼스트 워크플로우**
각 플래그십 어댑터는 로컬 모크 엔드포인트와 1 Hz 시뮬레이션 루프를 갖는다.
- **Modbus 모크**: 100개의 홀딩 레지스터, 100개의 입력 레지스터, 100개의 코일·디스크리트 입력을 제공하고, 변수 간 상호작용(히터→온도 등)을 모델링한다.
- **MQTT‑Sparkplug B 모크**: aedes 브로커와 Sparkplug B 에지 노드 시뮬레이터를 결합해, 두 디바이스가 주기적 DD A TA, NBIR TH, DBIR TH 메시지를 퍼블리시한다.
- **OPC UA 모크**: 8개의 읽기 전용 센서 변수, 6개의 읽기·쓰기 액추에이터 변수, 시스템 상태 변수·메서드 등을 포함한다.
모크 환경은 물리적 장비와 동일한 API를 제공하므로, AI 프롬프트·스키마·안전 가드 등을 동일하게 테스트할 수 있다.
**5. 실험 설정**
- **벤치마크 구성**: 정상 16개 작업(각 프로토콜 4개, 교차 4개) ×30회 = 480 실행, 결함 7개 작업 ×30회 = 210 실행, 스트레스 12개 작업 ×10회 = 120 실행, 복구 3개 프로토콜 ×20회 = 60 실행. 총 870 실행, 2820 툴 호출.
- **정상 작업**: Modbus 레지스터 읽기·쓰기·블록 읽기·연결 확인, MQTT 브로커 상태·와일드카드 구독·일반 퍼블리시·Sparkplug B 데이터 퍼블리시, OPC UA 온도 읽기·액추에이터 브라우징·밸브 쓰기·전체 변수 열거, 교차 시퀀스(동시·병렬) 등.
- **결함 주입**: 잘못된 레지스터 주소, uint16 오버플로, 빈 토픽 퍼블리시, 잘못된 QoS, 존재하지 않는 OPC UA 노드, 타입 불일치 등.
- **스트레스**: 4개 동시 읽기, 동시 읽기·쓰기, 50회 연속 빠른 읽기, 작업 중 모크 재시작 등.
- **복구**: 모크 엔드포인트를 중단 후 동일 MCP 세션에서 자동 재연결 시도, 필요 시 새 세션 전환.
모든 테스트는 로컬 호스트에서 실행돼 네트워크 지연을 제외한 어댑터 자체 오버헤드만 측정한다.
**6. 결과 및 분석**
- **정상**: 모든 호출이 `success:true`와 기대 데이터 반환, 평균 레이턴시 Modbus 12 ms, MQTT 8 ms, OPC UA 15 ms.
- **결함**: 각 어댑터가 정의된 오류 코드를 포함한 `error` 객체 반환. 특히 Modbus FM2에서 uint16 초과값을 정확히 차단, MQTT QoS 오류와 OPC UA 타입 불일치를 구조화된 오류로 보고함.
- **스트레스**: 동시성 한계가 프로토콜마다 다르게 나타났다. Modbus는 8개 동시 작업 시 레이턴시 45 ms로 급증, MQTT는 50개 동시 퍼블리시까지도 8 ms 이하 유지, OPC UA는 동시 읽기·쓰기 시 평균 22 ms. 모크 재시작 중 작업은 평균 30 ms 지연 후 정상 복구.
- **복구**: 동일 세션 재연결 성공률 100 % (Modbus pymodbus 자동 재연결, MQTT paho 재시도 설정, OPC UA liveliness probe). 재연결 시도 평균 1.4회, 전체 복구 지연 18 ms 이하.
**7. 논의**
- **안전성**: 구조화된 오류와 쓰기 가드 덕분에 AI가 “쓰기 거부” 상황을 인식하고 대체 플랜을 선택할 수 있다.
- **재현성**: 모크‑퍼스트 접근법이 물리적 장비 없이도 결함·스트레스·복구 시나리오를 정량적으로 재현 가능하게 함. 이는 CI/CD 파이프라인에 통합해 AI‑driven 자동화 워크플로우의 사전 검증을 자동화할 수 있음을 의미한다.
- **제한점**: 현재 OPC UA 어댑터는 메서드 호출을 지원하지 않으며, 실제 현장 네트워크 지연·패킷 손실을 시뮬레이션하지 않았다. 또한, 어댑터 메타데이터를 활용한 LLM 기반 자동 재시도 정책 학습은 향후 연구 과제로 남는다.
**8. 결론 및 향후 연구**
IndustriConnect는 MCP 기반 표준화와 모크‑퍼스트 검증을 결합해, AI 어시스턴트가 산업용 프로토콜을 안전하고 일관되게 활용하도록 하는 첫 번째 실증적 시도이다. 실험 결과는 어댑터의 정상 동작, 오류 처리, 동시성 한계, 복구 능력을 정량적으로 입증한다. 향후 연구에서는 실제 현장 네트워크 조건을 반영한 스트레스 테스트, OPC UA 메서드 지원 확대, 그리고 어댑터 메타데이터를 이용한 LLM 기반 자동 오류 복구 정책 학습을 목표로 할 예정이다.
원본 논문
고화질 논문을 불러오는 중입니다...
댓글 및 학술 토론
Loading comments...
의견 남기기