Skip to content

Latest commit

 

History

History
72 lines (66 loc) · 1.18 KB

README.md

File metadata and controls

72 lines (66 loc) · 1.18 KB

Dag Tasks Executor

  • Runs tasks as represented by a directed acyclic graph
  • Mode of operation
    • Serial
    • Parallel

Class Diagram

---
title: DagExecutor
---
classDiagram
	direction TB
	class DagExecutor {
		<<Interface>>
		void execute(GraphData graphData)
	}
	DagExecutor <|.. SerialDagExecutor
	DagExecutor <|.. ParallelDagExecutor
	class DagExecutorFactory {
		DagExecutor getInstance(ExecutorMode executorMode)
	}
Loading
classDiagram
	direction TB
	class DagExecutors {
		void executeTasksFromFileName(String fileName, ExecutorMode executorMode)
	}
	class ExecutorMode {
		<<Enumeration>>
		SERIAL
		PARALLEL
	}
Loading
---
title: Graph
---
classDiagram
	class InputToGraphDataConverter {
		<<interface>>
		GraphData toGraphData(T input)
	}
	InputToGraphDataConverter <|.. FileInputToGraphDataConverter
	class GraphData {
		Map⟨String, ArrayList⟨Task⟩⟩ adjacencyGraph
		Map⟨String, Task⟩ tasksByName
	}
	class Task {
		<<Interface>>
	}
	Runnable <|-- Task
	class BaseTask {
		<<Abstract>>
		String name
	}
	Task <|.. BaseTask
	class SleepTask {
		int sleepTimeInSeconds
	}
	BaseTask <|-- SleepTask
	class Edge {
		Task taskA
		Task taskB
	}
Loading