PR #57 adds a simulator and T2T compiler to our DSL! Much of that work was to convert DSL programs into "controls" (see Definition 3.7 in Formal Abstractions or issue #53). This has been done for programs built with Strict, RoundRobin, WeightedFair, and Fifo; however, building controls is harder for other policies because the semantics of our DSL have yet to be ironed out (for example, see issue #51).
Instead of maintaining multiple catch-all branches in the simulator, we've temporarily removed certain policies from Policy.t and parked their associated code here
(* from Policy.t in both policy.ml and policy.mli *)
type t =
| Class of Ast.clss
| Fifo of t list
| RoundRobin of t list
| Strict of t list
| WeightedFair of (t * float) list
| EarliestDeadline of t list
| ShortestJobNext of t list
| ShortestRemaining of t list
| RateControlled of t list
| LeakyBucket of t list * int * int
| TokenBucket of t list * int * int
| StopAndGo of t list * int
PR #57 adds a simulator and T2T compiler to our DSL! Much of that work was to convert DSL programs into "controls" (see Definition 3.7 in Formal Abstractions or issue #53). This has been done for programs built with
Strict
,RoundRobin
,WeightedFair
, andFifo
; however, building controls is harder for other policies because the semantics of our DSL have yet to be ironed out (for example, see issue #51).Instead of maintaining multiple catch-all branches in the simulator, we've temporarily removed certain policies from
Policy.t
and parked their associated code hereThe plan is to add these back to
Policy
when the simulator can handle them.NOTE: none of the lexing and parsing for these policies has been altered: that is,
ast.ml
is unchanged