This Learning Path took you through a practical approach to exploring the Arm memory model and thread synchronization.
If you would like to explore this topic further and more formally, read through these posts from the Arm Architectures and Processors Blog:
The diy7 documentation also provides links to papers that explore memory models more formally.
There are many more tests that can be explored in the herd7 simulator tool .