Theory Parametrized_Dataplane_0
section‹Abstract Model›
theory Parametrized_Dataplane_0
imports
"Network_Model"
"infrastructure/Event_Systems"
begin
text‹A packet consists of an authenticated info field (e.g., the timestamp of the control plane level
beacon creating the segment), as well as past and future paths. Furthermore, there is a history
variable @{term "history"} that accurately records the actual path -- this is only used for the
purpose of expressing the desired security property ("Detectability", see below).›
record ('aahi, 'ainfo) pkt0 =
AInfo :: 'ainfo
past :: "'aahi ahi_scheme list"
future :: "'aahi ahi_scheme list"
history :: "'aahi ahi_scheme list"
text‹In this model, the state consists of channel state and local state, each containing sets of
packets (which we occasionally also call messages).›
record ('aahi, 'ainfo) dp0_state =
chan :: "(as × ifs × as × ifs) ⇒ ('aahi, 'ainfo) pkt0 set"
loc :: "as ⇒ ('aahi, 'ainfo) pkt0 set"
text‹We now define the events type; it will be explained below.›