Loading a project with uninstalled libraries
Overview
Polybench is able to load a project that contains (device-) operators of libraries that are not currently installed. Generally, the application will not be able to run in that case, but you can still do some editing, if required.If you save a project with unknown operators, then the settings of those operators will be copied from the original project. If the project is then loaded on a computer that does have the libraries installed, then the application will work again.
Details
Unknown signal processing operators
If a project is loaded with unknown signal processing operators, then those operators will be displayed in red (error state). No data will flow through them. Their properties may be edited, but that does not have effect; when the project is saved, the original properties of the unknown object will be copied to the file.Unknown operators can be freely moved or deleted.
It is possible to copy an unknown operator and connect it to other operators, but the designer cannot check whether those connections are valid. The properties of the operator in the original project, which you cannot see in the Properties dialog, are copied if you save the project.
If an application with unknown operators is loaded in a Polybench Runtime, then the app is refused and the runtime will close again. The user will see a warning that components are missing.
Unknown operators with a user interface
If a project contains user interface objects, like signal viewers, that are currently unknown by your Polybench, then those are loaded and displayed as empty components. Across through the user interface object will indicate that the object is not functioning.Also for those objects, you can freely move them around, delete them or copy and reconnect. But you cannot run your application, because the objects do not work. Neither will property changes have effect.
Unknown device operators
Device operators behave differently. It is well possible that your design computer does not have a specific device driver and library installed, although you need to edit something to a project. Therefore, the project will load normally, but the unknown device operators will be set to Disabled state. This means that they will not react to START, STOP or RESET actions. You cannot change the state back to Enabled, neither do changes to properties have effect.If an application with unknown devices is loaded by a Polybench Runtime, then the app is loaded normally. Because the unknown device is disabled automatically, no data will come from that device operator.
If you expect this may happen on end-user computers, then you should build into your app something to warn the user that a specific device library is required to run the app.