Many researchers have suggested the atomic data type approach to maintaining data consistency in a system. In this approach, atomicity is ensured by the data objects that are shared by concurrent activities. By using the semantics of the operations of the shared objects,greater concurrency among activities can be permitted. In addition, by encapsulating synchronisation and recovery in the implementation of the shared objects,modularity can be enhanced. Existing systems support user-defined atomic data types in an explicit approach. They either permit limited semantics to be presented thus providing less concurrency, or permit a high level of semantics to be presented but in an encapsulated way,thus resulting in a complicated implementation. The result of this research makes the implementation of user-defined atomic data types simple, efficient, while still permitting great concurrency. It lessens the programmer's burden by supporting an implicit approach for implementing atomic data types. It permits a high level of semantics to be specified in a declarative way,which makes the implementation of user-defined atomic data types as simple as in a sequential environment.