VIATRA は、 Eclipse Modeling Framework (EMF)をベースにし、 Eclipse Foundationによってホストされているオープンソースの モデル変換フレームワーク です。
VIATRA は、イベント駆動型のリアクティブ変換、つまりモデル内の特定の外部変更に対する反応として変換が発生するルールベースのシナリオに特に重点を置いて、モデル変換の開発をサポートします。
VIATRA は、モデル内のパターンと変更を見つけるための増分クエリ サポートに基づいて、変換を定義する言語 ( VIATRA クエリ言語、VQL) と、基礎となるモデルの変更時に特定の変換を実行するリアクティブ変換エンジンを提供します。
アプリケーションドメイン
オープンソース フレームワークである VIATRA は、産業および学術の分野の両方で、さまざまなアプリケーションにおける中心的な統合ポイントおよびイネーブラー エンジンとして機能します。フレームワークの以前のバージョンは、DECOS、MOGENTES、INDEXYS、SecureChange などの多数のヨーロッパの研究プロジェクトで、重要な組み込みシステムの開発と検証のためのツール サポートを提供するために集中的に使用されてきました。
VIATRA は主要な産業アプリケーションとして、IncQuery Suite の基盤となるモデル クエリおよび変換エンジンとして利用されています。したがって、VIATRA はモデルベース システム エンジニアリング(MBSE) に関するいくつかの産業コラボレーションにおける重要な技術コンポーネントであり、航空宇宙、製造、産業オートメーション、自動車などの分野で革新的なシステム エンジニアリング プラクティスを促進しています。さらに、IncQuery Suite のアプリケーションを介して、VIATRA は Arrowhead Tools や Embrace プロジェクトなど、進行中の大規模なヨーロッパの産業デジタル化の取り組みにおけるモデルベースの取り組みの基盤として機能します。
VIATRAはEclipseモデリングツールとうまく統合されています。[1]しかし、VIATRAはEclipse環境外でも動作し、 JetBrains MPSプラットフォームを使用したIncAプロジェクトで実証されています。
機能性
VIATRA は主に以下のサービスを提供しています。
- モデルクエリを効率的に指定および実行するための、グラフパターンベースの言語と組み合わせた増分クエリエンジン。
- バッチとイベント駆動型のリアクティブ変換の両方を指定するための、Xtend 言語を介した内部 DSL。
- 機密モデルから機密情報を削除するモデル難読化ツール (例: バグレポートを作成するため)。
起源と歴史
現在のVIATRAプロジェクトは、以前のVIATRA2フレームワークを完全に書き直したもので、EMFモデルとの完全な互換性とサポートを備えています。このプロジェクトには、さまざまなバージョン間の主な違いを説明する履歴wikiページがあります。[2]
以前の VIATRA2 フレームワークのアプリケーションについては、信頼性の高い組み込みシステムの分野で DECOS European IP の基盤となるモデル変換エンジンとして機能していました。さらに、VIATRA2 の従来のアプリケーション領域は、1998 年から、モデル駆動型システム エンジニアリング プロセス中にさまざまなモデリング言語 (SysML、UML、BPMN など) を使用して記述されたさまざまなアプリケーション領域 (安全性が重要な組み込みシステム、堅牢なe ビジネスアプリケーション、ミドルウェア、サービス指向アーキテクチャ) から取得したシステム モデルの分析をサポートすることでした。このようなモデル分析には通常、設計中のシステムの検証と妥当性確認、テスト、安全性とセキュリティの分析、および非機能特性 (信頼性、可用性、応答性、スループットなど) の早期評価も含まれます。
これらのユースケースとアプリケーション分野は、依然として VIATRA の重点領域を構成しており、そのほとんどはユーザー側のインターフェースとして IncQuery Suite を介して対処されています。
アプローチ
VIATRA の主な応用分野は正確なモデルベースのシステム開発であるため、(i) モデル変換が数学的に正確な方法で指定され、(ii) これらの変換が自動化され、対象の数学モデルが完全に自動的に導出されることが必須です。これを実現するために、VIATRA は数学的に正確なルールベースの仕様形式、つまりグラフ変換(GT) に依存しています。VIATRA は目に見えない形式手法を目指しています。ここでは、形式の詳細は、システム モデルをさまざまな数学領域に投影する (できればその逆) 自動モデル変換によって隠されています。
VIATRA 内でモデル変換を定義する際の基本的な概念は、(グラフ) パターンです。パターンとは、(属性条件または他のパターンによって定義された) 追加の制約を満たす特定の構造に配置されたモデル要素のコレクションです。パターンは特定のモデル インスタンスで一致させることができ、パターンの一致が成功すると、基本的なモデル操作がグラフ変換ルールによって指定されます。OCL と同様に、グラフ変換ルールは変換の事前条件と事後条件を記述しますが、グラフ変換ルールは実行可能であることが保証されており、これが主な概念上の違いです。
特に、リアクティブでイベント駆動型の変換が VIATRA の現在の焦点であるため、VIATRA には、モデル内の変更 (イベントとして解釈される) を監視し、変更によってそのルールの前提条件が満たされるたびに (場合によっては、さらにいくつかの制御条件も満たされる場合) ルールを起動するルール実行エンジンが含まれています。
参照
- モデル駆動エンジニアリング(MDE)
- モデル駆動型アーキテクチャ(MDA)
- ドメイン固有言語(DSL)
- モデル変換言語(MTL)
- MOF クエリ/ビュー/変換(MOF QVT)
- ATLAS 変換言語(ATL)
- XML 変換言語(XML TL)
参考文献
- ^ ウジェルイ、ゾルタン;バーグマン、ガボール;ヘゲデュス、アベル。アコス、ホルバース。イッソ、ベネデク。ラート、イシュトヴァン。シャトマリ、ゾルタン。バロ、ダニエル (2015-02-01)。 「EMF-IncQuery: ライブ モデル クエリのための統合開発環境」。コンピュータプログラミングの科学。 Experimental Software and Toolkits (EST) の第 5 号: Eclipse による学術モデリングに関する特集号 (ACME2012)。98:80~99。土井:10.1016/j.scico.2014.01.004。ISSN 0167-6423。
- ^ バロ、ダニエル;バーグマン、ガボール;ヘゲデュス、アベル。ホルバース、アコス。ラート、イシュトヴァン。ウジェルイ、ゾルタン (2016-07-01)。「リアクティブかつインクリメンタルなモデル変換プラットフォームへの道: VIATRA フレームワークの 3 世代」ソフトウェアとシステムのモデリング。15 (3): 609–629。土井:10.1007/s10270-016-0530-4。ISSN 1619-1374。S2CID 254171359。
外部リンク
- VIATRA Eclipse プロジェクトページ
