Леммель, Ральф

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Ральф Леммель
Ralf Lämmel
Ralf Laemmel Wikimedia Conferentie Nederland 2012 - Flickr - Sebastiaan ter Burg.jpg
Место рождения:
Страна:

Германия

Научная сфера:

информатика

Место работы:

Ростокский университет
Центр математики и информатики
Свободный университет Амстердама
Microsoft
Университет Кобленца-Ландау[de]

Альма-матер:

Ростокский университет

Учёная степень:

доктор философии

Учёное звание:

профессор

Научный руководитель:

Гюнтер Ридевальд

Ральф Леммель — немецкий учёный, профессор Университета в Кобленце и Ландау[de], декан факультета информатики[1]. Входит в список самых плодовитых авторов научных статей по версии DBLP как имеющий около 150 опубликованных работ[2]. Индекс Хирша — 35[3].

Ральф Леммель защитил диссертацию на соискание степени доктора-инженера по теме «Функциональные метапрограммы в помощью повторному использованию в рамках декларативной парадигмы»[4][5] в 1999, и позже в том же году переехал в Нидерланды, где проработал несколько лет в различных научно-исследовательских организациях. В 2005 Леммель перешёл работать в Microsoft, где занимался НИОКР в области XML-технологий[1]. После 2007 года вернулся в Европу, где занял позицию профессора в небольшом немецком университете, на которой и работает (на 2016 год).

Среди самых широко цитируемых работ Леммеля — статья с объяснением модели распределённых вычислений MapReduce[6]. Вместо используемого в Google языка Sawzall[en] он продемонстрировал возможности типизации, абстракции, распараллеливания и агрегации для более популярного языка Haskell, а позже добавил и реализацию для Hadoop[7]. Ещё более известен предложенный Леммелем стиль функционального обобщённого программирования под названием «scrap your boilerplate» (SYB, приблизительно переводится как «вычищение шаблонов»), которому посвящён целый ряд статей[8][9][10][11][12][13], написанных большей частью в соавторстве с Саймоном Пейтон-Джонсом, ведущим разработчиком языка Haskell. Задача, решаемая методикой SYB, заключается в том, что обход[en] иерархических структур данных (например, деревьев), что часто встречаются в программировании, совершается однообразным кодом, который перебирает все возможные варианты на каждом уровне иерархии и продолжает обход в желаемом направлении. Если такого кода существенно больше, чем кода, относящегося к собственно центральному алгоритму, это отвлекает программиста и рассеивает его внимание. SYB предлагает набор полиморфных комбинаторов, скрывающих рутинный код обхода и позволяющий программисту сфокусировать внимание на более важных аспектах.

Леммель является соавтором некоторых терминов, получивших широкое признание и распространение в научном сообществе. Среди них: «грамматическое обеспечение» (grammarware, по аналогии с программным обеспечением)[14] как дисциплина создания грамматик, схем баз данных, систем типов и прочих компонент компилятора; «языковая инженерия» (software language engineering, по аналогии с программной инженерией)[15][16][17] как область научных исследований, изучающая языки программирования, моделирования, проектирования, спецификаций, разметки, описания аппаратуры или интерфейсов, предметно-ориентированные языки, языки запросов и т. п.; «хрестоматия программного обеспечения» (software chrestomathy)[18][19][20] как репозиторий, в котором в связанном друг с другом виде хранятся исходный код, документация, модели, архитектура, сценарии сборки, структуры данных и прочие компоненты. В 2009 году он стал одним из основателей конференции по языковой инженерии SLE (International Conference of Software Language Engineering)[1][21].

Ральф Леммель был одним из учёных, заложивших основы общей теории двунаправленных преобразований[en] (англ. bidirectional transformation, bx)[22] и представлял там теорию языков программирования. Двунаправленные преобразования — это не всегда биективные отображения, двунаправленной может считаться любая пара преобразований, связанная определёнными законами. Например, представление получается из базы данных фильтрацией содержимого, но в некоторых системах изменения представления могут быть возвращены в исходную базу и применены к полному набору имеющихся там данных. Вклад Леммеля заключался в двунаправленных преобразованиях грамматик[22].

Примечания[править | править вики-текст]

  1. 1 2 3 CV/Bio Ralf Lämmel: Short bio; Long bio.
  2. Most prolific dblp authors.
  3. Ralf Lämmel на Google Scholar.
  4. Ralf Lämmel на Mathematics Genealogy Project.
  5. Ralf Lämmel, Functional meta-programs towards reusability in the declarative paradigm, Shaker Verlag, 1999, ISBN 3-8265-6042-6.
  6. Ralf Lämmel, Google’s MapReduce programming model — Revisited. Sci. Comput. Program. 70(1): 1-30 (2008).
  7. Ralf Lämmel, David Saile, MapReduce with Deltas, PDPTA 2011.
  8. Ralf Lämmel, Simon L. Peyton Jones, Scrap your boilerplate: a practical design pattern for generic programming. TLDI 2003: 26-37.
  9. Simon L. Peyton Jones, Ralf Lämmel, Scrap Your Boilerplate. APLAS 2003: 357.
  10. Ralf Lämmel, Simon L. Peyton Jones, Scrap more boilerplate: reflection, zips, and generalised casts. ICFP 2004: 244—255.
  11. Ralf Lämmel, Simon L. Peyton Jones, Scrap your boilerplate with class: extensible generic functions. ICFP 2005: 204—215.
  12. Ralf Lämmel, Scrap your boilerplate with XPath-like combinators. POPL 2007: 137—142.
  13. Ralf Lämmel, Scrap your boilerplate: prologically! PPDP 2009: 7-12.
  14. Paul Klint, Ralf Lämmel, Chris Verhoef, Toward an engineering discipline for grammarware. ACM Trans. Softw. Eng. Methodol. 14(3): 331—380 (2005).
  15. Dragan Gasevic, Ralf Lämmel, Eric Van Wyk, Software Language Engineering, First International Conference, SLE 2008, Toulouse, France, September 29-30, 2008. Revised Selected Papers. Lecture Notes in Computer Science 5452, Springer 2009, ISBN 978-3-642-00433-9.
  16. Jean-Marie Favre, Dragan Gasevic, Ralf Lämmel, Andreas Winter, Editorial — Software language engineering. IET Software 2(3): 161—164 (2008).
  17. Jean-Marie Favre, Dragan Gasevic, Ralf Lämmel, Andreas Winter, Guest Editors' Introduction to the Special Section on Software Language Engineering. IEEE Trans. Software Eng. 35(6): 737—741 (2009).
  18. Jean-Marie Favre, Ralf Lämmel, Martin Leinberger, Thomas Schmorleiz, Andrei Varanovich, Linking Documentation and Source Code in a Software Chrestomathy. WCRE 2012: 335—344.
  19. Ralf Lämmel: Software chrestomathies. Sci. Comput. Program. 97: 98-104 (2015).
  20. Jean-Marie Favre, Ralf Lämmel, Thomas Schmorleiz, Andrei Varanovich, 101companies: A Community Project on Software Technologies and Software Languages. TOOLS (50) 2012: 58-74.
  21. SLE2008 — 1st International Conference on Software Language Engineering — Committees.
  22. 1 2 Krzysztof Czarnecki, J. Nathan Foster, Zhenjiang Hu, Ralf Lämmel, Andy Schürr, James F. Terwilliger, Bidirectional Transformations: A Cross-Discipline Perspective. ICMT 2009: 260—283