JPH08255076A - データベース駆動によるプログラム自動生成システム - Google Patents

データベース駆動によるプログラム自動生成システム

Info

Publication number
JPH08255076A
JPH08255076A JP7058772A JP5877295A JPH08255076A JP H08255076 A JPH08255076 A JP H08255076A JP 7058772 A JP7058772 A JP 7058772A JP 5877295 A JP5877295 A JP 5877295A JP H08255076 A JPH08255076 A JP H08255076A
Authority
JP
Japan
Prior art keywords
program
database
driving
file
feature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP7058772A
Other languages
English (en)
Other versions
JP2669387B2 (ja
Inventor
Hideaki Tsuuoka
英明 通岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP7058772A priority Critical patent/JP2669387B2/ja
Priority to CA002182354A priority patent/CA2182354C/en
Publication of JPH08255076A publication Critical patent/JPH08255076A/ja
Application granted granted Critical
Publication of JP2669387B2 publication Critical patent/JP2669387B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 ユーザが作成した既存のプログラムに影響を
与えずに駆動データベース構造の変更を行うことが可能
な、データベース駆動によるプログラム自動生成システ
ムを提供する。 【構成】 駆動データベース4とフィーチャプログラム
6と呼処理プログラム5とを有し、データベース駆動に
よってコンピュータプログラムを実行するプログラム実
行方式であって、駆動データベース構造を定義するファ
イル7と、プログラム構造を定義するファイル1と、駆
動データベースに記述されるフィーチャを定義するファ
イル2と、駆動データベースの内容を生成する変換プロ
グラム3とを備え、駆動データベース4の内容を変更す
る際にはフィーチャを定義するファイル2または変換プ
ログラム3の内容を変更し、駆動データベース4とプロ
グラム構造を定義するファイル1とが互いに独立した関
係を有することができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータプログラム
方式に関し、特にデータベース駆動によるプログラム方
式に関する。
【0002】
【従来の技術】従来の技術の典型的な例として、平成5
年特許願第270139号明細書に記載されているデー
タベース駆動によるプログラム実行方式の発明がある。
この方式におけるプログラミングとは、データベースの
パラメータ変更を意味している。
【0003】この従来の方式を利用するシステムにおい
ては、インテリジェントネットワークで定義されている
様々なサービスをデータベース駆動によって実現する際
に、ユーザがデータベースのパラメータを変更するだけ
で、新サービスの追加、既存サービスへの機能の追加お
よび変更を容易に行うことを目的として、ソースコード
を変更することなしに、データベースの内容を変更する
ことのみで、新サービスの追加、既存サービスへの機能
の追加および変更を可能としていた。
【0004】
【発明が解決しようとする課題】しかし、上述の方式で
は、多くのユーザの要求を満たすためにデータベース構
造は次第に複雑で高度になり、プログラムのソースコー
ドを記述するよりも複雑な作業が要求される傾向があっ
た。また、ユーザからの新たな機能追加要求によってデ
ータベース構造の変更が必要となった場合にも、容易に
対応できないという問題点があった。さらに、駆動対象
のデータベース構造が変更されるとデータベースのパラ
メータも合わせて変更する必要があるので、ユーザが作
成するプログラムを変更しなければならず、システムの
規模が大きくなるにつれてプログラム変更のために多大
な時間を必要とするという問題点があった。
【0005】このような点に鑑み本発明は、ユーザが作
成した既存のプログラムに影響を与えずに駆動データベ
ース構造の変更を行うことが可能な、データベース駆動
によるプログラム自動生成システムを提供することを目
的とする。
【0006】
【課題を解決するための手段】上記目的を達成するため
に、本発明のデータベース駆動によるプログラム自動生
成システムは、駆動データベースと、フィーチャプログ
ラムと、呼処理プログラムとを有し、データベース駆動
によってコンピュータプログラムを実行するプログラム
実行方式であって、駆動データベース構造を定義するフ
ァイルと、プログラム構造を定義するファイルと、駆動
データベースに記述されるフィーチャを定義するファイ
ルと、駆動データベースの内容を生成する変換プログラ
ムとを備える。
【0007】上記本発明のデータベース駆動によるプロ
グラム自動生成システムは、前記変換プログラムが、前
記駆動データベース構造を定義するファイルと、前記プ
ログラム構造を定義するファイルと、前記フィーチャを
定義するファイルとを入力とすることができる。
【0008】また、上記本発明のデータベース駆動によ
るプログラム自動生成システムは、前記駆動データベー
スの内容を変更する際には、前記フィーチャを定義する
ファイルおよび前記変換プログラムのうちの少なくとも
1つの内容を変更し、前記駆動データベースと前記プロ
グラム構造を定義するファイルとが互いに独立した関係
を有することができる。
【0009】
【作用】本発明においては、駆動データベース構造を定
義するファイル(以下、駆動データベース構造定義ファ
イルと記述する)と、プログラム構造を定義するファイ
ル(以下、プログラム構造定義ファイルと記述する)
と、駆動データベースに記述されるフィーチャを定義す
るファイル(以下、フィーチャ定義ファイルと記述す
る)と、駆動データベース構造定義ファイルとプログラ
ム構造定義ファイルとフィーチャ定義ファイルとを入力
として駆動データベースの内容を生成する変換プログラ
ムとを備え、駆動データベースの内容の変更をフィーチ
ャ定義ファイルや変換プログラムを変更することによっ
て行い、駆動データベースとプログラム構造定義ファイ
ルとが互いに独立しているので、ユーザは駆動データベ
ース構造からプログラム構造定義ファイルを分離してプ
ログラミングを行うことが可能となり、ユーザの新たな
要求に対応する機能を追加するために駆動データベース
構造が変更されたとしても、フィーチャ定義ファイルま
たは変換プログラムを変更するだけで良く、ユーザが作
成した既存のプログラム構造定義ファイルを修正せずに
対応することが可能となる。また、フィーチャプログラ
ムの追加があった場合でも、ユーザが作成したプログラ
ム構造定義ファイルの修正を不要とすることが可能とな
る。さらに、変換プログラムの機能によってプログラム
構造のチェックを行ったり駆動データベース構造の変更
を内部に吸収することが可能となり、プログラム構造定
義ファイルへの影響を抑えることが可能となる。
【0010】また、プログラム作成に必要な知識も、フ
ィーチャ定義ファイルと変換プログラムによって単純化
することが可能となり、プログラム作成および修正に要
する時間を削減することが可能となる。
【0011】さらに、駆動データベースの設計に先立っ
てユーザがプログラムを作成することが可能となり、開
発期間を短縮することが可能となる。
【0012】
【実施例】次に本発明の実施例について図面を参照して
説明する。
【0013】図1は本発明の一実施例におけるインテリ
ジェントネットワークシステム内の呼処理サービスプロ
グラムシステムを示すブロック図である。
【0014】図1は、ユーザが作成するプログラム構造
定義ファイル1と、フィーチャ定義ファイル2と、変換
プログラム3と、駆動データベース4と、呼処理プログ
ラム5と、複数のフィーチャプログラム6と、駆動デー
タベース構造定義ファイル7とを有する構成となってい
る。
【0015】変換プログラム3は、プログラム構造定義
ファイル1と、フィーチャ定義ファイル2と、駆動デー
タベース4のスキーマ構成を定義している駆動データベ
ース構造定義ファイル7とを入力として、駆動データベ
ース4を書き換える。
【0016】呼処理プログラム5が呼接続要求を検出す
ると、続いて実行すべき駆動データベース4を決定し
て、決定した駆動データベース4の最初のレコードを読
み込む。このとき決定される駆動データベース4は、複
数であっても良い。呼処理プログラム5に読み込まれた
駆動データベースレコードには、フィーチャ名および呼
び出しパラメータが記載されているので、呼処理プログ
ラム5は、指定されたフィーチャに対応するフィーチャ
プログラム6を、指定された呼び出しパラメータによっ
て呼び出す。フィーチャプログラム6の呼び出し結果
は、呼処理プログラム5において解析され、次に実行す
べき駆動データベースレコードを決定する。呼処理プロ
グラム5は、駆動データベース4に記載されているデー
タがなくなるか、駆動データベース4から終了データを
読み出すと、呼処理を終了する。
【0017】図2は、図1における駆動データベースの
構成を示す図である。図2の駆動データベース4は、複
数の駆動データベースレコード21を有する構成となっ
ている。駆動データベース4は、図1に示す変換プログ
ラム3によって生成される。駆動データベース4の各駆
動データベースレコード21は、フィーチャ名22と、
入力パラメータ群を示す入力データ表23と、出力パラ
メータ群を示す出力データ表24と、フィーチャの戻り
値に従って次に参照する駆動データベースレコード21
を示す次実行レコード番号表25とを有する構成となっ
ている。この駆動データベースレコード21が、図1に
おいて説明した呼処理プログラム5に読み込まれる。ま
た、入力データ表23、出力データ表24、および次実
行レコード番号表25が、図1において説明した呼び出
しパラメータに相当する。
【0018】また、駆動データベースレコード21の構
成はこれに限らず、目的とする処理によって、他の構成
とすることも可能である。
【0019】図3は、図1におけるフィーチャ定義ファ
イルの構成を示す図である。図3のフィーチャ定義プロ
グラム2は、複数のフィーチャ定義ブロック31を有す
る構成となっている。フィーチャ定義ファイル2は、図
1に示す変換プログラム3によって参照される。フィー
チャ定義ファイル2の各フィーチャ定義ブロック31
は、フィーチャ名32と、ユーザプログラムエディタな
どで参照されるフィーチャを説明するフィーチャ説明文
33と、入力データの有効範囲を定義する入力データ範
囲表34と、出力データの有効範囲を定義する出力デー
タ範囲表35と、フィーチャの戻り値を定義する戻り値
範囲表36とを有する構成となっている。
【0020】また、フィーチャ定義ブロック31の構成
はこれに限らず、目的とする処理によって、他の構成と
することも可能である。
【0021】さらに、機能追加のためにフィーチャプロ
グラム6が追加される場合には、フィーチャ定義ファイ
ル2にフィーチャ定義ブロック31を追加することによ
って、プログラムを変更することなしに対応することが
できる。
【0022】図4は、図1におけるプログラム構造定義
ファイルの構成を示す図である。図4のプログラム構造
定義ファイル1は、複数のページ内定義部41とフィー
チャ定義部42とを有する構成となっている。プログラ
ム構造定義ファイル1は、ユーザがエディタを使用して
生成する。本実施例では、グラフィカルユーザインター
フェースを用いたエディタを使用して作成する場合を示
している。また、プログラム構造定義ファイル1は、グ
ラフィックエディタで表示されるページ単位に構成され
ており、ページごとのページ内定義部41の組み合わせ
によって記述されている。ページ内定義部41は、図形
種別43と、ページ内図形の表示座標44とを有する構
成となっている。図形種別43のうちのあるものは、フ
ィーチャ定義部42を有する。さらに、フィーチャ定義
部42は、フィーチャ名45と、入力パラメータ46
と、出力パラメータ47と、次実行先図形番号48とを
備える構成となっている。
【0023】また、プログラム構造定義ファイル1の構
成はこれに限らず、目的とする処理や使用するエディタ
の違いによって、他の構成とすることも可能である。
【0024】さらに、機能追加のためにフィーチャプロ
グラム6が追加される場合でも、プログラム構造定義フ
ァイル1はフィーチャ名45を元に作成しているので、
追加されたフィーチャプログラム6を必要としないフィ
ーチャ定義部42においては、プログラム構造定義ファ
イル1の修正は不要である。
【0025】図5は、図1における駆動データベース構
造定義ファイルの構成を示す図である。図5の駆動デー
タベース構造定義ファイル7は、条件部51と、詳細部
52とを有する構成となっている。条件部51は、駆動
データベース4の構造の制限情報を有する。詳細部52
は、駆動データベース4のテーブル構成を示す複数のレ
コードを有しており、各レコードはそれぞれ、カラム名
と、その属性およびサイズとを有している。ただし、複
数のレコードはそれぞれ独立ではなく、詳細部52とし
て一体化されている。
【0026】図6は、本実施例におけるプログラム自動
生成処理を示すフローチャートである。図6を用いて、
図1におけるプログラム自動生成処理を説明する。
【0027】処理の概略としては、駆動データベース構
造定義ファイル7を読み込み(ステップ610;以下、
S610と記述する)、フィーチャ定義ファイル2を読
み込んで処理を行い(S621〜S624)、プログラ
ム構造定義ファイル1を読み込んで、駆動データベース
4の構造に変換する(S631〜S635)。
【0028】処理の詳細を説明する。プログラムが起動
されると処理を開始し、初めに駆動データベース構造定
義ファイル7を変換プログラム3が実行される計算機
(不図示)のメモリ上に読み込んで格納する(S61
0)。
【0029】次に、全てのフィーチャ定義ブロック31
を読み込んだか否かを試験する(S621)。読み込み
の完了していないフィーチャ定義ブロック31があれ
ば、読み込みを行う(S622)。読み込んだフィーチ
ャ定義ブロック31を、S610で読み込んだ駆動デー
タベース構造定義ファイル7の構造に合致するフィーチ
ャ構成であるか否かを試験する(S623)。エラーが
検出された場合には、次のフィーチャ定義ブロック31
を読み込むためにS621に戻る。ここでのエラーと
は、例えばフィーチャ定義ブロック31の入力パラメー
タの個数が多すぎる場合等をいう。
【0030】S623においてエラーが検出されない場
合には、読み込んだフィーチャ定義ブロック31を変換
プログラム3が実行される計算機のメモリ上に格納し
(S624)、次のフィーチャ定義ブロック31を読み
込むためにS621に戻る。
【0031】S621において全てのフィーチャ定義ブ
ロック31の読み込みが完了したと判定すると、全ての
プログラム構造定義ファイル1を読み込んだか否かを試
験する(S631)。読み込みの完了していないプログ
ラム構造定義ファイル1があれば、読み込みを行う(S
632)。読み込んだプログラム構造定義ファイル1
を、S620で読み込んだフィーチャ定義ファイル2の
条件に一致しているか否かを試験する(S633)。エ
ラーが検出された場合には、プログラム構造定義ファイ
ル1の読み込みを継続するためにS631に戻る。
【0032】S633においてエラーが検出されない場
合には、プログラム構造定義ファイル1を駆動データベ
ース4の構造に変換する(S634)。変換した情報を
駆動データベース4に格納し(S635)、次のプログ
ラム構造定義ファイル1を読み込むためにS631に戻
る。
【0033】S631において全てのプログラム構造定
義ファイル1の読み込みが完了したと判定すると、処理
を終了する。
【0034】
【発明の効果】以上説明したように本発明は、駆動デー
タベース構造を定義するファイル(以下、駆動データベ
ース構造定義ファイルと記述する)と、プログラム構造
を定義するファイル(以下、プログラム構造定義ファイ
ルと記述する)と、駆動データベースに記述されるフィ
ーチャを定義するファイル(以下、フィーチャ定義ファ
イルと記述する)と、駆動データベース構造定義ファイ
ルとプログラム構造定義ファイルとフィーチャ定義ファ
イルとを入力として駆動データベースの内容を生成する
変換プログラムとを備え、駆動データベースの内容の変
更をフィーチャ定義ファイルや変換プログラムを変更す
ることによって行い、駆動データベースとプログラム構
造定義ファイルとが互いに独立していることによって、
ユーザは駆動データベース構造からプログラム構造定義
ファイルを分離してプログラミングを行うことができ、
ユーザの新たな要求に対応する機能を追加するために駆
動データベース構造が変更されたとしても、フィーチャ
定義ファイルまたは変換プログラムを変更するだけで良
く、ユーザが作成した既存のプログラム構造定義ファイ
ルを修正せずに対応することができるという効果を有す
る。また、フィーチャプログラムの追加があった場合で
も、ユーザが作成したプログラム構造定義ファイルの修
正を不要とすることができるという効果を有する。さら
に、変換プログラムの機能によってプログラム構造のチ
ェックを行ったり駆動データベース構造の変更を内部に
吸収することができ、プログラム構造定義ファイルへの
影響を抑えることができるという効果を有する。
【0035】また、プログラム作成に必要な知識も、フ
ィーチャ定義ファイルと変換プログラムによって単純化
することができ、プログラム作成および修正に要する時
間を削減することができるという効果を有する。
【0036】さらに、駆動データベースの設計に先立っ
てユーザがプログラムを作成することができ、開発期間
を短縮することができるという効果を有する。
【図面の簡単な説明】
【図1】本発明の一実施例におけるインテリジェントネ
ットワークシステム内の呼処理プログラムシステムを示
すブロック図
【図2】図1における駆動データベースの構成を示す図
【図3】図1におけるフィーチャ定義ファイルの構成を
示す図
【図4】図1におけるプログラム構造定義ファイルの構
成を示す図
【図5】図1における駆動データベース構造定義ファイ
ルの構成を示す図
【図6】本実施例におけるプログラム自動生成処理を示
すフローチャート
【符号の説明】
1 プログラム構造定義ファイル 2 フィーチャ定義ファイル 3 変換プログラム 4 駆動データベース 5 呼処理プログラム 6 フィーチャプログラム 7 駆動データベース構造定義ファイル 21 駆動データベースレコード 22 フィーチャ名 23 入力データ表 24 出力データ表 25 次実行レコード番号表 31 フィーチャ定義ブロック 32 フィーチャ名 33 説明文 34 入力データ範囲表 35 出力データ範囲表 36 戻り値範囲表 41 ページ内定義部 42 フィーチャ定義部 43 図形種別 44 ページ内図形の表示座標 45 フィーチャ名 46 入力パラメータ 47 出力パラメータ 48 次実行先図形番号 51 条件部 52 詳細部

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 駆動データベースと、フィーチャプログ
    ラムと、呼処理プログラムとを有し、データベース駆動
    によってコンピュータプログラムを実行するプログラム
    実行方式において、 駆動データベース構造を定義するファイルと、プログラ
    ム構造を定義するファイルと、駆動データベースに記述
    されるフィーチャを定義するファイルと、駆動データベ
    ースの内容を生成する変換プログラムとを備えることを
    特徴とする、データベース駆動によるプログラム自動生
    成システム。
  2. 【請求項2】 前記変換プログラムが、 前記駆動データベース構造を定義するファイルと、前記
    プログラム構造を定義するファイルと、前記フィーチャ
    を定義するファイルとを入力とする、請求項1に記載の
    データベース駆動によるプログラム自動生成システム。
  3. 【請求項3】 前記駆動データベースの内容を変更する
    際には、前記フィーチャを定義するファイルおよび前記
    変換プログラムのうちの少なくとも1つの内容を変更
    し、 前記駆動データベースと前記プログラム構造を定義する
    ファイルとが互いに独立した関係を有する、請求項1ま
    たは2に記載のデータベース駆動によるプログラム自動
    生成システム。
JP7058772A 1995-03-17 1995-03-17 データベース駆動によるプログラム自動生成システム Expired - Lifetime JP2669387B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP7058772A JP2669387B2 (ja) 1995-03-17 1995-03-17 データベース駆動によるプログラム自動生成システム
CA002182354A CA2182354C (en) 1995-03-17 1996-07-30 Database driven automatic program production system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP7058772A JP2669387B2 (ja) 1995-03-17 1995-03-17 データベース駆動によるプログラム自動生成システム
CA002182354A CA2182354C (en) 1995-03-17 1996-07-30 Database driven automatic program production system

Publications (2)

Publication Number Publication Date
JPH08255076A true JPH08255076A (ja) 1996-10-01
JP2669387B2 JP2669387B2 (ja) 1997-10-27

Family

ID=25678590

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7058772A Expired - Lifetime JP2669387B2 (ja) 1995-03-17 1995-03-17 データベース駆動によるプログラム自動生成システム

Country Status (2)

Country Link
JP (1) JP2669387B2 (ja)
CA (1) CA2182354C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000050247A (ko) * 2000-05-30 2000-08-05 김호광 객체의 대화에 따른 프로그램 제어구조 생성장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000050247A (ko) * 2000-05-30 2000-08-05 김호광 객체의 대화에 따른 프로그램 제어구조 생성장치 및 방법

Also Published As

Publication number Publication date
JP2669387B2 (ja) 1997-10-27
CA2182354C (en) 1999-11-09
CA2182354A1 (en) 1998-01-31

Similar Documents

Publication Publication Date Title
KR20030070685A (ko) 그래픽 사용자 인터페이스의 변경 방법 및 이를 위한기록매체
JP2000347894A (ja) ソースプログラムチェック装置およびそのプログラム記録媒体
US20050160410A1 (en) Object-oriented optimization code generator and a method therefor
CN115167831A (zh) 基于autosar的软件集成方法、设备和使用方法
JP2669387B2 (ja) データベース駆動によるプログラム自動生成システム
US5819287A (en) Database driven automatic program production system
JPH1011271A (ja) バージョンダウン入力方式
JP2659264B2 (ja) コマンドオプション指定処理装置
JPS60134282A (ja) システム画面表示方式
JPH05150970A (ja) プログラム作成支援装置
JPH0390933A (ja) ソフトウェアプログラム自動生成方式
JP2007094453A (ja) プログラム開発支援システム、プログラム開発支援方法およびプログラム
JP3305858B2 (ja) 自動図形作成装置および自動図形作成方法
JP2001195432A (ja) Cadシステム
JP3305782B2 (ja) ソフトウェア標準化方法およびソフトウェア生産物の解析方法
JPH0954688A (ja) Gui設計支援方法
JPS6344240A (ja) プログラム処理制御方式
KR100352500B1 (ko) 자동화된 화면 컨트롤 생성 방법
JP3371434B2 (ja) レイアウト編集装置
CN116414375A (zh) 一种导出设计版源码的方法和系统
CN118733017A (zh) 一种支持多模式表单的低代码开发平台设计系统和方法
JPH1196040A (ja) プロセス実行システムおよび記録媒体
JPH1124911A (ja) ソースプログラム自動生成方法
JP2000181691A (ja) プログラム構造解析方式
JPH1195987A (ja) リンクコマンドエディタおよびリンクコマンドエディタプログラムを記録したコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070704

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080704

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090704

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100704

Year of fee payment: 13