Introduction
Materials and Methods
시스템 아키텍처
차등 적합성 판정 방법론
토폴로지 가상화
데이터 모델
정답의 검증
하네스 평가 방법
평가를 위한 환경
Results and Discussion
토폴로지 충실성
판정 방법론 실증
증거 추적성
논의
Conclusion
Introduction
시설원예에서 스마트 농업 관련 기술은 IEEE 1451(Nishi et al., 2023; Fernandes et al., 2013) 혹은 RS485/Modbus(Son et al., 2023) 등 표준 인터페이스를 활용해왔다. 국내에서는 온실 제어 인터페이스 표준을 분석하고 통신 라이브러리를 개발하거나(Kim et al., 2018b), 표준 준수 무선 센서 노드 및 제어기를 개발한 연구 사례가 있다(Park et al., 2019). 이들 선행 연구가 라이브러리 혹은 장비 수준의 상호운용성 확보를 목표로 했다면, 본 연구는 온실 통합 제어기가 표준에 적합한지를 판정하는 문제(검정 방법론)를 다룬다.
온실 통합 제어기는 농장관리 소프트웨어와 현장의 센서 노드와 구동기 노드들 사이를 매개하는 장치로, 한국산업표준 KS B 7958(KATS, 2024), KS X 3267(KATS, 2022a), KS X 3288(KATS, 2022b)의 적용 대상이다. 현행 표준 KS B 7958:2024는 통합 제어기와 노드 사이의 TCP 기반 Modbus 인터페이스를 규정하며, 적용 범위에서 KS X 3267:2022와 KS X 3288:2022의 RS485 센서·구동기·양액기 노드와의 상호 호환성 확보를 명시한다(Table 1). 따라서 통합 제어기의 적합성은 단일 인터페이스의 정합성이 아니라, 위로는 KS B 7958을, 아래로는 KS X 3267, KS X 3288 노드를 매개하는 게이트웨이로서의 행위에 대한 판정이다.
Table 1
KS standards covered by the harness — defining the certification scope and the source of ground truth: KS X 3267/3288 supply the register-map semantics the southbound simulator must encode, while KS B 7958 is the Modbus wire interface exercised on both sides — verified on the north and reproduced by the southbound simulator.
Table 1은 표준 요약이 아니라 판정 기준의 출처를 규정한다. 남쪽(시뮬레이터)이 정답으로 재현해야 하는 표준은 KS X 3267, KS X 3288, KS B 7958이고, 북쪽에서 검증 대상이 되는 인터페이스는 KS B 7958이다. KS B 7958은 2024년 말 발행된 표준으로, 아직 물리 장비 생태계가 성숙하지 못했고, 관련 검정 인프라도 준비되지 못한 상황이다. 특히, 농림축산식품부에서 2021년부터 진행하고 있는 “스마트농업 ICT 기자재 표준확산사업”을 통해 해당 표준이 빠르게 확대되고 있어 검정 인프라에 대한 수요가 높다.
스마트 농업 ICT 기자재의 적합성 시험 체계는 기존의 다른 시험 체계와 같이 단일 엔드포인트의 자기정합성을 검사하도록 설계되어 있다. Modbus 적합성 사양(Modbus Organization, 2009)과 무선 센서 네트워크 적합성 시험 시스템(Zhao et al., 2012)은 함수 코드, 메시지 형식, 오류 처리에 대한 한 장치 내부의 응답 정합성을 검사한다. 최근에는 클라우드 기반 IoT 적합성 시험 프레임워크(CLOCIS; Yoo et al., 2023), 분산 IoT 검증 프레임워크(IoT-TaaS; Kim et al., 2018a), Thing-in-the-Loop 접근(Amalfitano et al., 2017), IoT/WSN 테스트베드 조사(Judvaitis et al., 2023)가 시험의 원격 운용, 자동화, 재현성, 확장성을 끌어올렸다. 그러나 이들은 모두 피시험기를 단일 엔드포인트로 보고 기대 응답과의 정합성을 검사할 뿐이다.
문제는 통합 제어기 검정에는 자기정합성으로 환원되지 않는 본질적 난점이 있다는 것이다. 피시험기가 상위로 보고하는 구성이 현장에 실제로 설치된 구성과 다를 수 있고, 이 불일치 자체가 시험 대상이 되어야 한다. 피시험기의 자기 보고만을 내부 정합성으로 검사하는 판정 기준은 비교할 독립적 진실 채널이 없으므로 이런 불일치를 원리적으로 탐지할 수 없다. Schieferdecker(2012)는 모델 기반 시험(MBT)를 체계화하고, 판정 및 추적성 개념을 정립했으나 기대 출력을 모델이 제공한다고 전제한다. 판정 문제와 관련하여 Barr et al.(2015)이 지적하듯, 기대 출력이 부재하면 정오 판정이 어렵다.
온실 통합 제어기에서는 그 기대 출력(현장 상황)이 단일 모델로 환원되지 않으므로, 시험 생성이 아니라 판정 기준 자체가 문제가 된다. 전통적 검정은 실제 장비와 통신선을 물리적으로 구성해야 하므로 (a) 준비 비용·시간이 크고, (b) 회차 간 재현이 어려우며, (c) 포트 장애·이상 응답 같은 결함주입이 곤란하고, (d) 현장 구성과 피시험기가 인식하는 구성의 불일치 같은 예외 상황을 재현하기 어렵다. 이로부터 본 연구의 주요 목표가 도출된다.
현장 상황과 피시험기의 기록을 대조하는 차등 판정 기준을 통해 전통적인 검정에서 구조적으로 놓치거나 오판하는 적합성 결함을 탐지하고 분별할 수 있는가를 검정하는 것이 연구의 목표이다. 연구 목표 달성을 위해 Table 2에 세 가지 요구사항(토폴로지 충실성, 인식 구성과 상황 분리, 증거 추적성)을 정리하였다. 특히 (d)의 문제는 앞서 기술한 연구 공백과 같은 것으로, R2의 분리가 차등 판정을 가능케 하는 전제이며 본 논문의 중심 방법론적 기여이다. 다만, 결함주입의 문제는 본 하네스에서 제공하는 기능이지만 다른 형태의 데이터셋을 제공하는 것과 동일한 방식이기 때문에 연구의 주요 범위로 다루지는 않는다.
Table 2
Requirements-to-design mapping. R1–R3 are derived from the difficulties of physical testbeds, and each is validated in the indicated Results subsection.
본 연구가 주장하는 적합성은 논리·프로토콜 수준의 적합성이다. 상호운용성이 주로 시맨틱·데이터모델 계층에서 다뤄져 온 것과 달리(Kalatzis et al., 2019), 본 연구는 표준에서 다루는 통신 프로토콜 수준에서 표준 적합성을 판정한다. 노드측 정답은 결정론적으로 생성되며, 그 정확성은 KS X 3267/3288 레지스터 맵 인코딩에 대한 적합성으로 환원·검증된다. 실증은 표준이 허용하는 두 가지 토폴로지(게이트웨이 계층/평면 다중노드)에 대해 수행하며, 3개 상용 제어기를 대상으로 한다. 실 RS485 하드웨어, 시리얼 타이밍, 전기적 특성 등에 대한 시험은 통신 모듈 혹은 통신칩 단위의 시험으로 본 연구의 범위 밖이다.
본 논문은 온실 통합 제어기를 피시험기로 하여 실물로 두고 현장 토폴로지 전체를 가상화하는 검정 시험 하네스를 제시한다. 하네스는 피시험기를 농장관리 소프트웨어처럼 관측·제어하는 상위제어기측과, 현장 장비를 시뮬레이션하여 정답을 제공하는 노드측으로 역할을 분리한다. 그 분리가 생산하는 제어권 관측을 기반으로 차등 적합성 판정 방법론을 정의하고(2장), 토폴로지 충실성, 판정 분별력, 증거 추적성을 상용 제어기로 실증하였다(3장).
Materials and Methods
시스템 아키텍처
제안하는 검정 시스템은 피시험기인 온실 통합 제어기를 중심에 두고, 북쪽에는 상위 농장관리 소프트웨어 역할을 하는 상위제어기측 에이전트가, 남쪽에는 현장 장비 역할을 하는 노드측 에이전트가 위치한다. 백엔드가 오케스트레이션을 담당하고, 프론트엔드가 운영 사용자 인터페이스를 제공한다. 모든 데이터는 데이터베이스에 적재되어, 서비스 간 결합은 느슨하게 유지하면서도 차등 비교와 추적성을 한 저장소에서 보장한다.
노드측은 장비 프로파일을 기준으로 레지스터 명세를 동적 생성하여 노드마다 Modbus 서버를 띄운다. 센서 노드는 데이터셋 기준으로 관측치, 상태를 내보내고, 구동기 노드는 수신한 명령을 기준으로 상태를 생성한다. 노드측은 시뮬레이션의 인과를 자기 안에서 만들므로, 그 결과가 곧 정답이다. 센서 정답은 데이터베이스에 기록되고, 판정의 비교 기준이 된다.
상위제어기측은 피시험기와 단일 Modbus TCP 커넥션을 맺고, 레지스터를 주기적으로 폴링하며 명령을 전송한다. 관측값은 별도 테이블에 적재된다. 중요한 점은 상위제어기측이 피시험기의 구성 기준으로만 통신한다는 것이다. 상위제어기측 기록은 피시험기가 보고한 값이며, 현장 전체가 아니라 피시험기가 공개하는 범위에 한정된다.
백엔드는 API, 서비스, 데이터베이스 3계층으로 에이전트를 오케스트레이션하고, 프론트엔드는 시험 운영을 위한 사용자 인터페이스를 제공한다.
본 연구의 주요한 기여는 피시험기가 보고한 값과 현장의 실제 값을 구조적으로 분리한 데 있다. 노드측은 현장 실태를, 상위제어기측은 피시험기가 보고한 값을 보유하고, 둘은 시험담당자의 매핑으로 정렬되어 차등 비교의 토대를 이룬다. 이 분리는 구현 편의가 아니라 시험 정확도를 위한 설계이다. 기존 검정 시스템은 피시험기의 자기 보고만 내부 정합성으로 검사하는 방식(자기정합성)으로 검정을 하기 때문에, 현장에서 생기는 문제를 원칙적으로 잡을 수 없지만, 노드측을 정답으로 분리해 두면 같은 사건을 양측에서 동시에 관측할 수 있고, 이 분리가 만들어내는 제어권 관측 위에서 차등 판정이 성립한다. Fig. 1의 요지는 소프트웨어 구성이 아니라 두 관측면의 분리이며, 이 분리가 독립적 진실 채널을 제공하여 자기정합성으로는 불가능한 차등 비교를 성립시킨다.

Fig. 1.
The two observation planes of the harness. The DUT is the only real device; the Northbound (DUT View) and Southbound (Field Reality, ground truth) sides of it are virtualized. This separation — not the software stack — is the precondition for differential judgment; backend, frontend, and database (left) are supporting infrastructure attached by a single orchestration-and-persistence link.
차등 적합성 판정 방법론
본 절은 판정 방법론 — 하나의 명령 또는 제어권 전환을 두 측의 비교로 성공/실패/보류(PASS/FAIL/SKIP) 판정으로 환원하는 절차 — 을 정의한다. 여기서 보류(SKIP)는 모델 기반 시험 표준 어휘의 결론없음(INCONCLUSIVE)에 대응한다(Schieferdecker, 2012). 목표는 판정 기준의 형식적 메타이론이 아니라 표준에 근거한 운용 가능한 판정 규칙이며, 그 효과는 3장에서 실증한다.
KS B 7958:2024는 노드에 제어권 필드를 부여하고, 적합한 게이트웨이는 각 연결노드의 상태 정보영역 레지스터와 제어 정보영역 레지스터를 활용할 수 있도록 지원한다. 여기서 제어권은 수동(MANUAL), 로컬(LOCAL), 원격(REMOTE)으로 구분되며, 온실 장비들에 대한 실질적인 제어권이 어디에 있는지를 표현하는 값이다. 하네스는 이 제어권 상태를 양측에서 관측하므로 하나의 장비에 대한 제어권이 최대 6개 축으로 포착된다(Table 3).
장비의 특성에 따라 제어권이 항상 6축으로 표현되는 것은 아니다. 평면 프로파일은 남쪽에 게이트웨이가 없어 게이트웨이 관리 축이 부재하고 노드 자신의 축만 의미를 가진다. 반면 피시험기는 항상 게이트웨이로 노출되어 상위제어기측은 미러 행을 생성한다. 또한 노드 자신의 제어권이 없으면 그 축은 부재로 처리되어 판정에서 제외한다.
Table 3
The six control-authority observation axes for one device — the input variables of the verdict logic (Eq. (1) and the N.3 mirror check). Three are northbound (DUT-reported), three southbound (ground truth); north axes are read from the DUT poll, south axes from the simulator.
명령 수용 — 다축 논리곱
노드측 제어명령 레코드의 존재는 현장에서 명령이 수용되었음을 의미하기 때문에 그 자체로 정답이다. 반면, 명령의 수용 여부에 영향을 미치는 제어권의 상태는 식 (1)의 논리곱으로 확인될 수 있다.
여기서, 은 원격제어권(REMOTE), 는 게이트웨이 존재 여부이다. 관여 축 중 하나라도 로컬제어권(LOCAL) 혹은 수동제어권(MANUAL) 이면 명령을 처리하지 않는 것이 정상이며, 처리하면 제어권 위반이다.
상위제어기측은 관측 제어권과 무관하게 항상 명령을 전송하는 의도적 시험이 있으며, 따라서 명령의 전송 여부가 단순 실패의 근거는 아니다. 식 (1)에서 부재 축은 로 논리곱에서 참 처리되어 판정에서 제외되며, 게이트웨이가 없는 평면 프로파일은 가드에 의해 남쪽의 게이트웨이 자체 축 와 관리뷰 축 가 함께 제거되므로, 북쪽 게이트웨이 제어권 와 노드 자기 축 로 수용 여부가 결정된다.
정답 기반 판정 — Type-C / Type-D
Type-C는 각 상위제어기측 명령을 남쪽 정답에 대해 판정한다. Table 4에서 원격 제어권축(axes_remote)은 명령 전달에 관여하는 모든 제어권 축이 원격제어권인가의 여부로 식(1)의 논리곱이다. 단순히 설명하면, 원격 명령이 처리되어야 하는가에 대한 가부이다. 기록은 시간범위 내 매칭 노드측 제어명령 레코드의 존재 혹은 부재를 의미한다. 따라서 기록 부재는 원격 제어권축이 거짓이면 규격대로의 올바른 거부(성공)이고, 참인데 부재면 통신 실패(DEADLINE_EXCEEDED, 실패)로, 서로 다른 사유 코드로 구분된다.
Table 4
Type-C command-acceptance verdict matrix — the truth table of the remote-authority conjunction Eq. (1). An absent record under axes_remote = FALSE is a spec-correct rejection (PASS); an absent record under axes_remote = TRUE is a communication failure (DEADLINE_EXCEEDED, FAIL) — distinct cells with distinct reason codes.
| axes_remote | record | verdict | reason |
| TRUE | present | PASS | accepted through full path |
| TRUE | absent | FAIL | DEADLINE_EXCEEDED |
| FALSE | present | FAIL | CONTROL_AUTH_ERROR |
| FALSE | absent | PASS | correctly rejected |
Type-D는 매칭되는 상위제어기측 명령이 없는 피시험기 자발 명령에 대한 것으로 노드측의 제어권에 대한 논리곱만을 적용한다. 미관측 제어권은 전이 유예 시 판단을 보류한다. 제어권이 없는 경우에는 원격제어권 상태로 간주하며, 명시적 로컬 혹은 수동제어권 상태의 제어명령은 위반으로 본다.
북쪽 관측 기반 판정 — Type-N
Type-N.1, 2는 남쪽 정답 없이 상위제어기측 관측만으로 일관성을 판정하며, 차등의 위력이 가장 날카로운 지점이다. N.1은 노드 명령 반영, N.2는 구동기 명령 북쪽 일관성 시험이며, 같은 시간대에서 OPID 기반 상태변화 검출로 판정한다.
N.3은 미러링 정확성으로 차등 판정의 핵심 검사다. 두 형태로 적용된다 — (i) 관리뷰형: 피시험기의 미러 가 남쪽 게이트웨이 관리뷰 를 규격대로 추종하는지(남쪽에 게이트웨이가 있을 때), (ii) 자기축형: 북쪽 가 노드 자기 제어권 레지스터 를 추종하는지. 어느 형태든 남쪽 슬롯이 시각 에 값 로 전이하면, 북쪽은 (없으면 deadline_ms) 이내에 동일한 로 전이해야 한다.
전이가 없거나 다른 값으로 전이하면 오류로 판정하며, 피시험기가 자기 제어권 레지스터를 아예 미러링하지 못해 어긋난 경우를 실패로 간주한다. 평면 프로파일에는 게이트웨이 형태의 제어권이 없으므로(가 부재하므로), 자체 제어권만이 결함을 잡는 작동 채널이 된다. N.3은 자기정합성 판정 기준이 표현할 수 없는 검사다. 피시험기의 보고를 자기 출력이 아니라 독립적 진실 채널과 대조하기 때문이다.
Type-S와 Type-A 판정
Type-S는 센서 관측치의 노드측 정답과 상위제어기측의 관측값을 비교하며, Type-A는 구동기의 노드측 작동상태 정답과 상위제어기측의 관측 상태를 비교한다. 센서 관측치와 같은 숫자 파라미터는 실수형에서 발생하는 오차를 흡수하도록 상대 허용오차로 비교한다.
드리프트
피시험기가 미지의 주기 로 남쪽을 폴링하고 하네스도 폴링하므로 와 의 관측 시간 편차는 가 된다. 이는 통신이 다음 단계로 진행될 때 발생하는 시간적 지연이므로 평가에 반영하는 것이 중요하다.
토폴로지 가상화
장비 프로파일은 노드 트리로 구성되며, 표준이 허용하는 게이트웨이 형태와 다중 노드의 두 형태를 모두 표현한다. 두 프로파일은 임의 선택이 아니라 표준이 허용하는 정식 지원 토폴로지이며, 북/남 비대칭을 보여준다. 실험을 위해서 2가지 장비 프로파일을 준비하였다. P1은 게이트웨이가 자식 슬롯을 미러링하는 계층 구성이어서 관리뷰 축()을 구조적으로 노출하고, P2는 게이트웨이가 없는 평면 구성이어서 노드 자기 축()만이 결함을 잡는 경로가 된다. 따라서 둘을 짝지으면 모든 노드 유형(센서/구동기/복합/게이트웨이)과 북/남 비대칭이 구조적으로 망라된다. 다만 관리뷰 축에서 N.3 판정이 산출되려면 남쪽 게이트웨이에서 자식 제어권 전이가 일어나야 하며, 본 평가셋에는 그 전이가 포함되지 않아 관리뷰형 N.3 판정은 산출되지 않았다(Table 7 주석 참조).
표준 검정의 어려운 점은 노드의 프로파일 구성과 피시험기가 공개하는 프로파일이 서로 차이가 있을 수 있다는 점이다. 피시험기는 항상 게이트웨이를 노출하지만, 노드는 다중 노드일 수 있으며, 피시험기가 공개하는 장비의 종류는 피시험기가 결정한다. 이 비대칭은 정답 정렬과 제어권 축 해석에 직접 영향을 준다. Table 5와 Fig. 2는 실험에서 활용한 두 가지 프로파일(P1 계층, P2 평면)의 노드 트리를 나란히 비교하여 보여준다.
Table 5
Device-profile coverage matrix — P1 (gateway hierarchy) and P2 (flat multi-node) are the two first-class topologies admitted by the standard, and they exhibit the North/South asymmetry.
Note. The two first-class topologies (gateway+sub-node hierarchy and flat multi-node), all node types (sensor/actuator/composite/ gateway), and the North/South asymmetry are jointly covered at the structural level; whether a given axis yields an N.3 verdict additionally requires a control-authority transition on that axis.

Fig. 2.
The two device profiles compared as node trees. P1 is a gateway hierarchy — one endpoint with child slots; P2 is flat multi-node — independent peer endpoints with no gateway. Each profile carries 26 devices; together, the profile set covers the relevant node classes, with the gateway class represented by P1.
정렬은 다음 단계로 이루어진다. (1) 시험담당자가 북쪽 스캔으로 드러난 피시험기 노출 장비를 남쪽 프로파일의 장비와 매핑한다. (2) 각 짝에서 북쪽 축 과 남쪽 축 이 동일 장비에 대해 나란히 채워진다. (3) 평면 프로파일은 남쪽 게이트웨이가 없어 가 부재하므로, 정렬은 북쪽 미러를 노드 자기 축 에 대조하도록 판정 규칙(N.3 자기축형)을 선택한다. 즉 비대칭이 정렬 방식과 적용 판정식을 함께 결정한다.
데이터 모델
데이터 모델은 2.1절의 분리를 스키마 수준에서 강제한다. 정답과 관측은 짝을 이루어 별도 저장된다. 센서의 정답과 관측이 분리되어 저장되고, 구동기의 전송 명령, 수신 명령, 구동 상태, 관측된 상태가 분리되어 저장된다. 특히 제어권이 6축으로 분리되어 적재되어, 북쪽 미러 축과 남쪽 정답 축을 같은 스키마로 나란히 조회할 수 있다.
모든 통신은 와이어 수준에서 캡처된다. pymodbus (3.12.1)의 공식 트레이스 콜백 trace_packet(원시 바이트)과 trace_pdu(분리된 PDU)를 사용해 프레임을 데이터베이스에 적재한다. 추적성의 핵심은 판정과 와이어를 잇는 링크다. 각 판정은 자신을 유발한 프로토콜 로그 항목을 가리킨다. 이를 통해 판단결과를 추상적 사유 코드가 아니라 실제 교신 프레임으로 제시할 수 있다.
정답의 검증
차등 판정 기준의 신뢰성은 남쪽 정답이 옳다는 전제에 달려 있다. 본 절은 그 전제를, 정답의 정확성을 표준 레지스터 맵에 대한 적합성으로 환원하여 세 층위로 검증한다.
인코딩 적합성
노드측 레지스터 배치는 임의로 정해지지 않고 표준 레지스터 맵에서 선언적으로 생성된다. 각 노드 및 장비의 명세는 KS 표준에 따른 통신 사양(시작 레지스터와 항목)을 그대로 기술하며, 설정 생성기가 이 명세로부터 레지스터 맵을 구성한다. 레지스터 맵은 2가지 실험 장비 프로파일(4개 노드 클래스, 26개 장비)에 대해서 대조하였고, 모든 필드의 주소 및 항목 레이아웃이 표준 맵과 일치함을 확인하였다.
왕복 무결성
인코딩이 적합하더라도 값이 손실 없이 실려야 정답이 옳다. 데이터셋에 기입된 센서값 를 노드측이 표준 인코딩으로 레지스터에 싣고, 이를 표준 디코딩으로 다시 읽으면 가 복원되어야 한다. 데이터셋 값 인코딩, 노드측 레지스터 기록, 표준 맵 디코딩을 수행하여, 평가셋에 등장하는 모든 항목 코덱 유형(부동소수, 32비트 정수, 16비트 정수)이 값을 손실 없이 복원함을 확인했다. 모든 항목 필드가 이 코덱 유형 중 하나를 쓰므로, 정답 프레임은 데이터셋 값을 표준대로 손실 없이 운반한다. 이로써 Type-S와 Type-A 판정에서 비교 기준이 되는 남쪽 정답이 곧 데이터셋 그 자체임이 보장되어, 차등 비교의 기준점이 시뮬레이터 구현의 우연이 아니라 표준 인코딩의 결과임을 확정하였다.
결정론적 재현성
노드측 정답은 저장된 데이터셋과 명령 플랜으로부터 결정론적으로 생성된다. 센서 정답은 실측 데이터셋을 표준 인코딩으로 재생하고, 구동기 상태와 양액기 EC, pH 센서값 커플링은 수신 명령에 대해 장비 모델 내부 인과로 산출되며 외부 난수에 의존하지 않는다. 따라서 동일 입력(데이터셋+플랜)에 동일 정답이 재현되어, 같은 시험을 반복하면 같은 정답이 감사 가능하게 재생된다. 이는 회차 간 재현이 어려운 기존 검정방법과 차등 판정의 차이를 보여준다.
하네스 평가 방법
제안한 하네스를 평가하기 위해서 다음의 항목에 대한 평가를 진행했다.
·토폴로지 충실성: 표준 토폴로지를 프로토콜 수준에서 충실히 재현하는가?
·판정 방법론: 다축 판정(Type-C/Type-N.3 등)이 자기정합성만으로는 놓치는 피시험기 인식 구성↔현장 실태 불일치와 노드측 미반영 결함을 잡는가?
·증거 추적성: 실패 판정을 관측·정답·와이어 프레임까지 재구성할 수 있는가?
평가를 위한 환경
시험을 구성한 장비의 사양은 범용 데스크톱 환경이며, 운영체제로 Ubuntu 26.04 LTS를 사용하였다. 소프트웨어는 PostgreSQL 18.4, Python 3.13.7, Node 22.22.1, pymodbus 3.12.1을 사용하였다.
하네스에 대한 평가를 위해 3개 기업(Table 6)의 온실 통합 제어기에 대한 시험을 진행했다. 시험 평가를 위한 장비 프로파일은 2.3 토폴로지 가상화에서 설명한 2개의 장비 프로파일을 활용했으며, 2025년 10월 전북 완주군 농촌진흥청 원예특작과학원 내 온실에서 측정된 데이터를 활용했다. 특히 P1(계층)·P2(평면) 두 프로파일을 적용하여 북/남 비대칭을 의도적으로 유발했으므로, 비대칭 판별력을 비교 검증하기 위한 의미 있는 실험 설계이다.
Table 6
The three integrated controllers used in the evaluation — anonymized, with the attributes needed for comparability.
Results and Discussion
토폴로지 충실성
토폴로지 충실성을 시험하기 위해 2가지 장비 프로파일을 준비하고, 피시험기가 해당 장비 프로파일을 매핑하고 공개한 결과를 확인하였다. 상위제어기측 스캔결과가 피시험기가 노출한 장비 프로파일이며, 이를 노드측에서 제공한 프로파일과 비교한다. P1은 게이트웨이와 서브노드 계층으로 게이트웨이, 센서 노드, 구동기 노드, 복합 노드를 단일 TCP 엔드포인트의 자식 슬롯으로 구성한 형식이고, P2는 평면 다중노드로 네 개의 노드가 각자 TCP 엔드포인트로 구성되었다. 두 토폴로지의 대표 시험 실행에서 3개 기업의 온실 통합 제어기가 두 가지 토폴로지에 있는 26개 장비를 모두 매핑하였다.
판정 방법론 실증
하네스에서 제공하는 7개의 판정(Type-A/C/D, Type-N.1/N.2/N.3, Type-S)이 모두 실제 시험에서 판정을 산출함을 확인하였다. Table 7의 출처는 3개 제어기 × 2개 프로파일에 걸친 6개 통제 실험 결과의 합산이다.
Table 7
Verdict counts by judgment type over the evaluation set (three controllers × two profiles; six controlled runs, each normalized to its first 10 minutes). All seven judgment types produce valid verdicts on real data.
Note. N.3 has two forms, managed-view and own-axis, but in this fixed evaluation set every activated mirror defect occurred on the flat (P2) profile, so only the own-axis form produced verdicts. The managed-view form is implemented and supported, but it requires a sub-node control-authority transition on a southbound gateway profile, which this set does not include.
본 연구에서 제안하는 차등 판정 기준의 가치는 단순히 많은 결함을 확인하는 것이 아니라 무응답(상태 변화 없음)을 ’결함’과 ’규격상 올바른 거부’로 구별하고, 피시험기가 제공하는 정보와 현장 상태의 드리프트를 드러낸다는 데 있다. 이는 B사의 P2 프로파일 시험의 양액 노드 사례에서 확인되었다.
B사의 통합 제어기를 이용한 실험에서 양액공급기에 양액 공급 명령을 전송하는 경우 Table 8과 같은 결과를 통해 결함을 보여준다. t1(15:42:18)에는 남쪽 노드 제어권이 원격제어권이라 명령이 정상 수용되고 Type-C가 성공이다(지연 184 ms). t2(15:46:18)에 남쪽 노드 제어권이 로컬제어권으로 전환되지만 피시험기의 미러는 이를 반영하지 못한다. t3(15:46:28)의 두 번째 명령에서 두 판정 기준이 같은 명령에 정반대 판정을 낸다. 피시험기의 미러가 반영하지 못하여 원격제어권으로 제시하므로, 자기정합성 판정(Type-N.2)은 “수용 기대”하여 실패로 판단한다. 반면 차등 판정(Type-C)은 남쪽 정답이 로컬제어권임을 읽어 거부가 규격대로 올바름을 확인하고 통과로 판단한다. 두 가지 서로 다른 결과를 통해 B사의 통합 제어기에 문제가 있음을 확인하였다. 이러한 사례를 통해 자기정합성 단독 판정 기준이라면 오판할 수 있는 문제를 차등 판정 기준이 올바른 해석을 제공한다는 점을 확인할 수 있다.
Table 8
Differential disambiguation for the B-company nutrient-dosing case. On the second dosing command the self-consistency oracle (Type-N.2) false-alarms, while the differential oracle (Type-C) confirms the spec-correct rejection.
Note. The DUT never mirrors the node’s own control register (N own = NONE throughout), and its managed-view stays stale at REMOTE after the 15:46:18 transition. The self-consistency judgment (Type-N.2) therefore expects acceptance and false-alarms on the spec-conformant rejection, whereas the differential judgments read the field truth (LOCAL): Type-C confirms the rejection is correct and Type-N.3 (own) localizes the genuine anomaly as FAIL ("stale").
증거 추적성
판정에 대한 증거는 하네스 안에서 수행되는 모든 통신 패킷에 대한 적재를 통해 이루어진다. 증거 추적성이란 특정 판정에 대한 증거 외래키의 저장 정도로 판단한다. 와이어로 직접 관측되는 판정은 Type-S 99.3%·Type-A 98.6%·Type-D 97.3%로 거의 전체가 추적되었다. 반면 제어권 명령 판정은 Type-C 47.4%·Type-N 44.5%로 낮은 수치를 보이지만 이는 결함이 아니라 구조적 이슈이다. 규격상 전환 유예 판단을 하지 않는데(보류), 이는 가리킬 매칭 명령·응답 패킷이 본래 없기 때문이다.
Fig. 3은 B사의 Table 8 사례에 대한 와이어 데이터 프레임 수준의 데이터를 역추적한 예시이다. 이는 단순히 판정의 성공, 실패를 보여주는 것이 아니라 검사자가 프레임 수준의 데이터를 통해서 상황을 재구성할 수 있음을 보여준다.

Fig. 3.
Verdict-to-wire evidence trail for the nutrient-dosing case (Table 8). The harness retains every North (DUT-facing) and South (field-truth) Modbus PDU in time order, so each verdict is re-derivable and auditable down to the raw captured frames (R3): the inspector can reconstruct the situation at frame level rather than from abstract reason codes.
논의
시뮬레이터는 논리 프로토콜 수준의 적합성을 재현하며, 전기적 특성(버스 물리계층, 응답 지연 분포 등)은 모사하지 않는다. 이는 시뮬레이터가 저수준 하드웨어의 오류로 발생할 수 있는 문제는 검정하지는 않는다는 의미이다. 따라서 본 하네스의 판정은 논리적 적합성에 관한 것이고, 전기적·물리적 시험은 연구의 범위 밖이다.
본 연구에서 3개 기업의 온실 통합 제어기를 대상으로 실험을 진행했다. 이 실험 결과를 통해 특정 제품의 결함이 일부 확인되었으나 이는 모두 해당 기업으로 전달되었으며 해당 기업은 관련된 수정을 진행하였거나 진행하는 중이다. 이 연구의 결과가 해당 제품의 성능을 부정하는 것은 아님을 강조한다.
Conclusion
본 논문은 온실 통합 제어기의 표준 적합성 검정을 위해 현장 토폴로지를 범용 컴퓨터에서 충실히 가상화한 피시험기 연동형 시험 하네스로 수행하는 방법을 제시하였다. 핵심은 피시험기가 보고한 값(상위제어기측)과 현장의 실제 값(노드측 정답)을 구조적으로 분리하고, 그 분리가 생산하는 제어권 6축 관측 위에서 차등 적합성 판정 방법론을 정의한 데 있다. 이 차등 판정은 피시험기가 적용했다고 보고하지만 현장은 변하지 않은 결함처럼, 자기 보고만 검사하는 방식으로는 잡히지 않는 결함을 확인할 수 있어 기존의 검정방법과는 다른 차별성을 갖는다.


