Title: Arguments and Results Name: James Noble Email: kjx@mri.mq.edu.au Postal: MRI, School of MPCE, Macquarie University, NSW 2109 Australia Phone: +61 2 9850 9530 Subject: object oriented design, some very basic concurrency Keywords: message, arguments, selector, results, lazy, future Abstract: If an object oriented program is a collection of communicating objects, then the objects' protocols define the languages the program speaks. Unfortunately, protocols are difficult to design in isolation, so many programs' protocols are not as well designed as they could be. This paper presents six patterns which describe how objects protocols can be designed or redesigned. By using these patterns, programs and designs can be made more simple, more general, and more easy to change.