wiki:HEALInfrastructureDevelopmentTasks

HEAL Infrastructure Development Tasks

This page contains a list of several tasks which aim at improving HEAL's software and hardware infrastructure. Especially those tasks are managed in this list, which can hardly be done within the scope of regular research projects.

Every HEAL member is invited to add additional tasks under "New" and to contribute to these tasks.

Currently in Progress

Task Team Description Started Progress
Problem refactoring abeham, mkommend Unify HeuristicOptimizationProblem and BasicProblem hierarchies #2521 2015
Source Code Migration to Git epitzer, lkammere We should use Git instead of SVN, as SVN is loosing its importance and Git is better suited for open-source projects. Partial branches should ideally be transformed to full branches in SVN first. 14.01.2019

Pending

Task Reporter Priority Description

New

Task Reporter Description Votes
.NET Standard Migration swagner We should switch from .NET Framework to .NET Core to enable HL on platforms other than Windows (at least for the non-GUI parts). Therefore, we need to migrate as many HL assemblies to .NET Standard as possible. 3
HL & Chocolatey swagner Provide Chocolatey packages for HL and HiveDrone to enable easier deployment and installation. 0
Explore GUI Alternatives swagner WinForms is outdated and already quite old. We should think about a new HL GUI. Ideally, it should also support platforms other than Windows. Therefore, we should explore alternative platform-independent GUI frameworks. 0
Hive Budgets swagner Hive should offer the functionality to assign a compute budget to a user/project/etc. 0
Automate Deployment of Hive VMs swagner Maybe we can automate deployment of Hive VMs using Terraform or any other deployment automation solution. 0
Hive & Docker swagner Hive jobs should be executed in Docker containers in order to gain more flexibility and security. 0
Use GitLab CI instead of TeamCity swagner If we migrate to Git and host HL on GitLab, we should try to use GitLab CI instead of TeamCity to reduce the number of different tools we use. 0
Restructure Plugins swagner HL consists of too many plugins. We should merge several plugins together to reduce the number of assemblies drastically. 3
New Algorithm Model swagner The operator graph algorithm model has not been very successful in the end. We should rethink HL's algorithm model. 1
Pull GUI Updates instead of push swagner Currently GUI updates are pushed by firing events in an algorithm. However, it would be a better idea to pull new data from the GUI instead as this should reduce the overhead for GUI updates significantly. 0
Rename HiveSlave to HiveDrone swagner Following the analogy of a bee hive, Hive slaves should be named Hive drones instead. (gkronber: I like HiveWorker better) 0
HL Usage Survey swagner A usage survey could be integrated in HL (e.g., on the start page) to ask users about their application scenarios and most desired and most disliked features of HL, etc. 0
Telemetry Data swagner It would be very interesting to get some telemetry data from HL, so that we can get some information, which algorithms/problems/features of HL are frequently used. 0
Change Hive WCF Services to REST Services swagner Instead of WCF services Hive should use REST services. 0
HL Web App swagner Think about which functionality would be reasonable in the HL Web App and how it could be improved. 0
irace swagner Integrate irace into HL. 1
OKB Agents swagner Implement agents that identify interesting test configuration for OKB automatically. 0
Search Visualization Showcase swagner Think about a possible showcase to visualize the search process of a heuristic algorithm with VR technology (together with Anthes/Jetter). 0
Reports for Experiment Analysis swagner Automatically generated reports might help to make analysis of large experiments easier. 0
Unit Tests swagner Implement more unit tests and improve coverage of automated tests. 0
Projects / Workspaces swagner Some kind of projects or workspaces in HL would be nice to organize one's work. 0
Parameter Validation swagner Parameters set by users in the GUI should be validated. 0
Simplify Release Process abeham The release process currently takes several hours. It should take only a couple of minutes. 1
Adapt plugin dependencies abeham Transport plugins are cumbersome, as NuGet references have to be rebuilt as plugin dependencies. As an alternative, an additional assembly reference would be nice, that can be used to reference additional assemblies which are shipped via NuGet. 1
HL Automation/Scripting epitzer, swinkler Scripting from external applications, HL Language Server
HL Script Serialization pfleck Ability to separate script code and data and save separately.
VSCode Integration sraggl Integrate HL into VSCode
Roslyn for Scripting jkarder Use of Roslyn to perform the code generation / compilation
HL Notebooks jzenisek Similar to Jupyter notebooks, ability to integrate code, visualization and data into one document type
Graph Query Language rhanghof
Update ANN methods swinkler Our implementation of neural networks is not state of the art
Develop new algorithms abeham Many more multi-objective algorithms exist, also more flexibility and variants
Interfaces to other tools maffenze HL should provide more interfaces to other tools
Improve documentation bburlacu For instance readthedocs
ML-Pipelines bburlacu Similar to ML.NET
HIVE UX Improvement bburlacu For instance to handle large experiments that do not fit entirely into memory
Integration of native code for performance bburlacu Some things are faster if implemented natively
Exerpiment definition language bburlacu A language / code to describe experiments instead of GUI only and more abstract than a script.
Problem data server epitzer, fbaching Store problem data on a server and reference it instead of saving it with every file. Maintain versions of the problem data (e.g. for data analysis)
Better integration of unit tests Currently reside in their own project, not first class citizens
Code generation and VS extensions bwerth
Better folder structure for release package dpiringe The .exe resides in a folder with hundreds of .dll and .config files

Deferred

Task Reporter Description

Done

Task Team Description Finished
New Persistence gkronber, jkarder Implement a new persistence layer based on Google ProtoBuf. #2520 31.07.2019
Hive Project Management jzenisek, jkarder Hive jobs should be assigned to projects to protocol HPC infrastructure usage. #2839 31.07.2019
oVirt Migration swagner, jkarder Change virtualization layer on HPC hosts to oVirt. 31.08.2019
Upgrade builder jkarder, swagner The builder.heuristiclab.com server is still Windows Server 2008 R2. It should be reinstalled with Windows Server 2016. 02.03.2019
Last modified 11 months ago Last modified on 09/24/19 14:11:03