Acceleo

Acceleo ist ein Open-Source-Code-Generator von der Eclipse Foundation, die Menschen, um eine modellgetriebene Ansatz zum Aufbau von Anwendungen verwenden können. Es ist eine Umsetzung des "MOFM2T" standard, von der Object Management Group, zur Durchführung von Modell-zu-Text-Transformation.

Geschichte und Entwicklung

Frühe Versionen

Die Acceleo Projekt wird im Jahr 2006 mit der Website Acceleo.org geboren. Acceleo 1.0 wurde unter der GNU Public Licence und es war kompatibel mit Eclipse 3.0, 3.1 und einige Modellbauer auf Basis von EMF und UML 1.2. Einige Wochen später Acceleo 1.1 brachte die Kompatibilität mit Eclipse 3.2 und UML 1.3. Acceleo verändert seine Lizenz mit der Veröffentlichung von Acceleo 1.2, um die Eclipse Public Licence durch die Projekte der Eclipse Foundation verwendet erlassen. Acceleo 2 war am 5. Juni 2007 zur Verfügung nach dem Launch der Website planet.acceleo.org die Artikel, die von den Mitgliedern der Gemeinde und der Acceleo Acceleo Module Repository, das Codegeneratoren basierend auf Acceleo 2 enthält enthält.

Eingang in der Eclipse Foundation

Im Jahr 2009, während er sich um Acceleo 3, das Projekt in der Eclipse Foundation akzeptiert. Während dieses Übergangs hat die von Acceleo benutzt, um eine Code-Generator definieren Sprache wurde geändert, um den neuen Standard der OMG für das Modell verwenden, um Text-Transformation, MOFM2T. Mit der Veröffentlichung von Eclipse 3.6 Helios wird Acceleo in der Eclipse gleichzeitige Freigabe der Bahn als offizielles Projekt der Eclipse Foundation enthalten. Acceleo ist ein Eclipse-Plugin und als solche in der Eclipse-IDE integriert. Acceleo ist oben auf mehreren wichtigen Eclipse-Technologien wie EMF seit der Veröffentlichung von Acceleo 3, die Eclipse-Implementierung von OCL gebaut und,. OCL ist eine Standardsprache aus der OMG in Modellen zu navigieren und zu Einschränkungen für die Elemente eines Modells definieren.

Warenzeichen

Während die Acceleo Quellcode ist Open Source, die Acceleo Marke und das Logo, in Acceleo integriert, nicht Open Source. Sie waren die Handelsmarke der Gesellschaft Obeo, der Schöpfer der Acceleo, und sie an die Eclipse Foundation überführt wurden, wenn Acceleo wurde als offizielles Projekt akzeptiert.

Quellcode

Acceleo ist ein Eclipse-Projekt vor allem in Java entwickelt und unter der Eclipse Public Licence. Der Quellcode von Acceleo 1.x und 2.x ist auf SVN auf der Website des OW2 Consortium. Mit seinem Eintritt in der Eclipse Foundation im Jahr 2009, wurde der Quellcode Acceleo 3 aus dem SVN zu einem CVS-Repository basierend auf den Servern der Eclipse Foundation übergeben. Nach der Veröffentlichung von Eclipse 3.7 Indigo im Jahr 2011 hat sich die Acceleo Projekt migriert Git im Anschluss an die Migration von mehreren offizielles Projekt der Eclipse Foundation und seit Juli 2011 begann, ist die Acceleo Quellcode auf Github erhältlich.

Veröffentlichungen

  • Erste stabile Version: 1.0.0 Acceleo verfügbar seit 1. April 2006
  • Letzte Version: Acceleo 3.2.1 verfügbar seit 11. Mai 2012

Unterstützte Plattformen

Acceleo ist in Java geschrieben und wird als Plugin in die Eclipse-IDE zum Einsatz. Acceleo basiert auf Java 5+ basierten Umgebungen unterstützt, auf den folgenden Plattformen:

  • GNU / Linux
  • Mac OS X
  • Windows XP, Windows Vista, Windows 7

Die Sprache

Beginnend mit Acceleo 3, der zu einem definierten Acceleo Codegenerator verwendete Sprache ist eine Implementierung des MOFM2T Standard. Diese Code-Generierung Sprache verwendet eine Vorlage basierenden Ansatz. Mit diesem Ansatz ist eine Schablone, einen Text zu dedizierten Teil, wo der Text von den Elementen durch die Eingänge Modelle bereitgestellt berechnet werden. Diese engagierten Teile sind die meisten der auf der Einheit der Eingangs Modelle zur Auswahl und Extraktion von Informationen aus den Modellen festgelegten Zeit Ausdrücke. Innerhalb Acceleo, sind diejenigen, die Expression auf der Eclipse-Implementierung der OCL Sprache.

Eigenschaften

Acceleo bietet Tools für die Code-Generierung aus EMF-basierte Modelle. Dank dieser Werkzeuge ermöglicht Acceleo beispielsweise inkrementelle Generation. Inkrementelle Generation gibt den Menschen die Möglichkeit, ein Stück Code zu generieren und ändern Sie dann den generierten Code und schließlich Regenerieren Sie den Code erneut, ohne die vorherigen Änderungen.

Acceleo ermöglicht außerdem:

  • Code-Generierung von jeder Art von Metamodell mit EMF wie UML 1, UML 2 und sogar kundenspezifische Metamodelle kompatibel
  • Anpassung der Erzeugung mit benutzerdefinierten Vorlagen
  • Erzeugung von beliebigen Textsprache

Editor

Acceleo enthält einen Code-Generierung Module-Editor mit Syntax-Highlighting, Abschluss, Echtzeit-Fehlererkennung und Refactoring.

Debugger

Die Acceleo Debugger bietet die Möglichkeit, ein Auge auf das Fortschreiten von einer Generation zu halten. Es lassen den Benutzer unterbrechen eine Generation mit einer Sollbruchstelle, überprüfen Sie den Zustand der Variablen und verschieben Sie Schritt für Schritt während einer Generation, Probleme zu erkennen.

Profiler

Der Profiler kann der Benutzer herausfinden, alle Anweisungen während der Erzeugung ausgeführt wird, die Anzahl der Zeit dass diese Befehle ausgeführt wurden und die Zeit, die von jedem dieser Befehle gemacht. Profiling-Daten sind nach einer Generation mit dem Profiler startete in einer EMF-Modelle. Es gibt dem Benutzer die Möglichkeit, Engpass in der Code-Generator erstellt wurden.

Rückverfolgbarkeit

Die Acceleo Motor Informationen zur Rückverfolgbarkeit aller Elemente in der Erzeugung einer betroffenen Datei zu berechnen. Dieses System ermöglicht es, beispielsweise, um die Elemente von den Eingangs Modelle, die verwendet wurden, um einen bestimmten Teil des Textes und der Teil des Codegenerators, beteiligt war erzeugen bestimmen.

Stand-alone-Einsatz

Der Parser und die Erzeugung Motor, kritische Komponenten Acceleo, kann auch im "Stand-alone" verwendet werden, ohne dass auf Eclipse eingesetzt. Acceleo generiert eine Java-Klasse, die Erzeugung programmatisch starten so dass die Integration eines Acceleo Generator in jeder Java-Anwendung. Diese Java-Startprogramm kann auch von Ant oder Maven aufgerufen werden.

Vereinbarkeit

Die neueste Version von Acceleo ist mit der folgenden Version von Eclipse kompatibel:

  • Eclipse 3.4 Ganymede
  • Eclipse 3.5 Galileo
  • Eclipse 3.6 Helios
  • Eclipse 3.7 Indigo

Acceleo ist auf dem Modellrahmen EMF basiert. So ist es mit jedem Werkzeug, das EMF-kompatiblen Modelle produzieren kann kompatibel.

Beispiel

Acceleo können alle EMF-kompatiblen Modellen von jeder Art von Metamodell wie UML oder sogar eine benutzerdefinierte DSLs definiert sind. Von diesem Metamodell, kann der Benutzer einen Code-Generator, der jede Art von textuellen Sprache aus einem Modell mit dem Metamodell produzieren wird zu definieren.

Hier verwenden wir die folgenden Elemente: E-Klasse, EAttribute und EOperation von EMF. Dank der einfachen Modul und dieses Eingabemodell kann Acceleo die ehemalige Code zu generieren. Die in diesem Beispiel definiert Modul parametriert, um Java zu generieren, aber die MOFM2T Standard ist unabhängig von den generierten Code. Wenn der Generator erzeugt wird, kann der Benutzer ein anderes Modell zu verwenden, um ein Stück des Codes mit einem ähnlichen Aussehen, sondern mit einem anderen Inhalt zu erzeugen. Acceleo integriert mehrere Beispiele Code-Generierung, um Java und Python zu generieren.

Auszeichnungen

Gemeinschaft und Kommunikation

Die Acceleo Gemeinschaft wird um die Acceleo Teil der Website der Eclipse Foundation gesammelt. Die Acceleo Dokumentation ist online zugänglich auf der Eclipse-Hilfe und im Wiki des Acceleo Projekt.

Konferenzen

Die Entwickler von Acceleo werden auch mit den Community dank Kommunikation mit Präsentation realisiert in MDA oder Eclipse Konferenzen.

  0   0

Kommentare - 0

Keine Kommentare

Fügen Sie einen Kommentar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Zeichen übrig: 3000
captcha