CS2125 Paper Review Form - Winter 2018 Reviewer: Ramy Shahin Paper Title: Henshin: Advanced Concepts and Tools for In-Place EMF Model Transformations Author(s): Thorsten Arendt et al. 1) Is the paper technically correct? [ ] Yes [*] Mostly (minor flaws, but mostly solid) [ ] No 2) Originality [ ] Very good (very novel, trailblazing work) [ ] Good [*] Marginal (very incremental) [ ] Poor (little or nothing that is new) 3) Technical Depth [ ] Very good (comparable to best conference papers) [ ] Good (comparable to typical conference papers) [*] Marginal depth [ ] Little or no depth 4) Impact/Significance [ ] Very significant [ ] Significant [*] Marginal significance. [ ] Little or no significance. 5) Presentation [ ] Very well written [ ] Generally well written [ ] Readable [*] Needs considerable work [ ] Unacceptably bad 6) Overall Rating [ ] Strong accept (award quality) [ ] Accept (high quality - would argue for acceptance) [*] Weak Accept (borderline, but lean towards acceptance) [ ] Weak Reject (not sure why this paper was published) 7) Summary of the paper's main contribution and rationale for your recommendation. (1-2 paragraphs) The paper introduces Henshin, a model transformation language and engine based on the theory of Algebraic Graph Transformations. Henshin extends its predecessor language EMF Tiger with declarative constructs for specifying application conditions, and some control-flow constructs working at the level of transformation units. The paper argues that with model transformations implemented in Henshin, meta-model evolution can be achieved. This is true because meta-models are themselves models at the meta level, and a transformation from one meta-model can itself be instantiated for individual models conforming to the source meta-model. Also a state space generation tool is implemented to verify Henshin model transformations. Third party verification tools (e.g. the CADP model checker and an OCL validator) can be integrated to check the generated state machine. 8) List 1-3 strengths of the paper. (1-2 sentences each, identified as S1, S2, S3.) S1 - The state space generation tool, together with extensibility of the engine with third party verification tools, are important features that allow for the verification of Henshin transformations (e.g. invariant checking, deadlock detection, temporal logic property checking). S2 - Specifying the Henshin language itself as an EMF meta-model allows for using other EMF-based tools on Henshin transformations, and further interoperability with the EMF infrastructure. 9) List 1-3 weaknesses of the paper (1-2 sentences each, identified as W1, W2, W3.) W1 - In section 5.2, it is mentioned that the Henshin runtime has an “efficient interpreter engine”. This claim is not backed by any quantitative data on runtime efficiency, or even performance numbers on small benchmarks. Further, it is known that interpreter-based engines are less efficient than compiled extensions (e.g. static and dynamic libraries). The paper does not back the decision of using an interpreter with any reasonable argument. W2 - The rationale behind the design of the Henshin control flow constructs is not very clear from the paper. It seems like these constructs were designed in an ad-hoc fashion just to fill known gaps existing in EMF Tiger. Also it is not clear of the language allows developers to build their own control constructs on top of existing ones. W3 - Some of the terms used to name the language constructs don't reflect the intended semantics of those constructs. For example, AmalgamationUnit seems to be a misnomer, or even an oxymoron, since an amalgamation is a composite not a unit.