エクステンションとは

コンセプト

機能拡張

  • Next Design は、次のような追加機能をプラグイン可能にする機能拡張のメカニズムを備えています。

    • モデル検証
    • ドキュメント生成
    • コード生成
    • シミュレーション用データ生成
    • 外部ツールとのデータ連携(インポート/エクスポート)
  • Next Design にプラグイン可能な個々の機能を エクステンション と呼びます。 エクステンションでは、プログラミング言語から Next Design が提供している API を利用することで独自の機能を実現できます。

Next Design アプリ構想

  • 機能拡張のメカニズムを応用することで、プロファイル定義による柔軟性を持った Next Design に、新たな UI やプロファイルに応じた振る舞いを追加できます。 このことは、Next Design というモデルベースのプラットフォーム(OS層)の上で、対象ドメインに応じてカスタマイズされたアプリケーションを実現できることを意味します。

  • 対象ドメインは、システム設計やソフトウェア設計に限らず、プロジェクト管理でも、事務業務でも構いません。 Access や Excel、Word などの Office ツール上で作成する業務アプリのように、Next Design 上で動作する「Next Design アプリ」を自在に開発できます。

アーキテクチャ

UI 拡張・イベント拡張

  • リボン(メニュー)にボタンなどを追加して機能拡張できます。
  • モデル編集操作やファイル操作などのイベントを受け取り機能拡張できます。
  • エクステンションで拡張されるリボンやイベントの定義は、エクステンションごとに記述するマニフェストファイルから読み込まれます(以降、単にマニフェストと記します)。

プロファイルによる切り替え

  • プロジェクトのプロファイルに応じて有効なエクステンションを切り替えたり、一つのプロファイルに対して複数のエクステンションを有効にできます。

オブジェクトモデルによる操作

  • Next Design のモデリングデータをオブジェクトモデルとしてエクステンションから操作できます。

エラー処理メカニズム

  • モデル検証結果として個々のモデルにエラー情報を設定するだけで、エラー一覧への出力やエラー箇所へのメッセージ表示などができるメカニズムを提供します。

多言語対応

  • Next Design のオプションにある表示言語の切り替えに連動して、エクステンションの表示言語を切り替えられるように多言語対応のメカニズムを提供します。

選択可能な実装方法

  • エクステンションの実装方法として次の2種類があり、エクステンションごとに選択できます。

    • C# スクリプトによる実装方法
    • C# から .NET DLL にコンパイルする実装方法
  • .NET DLL による実装方法では独自の入力フォームも追加できます。

参照