Patent ID: 7451434

Claim:
A development environment for developing application programs in a computer programming language and a runtime environment for running application programs developed using the development environment, the development and runtime environment comprising: a development environment programmed to enable a developer using the development environment to declare an area class at design time, where the developer declares shared memory behaviors in the area class declaration; the area class declaration causes the area class to be generated for use by an application at runtime as an organizational unit for a shared objects memory, the shared objects memory is a region of memory managed by the runtime environment that is available to be shared by multiple sessions of one or more applications running in the runtime environment, applications store content in area instances at runtime, an area instance being an instance of the area class, and the declaration of the area class causes instance methods to be defined and generated, the instance methods including methods for attaching and detaching a running session of an application to and from an area instance, a method for detaching a session from a change request on an area instance with a commit, and a method for detaching a session from a change request on an area instance with a rollback; and code in the runtime environment that manages locks for area instances, locks applying to individual area instances as a whole, the runtime environment permitting to be attached to a particular area instance only (i) one or more readers, or (ii) exactly one changer, a changer being a writer or an updater, or (iii) no readers or changers; and code in the development and runtime environments that supports programming language constructs for creating area instances and programming language constructs for creating data objects within area instances, where the data objects can be of arbitrary data type including elementary data types, structures, and references.