C API (Component Interface)
struct ComponentVersion { UINT16 release; UINT16 revision; };

BRAHMS implements SystemML versioning for components in ComponentVersion. All components should currently be versioned release zero, since the servers are not yet commissioned, but you can set the revision number as you see fit.

Component Release Versioning

Since components are implementations of nodes in the SystemML namespace, and since nodes in the namespace cannot withdraw aspects of their interface without violating their specification, components do not need a version number to cover interface revocation. Increments of the component release may indicate interface extensions, but operation of the component must not change when accessed through the existing interface.


UINT16 release
Increments indicate that the interface is extended, or internal operation has changed (e.g. bug fixes, optimisations).
UINT16 revision
Developer-specific meaning, which may be "revision" in a revision control system.