Reaves.dev

v0.1.0

built using

Phoenix v1.7.17

Systems From Components

Stephen M. Reaves

::

2024-03-22

Notes about Lecture 5e for CS-6210

Summary

The Big Picture

Ensemble Design cycle:

Digging Deeper from Spec to Implementation

GabsAbstract Behavioral SpecpPropertiesabs->pProof by IOAcbsConcrete Behavioral Specabs->cbsRefinementendNo way to easily showOCaml implementation is thesame as IOA specificationp->endiImplementationcbs->iSchedulingi->endt1tooli->t1nuprlNuPrl codet1->nuprlt2toolocamlOptimized OCaml codet2->ocamltpfTheorem Prover Frameworknuprl->tpftpf->endsolvesoOptimized NuPrl codetpf->oo->t2

Putting Methodology to Work

How to synthesize the stack from concrete spec?

Getting to an unoptimized OCaml implementation

How to Optimize the Protocol Stack

Layering could lead to inefficiencies

Several sources of optimization:

How do we automate this process?

NuPrl to the Rescue

Static Optimization

Dynamic Optimization

The trick to dynamic optimization is to recognize the state of the protocol is at any time and how the protocol has to react to an input event, known as “Common Case Predicate”