  ProbNetKAT is a probabilistic extension of NetKAT with a denotational
semantics based on Markov kernels. The language is expressive enough to
generate continuous distributions, which raises the question of how to compute
effectively in the language. This paper gives an new characterization of
ProbNetKAT's semantics using domain theory, which provides the foundation
needed to build a practical implementation. We show how to use the semantics to
approximate the behavior of arbitrary ProbNetKAT programs using distributions
with finite support. We develop a prototype implementation and show how to use
it to solve a variety of problems including characterizing the expected
congestion induced by different routing schemes and reasoning probabilistically
about reachability in a network.
