Skills – C++ Programming, Java 5, GUI, Ant, AES codec, Tornado 2.0, Eclipse
The Task – Licensing and License Manifest for an Embedded Device
To manage customer releases and demo releases, a license is needed. A license manifest would ensure that the embedded files packaged for a release did not work with embedded files packaged for a different release.
The SSI Solution – Embedded License Control
According to the initial design, information tied to the hardware was needed to decode the license file; however, upon the initialization, the hardware data for the license was not yet available. Because the license file enables/disables certain features within the configuration, the license file would be useless if done after inititialization.
Information to create the license in a timely fashion was resolved by splitting the the configuration and the hardware microbus configuration into two separate functions.
In addition, data buffered within a C++ class was not fully initialized at the moment when it was needed. SSI engineers provided a method to access the data directly via the bus. Special permission to use a section of NVRAM that wasn’t being used was requested and granted. The result was a properly decoded file that enabled/disabled features upon initialization.
Look and feel requirements for the Java application's GUI interface was in a state of flux. Ant was used to create a JAR file from a Java project.
While a requirements and design document designed by SSI may have given this project additional structure, it would have also been an additional expense to the client.
The complete solution allows flexibility to track demo licenses, enable/disable certain features within a device, and charge money for a release.
