Bug 545245 - [language] Add Declarative Mutexes
Summary: [language] Add Declarative Mutexes
Status: NEW
Alias: None
Product: QVTd
Classification: Modeling
Component: Core (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 10
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-03-10 08:58 EDT by Ed Willink CLA
Modified: 2019-03-10 08:58 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ed Willink CLA 2019-03-10 08:58:24 EDT
Problems such as the Dining Philosophers, or the simplified PartialPhilosophers from Bug 515490 need a reservation capability and consequently an acquire/release, which necessitates a re-assignment of model state contrary to the QVTr declarative principles.

If we have a declarative mutex concept, a relation could specify that it requires one or more mutexes for the duration of its execution and any called relations that also specify the mutex. The scheduler can supervise the acquisition of mutexes avoiding deadlock and avoiding re-assignment to model state.