An agent-based approach to modeling sustainable sociotechnical systems