SmartFrog started as an open-source configuration management system in HP Labs Bristol in 2004, making it one of the earliest configuration management systems. Its current codebase, can be found on SourceForge.
SmartFrog was used for much of HP’s distributed systems research. This led to HP’s Cells research which provided a secure containerisation of virtualised workloads. Consequently enabling HP’s G-Cloud demonstrator and its “Cells as a Service” concept.
When HPE decided to close the HPE Laboratories in Bristol, its continued support to the SmartFrog project was no longer a priority. Therefore, contributions to the project ceased, the server hosting the project content was withdrawn and the codebase was relicensed under a more permissive Apache 2.0 license.
SmartFrog’s language and runtime possess decentralised and declarative characteristics that are to this day unique. A more complete history of the project can be found under its Wikipedia entry.
Due to SmartFrog’s strengths, Configured Things has chosen to build its Platform based on its design principles, however its ageing toolchain is in need of a revamp. We are in the process of redesigning SmartFrog to bring it up to date with the technologies that are now in current use. As a result, we will make it suited to being the core modeling and configuration framework for our Platform.
The areas that are under change are:
- A new more powerful configuration description language. Certainly building on the strength of the SmartFrog notation and making them even more expressive and powerful.
- A new lighter-weight component model. Consequently generating componentry better suited to run on small and potentially resource-constrained devices. Such properties are advantageous for systems tackling the Internet of Things where lightweight edge devices are to be expected.
- A federated security model. As a result, better suiting the nature of the decentralised problem space that Configured Things is tackling.
- A way of supporting very rapid and possibly conflicting changes to configurations. This is essential to tackling the challenges associated with federated instances, with appropriate roll-back and failure recovery.
Our intent is to release this new version of SmartFrog (known as SFJS) as open source with a permissive license that will encourage wide adoption and the creation of a user ecosystem.
For further details of the project’s future please contact us.