# measurement-framework Part of ARCFIRE 2020, WP3 work package. Workflow, both external and internal: (1) user defines the network graph, creating instances of model.Node and model.DIF classes (2) user creates an instance of a Testbed class (3) user creates an instance of prototype.Experiment class, passing the testbed instance and a list of Node instances - at the endo of the base Experiment constructor, the generate function is called to generate information about per-node IPCPs, registrations and enrollment, ready to be used by the plugins (4) user calls run() on the prototype.Experiment instance: - First, run() calls Experiment.swap_in(), which in turns calls Testbed.create_experiment(), passing the nodes and links (?) TODO: fix this interface: what should swap_in(), and so create_experiment() return exactly? Current interface seems broken - Second, run() calls a prototype-specific setup function, to create the required IPCPs, perform registrations, enrollments, etc. - Third, perform tests (TODO)