Acceleo - Acceleo
Vývojáři | Eclipse Foundation |
---|---|
Stabilní uvolnění | 3.7.8 / 20. března 2019[1] |
Úložiště | |
Napsáno | Jáva |
Plošina | Linux, Mac OS X, Microsoft Windows |
Typ | Generátor kódů |
Licence | Veřejná licence Eclipse |
webová stránka | http://www.eclipse.org/acceleo |
Acceleo je open-source generátor kódu z Eclipse Foundation který umožňuje lidem používat a řízený modelem přístup k vytváření aplikací. Jedná se o implementaci „MOFM2T "standardní, od Skupina pro správu objektů (OMG), pro provádění transformace modelu na text.
Historie a vývoj
Dřívější verze
Projekt Acceleo se zrodil v roce 2006 s webem Acceleo.org. Acceleo 1.0 byl licencován pod GNU Public License (GPL) a byl kompatibilní s Eclipse 3.0, 3.1 a několika modeláři založenými na EMF a UML 1.2. O několik týdnů později, Acceleo 1.1[2] přinesl kompatibilitu s Eclipse 3.2 a UML 1.3. Společnost Acceleo změnila svou licenci vydáním Acceleo 1.2, aby převzala veřejnou licenci Eclipse (EPL) používanou v projektech nadace Eclipse. Acceleo 2[3] byl k dispozici 5. června 2007 po spuštění webu planet.acceleo.org, který zahrnuje články vytvořené členy komunity Acceleo a úložiště modulů Acceleo, které obsahuje generátory kódu založené na Acceleo 2.
Vstup do nadace Eclipse
V roce 2009 byl projekt při přechodu na Acceleo 3 přijat do Nadace Eclipse. Během tohoto přechodu byl změněn jazyk používaný Acceleo k definování generátoru kódu, aby používal nový standard OMG pro transformaci modelu na text, MOFM2T. S vydáním Eclipse 3.6 Helios je Acceleo zahrnuto do vlaku simultánního vydání Eclipse jako oficiální projekt nadace Eclipse. Acceleo je Eclipse plugin a jako takový je integrován do Eclipse IDE. Acceleo je postaveno na několika klíčových technologiích Eclipse EMF a od vydání Acceleo 3 implementace Eclipse OCL. OCL je standardní jazyk OMG pro navigaci v modelech a pro definování omezení u prvků modelu.
Ochranná známka
Zatímco zdrojový kód Acceleo je otevřený zdroj, ochranná známka Acceleo a její logo integrované v Acceleo nejsou otevřeným zdrojem. Byly ochrannou známkou společnosti Obeo, tvůrce Acceleo, a byly převedeny do Eclipse Foundation když byl Acceleo přijat jako oficiální projekt.[4]
Zdrojový kód
Acceleo je projekt Eclipse, který byl většinou vyvinut v Jáva[5] a dostupné pod veřejnou licencí Eclipse (EPL). Zdrojový kód Acceleo 1.xa 2.x je k dispozici na SVN na webu konsorcia OW2.[6] Se vstupem do Eclipse Foundation v roce 2009 byl zdrojový kód Acceleo 3 přenesen ze SVN do úložiště založeného na CVS na serverech Eclipse Foundation.[7] Po vydání Eclipse 3.7 Indigo v roce 2011 se projekt Acceleo přesunul na Git[8] po migraci zahájené několika oficiálními projekty nadace Eclipse Foundation a od července 2011 je zdrojový kód Acceleo k dispozici na Githubu.[9]
Zprávy
- První stabilní vydání: Acceleo 1.0.0 k dispozici od 1. dubna 2006
- Nejnovější stabilní vydání: Acceleo 3.7.8 k dispozici od 20. března 2019[1]
Legenda: | ||||
---|---|---|---|---|
Předchozí verze | Nejnovější stabilní vydání | Další vydání |
Verze | Datum vydání | Uvolněte protokol |
---|---|---|
1.0 | 1. dubna 2006 | První verze Acceleo dostupná pod licencí GPL, generování kódu od EMF založené modely. |
1.1 | 20. října 2006 | Kompatibilita s Eclipse 3.2, podpora modelů vytvořených pomocí GMF, ArgoUML, Poseidon, Umbrello a Rational Rose.[2] |
1.2 | 5. ledna 2007 | Přepněte na veřejnou licenci Eclipse (EPL), novou službu odsazení, parametrizovaný spouštěč, kompatibilitu s Ant.[10] |
2.0 | 5. června 2007 | Vylepšení jazyka, kompatibilita XML, export generátorů jako zásuvný modul Eclipse.[11] |
2.1 | 12. července 2007 | Kompatibilita s Eclipse 3.3, debugger generátoru kódu.[12] |
2.2 | 7. ledna 2008 | Podpora lokalizace, podpora různých kódování šablon, vydání následujících generátorů: JEE, PHP, Python a WISS.[13] |
2.3 | 25. července 2008 | Kompatibilita s Eclipse 3.4, schopnost volat standardní EOperace definované v modelu, hledat odkazy.[14] |
2.4 | 25. září 2008 | Možnost exportu generátoru jako samostatného modulu nebo jako RCP aplikace.[15] |
2.5 | 3. prosince 2008 | Generátor profilerů, akce na obrysu.[16] |
2.6 | 26. června 2009 | Kompatibilita s Eclipse 3.5 Galileo.[17] |
2.7 | 6. dubna 2010 | Vylepšení profilovače, kompatibilita s Enterprise Architect.[18] |
3.0 | 15. června 2010[19] | Nový jazyk k definování generátorů kódu na základě MOFM2T, podpora dotazů založených na OCL, kompilace v reálném čase s detekcí chyb.[20] |
3.1 | 7. června 2011[19] | Podpora dokumentace pro generátory, detekce potenciálních chyb s varováním, podpora Maven, binární kompilace generátoru.[21] |
3.2 | 27. října 2011[19] | Další hlavní vydání Acceleo s novým pohledem „Tlumočník“ k vyhodnocení výrazu Acceleo na dané sadě modelového prvku.[22] |
3.3 | 29. května 2012[19] | Další hlavní vydání Acceleo.[23] |
3.4 | 10. června 2013[19] | Další hlavní vydání Acceleo.[24] |
3.5 | 10. června 2014[19] | Další hlavní vydání Acceleo.[25] |
3.6 | 8. června 2015[19] | Další hlavní vydání Acceleo.[26] |
3.7 | 15. října 2016[19] | Další hlavní vydání Acceleo.[27] |
Podporované platformy
Acceleo je napsán Jáva a je nasazen jako plugin v Eclipse IDE. Acceleo je podporováno v prostředích založených na prostředí Java 5+, na následujících platformách:
Jazyk
Počínaje Acceleo 3 je jazykem použitým k definování generátoru kódu Acceleo implementace standardu MOFM2T. Tento jazyk generování kódu používá přístup založený na šabloně. S tímto přístupem je šablona text obsahující vyhrazenou část, kde bude text počítán z prvků poskytovaných vstupními modely. Tyto vyhrazené části jsou většinou časovými výrazy specifikovanými na entitě vstupních modelů použitých k výběru a extrakci informací z těchto modelů. V Acceleo jsou tyto výrazy založeny na implementaci Eclipse jazyka OCL.
Funkce
Acceleo poskytuje nástroje pro generování kódu z EMF založené modely. Díky těmto nástrojům umožňuje Acceleo například přírůstkové generování. Přírůstkové generování dává lidem možnost vygenerovat část kódu a poté upravit vygenerovaný kód a nakonec znovu vygenerovat kód, aniž by ztratili předchozí úpravy.
Acceleo také umožňuje:
- generování kódu z jakéhokoli druhu metamodelu kompatibilního s EMF jako UML 1, UML 2 a dokonce i vlastní metamodely (DSL )
- přizpůsobení generace pomocí uživatelsky definovaných šablon
- generace jakéhokoli textového jazyka (C, Jáva, Krajta, atd.)
Editor
Acceleo obsahuje editor modulů generování kódu se zvýrazněním syntaxe, dokončením, detekcí chyb v reálném čase a refaktoringem.
Debugger
Ladicí program Acceleo poskytuje možnost sledovat vývoj jedné generace. Umožní uživateli pozastavit generaci s bodem zlomu, zkontrolovat stav proměnných a během generace postupovat krok za krokem, aby identifikoval problémy.
Profiler
Profiler umožňuje uživateli zjistit všechny instrukce provedené během generování, počet časů, kdy byly tyto instrukce provedeny, a čas, který každá z těchto instrukcí potřebuje. Profilovací data jsou k dispozici v EMF modely po generaci spuštěné s profilerem. Dává uživateli možnost najít úzké místo ve vytvořeném generátoru kódu.
Sledovatelnost
Modul Acceleo může vypočítat informace o sledovatelnosti všech prvků zapojených do generování souboru. Tento systém umožňuje například určit prvky ze vstupních modelů, které byly použity ke generování konkrétního textu a část generátoru kódu, která byla zahrnuta.
Samostatné použití
Analyzátor a generační modul, kritické komponenty Acceleo, lze také použít „samostatně“, aniž by byly nasazeny na Eclipse. Acceleo generuje třídu Java pro programové spuštění generace, což umožňuje integraci generátoru Acceleo do jakékoli aplikace Java. Tento spouštěč Java lze také volat z Ant nebo Maven.
Kompatibilita
Nejnovější verze Acceleo je kompatibilní s:[28]
- Samostatný běhový modul Java 6
- Eclipse 3.7 Indigo
- Eclipse 3.8 Juno
- Eclipse 4.3 Kepler
- Zatmění 4,4 Luna
- Eclipse 4.5 Mars
- Eclipse 4.6 Neon
Acceleo je založeno na modelovacím rámci EMF. Je tedy kompatibilní s jakýmkoli nástrojem, který dokáže vyrobit modely kompatibilní s EMF.
Příklad
Acceleo může používat jakékoli EMF kompatibilní modely definované z jakéhokoli druhu metamodelu UML nebo dokonce zvyk DSL. Z tohoto metamodelu může uživatel definovat generátor kódu, který z modelu pomocí metamodelu vytvoří jakýkoli textový jazyk.
Zde používáme následující prvky: EClass, EAttribute a EOperation from EMF. Díky jednoduchému modulu a tomuto vstupnímu modelu může Acceleo vygenerovat dřívější kód. Modul definovaný v tomto příkladu je parametrizován tak, aby generoval Javu, ale standard MOFM2T je nezávislý na generovaném kódu. Když je generátor vytvořen, může uživatel použít jiný model ke generování kódu s podobným vzhledem, ale s jiným obsahem. Acceleo integruje několik příkladů generování kódu pro generování prostředí Java a Python.
Ocenění
Titul | Autor | datum | Odkaz |
---|---|---|---|
Nejlepší vývojový nástroj založený na open source Eclipse 2009 | Eclipse Foundation | 1. března 2009 | (v angličtině) Vyhlášeni vítězové cen Eclipse Community Awards |
Cena Open Innovation Award 2010 | Otevřené světové fórum | 1. listopadu 2010 | (v angličtině) Ocenění Open World Forum |
Komunita a komunikace
Komunita Acceleo se shromažďuje kolem části Acceleo na webových stránkách Nadace Eclipse. Dokumentace Acceleo[29] je přístupný online v centru nápovědy Eclipse[30] a na wiki projektu Acceleo.[31]
Konference
Vývojáři Acceleo také komunikují s komunitou díky prezentaci realizované na konferencích MDA nebo Eclipse.
název | datum | Umístění | Název prezentace |
---|---|---|---|
Konference o přístupu MDA | 23. listopadu 2006 | Ženeva | |
SOA / MDA | 2006-30-11 | Lucembursko | |
EclipseCon 2007 | 6. března 2007 | Los Angeles | |
Eclipse Summit Europe 2008 | 10. října 2008 | Ludwisburg | |
EclipseCon 2009 | 25. března 2009 | Los Angeles | Eclipse MTL: skutečná standardní alternativa pro generování kódu[32] |
Eclipse Summit Europe 2009 | 28. srpna 2009 | Ludwisburg | Od Acceleo.org po modelování Eclipse |
Eclipse Con 2010 | 22. března 2010 | Los Angeles | Generování kódu Acceleo: Začněme příkladem pro Android |
Eclipse Summit Europe 2010 | 3. listopadu 2010 | Ludwisburg | Vytvoření jazyka pro aplikace pro Android pomocí modelování Eclipse[33] |
Topcased Days 2011 | 4. února 2011 | Toulouse | Acceleo[34] |
Generování kódu 2011 | 26. května 2011 | Cambridge | A mysleli jste si, že znáte generátor kódu založený na šabloně?[35] |
Reference
- ^ A b (v angličtině) „Eclipse Acceleo 3.7.8“. Citováno 6. července 2019.
- ^ A b (v angličtině) „Poznámky k verzi Acceleo 1.1.0“. Citováno 2011-08-10.
- ^ (v angličtině) „Poznámky k verzi Acceleo 1.2.0“. Citováno 2011-08-10.
- ^ (v angličtině) „Pokyny k logu Eclipse“. Archivováno z původního dne 29. června 2011. Citováno 2011-08-10.
- ^ (v angličtině) „Analýza kódu Ohloh“. Citováno 2011-08-10.
- ^ (v angličtině) „Acceleo 1 & 2 source code on the OW2 Forge“. Citováno 2011-08-10.
- ^ (v angličtině) „Zdrojový kód Acceleo 3 v CVS (pouze ke čtení)“. Citováno 2011-08-10.
- ^ (v angličtině) „Acceleo migruje na Git“. Citováno 2011-08-10.
- ^ (v angličtině) „Acceleo 3 source code on Github“. Citováno 2011-08-10.
- ^ (v angličtině) „Poznámky k verzi Acceleo 1.2.0“. Citováno 2011-08-10.
- ^ (v angličtině) „Poznámky k verzi Acceleo 2.0.0“. Citováno 2011-08-10.
- ^ (v angličtině) „Poznámky k verzi Acceleo 2.1.0“. Citováno 2011-08-10.
- ^ (v angličtině) „Poznámky k verzi Acceleo 2.2.0“. Citováno 2011-08-10.
- ^ (v angličtině) „Poznámky k verzi Acceleo 2.3.0“. Citováno 2011-08-10.
- ^ (v angličtině) „Poznámky k verzi Acceleo 2.4.0“. Citováno 2011-08-10.
- ^ (v angličtině) „Poznámky k verzi Acceleo 2.5.0“. Citováno 2011-08-10.
- ^ (v angličtině) „Poznámky k verzi Acceleo 2.6.0“. Citováno 2011-08-10.
- ^ (v angličtině) „Poznámky k verzi Acceleo 2.7.0“. Citováno 2011-08-10.
- ^ A b C d E F G h (v angličtině) „Acceleo Download“. Citováno 2019-07-06.
- ^ (v angličtině) „Poznámky k verzi Acceleo 3.0.0“. Citováno 2011-08-10.
- ^ (v angličtině) „Poznámky k verzi Acceleo 3.1.0“. Citováno 2011-08-10.
- ^ (v angličtině) „Poznámky k verzi Acceleo 3.2.0“. Citováno 2011-10-27.
- ^ (v angličtině) „Poznámky k verzi Acceleo 3.3.0“. Citováno 2015-03-05.
- ^ (v angličtině) „Poznámky k verzi Acceleo 3.4.0“. Citováno 2015-03-05.
- ^ (v angličtině) „Poznámky k verzi Acceleo 3.5.0“. Citováno 2015-03-05.
- ^ (v angličtině) „Poznámky k verzi Acceleo 3.6.0“. 2015-06-10.
- ^ (v angličtině) „Poznámky k verzi Acceleo 3.7.0“. 2016-11-16.
- ^ (v angličtině) „Plán vydání Acceleo 3.7.0“. 2016-11-16.
- ^ (v angličtině) „Dokumentace Acceleo“. Citováno 2011-08-10.
- ^ (v angličtině) „Dokumentace Acceleo v centru nápovědy Eclipse“. Citováno 2011-08-10.
- ^ (v angličtině) „Acceleo wiki“. Citováno 2011-08-10.
- ^ (v angličtině) „EclipseCon 2009 - Eclipse MTL: skutečná standardní alternativa pro generování kódu“. Archivovány od originál dne 28. 7. 2011. Citováno 2011-08-10.
- ^ (v angličtině) „Eclipse Summit Europe 2010 - Vytvoření jazyka pro aplikace pro Android pomocí modelování Eclipse“. Archivovány od originál dne 01.10.2011. Citováno 2011-08-10.
- ^ (v angličtině) „Topcased Days 2011 - Acceleo“. Citováno 2011-08-10.
- ^ (v angličtině) „Generování kódu 2011 - a mysleli jste si, že znáte generátor kódu založený na šabloně?“. Citováno 2011-08-10.