...
Guiding Points of Design
- Installation, provision, and establishing of agents
- Upgrading agents, inclusive of both functionality in terms of flow/processing, and the agent binary and associated libraries
- Tolerance for asynchronous and optimistic upgrades
- Realization of agent capabilities
- Possible taxonomy of agents and functionalities that may be driven by available software and hardware
- Mediating different agent versions
- Observation of status
- Security
- Provenance Generation and Transmission to some endpoint store Considerations for supporting replay and buffering of data
- Prioritization of Data with Back Pressure and Pressure Release
- Supported Operating Systems and the requirements levied:
- Windows,
- Mac,
- Linux, and
- Unix
- Networking and communication protocols
- Traversal of non-direct network hops and relay functionality
- Traversal of non-direct network hops and relay functionality
- Manager provides a consistent user experience for agent groups as it does processors
Guidelines for MiNiFi C++
The following guidelines represent a list of guidelines that may be useful for MiNiFI C++ development and design. These stem from the environments which
are potential targets. Their basis stems from typical C++ development practices and design goals that lend toward maximizing development efforts.
- Minimize Memory footprint and management of memory within modules.
- Limit data and access patterns that are deemed risky
- Limit failure with testing at all stages; however, when testing occurs we should aim for recoverability.
- We should follow the open/closed principle to avoid churn and support changes as they occur.
- Try to be a good cog – Problems will occur on devices and thus we can’t trust anything, even a malloc
Components
Installation
- Executable that is command line driven
- Installable as a service
...