Cognitive frameworks are developed to explain and predict user behavior based on theories of cognition. Mental models are cognitive frameworks that help users develop an understanding of a system through learning about and using it, including how to use the system, what to do with unfamiliar systems or unexpected situations, and enabling predictions to be made about how the system works based on internal constructions of aspects of the external world, according to Craik in 1943.