4. Technical Design¶
Phlex is divided into several subsystems, each of which is responsible for a specific aspect of the framework’s functionality. A subsystem is a set of libraries with a well-defined public interface. One subsystem may make use of the functionality provided by another subsystem only through the public interface of the other subsystem. The set of subsystems may have no circular dependencies.
Phlex also makes use of several external subsystems, which are not part of the Phlex codebase but are used by Phlex to provide certain functionality. There are also several external systems that users of Phlex may interact with in the context of using Phlex, but which are not part of Phlex itself.
This chapter of the document enumerates the subsystems, and describes their responsibliities and interactions.
- 4.1. Framework Subsystems
- 4.2. Program Startup
- 4.3. The Role of Data Product Concepts
- 4.4. Framework Application
- 4.5. Task Management
- 4.6. Data Modeling
- 4.7. Data Product Management
- 4.8. Metadata Management
- 4.9. IO
- 4.10. Plugin Management
- 4.11. Resource Management
- 4.12. Monitoring and Reporting
- 4.13. Algorithm Registration
- 4.14. Algorithm Description
- 4.15. Error Handler
- 4.16. Signal Handler
- 4.17. Random Number Support
- 4.18. Configuration
- 4.19. Logging
4.20. External Subsystems¶
Build
CI
Documentation
Event display
Workflow management