Example of locking strategy: MetaEdit+
Uses all three modes of concurrency control
- versions maintained and through sessions users can write/ undo their changes
- locks are used to prevent interruptions and damaging consistent data
- users are made aware of who has locks and what objects have been locked
MetaEdit+ uses several locking strategies that reflect expected CASE usage patterns
- Locking independent of tools uses (or tool requests)
- Locking in most cases automatic
- Strategy to obtain all locks or no locks at all
- Reports failures to obtain locks and queues locks