-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Review of Henshin #6
Comments
The paper shows a solution to the round trip case by Henshin. Expressiveness: the case is pretty simple and obviously Henshin is able to cover it very easily. Comprehensibility: to me the Henshin solution looks very verbose. However I like how close the solution matches the case description. Bidirectionality: The solution has one rule for forward and one rule for backward migration. Thus you specify both directions separately but the result is bidirectional. Performance: 100 times slower than the reference solution. Allover a nice and straight forward solution to the case |
The paper shows how the case is tackled using Henshin. ExpressivenessObviously, Henshin is well suited to express the case in an unidirectional manner. However, I would expect that model migrations are usually small and Henshin requires rules also for unchanged parts. Therefore, many rules appear useless as the preserve part is exactly the same as the create part. ComprehensibilityThe bunch of the identical rules conceal the rules that carry the actual changes between the models. Otherwise, Henshin rules are generally very easy to comprehend and the embedded JavaScript expressions make it easy to grasp also algorithm bits. BidirectionalityThe rules for forward and backward directions are entirely separated. Re-usabilityAs pointed out in the paper, the rules are actually much too simple to justify a reuse. PerformanceIn my opinion, the provided test models are way too small in order to get any reliable finding with regard to performance. |
Hi Georg, thanks for your review. Could you also comment on the specific evaluation criteria mentioned in the case description? That's the interface I implemented against, so I think it would be fair to consider them. For expressiveness, the criterion is whether the test cases pass. Thanks! |
No description provided.
The text was updated successfully, but these errors were encountered: