-
Notifications
You must be signed in to change notification settings - Fork 4
Input Parsing Module
The input parsing module takes in a .DOT file representing the tasks and their weights and converts this to a graph
object which can be used by the algorithm in our program.
ANTLR, a parser generator is used to generate a parser which reads the .DOT file. ANTLR uses a grammar to build and walk a parse tree. The grammar for .DOT files is used under a BSD license and can be found here.
The graph
object contains node
objects representing tasks. Node objects have their own ids and weights. getIncomingEdges()
and getOutgoingEdges()
can be called on nodes to get a map of their incoming/outcoming edges with the node and edge weight (communication cost between processors for these tasks). There are currently (somewhat) immutable implementations being used but these have been changed to mutable as optimising our algorithms in the future will preprocessing may require them to be modified.