bach.bib 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849
  1. @INPROCEEDINGS{DRBBBCEEJK10,
  2. author = {Dur\'{a}n, Francisco and Rold\'{a}n, Manuel and Bach, Jean-Christophe
  3. and Balland, Emilie and Van Den Brand, Mark and Cordy, James R. and
  4. Eker, Steven and Engelen, Luc and De Jonge, Maartje and Kalleberg,
  5. Karl Trygve and Kats, Lennart C. L. and Moreau, Pierre-Etienne and
  6. Visser, Eelco},
  7. title = {The Third Rewrite Engines Competition},
  8. booktitle = {Proceedings of the 8th international conference on Rewriting logic
  9. and its applications},
  10. year = {2010},
  11. editor = {Ölveczky, PeterCsaba},
  12. volume = {6381},
  13. series = {WRLA'10},
  14. pages = {243-261},
  15. address = {Berlin, Heidelberg},
  16. publisher = {Springer-Verlag},
  17. abstract = {This paper presents the main results and conclusions of the Third
  18. Rewrite Engines Competition (REC III). This edition of the competition
  19. took place as part of the 8th Workshop on Rewriting Logic and its
  20. Applications (WRLA 2010), and the systems ASF+SDF, Maude, Stratego/XT,
  21. Tom, and TXL participated in it.},
  22. acmid = {1927829},
  23. crossref = {wrla2010},
  24. doi = {10.1007/978-3-642-16310-4_16},
  25. ee = {http://dx.doi.org/10.1007/978-3-642-16310-4_16},
  26. isbn = {978-3-642-16309-8},
  27. location = {Paphos, Cyprus},
  28. numpages = {19},
  29. url = {http://dl.acm.org/citation.cfm?id=1927806.1927829}
  30. }
  31. @INCOLLECTION{Afroozeh2012,
  32. author = {Afroozeh, Ali and Bach, Jean-Christophe and Brand, Mark and Johnstone,
  33. Adrian and Manders, Maarten and Moreau, Pierre-Etienne and Scott,
  34. Elizabeth},
  35. title = {Island Grammar-Based Parsing Using GLL and Tom},
  36. booktitle = {Software Language Engineering},
  37. publisher = {Springer Berlin Heidelberg},
  38. year = {2012},
  39. editor = {Czarnecki, Krzysztof and Hedin, Görel},
  40. volume = {7745},
  41. series = {Lecture Notes in Computer Science},
  42. pages = {224-243},
  43. address = {Dresden, Germany},
  44. abstract = {{Extending a language by embedding within it another language presents
  45. significant parsing challenges, especially if the embedding is recursive.
  46. The composite grammar is likely to be nondeterministic as a result
  47. of tokens that are valid in both the host and the embedded language.
  48. In this paper we examine the challenges of embedding the Tom language
  49. into a variety of general-purpose high level languages. Tom provides
  50. syntax and semantics for advanced pattern matching and tree rewriting
  51. facilities. Embedded Tom constructs are translated into the host
  52. language by a preprocessor, the output of which is a composite program
  53. written purely in the host language. Tom implementations exist for
  54. Java, C, C#, Python and Caml. The current parser is complex and difficult
  55. to maintain. In this paper, we describe how Tom can be parsed using
  56. island grammars implemented with the Generalised LL (GLL) parsing
  57. algorithm. The grammar is, as might be expected, ambiguous. Extracting
  58. the correct derivation relies on our disambiguation strategy which
  59. is based on pattern matching within the parse forest. We describe
  60. different classes of ambiguity and propose patterns for resolving
  61. them.}},
  62. doi = {10.1007/978-3-642-36089-3_13},
  63. isbn = {978-3-642-36088-6},
  64. keywords = {GLL; Tom; island grammars; parsing; disambiguation},
  65. review = {----------------------- REVIEW 1 ---------------------
  66. PAPER: 25
  67. TITLE: Island Grammar-based Parsing using GLL and Tom
  68. AUTHORS: Ali Afroozeh, Jean-Christophe Bach, Mark Van Den Brand, Adrian
  69. Johnstone, Maarten Manders, Pierre-Etienne Moreau and Elizabeth Scott
  70. OVERALL RATING: 1 (B: OK paper, but I will not champion it (accept,
  71. but could reject).)
  72. Is the paper suitable for nomination to the EAPLS award, a bridging
  73. paper award, or for an extended journal version?: 1 (no)
  74. Summary: The authors present a generalized LL parser (GLL) that allows
  75. one to embed langauge grammars into each other. The authors expamplify
  76. their tool with TOM, a term rewrite language that is embedded into
  77. Java and that itself embeds Java expressions. 4 different types of
  78. ambiguities arising from the composition are discussed and solutions
  79. are proposed.
  80. Points in favour:
  81. - The paper is about parsing multiple nested langauges using generalized
  82. LL parsing, and is thus very relevant to SLE.
  83. - The paper is well written. The paper doesn't require the reader
  84. to have a deep knowledge about the used technologies, instead explains
  85. the algorithms from the ground up.
  86. - The use of GLL grammars for composition is brave. A lot of research
  87. has gone into this area and technically none of the solutions really
  88. convinced me. This paper presents a solution that seems to work well
  89. in the given context, but that leaves many questions open (see below).
  90. Points against:
  91. - The idea of using ordered choice to resolve ambiguites isn't particularly
  92. novel.
  93. - It is not clear if the 4 ambiguties you propose solutions for are
  94. specific to your example and if they are exhaustive.
  95. - The paper focuses on two languages: Java and TOM. It is not clear
  96. how well the system scales if other languages such as SQL, XML, JavaScript,
  97. ... are added all at once. Would each langauge addition require the
  98. parser to be rebuilt? How expensive is it to build a new composition?
  99. How large would the resulting parser get? How would this affect the
  100. runtime of the parser? What is the time and space complexity of a
  101. parser composing n langauges?
  102. - It is not clear what Section 4 contributes. I don't know the difference
  103. between Peano.t and BigExample.t (other than the file-size), so the
  104. numbers in Table 1 don't tell me anything interesting. I would rather
  105. like to see a comparison of the different tools you mention in the
  106. related work.
  107. Comments:
  108. - Running the lexers of all languages in parallel can be very expensive,
  109. especially when there are many embedded langauges active.
  110. - The quoting you describe in Section 3 is essentially the quasiquoting
  111. of Lisp. You should mention that.
  112. - You might be interested in comparing your approach with http://www.jetbrains.com/mps/
  113. and with [1].
  114. [1] "Lukas Renggli, Marcus Denker, and Oscar Nierstrasz. Language
  115. Boxes: Bending the Host Language with Modular Language Changes. In
  116. Software Language Engineering: Second International Conference, SLE
  117. 2009, Denver, Colorado, October 5-6, 2009, LNCS 5969 p. 274—293,
  118. Springer, 2009."
  119. ----------------------- REVIEW 2 ---------------------
  120. PAPER: 25
  121. TITLE: Island Grammar-based Parsing using GLL and Tom
  122. AUTHORS: Ali Afroozeh, Jean-Christophe Bach, Mark Van Den Brand, Adrian
  123. Johnstone, Maarten Manders, Pierre-Etienne Moreau and Elizabeth Scott
  124. OVERALL RATING: -1 (C: Weak paper, though I will not fight strongly
  125. against it (reject, but could accept).)
  126. Is the paper suitable for nomination to the EAPLS award, a bridging
  127. paper award, or for an extended journal version?: 1 (no)
  128. Summary:
  129. The paper presents a case study on how to extend a programming language
  130. like Java or C# with the
  131. domain specific language TOM. Combining the host language grammar
  132. with the grammar of TOM leads to
  133. an ambiguous grammar. By using a generalized LL parser to generate
  134. a graph representing all
  135. possible derivations and applying rewriting rules on the generated
  136. graph, which select one of the
  137. alternatives the ambiguity is removed. The approach has been implemented
  138. and evaluated against a
  139. big set of examples.
  140. Pros:
  141. 1) I think, the paper addresses an interesting problem and presents
  142. a nice solution by combining
  143. known techniques of grammars, GLL parsing and graph rewriting. I especially
  144. like that the grammar, parser and rewriting rules for the embedded
  145. language can be
  146. reused for different host languages.
  147. 2) The authors examined their technique with a lot of examples and
  148. the practical results
  149. show that the approach works and that it is also fast enough to be
  150. applied to
  151. big programs.
  152. 3) In my opinion, the selection of TOM as the DSL for the case study
  153. has been
  154. a good choice. Due to the complex features of TOM and the good practical
  155. results, I think the approach is a promising approach to extend languages.
  156. Cons:
  157. 1) The paper essentially describes a case study with a disambiguation
  158. technique developed for that case study. As stated by the call for
  159. papers,
  160. a research paper should "report a substantial research contribution".
  161. The research contribution remains unclear. The described disambiguation
  162. technique is targeted towards the case study and even there it does
  163. not
  164. work for all examples (cf. Section 5). Furthermore, it is hard to
  165. get
  166. a more abstract idea of the disambiguation technique and to generalize
  167. from the case study.
  168. 2) Although quite readable, the presentation is unbalanced and immature;
  169. eg.:
  170. -- A detailed introduction of context-free grammars (I would assume
  171. that most
  172. readers know CFG) is followed by a hard to understand and incomplete
  173. description of the GLL parsing in Section 2.3 (I would assume that
  174. only
  175. some readers are familiar with the specific output format of GLL).
  176. It would have been much better to combine it with the explanations
  177. in 4.1.
  178. -- The disambiguation techniques is directly presented in the form
  179. it is implemented in TOM. As this is the main contribution, it should
  180. be presented in a more abstract way, unrelated to the case study
  181. and
  182. to the implementation technique. And the power and limitations of
  183. the
  184. techniques should be analysed.
  185. In summary, I like the targeted problem and the general approach,
  186. but
  187. the contribution as presented in the paper is too weak to merit a
  188. research
  189. publication.
  190. Further comments on the text:
  191. - p.9, bottom: The presentation of the TOM Syntax is missing the definition
  192. of BackQuoteWater,
  193. which gets explained but is not contained in Listing 7. Also the semantics
  194. of a variableStar
  195. construct in TOM is given nowhere.
  196. - I think, it would be much easier to read Listing 1 if you mark which
  197. parts of the example
  198. are TOM and which parts are Java. This would clearly show the nesting
  199. of the constructs.
  200. - p.2 last but one paragraph: the resulting language _is_ in the same
  201. class ...
  202. - same paragraph: shared tokens cannot always be ...
  203. - p.4, 5th para: "of an inductive types", please correct this
  204. - p.4 last paragraph: _for_ Peano, 'zero() _and_ 'suc(zero()) , correct
  205. "and", delete "for"
  206. - p.6 sec 2.3 first paragraph: cubic runtime order, I suppose it should
  207. be complexity instead of order.
  208. - sec. 2.4: the gll parsing algorithm does not currently support ->
  209. Currently, the gll parsing ...
  210. - p.13 bottom: page break between rule and its caption.
  211. - p.20, ref 7: sdf --> SDF
  212. ----------------------- REVIEW 3 ---------------------
  213. PAPER: 25
  214. TITLE: Island Grammar-based Parsing using GLL and Tom
  215. AUTHORS: Ali Afroozeh, Jean-Christophe Bach, Mark Van Den Brand, Adrian
  216. Johnstone, Maarten Manders, Pierre-Etienne Moreau and Elizabeth Scott
  217. OVERALL RATING: 3 (A: Good paper. I will champion it (advocate/accept).)
  218. Is the paper suitable for nomination to the EAPLS award, a bridging
  219. paper award, or for an extended journal version?: 2 (possibly (please
  220. motivate under REMARKS FOR THE PC))
  221. This paper describes how GLL parsing can be used with TOM, a mature
  222. pattern matching and rewriting language that has been embedded into
  223. a number of host languages.
  224. One contribution is to show how TOM can be used to write sophisticated
  225. disambiguation functions. When the GLL parser returns multiple valid
  226. parses, represented efficiently as a shared packed parse forest,
  227. TOM is used to find ambiguities and select the desired one. The intersting
  228. thing here is that much more excessive disambiguations can be expressed
  229. than in other generalized parsers.
  230. Another contribution is to apply a parser built in this way to a host
  231. language in which TOM has been embedded. This is done using island
  232. grammars and provides for some evaluation and validation of the described
  233. techniques.
  234. I think this is a quite interesting paper, the ideas are novel and
  235. worth exploring, it is highly relevant to SLE, and it would be nice
  236. to see it in SLE.
  237. However, there are some problems with the paper as it now stands.
  238. But I suspect that these can be addressed. I believe that all must
  239. be fully addressed.
  240. Incomplete listing. The discussion of Listing 7 on page 9 mentions
  241. a nonterminal type BackWaterQuote but it does not appear in the grammar
  242. in the listing. It can, however, be determined from Figures 5 and
  243. 6.
  244. Missing related work. Schwerdfeger and Van Wyk (GPCE 2007, PLDI 2009)
  245. have built a scanner and parser generator specifically for this type
  246. of problem. How does it compare? That system handles embeddings with
  247. only opening tags, supports unbounded nesting of the host construct
  248. in an extension construct in a host construct, etc. That scanner
  249. also handles terminals with overlapping regular expressions without
  250. prioritizing one over the other in all places. Since that system
  251. is deterministic one has the guarantee that the grammar is not ambiguous
  252. and thus the disambiguation phase is not needed. Is your approach
  253. easier to use or more expressive? What do you gain in this approach?
  254. The evaluation of the exiting TOM programs has some inaccuracies.
  255. You state that your approach parses "most" of the example programs
  256. which total 70,000 lines of code. But the you say that the "parsed
  257. examples" are 10,000 "characters" long. This certainly is not "most".
  258. Do you mean only the five samples shown in Table 1? This needs to
  259. be clarified.
  260. There is also no discussion of the characteristics of the programs
  261. that you cannot parse? What are some examples of where the approach
  262. doesn't work? Some discussion of this should be included.
  263. Your future work includes replacing the ANTLR parser with yours, but
  264. you do not list improving the parser so that it will parse all of
  265. the example programs. Certainly this is important, right?
  266. Other concerns:
  267. - There is no discussion about ensuring that all ambiguities will
  268. be caught. Given the large set of samples that were used perhaps
  269. It would be interesting to see how and when these ambiguities were
  270. first encountered.
  271. - Section 2.2 seems to serve no purpose as these topics are quite
  272. well known.
  273. - At the top of page 10 you state the inside back quoted expressions
  274. you want to recognize things like "1+" as part of the host, but can
  275. you distinguish "f(x)" as either a TOM pattern or as a host language
  276. function call. I suspect not and it would be helpful to discuss the
  277. consequences of this. Can the ANTLR-based system make this distinction?
  278. - The disambiguation discussed at the bottom of page 15 checks for
  279. white space between a variable and an asterisk. Does the scanner
  280. return all white space then? I guess that it must, but listing 5
  281. shows no white space between "%include" and "{" [} for balancing],
  282. so do there need to be not separated by white space? This needs to
  283. be clarified.
  284. - Why do nonterminals need to be written between double quotes in
  285. the TOM disambiguation functions? Doesn't this lead to mistyping
  286. errors that should be easily checked for? Please explain.},
  287. url = {http://dx.doi.org/10.1007/978-3-642-36089-3_13}
  288. }
  289. @TECHREPORT{Bach2009,
  290. author = {Bach, Jean-Christophe and Balland, Emilie and Brauner, Paul and Kopetz,
  291. Radu and Moreau, Pierre-Etienne and Reilles, Antoine},
  292. title = {Tom Manual},
  293. institution = {PAREO - INRIA Lorraine - LORIA - INRIA - CNRS : UMR7503 - Universit{\'e}
  294. Henri Poincar{\'e} - Nancy I - Universit{\'e} Nancy II - Institut
  295. National Polytechnique de Lorraine},
  296. year = {2009},
  297. type = {Rapport Technique},
  298. abstract = {This manual contains information for Tom version 2.7. Tom is a language
  299. extension which adds new matching primitives to languages like C,
  300. Java, and Caml. Although rich and complex, Tom is not a stand-alone
  301. language: like a preprocessor, it strongly relies on the underlying
  302. language (C, Java, or Caml), called host-language in the following.
  303. To this language, Tom adds several constructs. The main construct,
  304. \%match, is similar to the match primitive found in functional languages:
  305. given an object (called subject) and a list of patterns-actions,
  306. the match primitive selects the first pattern that matches the subject
  307. and performs the associated action. The sub ject against which we
  308. match can be any object, but in practice, this ob ject is usually
  309. a tree-based data-structure, also called term in the algebraic programming
  310. community. The match construct may be seen as an extension of the
  311. classical switch/case construct. The main difference is that the
  312. discrimination occurs on a term and not on atomic values like characters
  313. or integers: the patterns are used to discriminate and retrieve information
  314. from an algebraic data structure. There- fore, Tom is a good language
  315. for programming by pattern matching, and it is particularly well-suited
  316. for programming various transformations on trees/terms or Xml data-structures.},
  317. affiliation = {PAREO - INRIA Lorraine - LORIA - INRIA - CNRS : UMR7503 - Universit{\'e}
  318. Henri Poincar{\'e} - Nancy I - Universit{\'e} Nancy II - Institut
  319. National Polytechnique de Lorraine},
  320. hal_id = {inria-00121885},
  321. language = {Anglais},
  322. pages = {155},
  323. pdf = {http://hal.inria.fr/inria-00121885/PDF/manual-2.7.pdf},
  324. url = {http://hal.inria.fr/inria-00121885/en/}
  325. }
  326. @MANUAL{TomManual-2.10,
  327. title = {{Documentation of Tom 2.10}},
  328. url = {http://tom.loria.fr/wiki/index.php5/Documentation_Tom-2.10},
  329. author = {Jean-Christophe Bach and {\'E}milie Balland and and Paul Brauner and
  330. Radu Kopetz and Pierre-Etienne Moreau and Marc Pantel and Fran{\c c}ois Prugniel
  331. and Antoine Reilles and Cl{\'a}udia Tavares},
  332. month = {March},
  333. year = {2013}
  334. }
  335. @INPROCEEDINGS{Bach2012,
  336. author = {Jean-Christophe Bach and Xavier Crégut and Pierre-Etienne Moreau and Marc Pantel},
  337. title = {Model transformations with Tom},
  338. booktitle = {Proceedings of the Twelfth Workshop on Language Descriptions, Tools, and Applications},
  339. series = {LDTA '12},
  340. month = 3,
  341. year = {2012},
  342. isbn = {978-1-4503-1536-4},
  343. location = {Tallinn, Estonia},
  344. pages = {4:1--4:9},
  345. articleno = {4},
  346. numpages = {9},
  347. doi = {10.1145/2427048.2427052},
  348. acmid = {2427052},
  349. publisher = {ACM},
  350. address = {New York, NY, USA},
  351. abstract = {Model Driven Engineering (MDE) advocates the use of Model Transformations
  352. (MT) in order to automate repetitive development tasks. Many different
  353. model transformation languages have been proposed with a significant
  354. development cost as classical elements like expressions, statements,
  355. . . . must be developed from scratch in each language. The Tom language
  356. is a shallow extension of Java tailored to describe and implement
  357. transformations of tree based data-structures. Expressions, statements
  358. and many other elements rely directly on Java constructs and are
  359. thus almost costless. A key feature of Tom allows to map any Java
  360. data-structure to tree based data abstractions that can be accessed
  361. by pattern matching. In this paper, we present how this approach
  362. can be extended in order to describe model transformations, and in
  363. particular EMF (Eclipse Modeling Framework) based model transformations.
  364. This allows to provide a low cost transformation language both on
  365. the language tool development and on the developpers training side.},
  366. hal_id = {hal-00646350},
  367. keywords = {model transformation;Tom;language;Java;EMF;term structure},
  368. review = {----------------------- REVIEW 1 ---------------------
  369. PAPER: 15
  370. TITLE: Models Transformations with Tom
  371. AUTHORS: Jean-Christophe Bach, Pierre-Etienne Moreau, Marc Pantel
  372. and Xavier Crégut
  373. OVERALL RATING: 0 (borderline paper)
  374. This paper presents a case study of model transformations using the
  375. Tom language. It starts by presenting an example to be used through
  376. the paper. The Tom language is then introduced in its various parts.
  377. The paper then elaborates on how to use elementary transformations
  378. and strategies to achieve model transformations applying the technique
  379. to the running example.
  380. The paper is well written and it is very clear. The example presented
  381. seems to be useful, but it is not clear if the technique can be applied
  382. to other examples. In fact, the scenarios to which this technique
  383. is applicable are not clear in the paper, and this limits its interest.
  384. Some questions arise: Can Tom be used to specify any model transformation
  385. between any two different models? To which kind of models is it tailored
  386. for? Which kind of transformations should be written with it? To
  387. answer to this questions is fundamental to increase the research
  388. interest of the paper.
  389. Finally, the related work refers several transformation techniques/tools,
  390. but the relation between this paper and those works is not well exposed.
  391. A more concrete comparing should be done. Actually, the last sentence
  392. of related work is not very well supported and should be reconsidered.
  393. Small remarks:
  394. - In the first sentence of introduction, the footnote on MDE in not
  395. necessary since it was already introduced in the abstract.
  396. - In the second page, "The meta-classes can be liked by inheritance"
  397. -> "The meta-classes can be linked by inheritance"
  398. - Fist sentence of section 2, "and al" should be et al.
  399. - It would be nice if the paragraph describing figure 1 was in the
  400. same page as the figure.
  401. - In page 7, "is defined for each elements" -> "is defined for each
  402. element".
  403. - End of page 8, "how each specific sub-parts" -> "how each specific
  404. sub-part".
  405. - Last paragraph of page 9, "is specified in term" -> "is specified
  406. in terms".
  407. ----------------------- REVIEW 2 ---------------------
  408. PAPER: 15
  409. TITLE: Models Transformations with Tom
  410. AUTHORS: Jean-Christophe Bach, Pierre-Etienne Moreau, Marc Pantel
  411. and Xavier Crégut
  412. OVERALL RATING: 0 (borderline paper)
  413. The paper describes the transformation language TOM, which is built
  414. on Java.
  415. TOM can be used to implement model transformations.
  416. The paper describes the language and presents an example of a model
  417. transformation implemented with the language.
  418. The paper is well-structured and mostly easy to follow.
  419. However, mainly in Section 3 it sometimes is unclear.
  420. The language constructs are not explained thoroughly enough and also
  421. the motivation on why they are needed is missing.
  422. Also, I think the authors do not use the paper enough to sell TOM.
  423. All in all, I think the paper certainly has great potential, but it
  424. could use some work, therefore I give it the score 'borderline'
  425. There are a lot of spelling and grammar errors in the paper.
  426. A reasonable grammar checker should be able to find most of them.
  427. I think this requires little effort, but makes the paper much better.
  428. After reading the introduction, I was confused about the message the
  429. paper should convey.
  430. At first, it seems that advice will be given on how to implement a
  431. transformation language in a way to avoid a large amount of rework
  432. that has to be done for standard functionality. (see for example
  433. last line of the abstract)
  434. Later, it turns out that the actual message is that TOM will be presented,
  435. which has been done in such a way as to minimize the aforementioned
  436. rework.
  437. I think this distinction should be made more clear.
  438. In the abstract it is stated that certain language elements rely on
  439. Java and are therefore costless.
  440. With costless, I assume this means that implementation of these constructs
  441. in the language is easy.
  442. Or does it mean that no performance penalty is imposed when using
  443. the construct.
  444. Or does it mean that it is easy to understand how the construct works.
  445. If one of the latter two is meant, then this is interesting for a
  446. user of the language and it should be made more clear.
  447. If it is the first, it is not really important for a user and I think
  448. it may be omitted.
  449. In the introduction, two approaches to model transformation are described.
  450. There is one more, see S. Sendall and W. Kozaczynski: Model Transformation:
  451. The Heart and Soul of Model-Driven Software Development.
  452. In the introduction is stated that the development of new languages
  453. is costly.
  454. I wonder how much of a problem is this. How often do you decide to
  455. implement a new language?
  456. Such an argument does not convince me to use TOM.
  457. As I mentioned before, the message of the paper is unclear. I think
  458. the focus should be more on why to use TOM rather than to justify
  459. the way it is implemented.
  460. In the introduction is stated "... are handled as strings." Is this
  461. always the case? Can it be done differently?
  462. In Section 3, some code snippets with line numbers are shown. I would
  463. advice to use these line numbers in the accompanying text to refer
  464. to certain parts in the code.
  465. In Section 3 a 'ProcessElementEList' construct is described. Is this
  466. a built-in TOM function, or is it manually implemented? This should
  467. be made clear.
  468. The %typeterm construct explanation is insufficiently clear, this
  469. should be explained more thoroughly.
  470. The %op construct appears in a code snippet, but is not explained.
  471. The 'is_fsym' construct is explained, but not motivated. Why is it
  472. needed?
  473. The second paragraph in the subsection 'Generator of algebraic views'
  474. I don't understand.
  475. What does it mean and why is it needed?
  476. In the last subsection of Section 3, the implementation is described.
  477. I was wondering how flexible is TOM with respect to changes in EMF?
  478. In the last subsection of Section 3 is stated "...avoid many dynamic
  479. casts."
  480. What is the advantage of this.
  481. After reading Section 3, I wondered how a target model is emitted
  482. and also how it can be checked whether it conforms to its metamodel.
  483. Some clarification on this would help.
  484. In the second paragraph of Section 4 the word 'treatments' is used.
  485. Is this the same as a transformation step?
  486. After reading the part on 'Generic traversal strategies', I was wondering
  487. why it is needed.
  488. Since TOM is based on Java, why not implement a transformation imperatively
  489. and express a transformation strategy like that?
  490. In the part on 'Decomposition of the transformation' is referred to
  491. 'elementary transformation'. What is that?
  492. After reading Section 4, I was wondering how the 'resolve' strategy
  493. is invoked.
  494. I assume that is after the rest of the transformation has been performed.
  495. Is it required that this strategy is called 'resolve', or is any name
  496. fine?
  497. In Section 5, related work is described.
  498. This section lacks positioning of TOM with respect to the related
  499. work.
  500. This should be added.
  501. ----------------------- REVIEW 3 ---------------------
  502. PAPER: 15
  503. TITLE: Models Transformations with Tom
  504. AUTHORS: Jean-Christophe Bach, Pierre-Etienne Moreau, Marc Pantel
  505. and Xavier Crégut
  506. OVERALL RATING: 1 (weak accept)
  507. The paper presents Tom: an extension of Java that allows pattern matching
  508. over terms and creation of terms. The paper illustrates the application
  509. of Tom for model transformations.
  510. Term rewriting, strategies and extensions of general purpose languages
  511. (Java in this work) are not new techniques. Tom is a language that
  512. integrates these technologies in an interesting way and applies them
  513. for model transformations.
  514. The main motivation of the authors is that it is often easier to use
  515. an already existing language to solve a problem instead of using
  516. a domain-specific language. Furthermore, the tools for the current
  517. model transformation languages are still immature. The latter argument
  518. is valid, however, the decision to use or not to use DSL/GPL is not
  519. always easy. The authors should be more careful in their argumentation
  520. for choosing the approach of extending a GPL to perform model tranformations.
  521. Every library or an extension that aims at solving model transformation
  522. problems implies some learning effort. In the case of Tom the developer
  523. needs to understand the new constructs added to Java, the concept
  524. of strategy and to take care of maintaining and resolving traces
  525. between model elements. Thus, it is not clear if this effort is less
  526. than the effort required to learn a relatively simple domain-specific
  527. transformation language. Moreover, it seems that the developer has
  528. to encode the rule execution order explicitly. Several declarative
  529. transformation languages (e.g. ATL, QVTr) detect the order at runtime
  530. and free the developer from this task.
  531. The paper gives only one example of application of Tom for model transformations.
  532. This is not enough for getting a real impression of the language.
  533. If other examples are available the authors may give a reference
  534. to them.},
  535. url = {http://doi.acm.org/10.1145/2427048.2427052}
  536. }
  537. @INPROCEEDINGS{Bach2012a,
  538. author = {Bach, Jean-Christophe and Moreau, Pierre-Etienne and Pantel, Marc},
  539. title = {Tom-based tools to transform {EMF} models in avionics context},
  540. booktitle = {ITSLE},
  541. year = {2012},
  542. address = {Dresden, Germany},
  543. abstract = {{Model Driven Engineering (MDE) is now widely used in many industrial
  544. contexts such as the AeroSpace domain which requires a high level
  545. of system safety. Model-checking is one of the formal techniques
  546. which are considered to ensure a system compliance to its requirements.
  547. It relies on verification dedicated languages to model the system
  548. under verification. In order to ease the use of these tools, model
  549. transformations are provided that translate the end user provided
  550. input model of the system to the formal languages than can be verified.
  551. In order to rely on these activities for system certification, the
  552. correctness of these transformation steps must be assessed (qualification
  553. of the development and verification tools). One of the goal of our
  554. work is to provide tools to implement the transformation steps between
  555. the end user source languages used for the system development and
  556. the target languages used for formal verification. In this paper,
  557. we present a Tom rule-based approach which is used in a research
  558. project involving industrial partners: Airbus and Ellidiss.}},
  559. keywords = {model transformation, language, Tom, Java, EMF, Domain Specific Language,
  560. DSL, AADL, Fiacre},
  561. type = {inproceedings}
  562. }
  563. @MISC{Bach2012b,
  564. author = {Bach, Jean-Christophe and Moreau, Pierre-Etienne and Pantel, Marc},
  565. title = {{EMF Models Transformations with Tom}},
  566. howpublished = {poster},
  567. year = {2012}
  568. }
  569. TODO: update
  570. @ARTICLE{bachTSI2014,
  571. hal_id = {hal-00786254},
  572. url = {http://hal.inria.fr/hal-00786254},
  573. title = {{Une approche hybride GPL-DSL pour transformer des mod{\`e}les}},
  574. author = {Bach, Jean-Christophe},
  575. language = {Fran{\c c}ais},
  576. pages = {175-201},
  577. volume = {33},
  578. number = {3},
  579. year = {2014},
  580. journal = {Technique et Science Informatiques},
  581. doi = {10.3166/tsi.33.175-201},
  582. ee = {http://dx.doi.org/10.3166/tsi.33.175-201},
  583. address = {France}
  584. }