Open JasperHavenhand opened 3 years ago
First, need to implement a way to store and load viruses. This will be a properties file titled tokens, containing the virus names mapped to their transfer probabilities. This will be loaded via a class named Tokens
which will be based on the Configuration
class.
It will need an additional method for listing all the currently saved tokens.
There also needs to be a class for handling the selecting of data sources. It will be called DataSources
. It will provide methods for listing and selecting the existing data sources.
I think a simple GUI may be better than a command line interface for the purposes of this project. I will create this with Java Swing. The class for the GUI will be called EpidemicSimulator
.
Need to add a way to display the temporalities of edges and temporal reachability of vertices. The reachability method takes a significant amount of time to execute so it may be best to calculate it is as and when it's requested, rather than automatically with every timestep.
Need to add a way for the user to choose vertices that will begin with the token. This will involve updating the GUI and adding a method to the TemporalGraphHandler class that takes a list of vertex Ids and sets the token to true for the corresponding vertices. In terms of the GUI, it might be best to add a second page (using the cardLayout) for selecting the vertices. This is because the graph needs to be successfully created first.
Added the selection of initially infected vertices. Next step will be to add the functionality to the constraints panel.
Might be necessary to add get methods to TemporalGraphHandler for the start, current and end time so that the user can make informed decisions when using the constraints.
should probably also change the fields for the delete edge constraint to be comboBoxes with the vertex names in. This may also require get a method for the vertices in TemporalGraphHandler.
Should also change GradoopId in the parameters and return types of TemporalGraphHandler methods to strings so that EpidemicSimulator doesn't need to import the GradoopId class.
Need to add input validation and feedback based on that.
Need to add a way to display the temporalities of edges and temporal reachability of vertices. The reachability method takes a significant amount of time to execute so it may be best to calculate it is as and when it's requested, rather than automatically with every timestep.
Could add two new buttons ("calculate temporalities" and "calculate reachability sets") that produce dialogs containing the temporalities and reachability sets.
Need to add input validation and feedback based on that.
The input fields are:
Create a simulator that allows a user to: