
Convenient host and target environment
Microsoft Windows is undoubtedly the most common OS for both work and personal use. Having a tool based on this OS allows implementing and testing user interfaces in a convenient environment.
In addition to that, the HMI tool should allow continuous and trouble free integration on target platform. There should be as few steps as possible in going from the host to the target. One way to achieve that is by having the same execution environment engine that runs the graphics application on host and target.
HMI tool needs not only UI (User Interface) data, such as graphics assets (bit map files, 2D/3D models, asset properties, etc.), but also code that defines the application behavior. The code embodies business logic and could possibly be generated by a state machine tool or hand coded.
In the latter case, the tool should allow the standard programming languages within the software community. The HMI tool should be structured in a way that UI data is strictly separated from the code portion.
The resulting advantage is the ease of changing the look and feel of graphics without touching the code or the need to rebuild it. The old UI data in the tool output is simply replaced with the new one without rebuilding the entire application.
It's also desirable that the tool is capable of determining hardware requirements for the intended graphics application well ahead of time.
For example, the HMI tool can help determine the minimum number of MIPS needed for graphics and provide guidance about how powerful the GPU should be to run the application.
It's also helpful if it can give some indication about the internal bus throughputs and external