Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[qvto-dev] Is "a "where" post-condition useful / Is the QVTo-QVTr link useful?

Hi

[Since two of the most important committers do not have access to the OMG QVT JIRA, I shall use this channel for advice as I resolve issues over the next couple of weeks leading up to a QVT 1.3 RTF report in mid-November. Please try to respond promptly and not cross-threads.]

Issue 18363 / http://solitaire.omg.org/browse/QVT13-24 attempts to impose declarative consistency on imperative mappings

------

The basic report is an inappropriate attempt to apply the rigour of declarative semantics to the anarchy of imperative. Just need to be clearer.

But as always close examination reveals real problems.

QVTo has "when" and "where" to correlate with QVTr. "when" fine, but, ignoring the different modeltype "where", QVTo describes "where" as a postcondition, but in QVTr "where" is a corrolary; something that is done afterwards and which may succeed or fail without affecting the caller. How can a post-condition affect a QVTo mapping? Are all the imperative side-effects supposed to be unwound if the post-condition fails? Obviously not, it's a rubbish concept. Suggest remove this form of "where" altogether from QVTo. (Eclipse QVTo method names incorrectly describe it as a where pre-condition. Eclipse QVTo chooses to have a fatal assertion failure if where fails; syntax sugar for a crash.)

-------

Is there any use for "where" 'post-conditions'?

Do we just retire "where" gracefully and recommend that if users want a crash they program it more explicitly?

Since this is all part of the grand scheme that all QVTo mappings are QVTr relations in disguise, do we want to retire this underspecified/untested/unimplemented masquerade completely? or do we leave it as bloat until someone actually prototypes a solution?

    Regards

        Ed Willink




Back to the top