| 開発者 | エクリプス財団 |
|---|---|
| 安定版リリース | 3.7.9 [1]
/ 2019年11月6日 |
| リポジトリ |
|
| 書かれた | ジャワ |
| プラットフォーム | Linux、macOS、Microsoft Windows |
| タイプ | コードジェネレータ |
| ライセンス | Eclipse パブリックライセンス |
| Webサイト | eclipse.dev より |
Acceleo は、Eclipse Foundationのオープンソース コード ジェネレーターであり、モデル駆動型アプローチを使用してアプリケーションを構築できます。これは、モデルからテキストへの変換を実行するための、 Object Management Group (OMG) の「 MOFM2T」標準の実装です。
歴史と発展
初期バージョン
Acceleo プロジェクトは、2006 年にウェブサイト Acceleo.org で誕生しました。Acceleo 1.0 は GNU Public Licence (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 Foundation のプロジェクトで使用される Eclipse Public Licence (EPL) を採用しました。Acceleo 2 [3]は、Acceleo コミュニティのメンバーによって作成された記事と、Acceleo 2 に基づくコード ジェネレーターを含む Acceleo モジュール リポジトリを含むウェブサイト planet.acceleo.org の立ち上げ後、2007 年 6 月 5 日に利用可能になりました。
エクリプス財団への入場
2009 年、Acceleo 3 への移行中に、プロジェクトは Eclipse Foundation に受け入れられました。この移行中に、Acceleo がコード ジェネレーターを定義するために使用する言語は、モデルからテキストへの変換に関する OMG の新しい標準である MOFM2T を使用するように変更されました。Eclipse 3.6 Helios のリリースにより、Acceleo は Eclipse Foundation の公式プロジェクトとして Eclipse 同時リリース トレインに含まれます。Acceleo は Eclipse プラグインであり、Eclipse IDE に統合されています。Acceleo は、 EMFなどのいくつかの主要な Eclipse テクノロジと、Acceleo 3 のリリース以降の OCL の Eclipse 実装の上に構築されています。OCL は、モデル内を移動し、モデルの要素に制約を定義するための OMG の標準言語です。
商標
Acceleoのソースコードはオープンソースですが、Acceleoに組み込まれているAcceleoの商標とロゴはオープンソースではありません。これらはAcceleoの開発元であるObeo社の商標であり、Acceleoが公式プロジェクトとして承認された際にEclipse Foundationに移管されました。 [4]
ソースコード
Acceleo は主にJavaで開発された Eclipse プロジェクトであり[5]、Eclipse Public Licence (EPL) の下で利用可能です。Acceleo 1.x および 2.x のソースコードは、OW2 コンソーシアムの Web サイトの SVN で入手できます。[6] 2009 年に Eclipse Foundation に参加したことで、Acceleo 3 のソースコードは SVN から Eclipse Foundation のサーバー上の CVS ベースのリポジトリに移されました。[7] 2011 年に Eclipse 3.7 Indigo がリリースされた後、Eclipse Foundation のいくつかの公式プロジェクトによって開始された移行に従って、Acceleo プロジェクトは Git に移行しました[8]。2011 年 7 月以降、Acceleo のソースコードは GitHub で入手できます。[9]
リリース
- 最初の安定版リリース: Acceleo 1.0.0 は 2006 年 4 月 1 日から利用可能
サポートされているプラットフォーム
Acceleo はJavaで記述されており、Eclipse IDE のプラグインとして展開されます。Acceleo は、次のプラットフォーム上の Java 5+ ベースの環境でサポートされています。
言語
Acceleo 3 以降、Acceleo コード ジェネレーターを定義するために使用される言語は、MOFM2T 標準の実装です。このコード生成言語は、テンプレート ベースのアプローチを使用します。このアプローチでは、テンプレートは、入力モデルによって提供される要素からテキストが計算される専用部分を含むテキストです。これらの専用部分は、ほとんどの場合、入力モデルのエンティティで指定され、それらのモデルから情報を選択および抽出するために使用される式です。Acceleo 内では、これらの式は OCL 言語の Eclipse 実装に基づいています。
特徴
Acceleo は、 EMFベースのモデルからコードを生成するためのツールを提供します。これらのツールのおかげで、Acceleo では、たとえば増分生成が可能になります。増分生成により、コードを生成し、生成されたコードを変更し、最後に以前の変更を失うことなくコードを再度生成できるようになります。
Acceleo では次のことも可能です:
- UML 1、UML 2、さらにはカスタム メタモデル ( DSL )など、 EMFと互換性のあるあらゆる種類のメタモデルからのコード生成
- ユーザー定義のテンプレートを使用した生成のカスタマイズ
- 任意のテキスト言語(C、Java、Pythonなど)の生成
エディタ
Acceleo には、構文の強調表示、補完、リアルタイムのエラー検出、リファクタリングを備えたコード生成モジュール エディターが含まれています。
デバッガ
Acceleo デバッガーを使用すると、生成の進行状況を監視することができます。これにより、ユーザーはブレークポイントを使用して生成を一時停止し、変数の状態を確認し、生成中にステップごとに移動して問題を特定できます。
プロファイラー
プロファイラーを使用すると、生成中に実行されたすべての命令、それらの命令が実行された回数、および各命令にかかった時間を把握できます。プロファイリング データは、プロファイラーを使用して生成を開始した後、 EMFモデルで使用できます。これにより、ユーザーは作成されたコード ジェネレーターのボトルネックを見つけることができます。
トレーサビリティ
Acceleo エンジンは、ファイルの生成に関係するすべての要素のトレーサビリティ情報を計算できます。このシステムを使用すると、たとえば、特定のテキストを生成するために使用された入力モデルの要素と、コード ジェネレーターのどの部分が関係しているかを判断できます。
スタンドアロン使用
Acceleo の重要なコンポーネントであるパーサーと生成エンジンは、Eclipse にデプロイせずに「スタンドアロン」で使用することもできます。Acceleo は、生成をプログラム的に起動するための Java クラスを生成するため、Acceleo ジェネレータを任意の Java アプリケーションに統合できます。この Java ランチャーは、Ant または Maven から呼び出すこともできます。
互換性
Acceleoの最新リリースは以下と互換性があります: [28]
- スタンドアロン Java 6 ランタイム
- エクリプス 3.7 インディゴ
- エクリプス 3.8 ジュノ
- エクリプス 4.3 ケプラー
- エクリプス 4.4 ルナ
- 日食 4.5 火星
- エクリプス 4.6 ネオン
Acceleo はモデリング フレームワークEMFに基づいています。したがって、EMF 互換モデルを生成できるあらゆるツールと互換性があります。
例
Acceleo は、 UMLやカスタムDSLなどのあらゆる種類のメタモデルから定義された EMF 互換モデルを使用できます。このメタモデルから、ユーザーはメタモデルを使用してモデルからあらゆる種類のテキスト言語を生成するコード ジェネレーターを定義できます。
ここでは、 EMFの EClass、EAttribute、EOperation という要素を使用しています。シンプルなモジュールとこの入力モデルのおかげで、Acceleo は前者のコードを生成できます。この例で定義されているモジュールは、Java を生成するためにパラメータ化されていますが、MOFM2T 標準は生成されたコードとは独立しています。ジェネレーターが作成されると、ユーザーは別のモデルを使用して、外観は似ているが内容が異なるコードを生成できます。Acceleo は、Java と Python を生成するために、いくつかのコード生成例を統合しています。
受賞歴
コミュニティとコミュニケーション
AcceleoコミュニティはEclipse FoundationのウェブサイトのAcceleoセクションに集まっています。Acceleoのドキュメント[29]はEclipseヘルプセンター[30]とAcceleoプロジェクトのwikiからオンラインでアクセスできます。[31]
会議
Acceleo の開発者は、MDA または Eclipse カンファレンスでのプレゼンテーションを通じてコミュニティとコミュニケーションも行っています。
参考文献
- ^ 「Aceleo | ダウンロード」 。 2022年2月19日閲覧。
- ^ ab (英語) 「Acceleo 1.1.0 リリースノート」 。2011年 8 月 10 日閲覧。
- ^ (英語) 「Acceleo 1.2.0 リリースノート」 。2011年 8 月 10 日閲覧。
- ^ (英語) 「Eclipse ロゴガイドライン」。2011年6月29日時点のオリジナルよりアーカイブ。2011年8月10日閲覧。
- ^ (英語) 「Ohloh code analysis」。2012年3月15日時点のオリジナルよりアーカイブ。2011年8月10日閲覧。
- ^ (英語) 「Acceleo 1 & 2 ソースコード on the OW2 Forge」。2011年7月17日時点のオリジナルよりアーカイブ。2011年8月10日閲覧。
- ^ (英語) 「Acceleo 3 ソースコード (CVS 上、読み取り専用)」。2011 年 9 月 27 日時点のオリジナルよりアーカイブ。2011年 8 月 10 日閲覧。
- ^ (英語) 「Acceleo が Git に移行」 。2011年 8 月 10 日閲覧。
- ^ (英語) 「Acceleo 3 ソースコード on Github」。GitHub 。2011年8月10日閲覧。
- ^ (英語) 「Acceleo 1.2.0 リリースノート」 。2011年 8 月 10 日閲覧。
- ^ (英語) 「Acceleo 2.0.0 リリースノート」 。2011年 8 月 10 日閲覧。
- ^ (英語) 「Acceleo 2.1.0 リリースノート」 。2011年 8 月 10 日閲覧。
- ^ (英語) 「Acceleo 2.2.0 リリースノート」 。2011年 8 月 10 日閲覧。
- ^ (英語) 「Acceleo 2.3.0 リリースノート」 。2011年 8 月 10 日閲覧。
- ^ (英語) 「Acceleo 2.4.0 リリース ノート」 。2011年 8 月 10 日閲覧。
- ^ (英語) 「Acceleo 2.5.0 リリース ノート」 。2011年 8 月 10 日閲覧。
- ^ (英語) 「Acceleo 2.6.0 リリースノート」 。2011年 8 月 10 日閲覧。
- ^ (英語) 「Acceleo 2.7.0 リリース ノート」 。2011年 8 月 10 日閲覧。
- ^ abcdefgh (英語) 「Acceleo ダウンロード」。2019年7月6日閲覧。
- ^ (英語) 「Acceleo 3.0.0 リリース ノート」 。2011年 8 月 10 日閲覧。
- ^ (英語) 「Acceleo 3.1.0 リリース ノート」 。2011年 8 月 10 日閲覧。
- ^ (英語) 「Acceleo 3.2.0 リリースノート」 。2011年 10 月 27 日閲覧。
- ^ (英語) 「Acceleo 3.3.0 リリースノート」 。2015年 3 月 5 日閲覧。
- ^ (英語) 「Acceleo 3.4.0 リリースノート」 。2015年 3 月 5 日閲覧。
- ^ (英語) 「Acceleo 3.5.0 リリースノート」 。2015年 3 月 5 日閲覧。
- ^ (英語) 「Acceleo 3.6.0 リリース ノート」 2015 年 6 月 10 日。
- ^ (英語) 「Acceleo 3.7.0 リリースノート」。2016 年 11 月 16 日。
- ^ (英語) 「Acceleo 3.7.0 リリース プラン」。2016 年 11 月 16 日。
- ^ (英語) 「Acceleo ドキュメント」。2011年 8 月 10 日閲覧。
- ^ (英語) 「Eclipse ヘルプ センターの Acceleo ドキュメント」。2011年 8 月 10 日取得。
- ^ (英語) 「Acceleo wiki」。2011年8月10日閲覧。
- ^ (英語) 「EclipseCon 2009 - Eclipse MTL: コード生成の真の標準代替手段」。2011 年 7 月 28 日時点のオリジナルよりアーカイブ。2011年 8 月 10 日閲覧。
- ^ (英語) 「Eclipse Summit Europe 2010 - Eclipse Modeling による Android アプリ用言語の作成」。2011 年 10 月 1 日時点のオリジナルよりアーカイブ。2011 年8 月 10 日閲覧。
- ^ (英語) 「Topcased Days 2011 - Acceleo」。2011年8月19日時点のオリジナルよりアーカイブ。2011年8月10日閲覧。
- ^ (英語) 「コード生成 2011 - テンプレート ベースのコード ジェネレーターについてご存知でしたか?」。2011 年 9 月 27 日にオリジナルからアーカイブ。2011年 8 月 10 日に取得。
外部リンク
- 公式サイト(Acceleo 3+用)
