I noticed that the Woodcrest Vensim model was partially plain text describing variables and their dependencies. I wondered if graphviz could find a respectable layout knowing full well that handcrafted layout would be better.
digraph { layout=neato overlap = false splines=true node [style=filled fillcolor=bisque] "Student\nCollaboration" -> "Student\nsharing" "Student\nengagement" -> "Student\nsharing" "Community\nInput" -> "Quality\nof\nImprovement\nPlan" "Competing\npriorities" -> "Quality\nof\nImprovement\nPlan" "Coaching" -> "Empowerment\nof\nteachers" "Psychological\nsafety" -> "Empowerment\nof\nteachers" "Needs\nAssessment" -> "Coaching" "Student\nsharing" -> "Student\nTrust" "Teacher\nconferencing" -> "Skills\nBuilding" "Leadership\nteam\nturnover" -> "Competing\npriorities" "Confident\nto\ntake\nrisks" -> "Needs\nAssessment" "Teacher\nScanning" -> "Teacher\nconferencing" "Skills\nBuilding" -> "Student\nCollaboration" "Student\nengagement" -> "Student\nCollaboration" "Student\nTrust" -> "Student\nCollaboration" "Student\nCollaboration" -> "Teacher\nScanning" "Ability\nto\ninfluence\nothers" -> "Quality\nof\nsupport\n&\ncoaching" "Funding\nSupport" -> "Quality\nof\nsupport\n&\ncoaching" "Quality\nof\nschool\nsystems\n&\nstructures" -> "Quality\nof\nsupport\n&\ncoaching" "Staff\nexpertise" -> "Quality\nof\nsupport\n&\ncoaching" "Enthusiasm" -> "Student\nachievement" "Student\nsharing" -> "Student\nachievement" "Student\nengagement" -> "Student\nachievement" "Celebrating\nsuccess" -> "Collective\nTeacher\nEfficacy" "Empowerment\nof\nteachers" -> "Collective\nTeacher\nEfficacy" "Innovation\nin\npedagogy" -> "Collective\nTeacher\nEfficacy" "Staff\nexpertise" -> "Collective\nTeacher\nEfficacy" "Empowered\nLearners" -> "Innovation\nin\npedagogy" "Empowerment\nof\nteachers" -> "Innovation\nin\npedagogy" "Confident\nto\ntake\nrisks" -> "Innovation\nin\npedagogy" "Quality\nof\nschool\nsystems\n&\nstructures" -> "Innovation\nin\npedagogy" "Quality\nof\nsupport\n&\ncoaching" -> "Innovation\nin\npedagogy" "Student\nachievement" -> "Funding\nSupport" "Celebrating\nsuccess" -> "Student\nengagement" "Staff\nengagement" -> "Student\nengagement" "Shared\nPurpose" -> "Empowered\nLearners" "Shared\nPurpose" -> "Psychological\nsafety" "Trust\nin\nteam" -> "Psychological\nsafety" "Quality\nof\nImprovement\nPlan" -> "Community\nEngagment" "Community\nEngagment" -> "Community\nInput" "Deep\nListening" -> "Regular\nsharing\namongst\nteams" "Quality\nof\nschool\nsystems\n&\nstructures" -> "Regular\nsharing\namongst\nteams" "Trust\nin\nteam" -> "Regular\nsharing\namongst\nteams" "Collective\nTeacher\nEfficacy" -> "Staff\nengagement" "Confident\nto\ntake\nrisks" -> "Staff\nengagement" "Student\nengagement" -> "Staff\nengagement" "Empowerment\nof\nteachers" -> "Confident\nto\ntake\nrisks" "Shared\nPurpose" -> "Confident\nto\ntake\nrisks" "Quality\nof\nImprovement\nPlan" -> "Quality\nof\nschool\nsystems\n&\nstructures" "Innovation\nin\npedagogy" -> "Shared\nPurpose" "Trust\nin\nteam" -> "Shared\nPurpose" "Innovation\nin\npedagogy" -> "Staff\nexpertise" "Leaders\nas\nLearners" -> "Ability\nto\ninfluence\nothers" "Student\nachievement" -> "Celebrating\nsuccess" "Regular\nsharing\namongst\nteams" -> "Deep\nListening" "Regular\nsharing\namongst\nteams" -> "Enthusiasm" "Staff\nengagement" -> "Enthusiasm" "Student\nengagement" -> "Enthusiasm" "Trust\nin\nteam" -> "Leaders\nas\nLearners" "Trust\nin\nteam" -> "Leadership\nteam\nturnover" "Deep\nListening" -> "Trust\nin\nteam" "Regular\nsharing\namongst\nteams" -> "Trust\nin\nteam" "Unity\nof\nleadership\nteam" -> "Trust\nin\nteam" "Leadership\nteam\nturnover" -> "Unity\nof\nleadership\nteam" }
We trace though this graph from one point to all others. Following in or out bound arrows make different trees.
Todo is list initialized with starting point. Done is list initially empty. While Todo’s remain Move next Todo to Done For each Inbound arrow Add endpoints and arrow to graph Add to Todo unless endpoint already Done
strict digraph { node [style=filled fillcolor=bisque] "Enthusiasm" -> "Student\nachievement" "Student\nsharing" -> "Student\nachievement" "Student\nengagement" -> "Student\nachievement" "Regular\nsharing\namongst\nteams" -> "Enthusiasm" "Staff\nengagement" -> "Enthusiasm" "Student\nengagement" -> "Enthusiasm" "Student\nCollaboration" -> "Student\nsharing" "Student\nengagement" -> "Student\nsharing" "Celebrating\nsuccess" -> "Student\nengagement" "Staff\nengagement" -> "Student\nengagement" "Deep\nListening" -> "Regular\nsharing\namongst\nteams" "Quality\nof\nschool\nsystems\n&\nstructures" -> "Regular\nsharing\namongst\nteams" "Trust\nin\nteam" -> "Regular\nsharing\namongst\nteams" "Collective\nTeacher\nEfficacy" -> "Staff\nengagement" "Confident\nto\ntake\nrisks" -> "Staff\nengagement" "Skills\nBuilding" -> "Student\nCollaboration" "Student\nTrust" -> "Student\nCollaboration" "Quality\nof\nImprovement\nPlan" -> "Quality\nof\nschool\nsystems\n&\nstructures" "Unity\nof\nleadership\nteam" -> "Trust\nin\nteam" "Empowerment\nof\nteachers" -> "Collective\nTeacher\nEfficacy" "Innovation\nin\npedagogy" -> "Collective\nTeacher\nEfficacy" "Staff\nexpertise" -> "Collective\nTeacher\nEfficacy" "Empowerment\nof\nteachers" -> "Confident\nto\ntake\nrisks" "Shared\nPurpose" -> "Confident\nto\ntake\nrisks" "Teacher\nconferencing" -> "Skills\nBuilding" "Community\nInput" -> "Quality\nof\nImprovement\nPlan" "Competing\npriorities" -> "Quality\nof\nImprovement\nPlan" "Leadership\nteam\nturnover" -> "Unity\nof\nleadership\nteam" "Coaching" -> "Empowerment\nof\nteachers" "Psychological\nsafety" -> "Empowerment\nof\nteachers" "Empowered\nLearners" -> "Innovation\nin\npedagogy" "Quality\nof\nsupport\n&\ncoaching" -> "Innovation\nin\npedagogy" "Teacher\nScanning" -> "Teacher\nconferencing" "Community\nEngagment" -> "Community\nInput" "Leadership\nteam\nturnover" -> "Competing\npriorities" "Needs\nAssessment" -> "Coaching" "Ability\nto\ninfluence\nothers" -> "Quality\nof\nsupport\n&\ncoaching" "Funding\nSupport" -> "Quality\nof\nsupport\n&\ncoaching" "Leaders\nas\nLearners" -> "Ability\nto\ninfluence\nothers" }
strict digraph { node [style=filled fillcolor=bisque] "Student\nachievement" -> "Funding\nSupport" "Student\nachievement" -> "Celebrating\nsuccess" "Funding\nSupport" -> "Quality\nof\nsupport\n&\ncoaching" "Celebrating\nsuccess" -> "Collective\nTeacher\nEfficacy" "Celebrating\nsuccess" -> "Student\nengagement" "Quality\nof\nsupport\n&\ncoaching" -> "Innovation\nin\npedagogy" "Collective\nTeacher\nEfficacy" -> "Staff\nengagement" "Student\nengagement" -> "Student\nsharing" "Student\nengagement" -> "Student\nCollaboration" "Student\nengagement" -> "Staff\nengagement" "Student\nengagement" -> "Enthusiasm" "Innovation\nin\npedagogy" -> "Shared\nPurpose" "Innovation\nin\npedagogy" -> "Staff\nexpertise" "Staff\nengagement" -> "Enthusiasm" "Student\nsharing" -> "Student\nTrust" "Student\nCollaboration" -> "Teacher\nScanning" "Shared\nPurpose" -> "Empowered\nLearners" "Shared\nPurpose" -> "Psychological\nsafety" "Shared\nPurpose" -> "Confident\nto\ntake\nrisks" "Teacher\nScanning" -> "Teacher\nconferencing" "Psychological\nsafety" -> "Empowerment\nof\nteachers" "Confident\nto\ntake\nrisks" -> "Needs\nAssessment" "Teacher\nconferencing" -> "Skills\nBuilding" "Needs\nAssessment" -> "Coaching" }
The trees differ in size, 35 vs 23 nodes, because some nodes are not reachable from the chosen starting point.
We might be able to combine these trees with nodes added to the upper or lower trees depending on whether they are more a cause or a consequence.