DQGUI is a Java based IDE written on top of JavaFX for users of the IQM4HD (Intelligent Quality Monitoring for Heterogeneous Data) project. It provides a way to interact with the projects evaluation engine by providing a graphical user interface. This allows users to develop custom components of the IQM4HD domain specific language without the need of setting up the entire IQM4HD infrastructure first. It also allows storing IQM4HD DSL compilation units in a database so multiple users can work remotely on the existing monitoring rules. A remote execution server is also included as some monitoring rules can take a long time to evaluate and the user might want to close DQGUI in the meanwhile.
It contains a modular system for database and file operations that allows future developers to extend the application with their own functionality. The database abstraction layer enables support for previously unsupported database engines, while the domain-specific language service abstraction provides a foundation for different methods of accessing IQM4HD source code. The application also includes a framework built on top of JavaFX for constructing the graphical user interface.
DQGUI has been awarded a prize for the 1st place at the ECE Capstone Design Competition 2020 hosted by the Texas A&M University against 65 other competing teams.
- Database abstraction layer
- Code editor with syntax highlighting and auto-suggestions
- Basic static code analysis
- Repository management and compilation unit management
- Database and file system repository support
- R integration
- Full repository text search and additional IDE features
- Compilation, execution, and presentation of IQM4HD actions
Note: As the source code of IQM4HD is not publicly available at the moment the IQM4HD library is not included in this public facing GitHub repository. Instead, a mocked version is being used to allow the tool to compile and function properly in a limited way for demonstration purposes.
Project Documentation and Javadocs - Pre-built JARs - Original Readme - Original Task Readme