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 , we introduce a \emph{contraction} operator that turns a low-level model into a high-level model, and a \emph{refinement} operator that transforms a high-level model into a low-level model. We establish a Galois connection , where is the well-known simulation preorder. For conformance, we typically want to obtain an overapproximation of model . To this end, we also introduce a \emph{concretization} operator , which behaves like the refinement operator but adds arbitrary behavior at intermediate points, giving us a second Galois connection . 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 models a black-box system then describes the behavior that can be observed by a learner/tester that interacts with this system via an adaptor derived from code . Whenever implements (or conforms to) , we may conclude that implements (or conforms to) .
Cite
@article{arxiv.2301.00199,
title = {Action Codes},
author = {Frits Vaandrager and Thorsten Wißmann},
journal= {arXiv preprint arXiv:2301.00199},
year = {2023}
}