Currently it is possible to pass and return reference parameters to active object methods. It should check that all reference parameters are const. For return types we should do the same, but it might actually be convenient for them not to be const, if we want to use the result. The user can always override the const in this case though---at least they know they are doing something dangerous.
In due course we should allow a mechanism whereby we can have output parameters using futures. This can be done automatically for pointer parameters. We might say that if we have a pointer to a Future type, and it is non-const, then it will be returned as a future. If it is const then it is just passed in by copy.
Click here for more information on UCL-CS.