- a portable, self-contained, Linux Virtual Machine, which allows it to operate on any computing platform;
- a graphical experiment and federate design environment—the Web-based graphical modeling environment (WebGME) developed by Vanderbilt University. It provides code generation for adapting models to the simulators;
- a model repository; and
- a language for collecting federates into a federation, which will then be used by the federate manager in the course of the experiment. (For more details on the key terms used in UCEF, see Definitions and A Useful Analogy: The UCEF Orchestra.)
UCEF is designed:
- to separate the design of experiments from the design of the models composed in an experiment;
- to manage its own scope in the definition of federated interfaces, federations, and experiments (Note: UCEF does not manage model design and implementations.);
- to develop experiments that can be deployed independently on a variety and combination of platforms, from large cloud systems to small embedded controllers;
- to allow experiments to be composed among local simulations, hardware in the loop (HIL), cloud simulations, and collaborative experiments across the country and world;
- to make possible experiments of varying scale, including collaborations with multiple organizations; and
- to integrate federates designed in a variety of languages, including Java, C++, Omnet++, Matlab, LabView, and Gridlab-D. Additional languages will be made available in the future.
UCEF Tool Set Composition
An Experiment is the description of the orchestration of a Federation to exercise the Federates and exchange of information among them.
A Federate is a component of an experiment. It could be a piece of equipment, a simulation model, or a permutation of multiples of both. Federates can be located anywhere and are identified by their description and network address.
Federated experiments allow components of experiments to be distributed locally, in clouds, and/or geographically dispersed
A Federation is a collection of Federates that can be part of an experiment.
The Federation Manager is a specialized Federate that operates on the Experiment definition and the Federation to perform the actual experiment.
Universal CPS Environment for Federation
For an analogy that may provide some additional perspective on these definitions, see A Useful Analogy: The UCEF Orchestra.
To better understand UCEF and its key elements (see Definitions), it may be helpful to consider the analogy of a symphony orchestra performing Beethoven's Ninth Symphony.
Each one of the various instruments (violin, tympani drum, French horn, etc.), instrumentalists (violinist, percussionist, horn player, etc.), and singers (soprano in choir, tenor in choir, alto soloist, etc.) is a Federate.
The whole ensemble of instruments, instrumentalists, singers, and conductor are the Federation.
The conductor of the orchestra and chorus is the Federate Manager.
The system of musical notation, which has been developed over centuries and is taught to new musicians, is the standardized communications protocol that allows all the components to “speak” with each other.
All the parts of the musical score (e.g., the sheet music for the first cello, the sheet music for the oboe, and the sheet music for the tenor soloist) are the information underlying the performance, and they represent the cyber aspect of the cyber-physical system. The instruments and orchestral players are the physical aspect of the cyber-physical system. The actual performance is the CPS Experiment.
In a different experiment, a different manager (conductor) might combine just some of the federates (a subset of the full members of the orchestra) and build a new federation (a chamber orchestra, string quartet, barbershop quartet, or heavy metal band).