[synchronized]{} variable, the attributes [Concurrent\_Read]{} and [Concurrent\_Write]{} need not be given for actual read and write accesses of this variable. However, these attributes may be used to temporarily over-write the default values specified for the variable by the aspects. For example\
\
\
…\
;\
does the same as the example above but without spoiling the assignment statement.

Aspect [Synchronized\_Components]{} relates to aspect [Synchronized]{} in the same way as [Atomic\_Components]{} relates to [Atomic]{} in Ada 2012.

[Read-Modify-Write Variables]{} If a variable inside the data part of a [concurrent]{} object is labeled by the aspect [Read\_Modify\_Write]{}, this implies that the variable is [synchronized]{}. Write access to a read-modify-write variable in the implementation of the protected object’s operations is a read-modify-write access. The read-modify-write access is done via the attribute [Concurrent\_Exchange]{}. The two parameters of this attribute are [Memory\_Order\_Success]{} and [Memory\_Order\_Failure]{}. The first specifies the memory order for a successful write, the second one the memory order if the write access fails (and a new value is assigned to the variable).

[Memory\_Order\_Success]{} is one of [Sequentially\_Consistent]{}, [Acquire]{},, and [Relaxed]{}.

[Memory\_Order\_Failure]{} may be one of [Sequentially\_Consistent]{}, [Acquire]{}, and [Relaxed]{}. The default value for both is [Sequentially\_Consistent]{}. For the same read-modify-write access the memory 