You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It would be great to be able to have mutually exclusive transactions like done for the applications. This would allow us to work at a lower level of granularity, which helps to be more precise in some cases.
For example, t_a exclusiveWith t_b.
The text was updated successfully, but these errors were encountered:
Understand that exclusiveWith is an interference view operator, so it can only be used during interference rules specification for transactions (respectively applications) in the definition of a PhysicalTableBasedInterferenceSpecification (respectively ApplicativeTableBasedInterferenceSpecification).
We consider the former case, specifying interference for transactions. The process is the following:
Specify interference rules on transactions: We declare a trait that extends PhysicalTableBasedInterferenceSpecification.
Configure the platform to view transactions: We specify the platform to which the specification applies (standard in PML), and configure the platform with a software and a transaction library (not as standard here).
Tag two transactions as exclusive: We tag each transaction as used and retrieve its concrete counterpart. Then we can call the exclusiveWith operator on both concrete transactions.
Repeat 3. as required
/* 1. Specify interference rules on transactions */traitMyPhysicalTableBasedInterferenceSpecificationextendsPhysicalTableBasedInterferenceSpecification {
/* 2. Configure the platform to view transactions. */self: SimpleKeystonePlatformwithSimpleSoftwareAllocationwithSimpleKeystoneTransactionLibrary=>/* ... *//* 3. Tag two transactions as exclusive */for {
/* Tag each transaction as used, and retrieve its counterpart */
l <- t12_app1_rd_d1.used.toPhysical
r <- t221_app22_rd_d2.used.toPhysical
} yield {
l exclusiveWith r /* Tag the selected transactions as exclusive */
}
@kevin-delmas , I am conscious this is quite an inelegant workaround. I might ping you to discuss how to add an operator on Transaction that does just this.
It would be great to be able to have mutually exclusive transactions like done for the applications. This would allow us to work at a lower level of granularity, which helps to be more precise in some cases.
For example, t_a exclusiveWith t_b.
The text was updated successfully, but these errors were encountered: