言語の特徴 UML-RSDS の主な仕様表記法は、UML クラス図とユースケース、および不変条件と操作の事前条件と事後条件を定義するために使用されるオブジェクト制約言語(OCL) 式です。 [ 5 ] UML-RSDS 仕様には、グラフィカル表記法またはテキスト表記法のどちらでも使用できます。
例えば、単純なクラス仕様は次のように記述できます。
クラス Person { 属性 age: int; 属性名: 文字列; 誕生日操作() 事前: true post: age = age@pre + 1; } 変換は、入力データから結果データがどのように導出されるかを表す制約とともに、ユースケースとして定義されます。[ 6 ] したがって、 QVT 関係言語に似た宣言的な仕様スタイルがサポートされますが、追加の構文や言語要素を定義する必要はなく、OCLのみが使用されます。たとえば、すべての人物インスタンスを、名前と年齢から形成された「data」属性を持つ「PersonRecord」にコピーするには、次のように記述するだけで十分です。
ユースケース copyPersons { 人:: PersonRecord->exists( r | r.data = name + age ) } このスタイルの変換仕様については、検証手順が定義されています。[ 7 ]
より一般的なソフトウェアアプリケーションでは、代入(:= )、ループ(while、for )、条件(if then else )、シーケンス(; )などのステートメントを使用した手続き型コードを使用して、操作とユースケースの動作を定義できます。これらのステートメントは、UMLアクティビティモデルのテキストバージョンに対応します[ 8 ]
使用されている OCL のバージョンは、OCL バージョン 2.4 の拡張版で、Map および Function という追加のデータ型と、文字列 (正規表現など) およびコレクション用の拡張演算子セットを備えています。[ 9 ] これらは、 Java やCOBOL などの言語からリバースエンジニアリングされたプログラムのセマンティクスを表現するために使用できます。次に、UML/OCL での表現は、Swift や Python などの他の言語に変換できます。
適用と評価 UML-RSDS は、モデル変換研究コミュニティによる多数の独立したレビューや比較評価の対象となっており、UML-RSDS 開発チームとは独立した研究者によって書かれた以下の二次的な信頼できる情報源では、変換検証をサポートする UML-RSDS の特徴が強調されています。[ 10 ] [ 11 ] [ 12 ]
これは、加法性の特性をサポートする変換言語 の1つとして注目に値する[ 13 ]。 これは、UML-RSDS仕様のセマンティクスが構成的であることを意味する。
UML-RSDSは、モデル変換評価のための主要な場であるTransformation Tool Contest(TTC)のいくつかのケーススタディソリューションで使用されています。[ 14 ] [ 15 ] 特に、UML-RSDSソリューションは、TTC 2014の「映画データベース」ケースコンテストで3位になりました。[ 16 ]
これは、多くの大学、特にキングス・カレッジ・ロンドン(英国)、イスファハン大学(イラン)、テキサスA&Mインターナショナル大学(米国)、ダルムシュタット工科大学(ドイツ)、アゼルバイジャン・シャヒード・マダニ大学(イラン)、ウォータールー大学 (カナダ)などで、教育や研究に利用されている。
参考文献 ↑ 「アジャイルUML」。2019年2月5日。 ↑ Alfraihi, Hessa (2018). 「アジャイルソフトウェア開発とモデル駆動型開発の統合の影響:比較事例研究」 . システム分析とモデリング。システムエンジニアリングのための言語、方法、ツール . コンピュータサイエンス講義ノート。第11150巻 、 pp . 229–245。doi : 10.1007/978-3-030-01042-3_14 . ISBN 978-3-030-01041-6 。↑ Jakumeit, Edgar; Buchwald, Sebastian; Wagelaar, Dennis; Dan, Li; Hegedüs, Ábel; Herrmannsdörfer, Markus; Horn, Tassilo; Kalnina, Elina; Krause, Christian; Lano, Kevin; Lepper, Markus; Rensink, Arend; Rose, Louis; Wätzoldt, Sebastian; Mazanek, Steffen (2014年6月1日). "変換ツールコンテストに基づく変換ツールの調査と比較" . Science of Computer Programming . 85 : 41– 99. doi : 10.1016/j.scico.2013.10.009 . ↑ ローズ、ルイス・M。ヘルマンスドルファー、マルクス。マザネク、ステフェン。ヴァン・ゴープ、ピーター。ブッフヴァルト、セバスチャン。ホルン、タッシーロ。カルニナ、エリナ。コッホ、アンドレアス。ラノ、ケビン。シャッツ、ベルンハルト。ウィマー、マヌエル(2014 年 2 月 1 日)。 「モデル移行のためのグラフおよびモデル変換ツール」 。 ソフトウェアとシステムのモデリング 。 13 (1): 323–359 . 土井 : 10.1007/s10270-012-0245-0 。 S2CID 254172124 – Springer Link経由。 ↑ Lano, Kevin (2017). UML-RSDS を使用したアジャイルモデルベース開発 . doi : 10.1201/9781315368153 . ISBN 9781498752237 。↑ 日高宗一郎、フレデリック・ジュオー、マッシモ・ティシ (2017) 「変換言語における加法性について」 2017 ACM/IEEE 第20回モデル駆動型エンジニアリング言語およびシステム国際会議 (MODELS) (PDF) pp. 23–33 . doi : 10.1109/MODELS.2017.21 . ISBN 978-1-5386-3492-9 . S2CID 9109050 . ↑ Thangaraj, Jagadeeswaran; Ulaganathan, Senthilkumaran (2020). "UML/OCL から他の仕様への変換に関する比較研究" . Recent Advances in Computer Science and Communications . 13 (2): 256– 264. doi : 10.2174/2213275912666190129121059 . S2CID 86744559 . ↑ Lano, Kevin (2017). UML-RSDS を使用したアジャイルモデルベース開発 . doi : 10.1201/9781315368153 . ISBN 9781498752237 。↑ Lano, Kevin; Kolahdouz-Rahimi, Shekoufeh (2021). "マップ型と関数型によるOCLの拡張" . ソフトウェア工学の基礎 . コンピュータサイエンス講義ノート. Vol. 12818. pp. 108–123 . doi : 10.1007/978-3-030-89247-0_8 . ISBN 978-3-030-89246-3 . S2CID 239029860 . ↑ Calegari, Daniel; Szasz, Nora (2013年3月5日). "モデル変換の検証: 最新技術の概観" . Electronic Notes in Theoretical Computer Science . 292 : 5– 25. doi : 10.1016/j.entcs.2013.02.002 . ↑ Kahani, Nafiseh; Bagherzadeh, Mojtaba; Cordy, James R.; Dingel, Juergen; Varró, Daniel (2019年8月1日) 「モデル変換ツールの調査と分類」 Software & Systems Modeling . 18 ( 4): 2361– 2397. doi : 10.1007/s10270-018-0665-6 . S2CID 254169720 – Springer Link経由。 ↑ Ab. Rahim, Lukman; Whittle, Jon (2015年5月1日). 「モデル変換を検証するためのアプローチの調査」 . Software & Systems Modeling . 14 (2): 1003–1028 . doi : 10.1007/s10270-013-0358-0 . S2CID 254156898 – Springer Link経由。 ↑ S. Hidaka 他、「変換言語における加法性について」、MODELS 2017、ACM Press ↑ Jakumeit, Edgar; Buchwald, Sebastian; Wagelaar, Dennis; Dan, Li; Hegedüs, Ábel; Herrmannsdörfer, Markus; Horn, Tassilo; Kalnina, Elina; Krause, Christian; Lano, Kevin; Lepper, Markus; Rensink, Arend; Rose, Louis; Wätzoldt, Sebastian; Mazanek, Steffen (2014年6月1日). "変換ツールコンテストに基づく変換ツールの調査と比較" . Science of Computer Programming . 85 : 41– 99. doi : 10.1016/j.scico.2013.10.009 . ↑ ローズ、ルイス・M。ヘルマンスドルファー、マルクス。マザネク、ステフェン。ヴァン・ゴープ、ピーター。ブッフヴァルト、セバスチャン。ホルン、タッシーロ。カルニナ、エリナ。コッホ、アンドレアス。ラノ、ケビン。シャッツ、ベルンハルト。ウィマー、マヌエル(2014 年 2 月 1 日)。 「モデル移行のためのグラフおよびモデル変換ツール」 。 ソフトウェアとシステムのモデリング 。 13 (1): 323–359 . 土井 : 10.1007/s10270-012-0245-0 。 S2CID 254172124 – Springer Link経由。 ↑ 「Transformation Tool Contest (TTC) 2014」 。
外部リンク UML-RSDSの書籍レビュー:https://modeling-languages.com/uml-rsds-agile-model-based-development-uml/ Computerphileの動画:https: //www.youtube.com/watch?v=Xz06zYlQrck EPSRCプロジェクト:https://gow.epsrc.ukri.org/NGBOViewGrant.aspx? GrantRef=GR/R81701/01