Corticon 5.3 : corticon_extensions.pdf メモ

こんにちは。渡邊です。

商用ルールエンジン、Corticonの研究をしています。

Corticon Studio 5.3に同梱された corticon_extensions.pdf を一読しました。
演算子とサービス呼び出しの拡張方法について記されていました。
要点と個人的なメモを残します。

拡張できること

  • 属性拡張演算子
  • 特定属性のCorticonデータ型(Integer/Decimal/Boolean/Date/Time/DateTime/String)に適用される演算子の拡張。

  • コレクション拡張演算子
  • コレクション演算子の拡張。入力属性値のコレクションを処理し、1つの値を返す。

  • シーケンス拡張演算子
  • シーケンス演算子の拡張。入力属性値のシーケンス(リスト)を処理し、1つの値を返す。

  • Stand-Alone拡張演算子
  • Rulesheet式で使用できる関数。 属性拡張演算子とは異なり、語彙の属性や特定のデータ型に関連付けられていない(独立している)。任意の数のパラメータを指定することができる。

  • サービス呼び出し拡張
  • Ruleflowの為の拡張。サービス呼出しAPI経由でファクト(ルールエンジンの入力)領域に直接アクセス、および更新することができる。つまり、あるRuleflowにおいて、あるRulesheetの適用前後にファクトの読み書きを含むビジネスロジックを挟むことができる。

    拡張方法

    次の3つのアプローチがある。

  • Progress Corticon Studio in Eclipseを使っている場合
  • Progress Corticon Studio for Analystsを使っている場合
  • 非Eclipseの設定の基盤APIを使っている場合
  • Java型とCorticon型の対応

    Java TypeCorticon Type
    java.math.BigIntegerInteger
    java.math.BigDecimalDecimal
    java.lang.BooleanBoolean
    java.util.DateDate, Time or. DateTime
    java.lang.StringString

    マーカーインターフェース

    上記に示した拡張の種類ごとにimplementsすべきインターフェースが宣言されている。全てのマーカーインターフェースは、com.corticon.services.extensionsパッケージに属する。

  • 属性拡張演算子
    • Corticon String型用: ICcStringExtension
      Corticon Date/Time/DateTime型用: ICcDateTimeExtension
      Corticon Decimal型用: ICcDecimalExtension
      Corticon Integer型用: ICcIntegerExtension
  • コレクション拡張演算子
    • ICcCollectionExtension
  • シーケンス拡張演算子
    • ICcSequenceExtension
  • Stand-Alone拡張演算子
    • ICcStandAloneExtension
  • サービス呼び出し拡張
    • ICcServiceCalloutExtension

    マーカーインターフェースのロケーション

  • Eclipse or RCP (Studioを使っている場合と同意?)
    • Eclipse plug-in com.corticon.services
  • 非Eclipseの設定の基盤APIを使っている場合
    • Corticon_eFoundation_API.jar

    拡張手順

    Eclipseプラグインを使った拡張方法については、詳細な手順が記されています。これについては別記事にしようと思います。
    また、拡張時のトラブルシューティングついても記されていました。ドキュメントが非常に丁寧に書かれているおかげで、珍しくハマることなくモノができたので、読んでいません。

    疑問

  • 「Refer to Service Call-out Java source code examples in your Progress Corticon Studio 5.3 /Samples/Extended Operators folder, and see the API Javadocs for more information.」と記されているが、当該フォルダが見つからない。
  • corticon_extensions.pdf 読んだだけでは、Corticon_eFoundation_API.jar がどこにあるのか不明である。
  • Corticon 5.3 : corticon_extensions.pdf メモ” への1件のフィードバック

    コメントを残す

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です