Steps Toward Lightweight Cognitive Support Theories for Software Engineers

Dr. Andrew Walenstein

Center for Advanced Computer Studies

University of Louisiana at Lafayette

 

Abstract

Artifacts can be designed to help out in cognitive work: paper writing, decision making, programming, etc. For instance, a change in problem representation can ease the apparent difficulty of a problem, or the addition of an effective external memory can reduce mental workload. Unfortunately, many software developers---probably the majority---struggle to build software that is truly helpful in cognitive work domains. One likely contributor to this difficulty is the unintentional barrier separating potentially useful knowledge in cognitive science and the software developers who might benefit from knowing it. But ask yourself: if you had one hour, or one day, or one week to teach software developers something about how to make useful software which reduces mental burdens, what would you teach?

In this talk I will overview one particular attempt to collect together cognitive support theories and package them in a form that is both usable and useful for engineering software more systematically. A key focus of this work is a high-level, qualitative theory of cognitive support called RODS. RODS is based on existing distributed cognition theories and models. It defines cognitive support in terms of computational optimization, and defines four "atomic" categories of such computational optimizations (i.e., basic categories of cognitive support). With the help of simple cognitive models, these can be used to decompose complicated artifacts into their atomic cognitive support components. Thus RODS is a compact language for understanding gross but essential and application-relevant concepts from cognitive science. Implications for using RODS to help software developers will be summarized.