Jump to content

Акселео

Акселео
Разработчик(и) Фонд Затмения
Стабильная версия
3.7.9 [1]  Отредактируйте это в Викиданных / 6 ноября 2019 г .; 4 года назад ( 6 ноября 2019 )
Репозиторий
Написано в Ява
Платформа Linux , macOS , Microsoft Windows
Тип Генератор кода
Лицензия Публичная лицензия Eclipse
Веб-сайт www .затмение .dev /ускорение

Acceleo — это генератор кода с открытым исходным кодом от Eclipse Foundation , который позволяет людям использовать модельно-ориентированный подход к созданию приложений. Это реализация стандарта MOFM2T от Object Management Group (OMG) для выполнения преобразования модели в текст.

История и развитие

[ редактировать ]

Ранние версии

[ редактировать ]

Проект Acceleo родился в 2006 году с веб-сайтом Acceleo.org. Acceleo 1.0 распространялся по лицензии GNU Public License (GPL) и был совместим с Eclipse 3.0, 3.1 и несколькими программами моделирования, основанными на EMF и UML 1.2. Несколько недель спустя Acceleo 1.1 [2] обеспечила совместимость с Eclipse 3.2 и UML 1.3. Acceleo изменила свою лицензию с выпуском Acceleo 1.2, приняв Общественную лицензию Eclipse (EPL), используемую в проектах Eclipse Foundation. Акселео 2 [3] был доступен 5 июня 2007 г., после запуска веб-сайта Planet.acceleo.org, на котором размещены статьи, созданные членами сообщества Acceleo, и репозитория модулей Acceleo, содержащего генераторы кода на основе Acceleo 2.

Вход в Фонд Eclipse

[ редактировать ]

В 2009 году при переходе на Acceleo 3 проект был принят в Eclipse Foundation. Во время этого перехода язык, используемый Acceleo для определения генератора кода, был изменен и теперь использует новый стандарт OMG для преобразования модели в текст — MOFM2T. С выпуском Eclipse 3.6 Helios Acceleo включен в пакет одновременного выпуска Eclipse в качестве официального проекта Eclipse Foundation. Acceleo — это плагин Eclipse, поэтому он интегрирован в Eclipse IDE. Acceleo построен на основе нескольких ключевых технологий Eclipse, таких как EMF и, начиная с выпуска Acceleo 3, реализации OCL в Eclipse. OCL — это стандартный язык OMG для навигации по моделям и определения ограничений на элементы модели.

Торговая марка

[ редактировать ]

Хотя исходный код Acceleo является открытым, товарный знак Acceleo и его логотип, интегрированные в Acceleo, не являются открытым исходным кодом. Они были торговой маркой компании Obeo, создателя Acceleo, и были переданы Eclipse Foundation, когда Acceleo был принят в качестве официального проекта. [4]

Исходный код

[ редактировать ]

Acceleo — проект Eclipse, в основном разработанный на Java. [5] и доступен по общественной лицензии Eclipse (EPL). Исходный код Acceleo 1.x и 2.x доступен в SVN на сайте Консорциума OW2. [6] С момента вступления в Eclipse Foundation в 2009 году исходный код Acceleo 3 был перенесен из SVN в репозиторий на базе CVS на серверах Eclipse Foundation. [7] После выпуска Eclipse 3.7 Indigo в 2011 году проект Acceleo перешёл на Git. [8] после миграции, начатой ​​несколькими официальными проектами Eclipse Foundation, и с июля 2011 года исходный код Acceleo доступен на GitHub. [9]

  • Первая стабильная версия: Acceleo 1.0.0 доступна с 1 апреля 2006 г.
Легенда:
Предыдущие версии Последняя стабильная версия Следующий выпуск
Версия Дата выпуска Журнал релизов
1.0 1 апреля 2006 г. Первая версия Acceleo, доступная по лицензии GPL, генерация кода на основе моделей на основе EMF .
1.1 20 октября 2006 г. Совместимость с Eclipse 3.2, поддержка моделей, созданных с помощью GMF, ArgoUML, Poseidon, Umbrello и Rational Rose. [2]
1.2 5 января 2007 г. Перейдите на общественную лицензию Eclipse (EPL), новую службу отступов, параметризованную программу запуска, совместимость с Ant. [10]
2.0 5 июня 2007 г. Улучшения языка, совместимость с XML, экспорт генераторов в виде плагина Eclipse. [11]
2.1 12 июля 2007 г. Совместимость с Eclipse 3.3, отладчиком генератора кода. [12]
2.2 7 января 2008 г. Поддержка локализации, поддержка различных кодировок шаблонов, выпуск следующих генераторов: JEE, PHP, Python и WISS. [13]
2.3 25 июля 2008 г. Совместимость с Eclipse 3.4, возможность вызова стандартных EOperations, определенных в модели, поиск ссылок. [14]
2.4 25 сентября 2008 г. Возможность экспортировать генератор как автономный модуль или как приложение RCP. [15]
2.5 3 декабря 2008 г. Профилировщик поколений, действия на схеме. [16]
2.6 26 июня 2009 г. Совместимость с Eclipse 3.5 Galileo. [17]
2.7 6 апреля 2010 г. Улучшение профайлера, совместимость с Enterprise Architect . [18]
3.0 15 июня 2010 г. [19] Новый язык для определения генераторов кода на основе MOFM2T, поддержка запросов на основе OCL, компиляция в реальном времени с обнаружением ошибок. [20]
3.1 7 июня 2011 г. [19] Поддержка документации по генераторам, обнаружение потенциальных ошибок с предупреждением, поддержка Maven, бинарная компиляция генератора. [21]
3.2 27 октября 2011 г. [19] Следующий крупный выпуск Acceleo с новым представлением «Интерпретатор» для оценки выражения Acceleo для заданного набора элементов модели. [22]
3.3 29 мая 2012 г. [19] Следующий крупный релиз Acceleo. [23]
3.4 10 июня 2013 г. [19] Следующий крупный релиз Acceleo. [24]
3.5 10 июня 2014 г. [19] Следующий крупный релиз Acceleo. [25]
3.6 8 июня 2015 г. [19] Следующий крупный релиз Acceleo. [26]
3.7 15 октября 2016 г. [19] Следующий крупный релиз Acceleo. [27]

Поддерживаемые платформы

[ редактировать ]

Acceleo написан на Java и развертывается как плагин в Eclipse IDE. Acceleo поддерживается в средах на базе Java 5+ на следующих платформах:

Начиная с Acceleo 3, язык, используемый для определения генератора кода Acceleo, является реализацией стандарта MOFM2T. Этот язык генерации кода использует подход, основанный на шаблонах. При таком подходе шаблон представляет собой текст, содержащий выделенную часть, где текст будет вычисляться из элементов, предоставленных входными моделями. Эти выделенные части в большинстве случаев представляют собой выражения времени, указанные в сущности входных моделей, используемые для выбора и извлечения информации из этих моделей. В Acceleo эти выражения основаны на реализации языка OCL в Eclipse.

Acceleo предоставляет инструменты для генерации кода на основе моделей на основе EMF . Благодаря этим инструментам Acceleo позволяет, например, выполнять инкрементную генерацию. Инкрементная генерация дает людям возможность сгенерировать фрагмент кода, а затем изменить сгенерированный код и, наконец, повторно сгенерировать код, не теряя предыдущих модификаций.

Acceleo также позволяет:

  • генерация кода из метамодели любого типа, совместимой с EMF, например UML 1, UML 2 и даже пользовательских метамоделей ( DSL ).
  • настройка генерации с помощью пользовательских шаблонов
  • генерация любого текстового языка ( C , Java , Python и т. д.)

Редактор

[ редактировать ]

Acceleo содержит редактор модулей генерации кода с подсветкой синтаксиса, завершением, обнаружением ошибок в реальном времени и рефакторингом.

Редактор Acceleo

Отладчик

[ редактировать ]

Отладчик Acceleo дает возможность следить за развитием поколения. Он позволял пользователю приостанавливать генерацию с помощью точки останова, проверять состояние переменных и шаг за шагом перемещаться по ходу генерации для выявления проблем.

Отладчик

Профилировщик

[ редактировать ]

Профилировщик позволяет пользователю выяснить все инструкции, выполненные во время генерации, количество времени, в течение которого эти инструкции были выполнены, и время, затраченное на каждую из этих инструкций. Данные профилирования доступны в моделях EMF после запуска генерации с помощью профилировщика. Это дает пользователю возможность найти узкое место в созданном генераторе кода.

Данные профилирования Acceleo

Прослеживаемость

[ редактировать ]

Механизм Acceleo может вычислять информацию о отслеживаемости всех элементов, участвующих в создании файла. Эта система позволяет, например, определить элементы входных моделей, которые использовались для генерации конкретного фрагмента текста, и ту часть генератора кода, которая была задействована.

Отслеживаемость в Acceleo

Автономное использование

[ редактировать ]

Анализатор и механизм генерации, важнейшие компоненты Acceleo, также можно использовать «автономно», без развертывания в Eclipse. Acceleo генерирует класс Java для программного запуска генерации, что позволяет интегрировать генератор Acceleo в любое приложение Java. Эту программу запуска Java также можно вызвать из Ant или Maven.

Совместимость

[ редактировать ]

Последняя версия Acceleo совместима с: [28]

  • Автономная среда выполнения Java 6
  • Затмение 3.7 Индиго
  • Затмение 3.8 Юнона
  • Затмение 4.3 Кеплера
  • Менеджер Eclipse 4.4
  • Затмение марта 4.5
  • Затмение 4.6 Неон

Acceleo основан на платформе моделирования EMF . Таким образом, он совместим с любым инструментом, который может создавать модели, совместимые с EMF.

Acceleo может использовать любые модели, совместимые с EMF, определенные на основе метамодели любого типа, например UML , или даже пользовательских DSL . На основе этой метамодели пользователь может определить генератор кода, который будет создавать любой текстовый язык из модели с использованием метамодели.

Простая модель ЭДС
Простая модель ЭДС
Простой модуль Acceleo
Простой модуль Acceleo
Код, сгенерированный
Код, сгенерированный

Здесь мы используем следующие элементы: EClass, EAttribute и EOperation из EMF . Благодаря простому модулю и этой модели ввода Acceleo может генерировать прежний код. Модуль, определенный в этом примере, параметризован для генерации Java, но стандарт MOFM2T не зависит от сгенерированного кода. Когда генератор создан, пользователь может использовать другую модель для генерации фрагмента кода с похожим внешним видом, но с другим содержанием. Acceleo объединяет несколько примеров генерации кода для генерации Java и Python.

Награды, полученные Acceleo
Заголовок Автор Дата Связь
Лучший инструмент разработчика на основе Eclipse с открытым исходным кодом, 2009 г. Фонд Затмения 1 марта 2009 г. (на английском языке) Объявлены победители премии Eclipse Community Awards
Премия «Открытые инновации» 2010 г. Форум Открытого Мира 1 ноября 2010 г. (на английском языке) Награды Форума открытого мира

Сообщество и общение

[ редактировать ]

Сообщество Acceleo собрано вокруг раздела Acceleo веб-сайта Eclipse Foundation. Документация Acceleo [29] доступен онлайн в Справочном центре Eclipse. [30] и в вики проекта Acceleo. [31]

Конференции

[ редактировать ]

Разработчики Acceleo также общаются с сообществом посредством презентаций, реализованных на конференциях MDA или Eclipse.

Имя Дата Расположение Название презентации
Конференция по подходу MDA 23 ноября 2006 г. Женева
СОА/МДА 2006-30-11 Люксембург
ЗатмениеКон 2007 6 марта 2007 г. Лос-Анджелес
Европейский саммит Eclipse 2008 10 октября 2008 г. Людвигсбург
ЗатмениеКон 2009 25 марта 2009 г. Лос-Анджелес Eclipse MTL: реальная стандартная альтернатива для генерации кода [32]
Европейский саммит Eclipse 2009 28 августа 2009 г. Людвигсбург От Acceleo.org к моделированию Eclipse
Затмение Конференция 2010 22 марта 2010 г. Лос-Анджелес Генерация кода Acceleo: начнем с примера Android
Европейский саммит Eclipse 2010 3 ноября 2010 г. Людвигсбург Создание языка для приложений Android с помощью моделирования Eclipse [33]
Топкейсовые дни 2011 4 февраля 2011 г. Тулуза Акселео [34]
Генерация кода 2011 г. 26 мая 2011 г. Кембридж А вы думали, что знаете генератор кода на основе шаблонов? [35]
  1. ^ «Аселео | Скачать» . Проверено 19 февраля 2022 г.
  2. ^ Перейти обратно: а б (по-английски) «Примечания к выпуску Acceleo 1.1.0» . Проверено 10 августа 2011 г.
  3. ^ (на английском языке) «Примечания к выпуску Acceleo 1.2.0» . Проверено 10 августа 2011 г.
  4. ^ (на английском языке) «Рекомендации по использованию логотипа Eclipse» . Архивировано из оригинала 29 июня 2011 года . Проверено 10 августа 2011 г.
  5. ^ (на английском языке) «Анализ кода Ohloh» . Архивировано из оригинала 15 марта 2012 г. Проверено 10 августа 2011 г.
  6. ^ (на английском языке) «Исходный код Acceleo 1 и 2 на OW2 Forge» . Архивировано из оригинала 17 июля 2011 г. Проверено 10 августа 2011 г.
  7. ^ (на английском языке) «Исходный код Acceleo 3 на CVS (только чтение)» . Архивировано из оригинала 27 сентября 2011 г. Проверено 10 августа 2011 г.
  8. ^ (на английском языке) «Acceleo переходит на Git» . Проверено 10 августа 2011 г.
  9. ^ (на английском языке) «Исходный код Acceleo 3 на Github» . Гитхаб . Проверено 10 августа 2011 г.
  10. ^ (на английском языке) «Примечания к выпуску Acceleo 1.2.0» . Проверено 10 августа 2011 г.
  11. ^ (на английском языке) «Примечания к выпуску Acceleo 2.0.0» . Проверено 10 августа 2011 г.
  12. ^ (на английском языке) «Примечания к выпуску Acceleo 2.1.0» . Проверено 10 августа 2011 г.
  13. ^ (на английском языке) «Примечания к выпуску Acceleo 2.2.0» . Проверено 10 августа 2011 г.
  14. ^ (на английском языке) «Примечания к выпуску Acceleo 2.3.0» . Проверено 10 августа 2011 г.
  15. ^ (на английском языке) «Примечания к выпуску Acceleo 2.4.0» . Проверено 10 августа 2011 г.
  16. ^ (на английском языке) «Примечания к выпуску Acceleo 2.5.0» . Проверено 10 августа 2011 г.
  17. ^ (на английском языке) «Примечания к выпуску Acceleo 2.6.0» . Проверено 10 августа 2011 г.
  18. ^ (на английском языке) «Примечания к выпуску Acceleo 2.7.0» . Проверено 10 августа 2011 г.
  19. ^ Перейти обратно: а б с д и ж г час (по-английски) «Загрузка Acceleo» . Проверено 06 июля 2019 г.
  20. ^ (на английском языке) «Примечания к выпуску Acceleo 3.0.0» . Проверено 10 августа 2011 г.
  21. ^ (на английском языке) «Примечания к выпуску Acceleo 3.1.0» . Проверено 10 августа 2011 г.
  22. ^ (на английском языке) «Примечания к выпуску Acceleo 3.2.0» . Проверено 27 октября 2011 г.
  23. ^ (на английском языке) «Примечания к выпуску Acceleo 3.3.0» . Проверено 05 марта 2015 г.
  24. ^ (на английском языке) «Примечания к выпуску Acceleo 3.4.0» . Проверено 05 марта 2015 г.
  25. ^ (на английском языке) «Примечания к выпуску Acceleo 3.5.0» . Проверено 05 марта 2015 г.
  26. ^ (на английском языке) «Примечания к выпуску Acceleo 3.6.0» . 10.06.2015.
  27. ^ (на английском языке) «Примечания к выпуску Acceleo 3.7.0» . 16 ноября 2016 г.
  28. ^ (на английском языке) «План выпуска Acceleo 3.7.0» . 16 ноября 2016 г.
  29. ^ (на английском языке) «Документация Acceleo» . Проверено 10 августа 2011 г.
  30. ^ (на английском языке) «Документация Acceleo в Справочном центре Eclipse» . Проверено 10 августа 2011 г.
  31. ^ (на английском языке) «Акселео вики» . Проверено 10 августа 2011 г.
  32. ^ (на английском языке) «EclipseCon 2009 — Eclipse MTL: реальная стандартная альтернатива для генерации кода» . Архивировано из оригинала 28 июля 2011 г. Проверено 10 августа 2011 г.
  33. ^ (на английском языке) «Eclipse Summit Europe 2010 — Создание языка для приложений Android с помощью моделирования Eclipse» . Архивировано из оригинала 1 октября 2011 г. Проверено 10 августа 2011 г.
  34. ^ (на английском языке) «Дни топкейса 2011 — Acceleo» . Архивировано из оригинала 19 августа 2011 г. Проверено 10 августа 2011 г.
  35. ^ (на английском языке) «Генерация кода 2011. А вы думали, что знаете генератор кода на основе шаблонов?» . Архивировано из оригинала 27 сентября 2011 г. Проверено 10 августа 2011 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 35be7bb043cd75be81f61b7ec4a13f1f__1695106980
URL1:https://arc.ask3.ru/arc/aa/35/1f/35be7bb043cd75be81f61b7ec4a13f1f.html
Заголовок, (Title) документа по адресу, URL1:
Acceleo - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)