Action Codes

📝 Abstract
We provide a new perspective on the problem how high-level state machine models with abstract actions can be related to low-level models in which these actions are refined by sequences of concrete actions. We describe the connection between high-level and low-level actions using \emph{action codes}, a variation of the prefix codes known from coding theory. For each action code ${\mathcal{R}} $, we introduce a \emph{contraction} operator $α_{\mathcal{R}}$ that turns a low-level model $\mathcal{M}$ into a high-level model, and a \emph{refinement} operator $ρ_{\mathcal{R}}$ that transforms a high-level model $\mathcal{N}$ into a low-level model. We establish a Galois connection $ρ_{\mathcal{R}}(\mathcal{N}) \sqsubseteq \mathcal{M} \Leftrightarrow \mathcal{N} \sqsubseteq α_{\mathcal{R}}(\mathcal{M}) $, where $\sqsubseteq$ is the well-known simulation preorder. For conformance, we typically want to obtain an overapproximation of model $\mathcal{M} $. To this end, we also introduce a \emph{concretization} operator $γ_{\mathcal{R}} $, which behaves like the refinement operator but adds arbitrary behavior at intermediate points, giving us a second Galois connection $α_{\mathcal{R}}(\mathcal{M}) \sqsubseteq \mathcal{N} \Leftrightarrow \mathcal{M} \sqsubseteq γ_{\mathcal{R}}(\mathcal{N}) $. Action codes may be used to construct adaptors that translate between concrete and abstract actions during learning and testing of Mealy machines. If Mealy machine $\mathcal{M}$ models a black-box system then $α_{\mathcal{R}}(\mathcal{M})$ describes the behavior that can be observed by a learner/tester that interacts with this system via an adaptor derived from code ${\mathcal{R}} $. Whenever $α_{\mathcal{R}}(\mathcal{M})$ implements (or conforms to) $\mathcal{N} $, we may conclude that $\mathcal{M}$ implements (or conforms to) $γ_{\mathcal{R}} (\mathcal{N}) $.
💡 Analysis
We provide a new perspective on the problem how high-level state machine models with abstract actions can be related to low-level models in which these actions are refined by sequences of concrete actions. We describe the connection between high-level and low-level actions using \emph{action codes}, a variation of the prefix codes known from coding theory. For each action code ${\mathcal{R}} $, we introduce a \emph{contraction} operator $α_{\mathcal{R}}$ that turns a low-level model $\mathcal{M}$ into a high-level model, and a \emph{refinement} operator $ρ_{\mathcal{R}}$ that transforms a high-level model $\mathcal{N}$ into a low-level model. We establish a Galois connection $ρ_{\mathcal{R}}(\mathcal{N}) \sqsubseteq \mathcal{M} \Leftrightarrow \mathcal{N} \sqsubseteq α_{\mathcal{R}}(\mathcal{M}) $, where $\sqsubseteq$ is the well-known simulation preorder. For conformance, we typically want to obtain an overapproximation of model $\mathcal{M} $. To this end, we also introduce a \emph{concretization} operator $γ_{\mathcal{R}} $, which behaves like the refinement operator but adds arbitrary behavior at intermediate points, giving us a second Galois connection $α_{\mathcal{R}}(\mathcal{M}) \sqsubseteq \mathcal{N} \Leftrightarrow \mathcal{M} \sqsubseteq γ_{\mathcal{R}}(\mathcal{N}) $. Action codes may be used to construct adaptors that translate between concrete and abstract actions during learning and testing of Mealy machines. If Mealy machine $\mathcal{M}$ models a black-box system then $α_{\mathcal{R}}(\mathcal{M})$ describes the behavior that can be observed by a learner/tester that interacts with this system via an adaptor derived from code ${\mathcal{R}} $. Whenever $α_{\mathcal{R}}(\mathcal{M})$ implements (or conforms to) $\mathcal{N} $, we may conclude that $\mathcal{M}$ implements (or conforms to) $γ_{\mathcal{R}} (\mathcal{N}) $.
📄 Content
우리는 고수준 상태 기계 모델에서 추상 행동을 사용하고, 이러한 행동이 구체적인 행동들의 시퀀스로 정제되는 저수준 모델과의 관계를 새롭게 조명한다. 이를 위해 우리는 액션 코드(action codes) 라는 개념을 도입한다. 액션 코드는 코딩 이론에서 알려진 프리픽스 코드(prefix codes) 를 변형한 것으로, 고수준 행동과 저수준 행동 사이의 매핑을 형식적으로 기술한다.
각 액션 코드 (\mathcal{R}) 에 대해 우리는 두 개의 연산자를 정의한다. 첫 번째는 수축 연산자(contraction operator) ( \alpha_{\mathcal{R}} ) 로, 저수준 모델 (\mathcal{M}) 을 입력받아 고수준 모델로 변환한다. 두 번째는 정제 연산자(refinement operator) ( \rho_{\mathcal{R}} ) 로, 고수준 모델 (\mathcal{N}) 을 저수준 모델로 변환한다. 이 두 연산자는 서로에 대한 갈루아 연결(Galois connection) 을 형성한다는 점이 핵심이다. 구체적으로는
[ \rho_{\mathcal{R}}(\mathcal{N}) \sqsubseteq \mathcal{M} ;\Longleftrightarrow; \mathcal{N} \sqsubseteq \alpha_{\mathcal{R}}(\mathcal{M}), ]
여기서 (\sqsubseteq) 는 널리 사용되는 시뮬레이션 전위순서(simulation preorder) 를 의미한다. 즉, 저수준 모델 (\mathcal{M}) 이 고수준 모델 (\mathcal{N}) 의 정제 (\rho_{\mathcal{R}}(\mathcal{N})) 를 시뮬레이션한다는 것은, (\mathcal{M}) 을 액션 코드 (\mathcal{R}) 로 수축한 (\alpha_{\mathcal{R}}(\mathcal{M})) 가 (\mathcal{N}) 을 시뮬레이션한다는 것과 동치임을 보여준다.
실제 시스템 검증에서 우리는 보통 과대 근사(over‑approximation) 를 통해 모델 (\mathcal{M}) 을 다루고 싶다. 이를 위해 우리는 구체화 연산자(concretization operator) ( \gamma_{\mathcal{R}} ) 를 추가로 정의한다. 구체화 연산자는 정제 연산자와 동일한 동작을 수행하지만, 중간 단계에서 임의의 행동을 삽입할 수 있다. 따라서 두 번째 갈루아 연결이 성립한다.
[ \alpha_{\mathcal{R}}(\mathcal{M}) \sqsubseteq \mathcal{N} ;\Longleftrightarrow; \mathcal{M} \sqsubseteq \gamma_{\mathcal{R}}(\mathcal{N}). ]
이 관계는 고수준 모델이 저수준 모델에 의해 “과대 근사” 되는 상황을 정형화한다.
액션 코드는 어댑터(adaptor) 를 구성하는 데에도 활용될 수 있다. 어댑터는 학습 및 테스트 과정에서 구체적인 행동과 추상적인 행동 사이를 변환한다. 예를 들어, Mealy 기계 (\mathcal{M}) 가 블랙박스 시스템을 모델링한다면, (\alpha_{\mathcal{R}}(\mathcal{M})) 은 코드 (\mathcal{R}) 로부터 파생된 어댑터를 통해 해당 시스템과 상호작용하는 학습자 혹은 테스터가 관찰할 수 있는 행동을 기술한다.
특히, (\alpha_{\mathcal{R}}(\mathcal{M})) 가 어떤 고수준 모델 (\mathcal{N}) 을 구현(implement) 하거나 준수(conform) 한다면, 우리는 다음과 같은 중요한 결론을 도출할 수 있다.
[ \text{If } \alpha_{\mathcal{R}}(\mathcal{M}) \text{ implements (or conforms to) } \mathcal{N}, \text{ then } \mathcal{M} \text{ implements (or conforms to) } \gamma_{\mathcal{R}}(\mathcal{N}). ]
즉, 추상 수준에서 검증이 성공했을 경우, 구체적인 수준에서도 동일한 검증 결과가 보장된다는 의미이다. 이는 모델 기반 테스트와 학습에서 추상‑구체 간의 일관성 을 확보하는 강력한 도구가 된다.
요약하면, 본 연구는
- 액션 코드 라는 새로운 매핑 메커니즘을 제시하고,
- 이를 통해 수축 연산자 ( \alpha_{\mathcal{R}} ) 와 정제 연산자 ( \rho_{\mathcal{R}} ) 사이에 갈루아 연결을 구축하며,
- 구체화 연산자 ( \gamma_{\mathcal{R}} ) 를 도입해 과대 근사 관계를 형식화하고,
- 이러한 구조를 이용해 Mealy 기계 기반의 블랙박스 시스템에 대한 학습·테스트 어댑터를 설계한다.
라는 네 가지 주요 기여를 제공한다. 이론적 결과는 고수준 설계 사양과 저수준 구현 사이의 정형적 관계를 명확히 함으로써, 복잡한 임베디드 시스템이나 사이버‑물리 시스템(CPS) 등에서 추상화‑구체화 과정의 자동화와 검증 효율성을 크게 향상시킬 수 있다.
(※ 본 번역은 원문의 의미와 기술적 정확성을 유지하면서도, 한국어 독자가 이해하기 쉽도록 문장을 다듬고 필요한 경우 부연 설명을 추가하였다.)