Optigraph

A stable version of OptiGraph thus far. The DSL contains the following files (header comments embedded in each):

AtomicBoolean.scala -> locking primitive for BFS
AtomicIntArray.scala -> level array for BFS
DirectedGraph.scala -> Directed graph structure shell
Edge.scala -> container for edge operations/data
Graph.scala -> operations common to directed and undirected graphs
IOGraph.scala -> Input and output for an edge list and computation data
Node.scala -> container for node operations/data
NodeData.scala -> the main data class holding computation variables (parallel collection)
NodeDataView.scala -> a view of the NodeData.scala class
NodeIdView.scala -> a view class of node id's
NodeSHash.scala -> a hash map container used for node collections
OptiGraph.scala -> main file

OptiGraph currently includes the following 3 functional apps:

Betweeness Centrality
Page Rank
Directed/Undirected Triangle Counting
Still a work in progress but at a stable point.