Object-oriented programming was supposed to unify the perspectives of the programmer and the end user in computer code: a boon both to usability and program comprehension. While objects capture structure well, they fail to capture system action. DCI is a vision to capture the end user cognitive model of roles and interactions between them.
D. Svetinovic, D. Berry, and M. Godfrey. ROA '06: Proceedings of the 2006 international workshop on Role of abstraction in software engineering, page 19--22. New York, NY, USA, ACM Press, (2006)
P. Kueng, P. Bichler, P. Kawalek, and M. Schrefl. Proceedings of the IFIP TC8, WG8.1/8.2 working conference on method engineering on Method engineering : principles of method construction and tool support, page 94--110. London, UK, UK, Chapman & Hall, Ltd., (1996)http://portal.acm.org/citation.cfm?id=278337.278346.