Definitions, traditions, and a general framework for understanding complex problem solving