Patent ID: 8495329

Claim:
A computer readable storage medium, which is not a transitory propagating signal, storing computer executable instructions for controlling a computing device to perform a method comprising: defining a plurality of type modifiers for controlling access to type members through references pointing at an object in a shared-access memory; and associating one of the plurality of type modifiers with a type name for all concurrent occurrences of the type name, wherein each of the plurality of type modifiers defines a different access permission to restrict operations on the pointed-to object to which the reference points, the access permissions including: an immutable permission allows the pointed-to object to be shared among concurrent threads wherein changes to the pointed-to object are confined to the scope of a called function but the state of the pointed to object is statically determined not to change in a calling function; a read permission allows the pointed-to object to be shared among concurrent threads with concurrency safety for concurrent reads; a write permission does not allow the pointed-to object to be shared among concurrent threads; and defining an isolated method as the called function that obey the access permissions.