JasperHavenhand / Honours-Year-Project

COMP390 - Honours Year Project: Temporal Network (Re-)Design Strategies for Early Epidemic Containment
0 stars 0 forks source link

User Interface #11

Open JasperHavenhand opened 3 years ago

JasperHavenhand commented 3 years ago

Create a simulator that allows a user to:

JasperHavenhand commented 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.

JasperHavenhand commented 3 years ago

It will need an additional method for listing all the currently saved tokens.

JasperHavenhand commented 3 years ago

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.

JasperHavenhand commented 3 years ago

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.

JasperHavenhand commented 3 years ago

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.

JasperHavenhand commented 3 years ago

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.

JasperHavenhand commented 3 years ago

Added the selection of initially infected vertices. Next step will be to add the functionality to the constraints panel.

JasperHavenhand commented 3 years ago

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.

JasperHavenhand commented 3 years ago

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.

JasperHavenhand commented 3 years ago

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.

JasperHavenhand commented 3 years ago

Need to add input validation and feedback based on that.

JasperHavenhand commented 3 years ago

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.

JasperHavenhand commented 3 years ago

Need to add input validation and feedback based on that.

The input fields are: