Computational Organizational Cybernetics & Soft Systems Thinking.
ViableSystems.jl is a Julia toolkit for modeling and analyzing complex human and organizational systems. It provides formal structures for Stafford Beer’s Viable System Model (VSM) and Peter Checkland’s Soft Systems Methodology (SSM).
-
Viable System Model (VSM): Model the 5 recursive systems of viability (Operations, Coordination, Control, Intelligence, Policy).
-
Algedonic Loops: Implement alarm signals that bypass hierarchies for rapid self-healing.
-
Law of Requisite Variety: Tools to calculate and balance complexity between environment and system.
-
Soft Systems Methodology (SSM): Structured tools for ill-structured problems, including CATWOE analysis and Root Definitions.
using ViableSystems
# Define a simple viable organization
org = ViableOrganization(
"Research Lab",
[System1(:Physics, "High energy experiments", true)],
"Shared Calendar",
"Lab Safety Manager",
"Strategic Planning Committee",
"Board of Directors",
1
)
# Trigger an emergency alert
algedonic_alert(org, "Equipment failure in System 1!")
# Perform a CATWOE analysis
analysis = CATWOE(
"Researchers", "Coders", "Input -> Verified Code",
"Open Science", "Hyperpolymath", "Cloud Infrastructure"
)
println(RootDefinition(analysis))