My primary research has been in the area of Design Rationale (DR): the reasons behind making design decisions. Design Rationale differs from other forms of design documentation because it captures not only what the designer developed as a final product but also captures the reasoning behind their choices and any alternatives that were considered and rejected. DR is considered a sub-field of Artificial Intelligence in Design because it is both a Knowledge Representation problem and because AI techniques can be used in the capture and use of the rationale.
My current research projects include:
REED – Rationale Extraction from Existing Documents. This work is funded under my NSF CAREER Award and has the goal of extracting rationale from existing documentation.
Rationale Management Systems. My research team has developed two RMSs—SEURAT (Software Engineering Using RATionale), an Eclipse plug-in that integrates rationale with code, design patterns, and architectural tactics and C-SEURAT, a prototype system that integrates on-line rationale capture with GoogleDocs to allow developers to indicate where rationale is in their documentation and import it into the tool.
SEURAT uses rationale to assist in software maintenance by allowing maintainers to assess the impact of changing requirements, constraints, and assumptions on an existing software system by inferencing over the previously captured rationale. SEURAT has been released as open source under the GPL and can be found on github:
My Master’s thesis was on Knowledge Elicitation (KE). My advisors were David C. Brown and Eva Hudlicka. This work involved building the Design Ordering Elicitation System (DOES), a Java application used to do web-based knowledge elicitation to determine the ordering of design subproblems using a combination of direct and indirect knowledge elicitation techniques. Part of this work involved creating a document classifying KE methods which, while not especially pretty, somehow ended up as the #1 google hit on “knowledge elicitation”.
I have also worked on several SBIR projects that involved applying different AI techniques to decision support systems. Most of this work was in using genetic algorithms for battle planning, enemy action prediction, and rapid replanning. This work was performed at Charles River Analytics.
I spent five years as the lead PI on a CPATH grant, Incorporating Communication Outcomes into the Computer Science Curriculum, with co-PIs Gerald Gannod (Miami), Paul Anderson (Miami and Elon), Mladen Vouk (NCSU), and Mike Carter (NCSU). This project teamed up faculty in Computer Science and Communication Across the Curriculum specialists from thirteen universities to develop and assess communication-focused assignments and instruction to help build student proficiency as they progressed throughout the program.
My research team has also developed SEURAT_Edu – a tool that integrates with Learning Management Systems such as Moodle and Sakai to build rationale-based assignments designed to help students become better at making design decisions.
Selected Research Grants:
National Science Foundation, awarded 2009, CAREER: Rationale Capture for High Assurance Systems, $527,864
National Science Foundation, awarded 2009 (with P. Anderson, G. Gannod, Miami University, M. Vouk, M. Carter, North Carolina State University), CPATH-2: Incorporating Communication Outcomes into the Computer Science Curriculum, $799,996 ($445,137 Miami)
National Science Foundation, awarded 2007 (with C. Wallace (PI) and M. Siegel, Michigan Technological University; P. Anderson Miami University), CPATH-CB: The Software Communication Chautauqua, $59,794 ($34,582 Miami)
Office of the Secretary of Defense, awarded 2006 (with C. Wu (PI), Charles River Analytics, Inc.), Automated Software Analysis and Visualization, $100,000 (29,971 Miami)