 Directed acyclic graphs representations of partial orderings have many applications in scheduling for systems of tasks with ordering constraints . An important class of problems of this type concern collections of objects that need to be updated , such as the cells of a spreadsheet after one of the cells has been changed , or the object files of a piece of computer software after its source code has been changed . In this context , a dependency graph is a graph that has a vertex for each object to be updated , and an edge connecting two objects whenever one of them needs to be updated earlier than the other . A cycle in this graph is called a circular dependency , and is generally not allowed , because there would be no way to consistently schedule the tasks involved in the cycle . <unk> graphs without circular <unk> form DAGs . 
