(57)【要約】【課題】自動車税、固定資産税等の複数の納税通知が別個に発送されることを回避するとともに、指定日に大量の演算処理を必要とする税額計算であっても演算処理負荷を軽減することができる税務支援装置、税務支援方法及びコンピュータプログラムを提供する。【解決手段】複数の税種別に対応した複数の処理ステップごとに必要となる属性を有する税オブジェクトを、実行日時に対応付けて一時記憶する税プールを記憶し、実行する税オブジェクトの税種別又は属性値に対応付けて、処理ステップごとに、該税オブジェクトを次に一時記憶する税プールを特定する。取得した現在日時及び／又は指定を受け付けた未来日時に応じて実行するべき税プールを抽出し、抽出した税プールに一時記憶されている複数の税オブジェクトを実行し、実行が完了した税オブジェクトを、特定した税プールへ一時記憶する。【選択図】図３
2011145858.tif 000002
【特許請求の範囲】
【請求項１】
複数の税種別に対応した複数の処理ステップごとに必要となる属性を有する税オブジェクトを、処理ステップごとに実行日時に対応付けて記憶する税オブジェクト記憶手段と、
実行日時に対応付けて、異なる属性を有する税オブジェクトを一時記憶する税プールを記憶する税プール記憶手段と、
実行する税オブジェクトの税種別又は属性値に対応付けて、前記処理ステップごとに、該税オブジェクトを次に一時記憶する税プールを特定して記憶するオブジェクトリンク記憶手段と、
現在日時を取得する現在日時取得手段と、
取得した現在日時よりも後の未来日時の指定を受け付ける日時指定受付手段と、
取得した現在日時及び／又は指定を受け付けた未来日時に応じて実行するべき税プールを抽出する抽出手段と、
抽出した税プールに一時記憶されている複数の税オブジェクトを実行し、実行が完了した税オブジェクトを、次に一時記憶する税プールとして記憶してある税プールへ一時記憶する税オブジェクト実行手段と
を備えることを特徴とする税務支援装置。
【請求項２】
指定を受け付けた未来日時にて実行するべき前記税オブジェクトが複数存在する場合、複数の前記税オブジェクトを並列に実行するようにしてあることを特徴とする請求項１記載の税務支援装置。
【請求項３】
税オブジェクトの実行ログを取得する実行ログ取得手段と、
指定を受け付けた未来日時にて実行するべき前記税オブジェクトについて、前記未来日時の前に、実行に用いるデータが更新されたか否かを判断する判断手段とを備え、
該判断手段で更新されたと判断した場合、取得した実行ログに基づいて、前記税オブジェクトを再度実行するようにしてあることを特徴とする請求項１又は２記載の税務支援装置。
【請求項４】
複数の税種別に対応した複数の処理ステップごとに必要となる属性を有する税オブジェクトを、処理ステップごとに実行日時に対応付けて記憶する工程と、
実行日時に対応付けて、異なる属性を有する税オブジェクトを一時記憶する税プールを記憶する工程と、
実行する税オブジェクトの税種別又は属性値に対応付けて、前記処理ステップごとに、該税オブジェクトを次に一時記憶する税プールを特定して記憶する工程と、
現在日時を取得する工程と、
取得した現在日時よりも後の未来日時の指定を受け付ける工程と、
取得した現在日時及び／又は指定を受け付けた未来日時に応じて実行するべき税プールを抽出する工程と、
抽出した税プールに一時記憶されている複数の税オブジェクトを実行し、実行が完了した税オブジェクトを、次に一時記憶する税プールとして記憶してある税プールへ一時記憶する工程と
を含むことを特徴とする税務支援方法。
【請求項５】
指定を受け付けた未来日時にて実行するべき前記税オブジェクトが複数存在する場合、複数の前記税オブジェクトを並列に実行することを特徴とする請求項４記載の税務支援方法。
【請求項６】
税オブジェクトの実行ログを取得する工程と、
指定を受け付けた未来日時にて実行するべき前記税オブジェクトについて、前記未来日時の前に、実行に用いるデータが更新されたか否かを判断する工程と、
更新されたと判断した場合、取得した実行ログに基づいて、前記税オブジェクトを再度実行する工程と
を含むことを特徴とする請求項４又は５記載の税務支援方法。
【請求項７】
税務処理を支援する税務支援装置において実行することが可能なコンピュータプログラムにおいて、
前記税務支援装置を、
複数の税種別に対応した複数の処理ステップごとに必要となる属性を有する税オブジェクトを、処理ステップごとに実行日時に対応付けて記憶する税オブジェクト記憶手段、
実行日時に対応付けて、異なる属性を有する税オブジェクトを一時記憶する税プールを記憶する税プール記憶手段、
実行する税オブジェクトの税種別又は属性値に対応付けて、前記処理ステップごとに、該税オブジェクトを次に一時記憶する税プールを特定して記憶するオブジェクトリンク記憶手段、
現在日時を取得する現在日時取得手段、
取得した現在日時よりも後の未来日時の指定を受け付ける日時指定受付手段、
取得した現在日時及び／又は指定を受け付けた未来日時に応じて実行するべき税プールを抽出する抽出手段、及び
抽出した税プールに一時記憶されている複数の税オブジェクトを実行し、実行が完了した税オブジェクトを、次に一時記憶する税プールとして記憶してある税プールへ一時記憶する税オブジェクト実行手段
として機能させることを特徴とするコンピュータプログラム。
【請求項８】
前記税務支援装置を、
指定を受け付けた未来日時にて実行するべき前記税オブジェクトが複数存在する場合、複数の前記税オブジェクトを並列に実行する手段
として機能させることを特徴とする請求項７記載のコンピュータプログラム。
【請求項９】
前記税務支援装置を、
税オブジェクトの実行ログを取得する実行ログ取得手段、
指定を受け付けた未来日時にて実行するべき前記税オブジェクトについて、前記未来日時の前に、実行に用いるデータが更新されたか否かを判断する判断手段、及び
該判断手段で更新されたと判断した場合、取得した実行ログに基づいて、前記税オブジェクトを再度実行する手段
として機能させることを特徴とする請求項７又は８記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、地方税業務に代表される税務処理を支援する税務支援装置、税務支援方法及びコンピュータプログラムに関し、自動車税、固定資産税等の複数の納税通知が、別個に同一の納税義務者に発送されることを回避することができ、近い将来に発生する納税義務を予告した税務通知を実現するとともに、演算処理負荷を軽減することができる税務支援装置、税務支援方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
地方税（市町村民税及び道府県民税）業務を支援する税務支援装置は、その多くが受託開発形式により発注されている。すなわち、受託業者（ＩＴベンダー）は、施主である自治体の税務担当者から詳細に業務フローを聞き出し、システムの仕様を定め、特注のシステムとして開発している。
【０００３】
斯かる従来の税務支援装置では、個人住民税、法人市町村民税、償却固定資産税等の内容的には類似した税務処理を、税種別ごとにモジュールとして個別に開発していることが多い。税務処理には類似した部分も多く、このように別々のモジュールとして開発する方法では、開発コスト、保守コスト等の観点から問題がある。
【０００４】
例えば製造技術管理の分野では、同一機能及び同一品質の製品、部品等を重複して開発することを未然に防止するために、例えば特許文献１に開示してあるように、用途属性の組を有する製品の集合を製品群とし、製品を部品構成ではなく用途属性として分類することで、加工機能による違い、部品に依存しない製品の差異等を吸収して、同一の製品群として取り扱うことが多い。これにより、全体のデータ量を減らしつつ、各種の演算処理負荷を軽減している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−２５９６６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に開示してある考え方を税務システムに適用した場合、例えば個人に対して請求される自動車税、固定資産税等のいくつかの税を一括して請求することができる可能性がある。しかし、自動車税の税額計算時には、固定資産税の税額計算を行っていない等、税額計算自体は類似する税であっても税額計算処理の時期が相違することにより、同時に複数の税額、この場合には税額計算を行っていない固定資産税については同時に税額を推算することができない。
【０００７】
また、大都市を有する道府県では、税務処理件数が全部で数千万件以上となる。このような巨大なバッチ処理を実行することは、税務システムの演算処理負荷を増加させ、オンライン系システムの業務レスポンスの劣化を招く。このため、夜間にバッチ処理する等で対応はしているが、その終了時刻はデータ量に依存しており、翌日まで計算処理が持ち越される場合には、日常業務に支障をきたすおそれがあった。
【０００８】
本発明は斯かる事情に鑑みてなされたものであり、自動車税、固定資産税等の複数の納税通知が別個に発送されることを回避することができるとともに、固定資産税等の指定日に大量の演算処理を必要とする税額計算であっても演算処理負荷を軽減することができる税務支援装置、税務支援方法及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために第１発明に係る税務支援装置は、複数の税種別に対応した複数の処理ステップごとに必要となる属性を有する税オブジェクトを、処理ステップごとに実行日時に対応付けて記憶する税オブジェクト記憶手段と、実行日時に対応付けて、異なる属性を有する税オブジェクトを一時記憶する税プールを記憶する税プール記憶手段と、実行する税オブジェクトの税種別又は属性値に対応付けて、前記処理ステップごとに、該税オブジェクトを次に一時記憶する税プールを特定して記憶するオブジェクトリンク記憶手段と、現在日時を取得する現在日時取得手段と、取得した現在日時よりも後の未来日時の指定を受け付ける日時指定受付手段と、取得した現在日時及び／又は指定を受け付けた未来日時に応じて実行するべき税プールを抽出する抽出手段と、抽出した税プールに一時記憶されている複数の税オブジェクトを実行し、実行が完了した税オブジェクトを、次に一時記憶する税プールとして記憶してある税プールへ一時記憶する税オブジェクト実行手段とを備えることを特徴とする。
【００１０】
また、第２発明に係る税務支援装置は、第１発明において、指定を受け付けた未来日時にて実行するべき前記税オブジェクトが複数存在する場合、複数の前記税オブジェクトを並列に実行するようにしてあることを特徴とする。
【００１１】
また、第３発明に係る税務支援装置は、第１又は第２発明において、税オブジェクトの実行ログを取得する実行ログ取得手段と、指定を受け付けた未来日時にて実行するべき前記税オブジェクトについて、前記未来日時の前に、実行に用いるデータが更新されたか否かを判断する判断手段とを備え、該判断手段で更新されたと判断した場合、取得した実行ログに基づいて、前記税オブジェクトを再度実行するようにしてあることを特徴とする。
【００１２】
次に、上記目的を達成するために第４発明に係る税務支援方法は、複数の税種別に対応した複数の処理ステップごとに必要となる属性を有する税オブジェクトを、処理ステップごとに実行日時に対応付けて記憶する工程と、実行日時に対応付けて、異なる属性を有する税オブジェクトを一時記憶する税プールを記憶する工程と、実行する税オブジェクトの税種別又は属性値に対応付けて、前記処理ステップごとに、該税オブジェクトを次に一時記憶する税プールを特定して記憶する工程と、現在日時を取得する工程と、取得した現在日時よりも後の未来日時の指定を受け付ける工程と、取得した現在日時及び／又は指定を受け付けた未来日時に応じて実行するべき税プールを抽出する工程と、抽出した税プールに一時記憶されている複数の税オブジェクトを実行し、実行が完了した税オブジェクトを、次に一時記憶する税プールとして記憶してある税プールへ一時記憶する工程とを含むことを特徴とする。
【００１３】
また、第５発明に係る税務支援方法は、第４発明において、指定を受け付けた未来日時にて実行するべき前記税オブジェクトが複数存在する場合、複数の前記税オブジェクトを並列に実行することを特徴とする。
【００１４】
また、第６発明に係る税務支援方法は、第４又は第５発明において、税オブジェクトの実行ログを取得する工程と、指定を受け付けた未来日時にて実行するべき前記税オブジェクトについて、前記未来日時の前に、実行に用いるデータが更新されたか否かを判断する工程と、更新されたと判断した場合、取得した実行ログに基づいて、前記税オブジェクトを再度実行する工程とを含むことを特徴とする。
【００１５】
次に、上記目的を達成するために第７発明に係るコンピュータプログラムは、税務処理を支援する税務支援装置において実行することが可能なコンピュータプログラムにおいて、前記税務支援装置を、複数の税種別に対応した複数の処理ステップごとに必要となる属性を有する税オブジェクトを、処理ステップごとに実行日時に対応付けて記憶する税オブジェクト記憶手段、実行日時に対応付けて、異なる属性を有する税オブジェクトを一時記憶する税プールを記憶する税プール記憶手段、実行する税オブジェクトの税種別又は属性値に対応付けて、前記処理ステップごとに、該税オブジェクトを次に一時記憶する税プールを特定して記憶するオブジェクトリンク記憶手段、現在日時を取得する現在日時取得手段、取得した現在日時よりも後の未来日時の指定を受け付ける日時指定受付手段、取得した現在日時及び／又は指定を受け付けた未来日時に応じて実行するべき税プールを抽出する抽出手段、及び抽出した税プールに一時記憶されている複数の税オブジェクトを実行し、実行が完了した税オブジェクトを、次に一時記憶する税プールとして記憶してある税プールへ一時記憶する税オブジェクト実行手段として機能させることを特徴とする。
【００１６】
また、第８発明に係るコンピュータプログラムは、第７発明において、前記税務支援装置を、指定を受け付けた未来日時にて実行するべき前記税オブジェクトが複数存在する場合、複数の前記税オブジェクトを並列に実行する手段として機能させることを特徴とする。
【００１７】
また、第９発明に係るコンピュータプログラムは、第７又は第８発明において、前記税務支援装置を、税オブジェクトの実行ログを取得する実行ログ取得手段、指定を受け付けた未来日時にて実行するべき前記税オブジェクトについて、前記未来日時の前に、実行に用いるデータが更新されたか否かを判断する判断手段、及び該判断手段で更新されたと判断した場合、取得した実行ログに基づいて、前記税オブジェクトを再度実行する手段として機能させることを特徴とする。
【００１８】
第１発明、第４発明及び第７発明では、複数の税種別に対応した複数の処理ステップごとに必要となる属性を有する税オブジェクトを、処理ステップごとに実行日時に対応付けて記憶しておく。また、実行日時に対応付けて、異なる属性を有する税オブジェクトを一時記憶する税プールを記憶し、実行する税オブジェクトの税種別又は属性値に対応付けて、処理ステップごとに、該税オブジェクトを次に一時記憶する税プールを特定して記憶しておく。現在日時を取得し、取得した現在日時よりも後の未来日時の指定を受け付ける。取得した現在日時及び／又は指定を受け付けた未来日時に応じて実行するべき税プールを抽出し、抽出した税プールに一時記憶されている複数の税オブジェクトを実行し、実行が完了した税オブジェクトを、次に一時記憶する税プールとして記憶してある税プールへ一時記憶する。現在日時及び／又は未来日時に応じて複数の税オブジェクトを実行することにより、次に実行するべき処理ステップの実行日時に対応した税プールへ税オブジェクトを一時記憶することができるので、例えば自動車税の納税通知のタイミングで、まだ税額が計算されていない他の税の予定税額及び納付時期を税プールに一時記憶されている税オブジェクトを実行することにより推算することができる。また、税額を計算する自治体側にとっても、未来日時にて事前に税額計算を分散して処理しておくことにより、税額計算が特定の日時に集中することを回避することができるので、比較的性能の低いコンピュータでも業務を遂行することができ、予算、経費等の削減に寄与することが可能となる。
【００１９】
第２発明、第５発明及び第８発明では、指定を受け付けた未来日時にて実行するべき税オブジェクトが複数存在する場合、複数の税オブジェクトを並列に実行することにより、未来日時における税額のシミュレーション計算を、複数並列に計算することができ、納税義務者が複数の条件の中からいずれの条件を選択するかの判断が困難である場合、複数の税額を並列に推算することができ、複数条件の中からいずれかの条件を容易に選択することができるよう支援することが可能となる。
【００２０】
第３発明、第６発明及び第９発明では、税オブジェクトの実行ログを取得し、指定を受け付けた未来日時にて実行するべき税オブジェクトについて、未来日時の前に、実行に用いるデータが更新されたか否かを判断する。更新されたと判断した場合、取得した実行ログに基づいて、税オブジェクトを再度実行する。これにより、例えば未来日時より前に計算していた税額計算に用いていたデータが更新された場合、未来日時に到達する前に再度税額を計算しなおすことができるので、演算処理負荷を分散させた状態を維持することができ、特定の日時に演算処理負荷が集中することを回避することが可能となる。また、実行ログに基づいて再度演算処理が必要な部分のみを実行することができ、税オブジェクトの再実行による演算処理負荷の増加を最小限に止めることも可能となる。
【発明の効果】
【００２１】
上記構成によれば、現在日時及び／又は未来日時に応じて複数の税オブジェクトを実行することにより、次に実行するべき処理ステップの実行日時に対応した税プールへ税オブジェクトを一時記憶することができるので、例えば自動車税の納税通知のタイミングで、まだ税額が計算されていない他の税の予定税額及び納付時期を税プールに一時記憶されている税オブジェクトを実行することにより推算することができる。また、税額を計算する自治体側にとっても、未来日時にて事前に税額計算を分散して処理しておくことにより、税額計算が特定の日時に集中することを回避することができるので、比較的性能の低いコンピュータでも業務を遂行することができ、予算、経費等の削減に寄与することが可能となる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施の形態１に係る税務支援装置を、ＣＰＵを用いて具現化した場合のハードウェア構成を示すブロック図である。
【図２】本発明の実施の形態１に係る税務支援装置の機能を示す機能ブロック図である。
【図３】本発明の実施の形態１に係る税務支援装置のＣＰＵの処理手順を示すフローチャートである。
【図４】本発明の実施の形態１に係る税務支援装置の税オブジェクトのデータ構成を示す例示図である。
【図５】本発明の実施の形態１に係る税務支援装置の税オブジェクトの階層構造の例示図である。
【図６】本発明の実施の形態１に係る税務支援装置のＣＰＵがイベントドリブンシミュレータとして機能する場合の、「タイミングホイール」の構成の例示図である。
【図７】本発明の実施の形態１に係る税務支援装置のＣＰＵの、タイミングホイールとしての動作手順を示すフローチャートである。
【図８】本発明の実施の形態２に係る税務支援装置のＣＰＵがイベントドリブンシミュレータとして機能する場合の、「タイミングホイール」の構成の例示図である。
【図９】本発明の実施の形態３に係る税務支援装置の機能を示す機能ブロック図である。
【図１０】本発明の実施の形態３に係る税務支援装置の実行ログとして記憶される情報の例示図である。
【図１１】本発明の実施の形態３に係る税務支援装置のＣＰＵがイベントドリブンシミュレータとして機能する場合の、「タイミングホイール」の構成の例示図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施の形態に係る税務支援装置について図面に基づいて具体的に説明する。
【００２４】
（実施の形態１）
図１は、本発明の実施の形態１に係る税務支援装置を、ＣＰＵを用いて具現化した場合のハードウェア構成を示すブロック図である。図１において、本実施の形態１に係る税務支援装置１０は、少なくとも、ＣＰＵ（中央演算装置）１１、メモリ１２、記憶装置１３、Ｉ／Ｏインタフェース１４、ビデオインタフェース１５、通信インタフェース１６、可搬型ディスクドライブ１７及び上述したハードウェアを接続する内部バス１８で構成されている。
【００２５】
ＣＰＵ１１は、内部バス１８を介して税務支援装置１０の上述したようなハードウェア各部と接続されており、上述したハードウェア各部の動作を制御するとともに、記憶装置１３に記憶されているコンピュータプログラム１００に従って、種々のソフトウェア的機能を実行する。メモリ１２は、ＳＲＡＭ、ＳＤＲＡＭ等の揮発性メモリで構成され、コンピュータプログラム１００の実行時にロードモジュールが展開され、コンピュータプログラム１００の実行時に発生する一時的なデータ等を記憶する。
【００２６】
記憶装置１３は、内蔵される固定型記憶装置（ハードディスク）、ＲＯＭ等で構成されている。記憶装置１３に記憶されているコンピュータプログラム１００は、プログラム及びデータ等の情報を記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体９０から、可搬型ディスクドライブ１７によりダウンロードされ、実行時には記憶装置１３からメモリ１２へ展開して実行される。もちろん、通信インタフェース１６を介して外部のコンピュータからダウンロードされたコンピュータプログラムであっても良い。
【００２７】
また記憶装置１３は、税オブジェクト記憶部１３１、税プール記憶部１３２、及びオブジェクトリンク記憶部１３３を備えている。税オブジェクト記憶部１３１は、複数の税種別に対応した複数の処理ステップごとに必要となる属性を有する税オブジェクトを、処理ステップごとに実行日時に対応付けて記憶する。
【００２８】
税プール記憶部１３２は、実行日時に対応付けて、異なる属性を有する税オブジェクトを一時記憶する税プールを記憶する。オブジェクトリンク記憶部１３３は、実行する税オブジェクトの税種別又は属性値に対応付けて、処理ステップごとに、該税オブジェクトを次に一時記憶する税プールを記憶する。
【００２９】
通信インタフェース１６は内部バス１８に接続されており、インターネット、ＬＡＮ、ＷＡＮ等の外部のネットワークに接続されることにより、外部のコンピュータ、外部の機器等とデータ送受信を行うことが可能となっている。例えば外部のコンピュータで税務書類の印刷出力等を行っている場合、適時に印刷出力データを出力する。
【００３０】
Ｉ／Ｏインタフェース１４は、キーボード２１、マウス２２等のデータ入力装置と接続されており、ビデオインタフェース１５は、ＣＲＴモニタ、ＬＣＤ等の表示装置２３と接続されている。
【００３１】
図２は、本発明の実施の形態１に係る税務支援装置１０の機能を示す機能ブロック図である。現在日時取得部２０１は、税務支援装置１０に内蔵されているタイマ等により、現在の日時である現在日時を取得する。未来日時指定受付部（日時指定受付手段）２０２は、取得した現在日時よりも後の日時（以下、未来日時）の指定を、キーボード２１、マウス２２等を用いて受け付ける。
【００３２】
税オブジェクト記憶部１３１、１３１、・・・には、税務処理に必要となる複数の税種別に対応した属性を有する税オブジェクトを、実行日時に対応付けて記憶してある。ここで、税オブジェクトとは、法人、個人を問わず、所定の税種別において納税義務者に課せられている税に関する情報等を有するオブジェクトを意味する。本実施の形態１ではオブジェクト指向プログラミングを前提としているので、税は一つのオブジェクトとなり、属性値として税の種類等が特定され税額計算等を実行する。
【００３３】
税オブジェクトには、税の課税額、納付額、滞納がある場合の滞納日数、滞納課徴金の金額等を特定する属性値以外に、税額計算の根拠となる各種の属性、納税義務者を識別するＩＤ番号等を属性値として設定することができる。なお、納税義務者のＩＤ番号は、一般に各自治体ごとに管理されている番号であり、法人、個人の納税義務者を特定するものである。税オブジェクトは、税種別ごとに異なる属性を有しており、同じ税種別でも納税義務者ごとに税オブジェクトは存在し、納税義務者のＩＤ番号を属性値として取得することにより、実行することが可能な税インスタンスが生成される。すなわち税オブジェクトごとにアクティベートされ、税インスタンスとして実行される。
【００３４】
税オブジェクトを実行する実行日時は、例えば固定資産税はいつの日に計算する等の税務処理を実行する日時を意味する。例えば固定資産税は、１月１日現在の固定資産の所有権者に対して請求されるが、実際に納付通知書兼納付済通知書（以下、納通）が発送される日付までには一定の日数が経過する。そこで１月１日以降の所有権者の住所異動等を見越して、ある特定の日時（実行日時）で税額計算をすることになる。
【００３５】
税オブジェクトの実行時には、実行日時を含む種々の属性に対して属性値の指定を受け付け、税インスタンスを生成することにより、所望の税務処理を実行する。例えば様々な実行日時に対して属性値の指定を受け付ける場合、それぞれの税務処理により納通を発送する日時、督促の判定を行う日時等、それぞれの実行日時が定まっており、タイミングホイール等のイベントドリブンシミュレータが所定の実行日時に到達したと判断した時点で、所望の税務処理ステップを実行することができる。
【００３６】
税プール記憶部１３２、１３２、・・・には、実行日時に対応付けて、異なる属性を有する税オブジェクトを一時記憶する税プールを記憶してある。一般に一の税プールに複数の税オブジェクトが一時記憶されており、税プールと税オブジェクトとは１対Ｎの関係にある。
【００３７】
税プールは、税オブジェクトが有する複数の税務処理ステップの実行日時に対応付けて、複数の税オブジェクトを一時記憶している。例えば、税務処理は、課税のためのデータ入力処理、課税額の計算処理、納通の発送処理、納税された場合の「消し込み処理」（税金が支払われたことを税オブジェクトの納税額の属性に入力する）、納税されなかった場合の督促判定処理、督促状の発送処理、催告状の発送処理等の複数の税務処理ステップを有しており、税オブジェクトは、日付の経過に沿って、これらの税務処理ステップを順次実行する必要がある。税プールは、それぞれの税務処理ステップを実行する実行日時に対応付けて、実行日時に到達するまで待機している税オブジェクトを一時記憶する。
【００３８】
オブジェクトリンク記憶部１３３、１３３、・・・には、実行する税オブジェクトの属性に応じて、該税オブジェクトを次の実行対象として一時記憶する税プールを特定して記憶してある。すなわち所定の税務処理ステップの実行が完了した税オブジェクトを、税オブジェクトの税種別、属性の属性値に応じて選別し、次に一時記憶する税プール、すなわち次の税務処理ステップに対応する税プールを特定する。つまり、一の税オブジェクトに対して一時記憶先となる一の税プールが決定される。
【００３９】
税プール抽出部２０３は、現在日時取得部２０１で取得した現在日時及び／又は未来日時指定受付部２０２で指定を受け付けた未来日時に応じて、実行するべき税プールを抽出する。すなわち、税プールに一時記憶してある税オブジェクトは、実行日時に対応付けて実行待ち状態として一時記憶されている。したがって、未来日時の指定を受け付けることにより、従来では計算することができなかった未だ計算時期ではない税額等についても、事前に推算することが可能となる。
【００４０】
税オブジェクト実行部２０４は、抽出した税プールに一時記憶されている複数の税オブジェクトをアクティベート（活動化）して税インスタンスを生成して実行する。抽出した税プールに一時記憶されている税オブジェクトの実行が完了した時点で、属性値が更新された税オブジェクトを、次に一時記憶する税プールとして記憶してある税プールへ一時記憶する。これにより、次の税務処理ステップの実行日時に到達したと、タイミングホイール等のイベントドリブンシミュレータが判断した時点で、次の税務処理ステップを実行することができる。
【００４１】
なお、図１に示すＣＰＵ１１は、タイミングホイール等のイベントドリブンシミュレータとして機能する。すなわち、ＣＰＵ１１は、すべての税プールに一時記憶されている税オブジェクトのうち、取得した現在日時及び／又は指定を受け付けた未来日時に応じて、実行するべき税プールに一時記憶されている税オブジェクトのみを抽出し、それぞれをアクティベートして税インスタンスを生成して実行する。そして、実行された税オブジェクトを、次に一時記憶する税プールに、次の実行日時を対応付けて一時記憶する。
【００４２】
図３は、本発明の実施の形態１に係る税務支援装置１０のＣＰＵ１１の処理手順を示すフローチャートである。税務支援装置１０のＣＰＵ１１は、税務支援装置１０に内蔵されているタイマ等により、現在の日時を取得するとともに（ステップＳ３０１）、現在の日時よりも後の未来日時の指定を受け付ける（ステップＳ３０２）。
【００４３】
ＣＰＵ１１は、取得した現在日時及び／又は指定を受け付けた未来日時に応じて、実行するべき税プールを抽出する（ステップＳ３０３）。税プールに一時記憶してある税オブジェクトは、実行日時に対応付けて実行待ち状態として一時記憶されている。したがって、未来日時の指定を受け付けることにより、従来では計算することができなかった未だ計算時期ではない税額等についても、事前に推算することができる。
【００４４】
ＣＰＵ１１は、抽出した税プールに一時記憶されている複数の税オブジェクトをそれぞれアクティベートして税インスタンスを生成して実行する（ステップＳ３０４）。ここで実行されるのは、税プールに一時記憶されている複数の税オブジェクトのうち、税インスタンスが生成される時点で指定を受け付けた属性値に対応する税務処理ステップである。
【００４５】
ＣＰＵ１１は、税インスタンスの実行が完了したか否かを判断し（ステップＳ３０５）、ＣＰＵ１１が、まだ完了していないと判断した場合（ステップＳ３０５：ＮＯ）、ＣＰＵ１１は、実行の完了待ち状態となる。ＣＰＵ１１が、実行が完了したと判断した場合（ステップＳ３０５：ＹＥＳ）、税オブジェクトの属性値に対応付けて、実行が完了した税オブジェクトを次に一時記憶する税プールを特定し（ステップＳ３０６）、実行が完了した税オブジェクトを特定した税プールへ一時記憶する（ステップＳ３０７）。これにより、次の税務処理ステップの実行日時に到達したと、タイミングホイール等のイベントドリブンシミュレータが判断した時点で、次の税務処理ステップを実行することができる。
【００４６】
以上のように本実施の形態１によれば、それぞれの税オブジェクトについて、実行日時に到達した時点で、次の税務処理ステップが実行される。しかも、現在日時よりも後の未来日時にて実行するべき税オブジェクトについても実行することができる。
【００４７】
これにより、所定の納税義務者に対して、税額の計算時期ではない税種別の税オブジェクトに対しても、シミュレーションして税額を推算することができる。その結果として、例えば自動車税の納通を送付する時点で、近い将来に発生する固定資産税の現状での予定税額及び請求が来るおおよその日付等について情報を得ることができ、納税義務者は、計画的な資金調達をすることが可能となる。
【００４８】
以下、具体的な税務処理に基づいて、税務支援装置１０のＣＰＵ１１の処理について説明する。図４は、本発明の実施の形態１に係る税務支援装置１０の税オブジェクトのデータ構成を示す例示図である。
【００４９】
図４では、税オブジェクトを識別する税オブジェクトＩＤに対応付けて、税種別ごとの属性値が記憶してある。例えば図４において、属性として、納税義務者の氏名、住所、課税額、納税額等、税務処理に必要な各種の属性について、税務処理ステップの進捗に応じた属性値が記憶してある。図４の例では、税務処理ステップとして税額計算処理ステップは完了しているが、まだ税金の徴収処理ステップは完了していない。したがって、属性「納税額」には属性値が記憶されていない。このように、税オブジェクトは、税務処理ステップが進捗する都度、属性値が更新されていくので、ＣＰＵ１１は、属性値に基づいてどの税務処理ステップまで完了したのかを判断することができる。
【００５０】
なお、図４に示す税オブジェクトには、次に該税オブジェクトを実行する実行日付に関する情報も記憶してある。例えば記憶してある「次回イベント実行日」になった場合、属性「納税額」の属性値が「０（ゼロ）」のままであるときには、徴収するべき税金の徴収処理ステップが完了していないので、次に督促処理ステップを実行する必要があると判断することができる。
【００５１】
また、本実施の形態に係る税務支援装置１０では、オブジェクト指向プログラミングを前提としているので、税オブジェクトを階層構造として記憶することもできる。図５は、本発明の実施の形態１に係る税務支援装置１０の税オブジェクトの階層構造の例示図である。
【００５２】
図５では省略しているが、税オブジェクトの最上位クラスは、クラス「税」又はクラス「地方税」となり、その直下の階層に例えばクラス「市町村民税」、クラス「道府県民税」等がある。図５では、クラス「市町村民税」の下位階層であるクラス「住民市町村民税」から順次下位の階層を示している。
【００５３】
また、上位階層のクラス０としてクラス「住民市町村民税」が共通であっても、市町村ごとに税率が異なったり、特別な減免措置を講じている場合がある。したがって、図５の例では、「α市個人市民税」にはクラスＡ、「β村個人村民税」にはクラスＢというように、それぞれ互いに異なるクラス定義をしている。
【００５４】
次に、それぞれの市、町、村等の具体的な納税義務者に対する税オブジェクトが、アクティベートされ、税インスタンスが生成されて実行される。図５の例では、α市では、市民α１さん、α２さんの個人市民税を計算する税オブジェクトＡ１、Ａ２がそれぞれクラスＡを基礎として税インスタンスとして生成され、β村では、村民β１さん、β２さんの個人村民税を計算する税オブジェクトＢ１、Ｂ２が、それぞれクラスＢを基礎として税インスタンスとして生成されている。そして、生成された税インスタンスは、それぞれ固有の税額の計算用のメソッドを有している。なお、メソッドをオブジェクト単位で定義するか否かは、当業者の設計上の選択の範囲であり、別途、関数を定義しても良い。
【００５５】
税プール記憶部１３２、１３２、・・・は、それぞれの税プールに対応したメモリ領域を設け、税オブジェクトのポインタ情報を記憶している。ただし、特にポインタ情報を記憶することに限定されるものではなく、例えば未来日時ごとに、実行するべき税オブジェクトへのポインタ情報を記憶する必要はあるが、実行日時及び実行するべき税オブジェクトに関する情報だけではなく、実行するべき税オブジェクトを識別する情報、例えば税オブジェクトＩＤに加えて、税プールを識別する情報、例えば税プールＩＤを記憶させても良い。
【００５６】
税額支援装置１０は、税オブジェクトで実行するべきアクションを対応付けて記憶する。例えば、実行対象となる税オブジェクトに、用いるべきメソッド名を対応付けて記憶しても良い。図５の例では、課徴金計算メソッド５１が、同一のメソッド名で、最上位のクラス０から下の階層のクラスＡへと継承されている。したがって、クラスＡを基礎とした税オブジェクトＡ１、Ａ２も課徴金計算メソッド５１を用いて計算を実行する。一方、クラスＢでは、課徴金計算メソッド５２が定義されており、クラスＢを基礎としたオブジェクトＢ１、Ｂ２は課徴金計算メソッド５２を用いて計算を実行する。したがって、「課徴金計算」という同一のメソッド名であっても、α市の課徴金計算のプログラムと、β村の課徴金計算のプログラムとは異なっている。
【００５７】
抽出した税プールに一時記憶されている税オブジェクトの実行が完了した場合、税オブジェクトを次にどこの税プールに一時記憶するかについては、税オブジェクトがどのクラスに属しているか、属性値がどのような値であるか等によって判断する。税務処理ステップに対応する税プールを特定することにより、次のタイミングで税務処理される税プールが事実上決定することになり、特定した税プールに一時記憶されている税オブジェクトのみを実行することができる。
【００５８】
一般に、イベントドリンブンシミュレータは、いわゆる「イベント駆動エンジン」、「タイミングホイール」と呼ばれる。図６は、本発明の実施の形態１に係る税務支援装置１０のＣＰＵ１１がイベントドリブンシミュレータとして機能する場合の、「タイミングホイール」の構成の例示図である。図６では、説明を簡単にするためにセルを日単位で構成してある、したがって、現在日時は現在日付に、未来日時は未来日付に、それぞれ対応している。
【００５９】
図６に示すように、タイミングホイール６０は、メモリ１２上のアレーとして概念化されており、一定の個数のセルが一列に並ぶとともに、最後のセル６９が最初のセル、すなわち現在日付のセル６１に論理的に接続され、全体として論理ループを形成している。
【００６０】
図６の例では、現在日付のセル６１には３つのイベントとして、異なるイベント７１、７２、７３がリンクされている。これは、イベント７１、７２、７３の税務処理ステップのうち、例えば税額計算処理ステップ、納通の作成処理ステップ等の税務処理ステップを実行するのが現在日付であることを示しており、実行することが可能となるように、タイミングホイール６０の現在日付のセル６１に論理的にリンクしてある。
【００６１】
現在日付にて実行するべき税務処理ステップの実行が完了した場合、現在日付のセル６１にリンクされていた３つのイベント７１、７２、７３はリンクを解除され、現在日付のセルを示すポインタ６６は１セル分だけ進んで、１つ下のセル、すなわち１日後の日付のセル６２へ移動する。そして、１日後の日付のセル６２を新たな現在日付のセルとして、１日後の日付のセル６２にリンクされているイベント７４を、上述した方法にて実行する。
【００６２】
なお、タイミングホイール６０の各セルにリンクされているイベントは、実行するべき税務処理ステップを特定する税オブジェクトを識別する情報である税オブジェクトＩＤ、及び該税オブジェクトが一時記憶されている税プールを識別する情報である税プールＩＤで構成されており、税プールのメモリ領域を指し示すポインタ情報として記憶されている。図６の例では、例えば１日分、タイミングホイール６０を回転させた場合、１日後の日付のセル６２には実行するべきイベント７４が１つリンクされており、リンクされているイベント７４が実行される。同様にその次の日、つまり図６の例ではさらに１日分、タイミングホイール６０を回転させた場合、２日後の日付のセル６３には実行するべき２つのイベント７５、７６がリンクされており、リンクされている２つのイベント７５、７６が実行される。
【００６３】
図７は、本発明の実施の形態１に係る税務支援装置１０のＣＰＵ１１の、タイミングホイール６０としての動作手順を示すフローチャートである。図７では、現在日付のセル６１にリンクされているイベントを実行する手順を示す。未来日付のセルにリンクされているイベントを実行する場合には、タイミングホイール６０の現在日付のセルを示すポインタ６６を所望の未来日付のセルに移動させることにより、同様の処理を実行することができる。
【００６４】
図７において、税務支援装置１０のＣＰＵ１１は、タイミングホイール６０の現在日付のセルを示すポインタ６６を現在日付のセル６１に移動させる（ステップＳ７０１）。なお、未来日付のセルにリンクされている次に、ＣＰＵ１１は、現在日付のセル６１にリンクされているイベント（すなわち税オブジェクトＩＤ及び税プールＩＤ）が存在するか否かを判断する（ステップＳ７０２）。ＣＰＵ１１が、現在日付のセル６１にリンクされているイベントが存在しないと判断した場合（ステップＳ７０２：ＮＯ）、ＣＰＵ１１は、タイミングホイール６０としての動作を終了する。
【００６５】
ＣＰＵ１１が、現在日付のセル６１にリンクされているイベントが存在すると判断した場合（ステップＳ７０２：ＹＥＳ）、ＣＰＵ１１は、タイミングホイール６０の現在日付のセル６１にリンクされているイベントのリストから、一のイベントを抽出し（ステップＳ７０３）、抽出したイベントに対応する税オブジェクトで特定された税務処理ステップを実行する（ステップＳ７０４）。具体的には、イベントの情報に基づいて、イベントに対応する税オブジェクトを一時記憶してある税プールを特定し、税プールに一時記憶されている税オブジェクトの税務処理ステップを実行する。
【００６６】
ＣＰＵ１１は、リンクされている税オブジェクトが有する所定の税務処理ステップを実行する。具体的には、税プールに一時記憶されている税オブジェクトをアクティベートする時点で、「税額計算を実行せよ」、「滞納課徴金を計算せよ」といった実行指示に対応する属性値の指定を外部から受け付ける。したがって、ＣＰＵ１１は、実行指示に応じた税インスタンス中の所定のメソッドを実行することができる。
【００６７】
次に、ＣＰＵ１１は、税オブジェクトを次に一時記憶する税プールを特定する（ステップＳ７０５）。そして、税オブジェクトを該税プールへ一時記憶するとともに、タイミングホイール６０の該当する日付（未来日付）のセルに、税オブジェクトＩＤと、一時記憶されている税プールＩＤとを一対として構成したイベントをリンクさせる（ステップＳ７０６）。
【００６８】
ただし、本実施の形態１に係るタイミングホイール６０は、未来日付を用いてタイミングホイール６０上のイベントを実行することができる点で従来とは相違する。現在日付のセルを示すポインタ６６以外に、未来日付のセルを示すポインタ６７を具備することができるからである。
【００６９】
未来日付のセルを示すポインタ６７は、最初は１日後に設定される。そして、あたかも１日後に税務処理ステップを実行するように、１日後の日付のセルにリンクされているイベントをシミュレーション実行する。
【００７０】
１日後の日付のセルにリンクされている未来日付のイベントをシミュレーション実行した結果として生じた、属性値が相違する新たなイベントを、再度タイミングホイール６０の適切なセルにリンクさせる。新たにリンクさせたイベントを、従来のイベントと区別するために、リンクさせたイベントには未来シミュレーションであることを示すマーカを付与している。図６では、２日後の日付のセル６３にリンクされている２つのイベントが、１日後の日付のセルにリンクされているイベントをシミュレーション実行した結果から生じたイベントであるので、未来シミュレーションであることを示すマーカ８０、８０を付与している。
【００７１】
ＣＰＵ１１は、リンクされている全てのイベントが抽出されたか否かを判断し（ステップＳ７０７）、ＣＰＵ１１が、まだ抽出されていないイベントが存在すると判断した場合（ステップＳ７０７：ＮＯ）、ＣＰＵ１１は、次のイベントを抽出して（ステップＳ７０８）、処理をステップＳ７０４へ戻し、上述した処理を繰り返す。ＣＰＵ１１が、全てのイベントが抽出されたと判断した場合（ステップＳ７０７：ＹＥＳ）、ＣＰＵ１１は、タイミングホイール６０としての動作を終了する。
【００７２】
以上のような構成とすることにより、未来に生じる未だ計算時期ではない税額の計算処理、督促状の発送処理をシミュレーション実行することができる。その結果、例えば自動車税の納通の発送時に、固定資産税の予定税額と納付期限とを同時に通知することができる。これは、自動車税の計算時に、図６に示す未来シミュレーションであることを示すマーカが付与されたイベントとして、固定資産税の納通に記載する税額をシミュレーション計算することができるからである。また、納通の発送日付も記載されているので、いつごろ請求が来る予定であるかを納税義務者に通知することも可能となる。
【００７３】
（実施の形態２）
本発明の実施の形態２に係る税務支援装置１０の構成は、実施の形態１と同様であることから、同一の符号を付することにより詳細な説明を省略する。本実施の形態２は、ＣＰＵ１１がタイミングホイールとして機能した場合、未来日付にて実行するべき税オブジェクトを、現在日付及び／又は未来日付にて実行するべき税オブジェクト等と並列に実行することができる点で実施の形態１と相違する。
【００７４】
図８は、本発明の実施の形態２に係る税務支援装置１０のＣＰＵ１１がイベントドリブンシミュレータとして機能する場合の、「タイミングホイール」の構成の例示図である。図８に示すように、タイミングホイール６０は、メモリ１２上のアレーとして概念化されており、一定の個数のセルが一列に並ぶとともに、最後のセル６９が最初のセル、すなわち現在日付のセル６１に論理的に接続され、全体として論理ループを形成している。
【００７５】
図８の例では、現在日付のセル６１には２つのイベントとして、異なるイベント７１、７２がリンクされている。これは、イベント７１、７２の税務処理ステップのうち、例えば税額計算処理ステップ、納通の作成処理ステップ等の税務処理ステップを実行するのが現在日付であることを示しており、実行することが可能となるように、タイミングホイール６０の現在日付のセル６１に論理的にリンクしてある。
【００７６】
現在日付にて実行するべき税務処理ステップの実行が完了した場合、現在日付のセル６１にリンクされていた２つのイベント７１、７２はリンクを解除され、現在日付のセルを示すポインタ６６は１セル分だけ進んで、１つ下のセル、すなわち１日後の日付のセル６２へ移動する。１日後の日付のセル６２にはイベントがリンクされていないので、現在日付のセルを示すポインタ６６はさらに１セル分だけ進んで、さらに１つ下のセル、すなわち２日後の日付のセル６３へ移動する。
【００７７】
２日後の日付のセル６３にもイベントがリンクされていないので、現在日付のセルを示すポインタ６６はさらに１セル分だけ進んで、さらに１つ下のセル、すなわち３日後の日付のセル６４へ移動する。３日後の日付のセル６４にはイベント７３がリンクされているので、３日後の日付のセル６４を新たな現在日付のセルとして、リンクされているイベント７３を、上述した方法にて実行する。同様に、現在日付のセルを示すポインタ６６をさらに１セル分だけ進ませ、さらに１つ下のセル、すなわち４日後の日付のセル６５へ移動する。４日後の日付のセル６５にはイベント７４がリンクされているので、４日後の日付のセル６５を新たな現在日付のセルとして、リンクされているイベント７４を、上述した方法にて実行する。
【００７８】
図８では、複数の未来シミュレーションであることを示すマーカ８１、８２が別個の日付のセルにリンクされているイベント７３、７４にそれぞれ付与されている。これは、外部からデータの入力を受け付けた場合、税オブジェクトの実行に用いるデータを一意に特定することが困難であるときに、それぞれのデータに対して税インスタンスを生成して、それぞれを実行することができることを示している。
【００７９】
すなわち、複数の日付のセルにイベントがリンクされており、日付のセルを任意に選択することができる場合に、それぞれの日付のセルにリンクされているイベントの税オブジェクトをアクティベートした税インスタンスを生成して、複数の税務処理ステップを並列に実行することができる。したがって、未来シミュレーションを複数、並列に実行することができる。これにより、納税義務者が、税オブジェクトの複数の税務処理ステップのどれを選択するべきか迷った場合に、両方の未来日付における税額を推算することで判断することが可能となる。例えば祖母を扶養家族に入れた場合の税額と、扶養家族に入れない場合の税額とを、同時に推算することができ、両者を比較することが可能となる。
【００８０】
（実施の形態３）
本発明の実施の形態３に係る税務支援装置１０の構成は、実施の形態１と同様であることから、同一の符号を付することにより詳細な説明を省略する。本実施の形態３は、ＣＰＵ１１がタイミングホイールとして機能した場合、未来日付にて実行するべき税オブジェクトの税額計算の根拠となるデータ等が更新された場合には、更新されたデータに基づいて実行する税オブジェクトのみを、再度実行しなおす点で実施の形態１及び２とは相違する。
【００８１】
図９は、本発明の実施の形態３に係る税務支援装置１０の機能を示す機能ブロック図である。実施の形態１及び２と同様の機能を有する機能ブロックについては同一の符号を付することにより詳細な説明は省略する。
【００８２】
実行ログ取得部９０１は、税オブジェクトを実行することによるデータ更新情報等を実行ログとして取得する。実行ログは、実行する税オブジェクトだけではなく、実行する税オブジェクトにより書き込みが実行される等の依存関係を有する他の税オブジェクトについても実行ログを取得する。
【００８３】
データ更新判断部（判断手段）９０２は、未来日時にて実行するべき税オブジェクトについて、本来実行するべき日時（未来日時）の前に、実行に用いるデータが更新されたか否かを判断する。データが更新されたと判断した場合、本来実行するべき日時（未来日時）までに更新されたデータに基づいて該税オブジェクトを再度実行しておくべきだからである。
【００８４】
税オブジェクト実行部２０４は、データ更新判断部９０２にて、実行に用いるデータが更新されたと判断した場合、再度更新されたデータに基づいて対象となる税オブジェクトをアクティベートして税インスタンスを生成して実行する。ただし、すべての税オブジェクトを一から再度実行することは、演算処理負荷、演算処理時間等の観点から非現実的である。そこで、実行ログ取得部９０１で取得した実行ログを用いて、更新されたデータにより税務処理結果が変動する税オブジェクトのみを再度実行する。
【００８５】
データが更新されるのは、税オブジェクトの実行時に外部から指定を受け付けた属性値が修正された場合、税オブジェクトの実行に用いる属性値を結果として取得した元の税オブジェクトが消去された、あるいは属性値が更新された場合等である。
【００８６】
他の税オブジェクトへ書き込みが行われない場合、実行ログとして記憶していなければならない情報とは、外部から入力を受け付けたデータのデータ項目名、取得したデータ値、及び取得したデータ値を上書きする前の元データ値である。図１０は、本発明の実施の形態３に係る税務支援装置１０の実行ログとして記憶される情報の例示図である。なお、図１０の例ではＸＭＬ形式で記述しているが、特にこの記述形式に限定されるものではない。また、名称等についても、自然言語風ではなく、ハッシュ値、オブジェクトのアドレス等であっても良い。
【００８７】
上記の実行ログを用いて時間を遡り、税オブジェクトの属性値を書き戻す。そして、現在までの税務処理ステップを税オブジェクトに沿って再度実行すれば良い。
【００８８】
一方、税オブジェクトが他の税オブジェクトへ書き込みを行う場合、税オブジェクトを元の状態に戻すことはできても、そのまま該税オブジェクトのみを再度実行することはできない。書き込みを行った他の税オブジェクトによる税務処理が正しいという保証がないからである。
【００８９】
実行した税オブジェクトと他の税オブジェクトとの間に互いに税務処理結果に対する依存性を有する場合、関係した全ての税オブジェクトを初期化し、時間的経緯をたどって、再度実行する必要がある。しかし、本発明のような税務処理では、互いに税務処理結果に対する依存性を有する場合はほとんど生じない。また、税オブジェクト（クラス）の設計時に、税オブジェクト間に互いに税務処理結果に対する依存性を有することがないように税オブジェクトのクラスを設計しておくことで、例えば該税オブジェクトの実行途中で書き込みを行った他の税オブジェクトによる税務処理が正しいことを保証することができる。
【００９０】
図１１は、本発明の実施の形態３に係る税務支援装置１０のＣＰＵ１１がイベントドリブンシミュレータとして機能する場合の、「タイミングホイール」の構成の例示図である。図１１に示すように、タイミングホイール６０は、メモリ１２上のアレーとして概念化されており、一定の個数のセルが一列に並ぶとともに、最後のセル６９が最初のセル、すなわち現在日付のセル６１に論理的に接続され、全体として論理ループを形成している。
【００９１】
図１１の例では、現在日付のセル６１にはイベントがリンクされておらず、３日後の日付のセル６４にイベント７１が、４日後の日付のセル６５にイベント７２が、それぞれリンクされている。例えばＣＰＵ１１が、イベント７１を実行する根拠となったデータ、属性値等が更新されたと判断した場合、タイミングホイール６０は、未来の税オブジェクトを消去して、再度正しいデータでイベント伝搬をしなおす。当然であるが、そのイベント伝搬がさらに次のイベント伝搬を生じている場合、次の伝搬先のイベントについても順次し直す。ここで、イベント伝搬とは、実行ログに基づいて順次実行するイベントを遷移させることを意味しており、税プールＩＤの遷移で表すことができる。
【００９２】
なお、このような未来へのイベント伝搬を行うことにより、一の税プールに一時記憶されている税オブジェクトの個数が膨大である場合には別の利用法がある。例えば、１０００個の税オブジェクトが一の税プールに一時記憶されている場合、１００個ずつ異なる実行日時にて実行するようにイベントをリンクさせる。本来実行するべき実行日時よりは前に実行することになるので、例えば８日前に１００個、７日前に１００個というように実行しておく。この場合、８日前には、８日後までの未来シミュレーションを１００個分だけ実行し、翌日には１００個分のみ、７日後までの未来シミュレーションを実行し、というように最終的に同一の日まで全てのイベント伝搬を行うように実行しても良い。
【００９３】
すなわち、未来日付であるにもかかわらず一度実行した税オブジェクトの実行に用いたデータ値が更新された場合、実行した該税オブジェクトのイベントをすべて消去し、再度、該税オブジェクトを実行しなおす。これにより、例えば固定資産税の計算処理である場合、大量の固定資産税の税額計算処理を未来日付にて実行した後、計算の根拠となるデータが更新された固定資産税についてのみ再度計算処理を実行する。
【００９４】
このようにすることで、再度計算処理が実行されるのは一部であり、コンピュータの演算処理負荷が増加することを回避することができる。また、例えば特定の日に処理が集中する税額計算処理を分散させて、幾つかの日に分けて実行することができる。
【００９５】
なぜなら、例えば１月１日付で実行するべき固定資産税の税額計算処理を、実際には１２月中に５日ほど選んで先行的に実行した場合であっても、１２月中の実行日から１月１日までに、固定資産の所有権者の変更等があった税オブジェクトのみ、時間を遡り再度計算処理を実行することができる。再度計算処理を実行することにより、同じ税オブジェクトを２回実行することになるが、全体として演算処理負荷を増加させるものではなく、むしろ１月１日に従来は集中していた演算処理負荷を大きく分散することが可能となる。
【００９６】
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨の範囲内であれば多種の変形、置換等が可能であることは言うまでもない。したがって、タイミングホイール６０を用いて税オブジェクトの実行を制御することに限定されるものではなく、種々のイベントドリブンシミュレータを用いて具現化することができることは言うまでもない。
【符号の説明】
【００９７】
１０  税務支援装置
１１  ＣＰＵ
１２  メモリ
１３  記憶装置
１４  Ｉ／Ｏインタフェース
１５  ビデオインタフェース
１６  通信インタフェース
１７  可搬型ディスクドライブ
１８  内部バス
９０  可搬型記録媒体
１００  コンピュータプログラム
１３１  税オブジェクト記憶部
１３２  税プール記憶部
１３３  オブジェクトリンク記憶部
【図１】
2011145858.tif 000003
【図２】
2011145858.tif 000004
【図３】
2011145858.tif 000005
【図４】
2011145858.tif 000006
【図５】
2011145858.tif 000007
【図６】
2011145858.tif 000008
【図７】
2011145858.tif 000009
【図８】
2011145858.tif 000010
【図９】
2011145858.tif 000011
【図１０】
2011145858.tif 000012
【図１１】
2011145858.tif 000013