eMoflon / benchmarx

Infrastructure for implementing benchmarx: benchmarks for bidirectional transformation (bx) tools. Also contains a collection of example benchmarx and test runners for various and diverse bx tools.
GNU General Public License v3.0
9 stars 12 forks source link

Test Case 6e (TC 6e): Incremental Fwd Mixed #17

Closed anthonyanjorin closed 7 years ago

anthonyanjorin commented 7 years ago

Suggested precondition:

FamilyRegister {

}

PersonRegister {

}

Set birthdays of all persons in the person register (this must be propagated as a target delta so the tools' inner state is consistent).


Then propagate the source delta deleting and re-creating Homer (father).

Expected postcondition:

FamilyRegister {

}

PersonRegister {

}

anthonyanjorin commented 7 years ago

Features: [fwd | structural | add+del | fixed]

I don't think this test is corr-based as there is only one Simpson, Homer

tbuchmann commented 7 years ago

The description of the postcondition has a wrong family register. It should be:

FamilyRegister {

Skinner
Flanders
    Rod (son)
Simpson
    Bart (father)
Simpson
    Homer (father) <- the deleted and recreated one
    Marge (mother)
    Bart (son)
    Bart (son)
    Lisa (daughter)
    Maggie (daughter)

}

tbuchmann commented 7 years ago

I added two new methods in the BXTool Interface:

They were required in order to get the incremental forward behavior for all TC6a-TC6e right. If performAndPropagateTargetEdit is used instead, this creates a round-trip scenario in which e.g. medini failes on most preconditions, because the backward transformation destroys the family model.