JP2008041038A - ソフトウエア作成方法 - Google Patents

ソフトウエア作成方法 Download PDF

Info

Publication number
JP2008041038A
JP2008041038A JP2006218167A JP2006218167A JP2008041038A JP 2008041038 A JP2008041038 A JP 2008041038A JP 2006218167 A JP2006218167 A JP 2006218167A JP 2006218167 A JP2006218167 A JP 2006218167A JP 2008041038 A JP2008041038 A JP 2008041038A
Authority
JP
Japan
Prior art keywords
definition file
procedure
definition
business
function
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.)
Pending
Application number
JP2006218167A
Other languages
English (en)
Inventor
Kenji Yamauchi
健司 山内
Atsufumi Fujita
淳文 藤田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2006218167A priority Critical patent/JP2008041038A/ja
Priority to US11/657,684 priority patent/US20080127215A1/en
Priority to EP07007106A priority patent/EP1887461A1/en
Publication of JP2008041038A publication Critical patent/JP2008041038A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Supply And Distribution Of Alternating Current (AREA)

Abstract

【課題】電力会社毎、場所毎の仕様の違いなど膨大な組合せがある場合にも、効率よくアプリケーションの製作・保守を行えるソフトウエア作成方法を得る。
【解決手段】抽象クラスの電力監視制御業務オブジェクト3は、機能オブジェクトである、トリガーオブジェクト4と、入力オブジェクト5と、演算オブジェクト6と、出力オブジェクト7とから構成され、それぞれの機能オブジェクトの実体を内部に包含せず、これらの機能オブジェクトへの参照情報のみを保持するようにして、機能オブジェクトの保守性を向上させたものである。
【選択図】図2

Description

この発明は、電力系統監視制御(以下、電力監視制御)システムなどのシステムを構成する対象業務に係わるソフトウエアをオブジェクト指向プログラミングによって作成するソフトウエア作成方法に関するものである。
特許文献1には、配電自動化システムのフレームワークとして、個々のアプリケーションのレイヤ、配電自動化レイヤ、電力監視制御レイヤ、監視制御基本レイヤのレイヤ分けを行い、配電自動化レイヤに属するオブジェクトとして、配電線事故の事故判定オブジェクトが示されている。
この配電線事故の事故判定オブジェクトは、保護リレーの動作状況とその他の付加的な情報(設備状態など)をもとに事故判定を行う。事故判定の仕様は、種々あり、これらの仕様の違いに対応できるように、メソッド(関数)をオーバーライドする(メソッドの実体を持たせる)。メソッドの処理は、システム毎に仕様の差異があるため、事故判定オブジェクトの抽象クラスを継承したシステム特化の派生クラスを作り、派生クラスにてメソッドをオーバーライド定義することにより、仕様の差異を吸収する。
特許第3637693号公報(第3〜6頁、図1)
従来のフレームワークは以上のように構成されており、電力会社毎の共通仕様を記述した抽象クラスをフレームワークとして用意し、電力会社毎の仕様の違いをオブジェクトの継承とオブジェクトを構成する各メソッド(関数)を継承によって生成した派生クラスにてオーバーライドすることにより吸収している。
しかし、仕様の相違は、電力会社毎だけではなく、同一電力会社であっても、支店毎など設置される場所毎に少しずつ仕様が異なるため、継承によるオーバーライド関数の組合せ数が膨大となる。
例えば、各システム向けのA電力B支店向け事故判定オブジェクト、A電力C支店向け事故判定オブジェクト等は、共通の抽象クラスである事故判定オブジェクトから継承により派生し、メソッド関数A、B、Cをオーバーライドしたものである。各電力会社、各支店にて仕様が少しずつ異なるため、関数A、B、Cのバリエーションの組合せは膨大となるが、各派生クラスが内部にオーバーライド関数を保持するため、例えば、関数Aは、A電力B支店むけ事故判定オブジェクト、B電力E支店向け事故判定オブジェクト、C電力J支店向け事故判定オブジェクトに重複して存在する。よって、当該関数Aに不具合が発生した場合には、関数Aを含む全てのオブジェクトについて等しく同一の改修を行う必要があり、ソフトウエアの保守性に問題があった。
また、メソッド関数を有するように構成される業務オブジェクトの作成にあたって、プログラミング量を減少させる必要があった。
この発明は、上記のような課題を解決するためになされたものであり、客先毎、場所毎の仕様の違いなど膨大な組合せがある場合にも、効率よくアプリケーションの製作・保守を行えるソフトウエア作成方法を得ることを目的としている。
この発明に係わるソフトウエア作成方法においては、システムを構成する対象業務に係わるソフトウエアをオブジェクト指向プログラミングによって作成するソフトウエア作成方法において、対象業務の業務オブジェクトは、それぞれ複数の機能オブジェクトから構成されると共に、機能オブジェクトの実体を内部に包含せず、機能オブジェクトへの参照情報のみを保持するものである。
この発明は、以上説明したように、システムを構成する対象業務に係わるソフトウエアをオブジェクト指向プログラミングによって作成するソフトウエア作成方法において、対象業務の業務オブジェクトは、それぞれ複数の機能オブジェクトから構成されると共に、機能オブジェクトの実体を内部に包含せず、機能オブジェクトへの参照情報のみを保持するので、機能オブジェクトの実体は、1つでよく、機能オブジェクトのソフトウエアの保守効率が向上するという効果がある。
実施の形態1.
図1は、この発明の実施の形態1による配電自動化システムの事故判定のフレームワークにおけるオブジェクト自動生成方法を示すブロック図である。
図1において、配電自動化システムの事故判定フレームワーク101は、個々の事故判定のアプリケーション110を有する。事故判定フレームワーク101に属する事故判定オブジェクト102は、事故判定オブジェクト共通の抽象クラスであり、この業務オブジェクト(事故判定オブジェクト)を構成する各機能オブジェクトは、各関数オブジェクトであり、業務オブジェクトは、それぞれの関数オブジェクトの参照情報103〜105のみを有している。すなわち、関数Aオブジェクトへの参照情報103と、関数Bオブジェクトへの参照情報104と、関数Cオブジェクトへの参照情報105を有している。そして、関数Aオブジェクトへの参照情報103と、関数Bオブジェクトへの参照情報104と、関数Cオブジェクトへの参照情報105によって、それぞれ関数Aオブジェクトの実体106、関数Bオブジェクトの実体107、関数Cオブジェクトの実体108が参照される。つまり、事故判定オブジェクトは、事故判定に用いる関数の参照情報だけを持っている。関数オブジェクトは、関数Aオブジェクト(抽象クラス)と、関数Aオブジェクト(派生クラス)、関数Aオブジェクト(派生クラス)、関数Aオブジェクト(派生クラス)がある。関数Bオブジェクト、関数Cオブジェクトも同様である。
事故判定オブジェクトは、例えばA電力B支店向け事故判定オブジェクトのように各電力会社の支店毎に作成され、少しずつ異なっている。
ここで、対象業務を実現するソフトウエアを業務オブジェクトと称し、この対象業務を複数の機能に分割したそれぞれの機能を実現するソフトウエアを機能オブジェクトと称することにする。
以下、図1を用いて、本発明の実施の形態1による配電自動化システムの事故判定のフレームワークにおけるオブジェクト生成方法について説明する。
配電線事故の事故判定オブジェクト102は、保護リレーの動作状況とその他の付加的な情報(設備状態など)をもとに事故判定を行う。事故判定の仕様は、その保護リレーの動作状況をどのように解釈するべきかという方針でさまざまに変わる。
この事故判定オブジェクト102には、オーバーライドすべき関数Aオブジェクト、関数Bオブジェクト、関数Cオブジェクトがある。関数の処理は、システム毎に仕様の差異があるため、106〜108のように、関数オブジェクトとして、抽象クラスを継承した派生クラスの実体を用意しておく。
次に、事故判定オブジェクト102を継承したシステム特化の派生クラスを作り、派生クラスにて各関数A、B、Cの派生クラスの実体への参照情報を持つことにより、仕様の差異を吸収する。
このように、事故判定オブジェクトなどの各業務オブジェクトは、関数Aオブジェクト、関数Bオブジェクト、関数Cオブジェクトの実体を内部に持つのではなく、参照情報のみを保持するようにしたため、関数Aオブジェクト、関数Bオブジェクト、関数Cオブジェクトの実体はそれぞれ一ヵ所になる。このため、ソフトウエアの保守効率を向上させることができる。
次に、上述のようなオブジェクトの生成方法を、電力監視制御システムのフレームワークにおける電力監視制御業務オブジェクトの自動生成に適用した場合について説明する。
図2は、この発明の実施の形態1による電力監視制御システムのフレームワークにおけるオブジェクト自動生成方法を示すブロック図である。
図2において、電力監視制御フレームワーク2は、個々の電力監視業務のアプリケーション1を有する。電力監視制御フレームワーク2に属する電力監視制御業務オブジェクト3は、電力監視制御業務オブジェクト共通の抽象クラスであり、この業務オブジェクトを構成する各機能オブジェクトは、トリガーオブジェクト、入力オブジェクト、演算オブジェクト、出力オブジェクトの4つの機能オブジェクトであり、業務オブジェクトは、それぞれの機能オブジェクトの参照情報4〜7のみを有している。
トリガーオブジェクトにより処理を起動すべき条件をチェックし、条件が満足されると、トリガーオブジェクトが入力オブジェクトを起動する。入力オブジェクトは、入力データを取得すべき箇所から取得して演算オブジェクトに渡す。演算オブジェクトで演算を行ない、演算結果を出力オブジェクトに渡す。出力オブジェクトは、演算結果を出力すべき箇所に出力する。
電力監視制御業務オブジェクト3により参照される機能オブジェクトは、トリガーオブジェクトの実体8である抽象クラスおよびその派生クラスと、入力オブジェクトの実体9である抽象クラスおよびその派生クラスと、演算オブジェクトの実体10である抽象クラスとその派生クラスと、出力オブジェクトの実体11である抽象クラスとその派生クラスとである。
図2には、電力監視制御業務オブジェクト3の例として系統監視業務オブジェクト、系統操作業務オブジェクト、警報管理業務オブジェクトを上げ、それぞれについて、A電力B支店向け、A電力F支店向け、B電力G支店向けのバリエーションを図示している。
以下、図2を用いて、本発明のフレームワークにおけるオブジェクト生成方法について説明する。
電力監視制御業務オブジェクト3の各業務オブジェクトは、トリガーオブジェクト、入力オブジェクト、演算オブジェクト、出力オブジェクトの4つの機能オブジェクトにて構成する共通の構造にしている。
トリガーオブジェクトは、何かのイベントやタイマーなどのきっかけにより、入力オブジェクトを起動する機能を持つ機能オブジェクトである。きっかけの種類により抽象クラスであるトリガークラスから継承した各種トリガーオブジェクトを派生クラスとして用意しておく。
入力オブジェクトは、対象としている入力先から、対象としているデータを取得し、演算オブジェクトに渡す機能を持つ機能オブジェクトである。入力先の種類により抽象クラスである入力クラスから継承した各種入力オブジェクトを派生クラスとして用意しておく。
演算オブジェクトは、入力オブジェクトが入力したデータを受け取り演算する機能オブジェクトである。演算の種類により抽象クラスである演算クラスから継承した各種演算オブジェクトを派生クラスとして用意しておく。
出力オブジェクトは、演算オブジェクトから演算結果を受け取り、対象となる出力先に出力する機能を持つ機能オブジェクトである。出力先の種類により抽象クラスである出力クラスから継承した各種出力オブジェクトを派生クラスとして用意しておく。
各電力の各支店向けの各業務オブジェクトは、要求仕様に応じて、トリガーオブジェクト、入力オブジェクト、演算オブジェクト、出力オブジェクトの各機能オブジェクトを選択し、それらの参照情報を内部にもつことにより生成されている。
実施の形態1によれば、配電自動化システムの例のように、事故判定オブジェクトなどの各業務オブジェクトは、関数A、B、Cの実体を内部に持つのではなく、参照情報のみを保持するようにしたため、関数A、B、Cの実体は一ヵ所になり、ソフトウエアの保守効率を向上させる効果がある。
すなわち、電力監視制御フレームワークのように、各業務オブジェクトは、機能オブジェクトの実体を内部にもつのではなく、機能オブジェクトの参照情報を内部に持つようにしたため、機能オブジェクトの実体は、各種類で1つであり、機能オブジェクトのソフトウエアの保守効率が向上するという効果がある。
実施の形態2.
実施の形態1では、各業務オブジェクトは、どの機能オブジェクトの参照情報を内部に持つかプログラミングにより定義して生成する必要があった。実施の形態2は、これを解決するために考えられたもので、各業務オブジェクトを定義ファイルから自動生成することにより、このプログラミングを不要にしたものである。
図3は、この発明の実施の形態2による電力監視制御システムのフレームワークにおけるオブジェクト自動生成方法を示すブロック図である。図3では、系統操作業務オブジェクトの例を示しているが、どの業務オブジェクトでも同様である。
図3において、1〜11は図2におけるものと同一のものである。定義ファイ20は、業務オブジェクトを自動生成する際の元となるファイルであり、図3の例では、A電力B支店向け系統操作業務について定義した定義ファイルであり、トリガーオブジェクトにはトリガーを、入力オブジェクトには入力を、演算オブジェクトには演算を、出力オブジェクトには出力を利用することを定義している。
オブジェクト個別定義読込手段21は、定義ファイル20を読み込む。オブジェクト自動生成手段22は、オブジェクト個別定義読込手段21が読み込んだ定義ファイル20の内容に基づき、業務オブジェクトを自動生成する。図3では、A電力B支店向け系統操作業務オブジェクト12を自動生成している。
以下、図3を用いて動作について説明する。
まず、システムに特化した各業務オブジェクトの個別定義である定義ファイル20を用意する(第一の手順)。オブジェクト個別定義読込手段21は、定義ファイル20を読み込み(第二の手順)、定義内容を解釈する。オブジェクト自動生成手段22は、オブジェクト個別定義読込手段21が解釈した定義内容に従い、各機能オブジェクトの参照情報を内部に保持した業務オブジェクトを自動生成する(第三の手順)。図3では、A電力B支店向け系統操作業務オブジェクト12が自動生成されている。
以上説明したように、実施の形態2によれば、各業務アプリケーションは、定義ファイルから自動生成されるため、プログラミングが不要であり、アプリケーションの生産効率を向上する効果がある。
また、業務オブジェクトの振る舞いを変更する際には、プログラムではなく、定義ファイルを編集すればよいことから、ソフトウエアの保守効率を向上させる効果もある。
実施の形態3.
実施の形態2では、業務オブジェクトの生成は自動で行えるが、トリガー、入力、演算、出力の各機能オブジェクトは、予めプログラミングで用意しておく必要があった。特に演算オブジェクトは、複雑な演算処理をプログラムするため、各システムの細かな差異が多く、共通化しにくいため、演算オブジェクトは、派生クラスの数が多くなるという問題があった。
実施の形態3は、これを解決するために考えられたもので、オンラインデータベースとしてリレーショナルデータベースを適用し、リレーショナルデータベースの仮想テーブル機能により、仮想テーブル上にて演算処理を実施するようにし、演算処理実施後のデータを入力することにより、演算オブジェクトを不要とした。また仮想テーブルでの演算内容は、定義ファイルで与えることにより、演算のプログラミングを不要にしている。
図4は、この発明の実施の形態3による電力監視制御システムのフレームワークにおけるオブジェクト自動生成方法を示すブロック図である。
図4において、1〜5、7〜12、21は図3におけるものと同一のものである。定義ファイル20’では、システム特化された業務オブジェクトを個別に定義したものであり、演算オブジェクトの定義が不要になっている。仮想テーブル定義ファイル30は、入力先の仮想テーブルの構造を定義し、演算内容の定義を含む。仮想テーブル定義読込手段31は、仮想テーブル定義ファイル30を読み込み、解釈する手段である。仮想テーブル生成手段32は、仮想テーブル定義読込手段31の解釈結果をもとに仮想テーブル33を自動生成する。仮想テーブル生成手段32により生成された仮想テーブル33には、仮想テーブル定義ファイル30にて定義された演算内容35が含まれている。
リレーショナルデータベース34は、オンラインデータを保持する。仮想テーブル機能は、リレーショナルデータベースが一般に保有する機能である。
以下、図を用いてオブジェクト生成方法を説明する。
まず、入力オブジェクトの派生クラス毎に仮想テーブルの構造を仮想テーブル定義ファイル30に定義する(第四の手順)。仮想テーブル定義ファイル30には、仮想テーブルにて実施される演算の内容も定義しておく。
次に、仮想テーブル定義読込手段31は、仮想テーブル定義ファイル30を読み込み、定義内容を解釈して(第五の手順)仮想テーブル生成手段32に渡す。仮想テーブル生成手段32は、仮想テーブルの解釈結果に従って仮想テーブル33を生成する(第六の手順)。仮想テーブル33には、仮想テーブル定義ファイル30にて定義された演算内容も含むため、この演算後の結果が、入力オブジェクトが仮想テーブル33から読み込むデータになる。
以上説明したように、実施の形態3によれば、入力オブジェクトは、仮想テーブルでの演算結果を読み込むために、業務オブジェクトが演算オブジェクトの参照情報を保持して、入力オブジェクトが入力したデータを演算オブジェクトに渡して演算させる必要がなく、入力オブジェクトから演算済のデータを読み込み、出力オブジェクトに渡すだけでよくなる。
また、仮想テーブルは、仮想テーブル定義ファイルから自動生成するため、演算オブジェクト自体が不要になることにより、ソフトウエアの生産効率、保守効率を向上させる効果がある。
実施の形態4.
実施の形態3では、システムに特化した各業務オブジェクトで独立した定義ファイルを作成するため、全体の一部のみ差異があるような場合でも、新たに全体を作成する必要があった。実施の形態4は、この問題を解決するために考えられたもので、定義ファイルに継承関係も持たせ、派生した定義ファイルでは変更部分のみを定義すればよいようにすることで、同じ記述を何度も行うことを不要にしている。
図5は、この発明の実施の形態4による電力監視制御システムのフレームワークにおけるオブジェクト自動生成方法を示すブロック図である。
図5において、1〜5、7、20’、21、22は図4におけるものと同一のものである。A電力F支店向け系統操作オブジェクトを個別に定義した定義ファイル40は、継承関係を定義している。継承定義解釈手段41は、定義ファイル40の継承関係を解釈する。
以下、図5を用いてオブジェクト生成方法を説明する。
新たにA電力F支店向け系統操作業務オブジェクトを生成する場合、A電力F支店向け系統操作業務オブジェクトは、機能オブジェクトとしてトリガー、入力、出力の参照情報を持ち、既存のA電力B支店向け系統操作オブジェクトがトリガー、入力、出力の参照情報を持ち、両者の業務オブジェクトの相違がトリガーオブジェクトだけの場合、A電力F支店向け系統操作オブジェクトを個別に定義した定義ファイル40(派生定義ファイル)では、継承先の定義ファイル(親定義ファイル)名称と、上書きするトリガーオブジェクトの定義のみを記述する。
継承定義解釈手段41では、まずA電力F支店向け系統操作オブジェクトの定義ファイル40を読み込んで定義内容を解釈し、そこに継承が定義されていた場合には、継承先の定義ファイル(今の例ではA電力B支店向け系統操作オブジェクトの個別定義した定義ファイル20’)を読み込み、A電力F支店向け系統操作オブジェクトの個別定義ファイル40に定義されているトリガー定義をA電力B支店向け系統操作オブジェクトの個別定義ファイル20’のトリガー定義に上書きする。
オブジェクト個別定義読み込み手段21は、継承が反映された定義情報を読み込み、定義内容を解釈してオブジェクト自動生成手段22に渡し、オブジェクト自動生成手段22はA電力F支店向け系統操作業務オブジェクトを生成する。
以上説明したように、実施の形態4によれば、既存定義ファイルの変更部分のみを記述することができるため、定義ファイル製作効率を向上させることができる。
また、継承元の定義ファイルを変更するだけで、継承先の複数の定義ファイルにて定義された複数の業務オブジェクトの機能オブジェクト参照先を一括して変更できるという効果もある。
実施の形態5.
実施の形態3では、システムに特化した各業務オブジェクトで独立した定義ファイルを作成するため、全体の一部のみ差異があるような場合でも、新たに全体を作成する必要があった。実施の形態5は、この問題を解決するために考えられたもので、定義ファイルに引用関係を持たせ、既存の複数の定義ファイルから引用したい部分だけを抽出して利用できるようにしたことにより、同じ記述を何度も行うことを不要にしている。
図6は、この発明の実施の形態5による電力監視制御システムのフレームワークにおけるオブジェクト自動生成方法を示すブロック図である。
図6において、1〜5、7、20’、21、22は図4におけるものと同一のものである。定義ファイル50は、機能オブジェクトの引用関係を定義した定義ファイルである。引用定義解釈手段51は、定義ファイル50の機能オブジェクトの引用定義を解釈する。
以下、図6を用いてオブジェクト生成方法を説明する。
新たにA電力F支店向け系統操作業務オブジェクトを生成する場合、A電力F支店向け系統操作業務オブジェクトは、機能オブジェクトとしてトリガー、入力、出力の参照情報を持ち、既存のA電力B支店向け系統操作オブジェクトがトリガー、入力、出力の参照情報を持ち、既存のA電力K支店向け系統操作オブジェクトがトリガー、入力、出力の参照情報を持つ場合、A電力F支店向け系統操作オブジェクトを個別に定義した定義ファイル50では、引用先の定義ファイル名と引用する機能オブジェクトを定義する。
引用定義解釈手段51では、まずA電力F支店向け系統操作オブジェクトを個別に定義した定義ファイル50を読み込んで定義内容を解釈し、そこに引用が定義されていた場合には、引用先の定義ファイル20’を読み込んで引用部分の入力オブジェクトの定義を挿入し、引用先の定義ファイル20''を読み込んで、引用部分の出力オブジェクトの定義を挿入する。
オブジェクト個別定義読込手段21は、引用反映後の定義内容を読み込んで解釈し、オブジェクト自動生成手段22に渡す。オブジェクト自動生成手段22は、定義内容に従ってA電力F支店向け系統操作業務オブジェクトを自動生成する。
以上説明したように、実施の形態5によれば、既存定義ファイルを部分的に引用できるため、定義ファイルの作成効率を向上させる効果がある。
また、引用元の定義ファイルを変更するだけで引用先の業務オブジェクトの振る舞いも一括して変更できるという効果もある。
実施の形態6.
実施の形態3では、定義ファイルに文法間違いやタイプミスなどの記述ミスがあった場合、オブジェクト個別定義読込手段が読み込んで解釈するまで間違いに気づかないという問題があった。実施の形態6は、この問題を解決するために考えられたもので、定義ファイルの記述ミスを検出する手段を設けることにより、より早い段階で記述ミスを検出し、ユーザに通知することができるようにしている。
図7は、この発明の実施の形態6による電力監視制御システムのフレームワークにおけるオブジェクト自動生成方法での記述ミス検出方法を示すブロック図である。
図7において、1〜5、7、20’、21、22は図4におけるものと同一のものである。定義ファイルスキーマ60は、定義ファイルの文法を規定する。定義ファイル記述ミス検出手段61は、定義ファイルスキーマ60に基き、定義ファイルの記述ミスを検出し、記述ミスが検出されたとき記述ミス検出メッセージ62を出力する。
以下、図7を用いて記述ミス検出方法を説明する。
定義ファイル記述ミス検出手段61は、予め定義された定義ファイルスキーマ60に従って、定義ファイル20’の記述内容をチェックし、記述ミスを検出した場合には、記述ミス検出メッセージ62を出力する。記述ミスを検出しなかった場合には、オブジェクト個別定義読込手段21に定義ファイル内容を送る。
以上説明したように、実施の形態6によれば、定義ファイルの記述ミスを事前に早い段階で検出し、ユーザに記述ミス内容を通知できるために、定義ファイルの品質を向上させ、定義ファイル製作効率を向上することができる。
実施の形態7.
実施の形態3では、システムに特化した各業務オブジェクトが各機能オブジェクト(トリガー、入力、出力)の参照情報を保持しているため、トリガー、入力、出力オブジェクトを一組でしか保持することができず、トリガーオブジェクトが2つ以上ある場合、1つのトリガーオブジェクトに対して2つ以上の入力オブジェクトがある場合、あるいは1つの入力オブジェクトに対して複数の出力オブジェクトがある場合などに対応することができなかった。
実施の形態7は、この問題を解決するために考えられたもので、業務オブジェクトは、トリガーオブジェクトの参照情報のみを持ち、トリガーオブジェクトは、入力オブジェクトの参照情報を持ち、入力オブジェクトは、出力オブジェクトの参照情報を持つというように機能オブジェクトを階層構造にし、各機能オブジェクトは、下位の機能オブジェクトの参照情報を複数持てるようにして複雑な処理に対応できるようにしている。
図8は、この発明の実施の形態7による電力監視制御システムのフレームワークにおけるオブジェクト自動生成方法を示すブロック図である。
図8において、1〜5、7、22は図4におけるものと同一のものである。定義ファイル70は、階層構造の機能オブジェクトを定義する。オブジェクト個別定義階層構造対応読込手段71は、階層構造の機能オブジェクトが定義された定義ファイル70を読込む。オブジェクト自動生成手段22は、階層構造の機能オブジェクトが定義された定義ファイル70を参照して、階層構造の機能オブジェクトを持った業務オブジェクト72及び各機能オブジェクトを自動生成する。
なお、図8では、定義ファイル70にしたがって作成される業務オブジェクト72とそれによって参照される機能オブジェクトを参照関係だけを表示している。すなわち、業務オブジェクト72はトリガーとトリガーを参照し、トリガーは、入力と入力を参照し、トリガーは、入力と入力を参照し、トリガーから参照される入力は、出力と出力を参照し、入力は、出力を参照し、トリガーから参照される入力は、出力を参照し、トリガーから参照される入力は、出力を参照する様子を示している。これらの業務オブジェクト72から参照されるトリガーオブジェクト、入力オブジェクト、出力オブジェクトは、派生クラスの実体を含み、トリガーオブジェクト、入力オブジェクトは階層構造下位の機能オブジェクトの参照情報を含むものである。
以下、図8を用いてオブジェクト生成方法を説明する。
生成対象の業務オブジェクトは、業務オブジェクト72(派生クラス)のように一つ以上のトリガーオブジェクト(派生クラス)の参照情報を持ち、トリガーオブジェクトは、それぞれ一つ以上の入力オブジェクト(派生クラス)の参照情報を持ち、入力オブジェクトは、それぞれ一つ以上の出力オブジェクト(派生クラス)の参照情報を持っている。すなわち、各機能オブジェクト(派生クラス)は、それぞれ参照する機能オブジェクト(派生クラス)の参照情報を持つように実体が形成されている。
まず、オブジェクトの階層構造を定義したA電力B支店向け系統操作オブジェクトを個別に定義した定義ファイル70を作成する。オブジェクト個別定義階層構造対応読込手段71は、定義ファイル70を読込んで定義内容を解釈し、オブジェクト自動生成手段22に送る。
オブジェクト自動生成手段22は、定義内容に従って、業務オブジェクト72がトリガーオブジェクトの参照情報を持ち、トリガーオブジェクトは、入力オブジェクトの参照情報を持ち、入力オブジェクトは、出力オブジェクトの参照情報を持つように、各機能オブジェクト(実体及び参照情報を持つ派生クラス)及びこれを参照する業務オブジェクトを自動生成する。
以上説明したように、実施の形態7によれば、オブジェクトの階層構造を記述できるため、より複雑な処理内容を持つ業務オブジェクトも自動生成することにより、ソフトウエア製作、保守効率を向上させることができるという効果を持つ。
この発明の実施の形態1による配電自動化システムの事故判定のフレームワークにおけるオブジェクト自動生成方法を示すブロック図である。 この発明の実施の形態1による電力監視制御システムのフレームワークにおけるオブジェクト自動生成方法を示すブロック図である。 この発明の実施の形態2による電力監視制御システムのフレームワークにおけるオブジェクト自動生成方法を示すブロック図である。 この発明の実施の形態3による電力監視制御システムのフレームワークにおけるオブジェクト自動生成方法を示すブロック図である。 この発明の実施の形態4による電力監視制御システムのフレームワークにおけるオブジェクト自動生成方法を示すブロック図である。 この発明の実施の形態5による電力監視制御システムのフレームワークにおけるオブジェクト自動生成方法を示すブロック図である。 この発明の実施の形態6による電力監視制御システムのフレームワークにおけるオブジェクト自動生成方法を示すブロック図である。 この発明の実施の形態7による電力監視制御システムのフレームワークにおけるオブジェクト自動生成方法を示すブロック図である。
符号の説明
1 個々のアプリケーション、2 電力監視制御フレームワーク、
3 電力監視制御業務オブジェクト、4 トリガーオブジェクトへの参照情報、
5 入力オブジェクトへの参照情報、6 演算オブジェクトへの参照情報、
7 出力オブジェクトへの参照情報、8 トリガーオブジェクトの実体、
9 入力オブジェクトの実体、10 演算オブジェクトの実体、
11 出力オブジェクトの実体、12 業務オブジェクト、20 定義ファイル、
21 オブジェクト個別定義読込手段、22 オブジェクト自動生成手段、
30 仮想テーブル定義ファイル、31 仮想テーブル定義読込手段、
32 仮想テーブル生成手段、33 仮想テーブル、40 定義ファイル、
41 継承定義解釈手段、50 定義ファイル、51 引用定義解釈手段、
60 業務オブジェクト個別定義スキーマ、
61 定義ファイル記述ミス検出手段、62 記述ミス検出メッセージ、
70 定義ファイル、71 オブジェクト個別定義階層構造対応読込手段、
101 事故判定フレームワーク、102 事故判定オブジェクト、
103 関数Aへの参照情報、104 関数Bへの参照情報、
105 関数Cへの参照情報、106 関数Aの実体、107 関数Bの実体、
108 関数Cの実体、110 個々のアプリケーション。

Claims (7)

  1. システムの対象業務に係わるソフトウエアをオブジェクト指向プログラミングによって作成するソフトウエア作成方法において、上記対象業務の業務オブジェクトは、それぞれ複数の機能オブジェクトから構成されると共に、上記機能オブジェクトの実体を内部に包含せず、上記機能オブジェクトへの参照情報のみを保持することを特徴とするソフトウエア作成方法。
  2. 上記業務オブジェクトの作成に当たって、システム毎に特化した業務オブジェクトを構成する機能オブジェクトを定義した定義ファイルを作成する第一の手順と、この第一の手順により作成された定義ファイルを読み込む第二の手順と、この第二の手順により読み込まれた定義ファイルで定義された機能オブジェクトの参照情報を有する業務オブジェクトを生成する第三の手順を含むことを特徴とする請求項1記載のソフトウエア作成方法。
  3. 上記定義ファイルで定義される機能オブジェクトは、入力オブジェクトを含み、上記入力オブジェクト毎にリレーショナルデータベースの仮想テーブルにより実施される演算内容を定義した仮想テーブル定義ファイルを作成する第四の手順、この第四の手順により作成された上記仮想テーブル定義ファイルを読み込み、解釈する第五の手順、この第五の手順により解釈された結果により上記演算内容を含む仮想テーブルを作成する第六の手順を含み、上記仮想テーブルの演算内容による演算結果が上記入力オブジェクトに入力されるようにしたことを特徴とする請求項2記載のソフトウエア作成方法。
  4. 上記定義ファイルには、定義ファイル間の継承関係を定義し、上記第二の手順は、上記親定義ファイルの情報も記述した派生定義ファイルを読み込むと、上記親定義ファイルも読み込み、上記親定義ファイルの内容に上記派生定義ファイルの内容を上書き併合した内容で機能オブジェクトを生成することを特徴とする請求項2または請求項3記載のソフトウエア作成方法。
  5. 上記定義ファイルは、他の定義ファイルの全部または一部の定義内容を引用して定義し、上記第二の手順は、上記定義ファイル及びこれにより引用された他の定義ファイルを読み込み、上記定義ファイルの引用個所に上記他の定義ファイルの上記引用内容を挿入することを特徴とする請求項2または請求項3記載のソフトウエア作成方法。
  6. 上記第二の手順は、上記定義ファイルを読み込むときに、上記定義ファイルの記述ミスをチェックし、ミスを検出した際にはエラーメッセージを出力することを特徴とする請求項2または請求項3記載のソフトウエア作成方法。
  7. 上記定義ファイルには、各業務オブジェクトを構成する機能オブジェクトが階層構造を持つように定義され、上記第二の手順は、上記機能オブジェクトの階層情報を解釈し、上記第三の手順は、上記業務オブジェクトが上記機能オブジェクトの参照情報を有すると共に、この機能オブジェクトが他の機能オブジェクトの参照情報を有するように上記業務オブジェクトを作成することを特徴とする請求項2または請求項3記載のソフトウエア作成方法。
JP2006218167A 2006-08-10 2006-08-10 ソフトウエア作成方法 Pending JP2008041038A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006218167A JP2008041038A (ja) 2006-08-10 2006-08-10 ソフトウエア作成方法
US11/657,684 US20080127215A1 (en) 2006-08-10 2007-01-25 Software creating method
EP07007106A EP1887461A1 (en) 2006-08-10 2007-04-04 Software creating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006218167A JP2008041038A (ja) 2006-08-10 2006-08-10 ソフトウエア作成方法

Publications (1)

Publication Number Publication Date
JP2008041038A true JP2008041038A (ja) 2008-02-21

Family

ID=38608718

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006218167A Pending JP2008041038A (ja) 2006-08-10 2006-08-10 ソフトウエア作成方法

Country Status (3)

Country Link
US (1) US20080127215A1 (ja)
EP (1) EP1887461A1 (ja)
JP (1) JP2008041038A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010020507A (ja) * 2008-07-10 2010-01-28 Hitachi Ltd 料金計算システム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11265395A (ja) * 1998-03-18 1999-09-28 Hitachi Ltd データベースアクセスシステム
JP2000250756A (ja) * 1999-03-02 2000-09-14 Mitsubishi Electric Corp 監視データ処理ソフトウェア開発用フレームワーク
JP2000305765A (ja) * 1999-04-19 2000-11-02 Yokogawa Electric Corp プロセス制御システムの構築装置
JP2000315155A (ja) * 1999-03-04 2000-11-14 Sony Corp データ処理装置、データ処理方法及びプログラム提供媒体
JP2001043079A (ja) * 1999-07-27 2001-02-16 Nippon Steel Corp ソフトウェアの開発支援装置、ソフトウェア部品生成装置およびその方法、記録媒体
JP2003274576A (ja) * 2002-03-18 2003-09-26 Mitsubishi Electric Corp 電力系統監視制御装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5206951A (en) * 1987-08-21 1993-04-27 Wang Laboratories, Inc. Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types
US5787440A (en) * 1994-03-10 1998-07-28 Crossties Software Corp. Object oriented architecture with bidirectional linking of relationships between objects
US5822587A (en) * 1995-10-20 1998-10-13 Design Intelligence, Inc. Method and system for implementing software objects
US6058396A (en) * 1997-02-06 2000-05-02 Sterling Software, Inc. Product interface method and system which allow class evolution
US6167404A (en) * 1997-07-31 2000-12-26 Avid Technology, Inc. Multimedia plug-in using dynamic objects
US7523471B1 (en) * 1998-12-18 2009-04-21 Siemens Aktiengesellschaft Interpretive network daemon implemented by generic main object
US6922834B1 (en) * 1999-03-04 2005-07-26 Sony Corporation Data processing apparatus, data processing method, and program providing medium
US6769122B1 (en) * 1999-07-02 2004-07-27 Silicon Graphics, Inc. Multithreaded layered-code processor
US6694513B1 (en) * 1999-07-06 2004-02-17 Abb Ab Method of integrating an application in a computerized system
US7028293B2 (en) * 2001-03-30 2006-04-11 Microsoft Corporation Constant return optimization transforming indirect calls to data fetches
US7092950B2 (en) * 2001-06-29 2006-08-15 Microsoft Corporation Method for generic object oriented description of structured data (GDL)
JP2003323296A (ja) * 2002-04-30 2003-11-14 Mitsubishi Electric Corp イベントデータ処理方法および装置
US7533077B2 (en) * 2002-10-31 2009-05-12 International Business Machines Corporation Method, system and program product for automatically creating managed resources
US7174545B2 (en) * 2003-04-08 2007-02-06 The Boeing Company Apparatus and method for producing display application software for embedded systems
JP2005182419A (ja) * 2003-12-18 2005-07-07 Toshiba Solutions Corp コンポーネント処理システム及びコンポーネント処理方法
JP2005301985A (ja) * 2004-02-26 2005-10-27 Ricoh Co Ltd 情報処理装置、オブジェクト生成方法、オブジェクト変換方法、オブジェクト生成プログラム、オブジェクト変換プログラム及び記録媒体
US20050278709A1 (en) * 2004-06-15 2005-12-15 Manjula Sridhar Resource definition language for network management application development
JP4144885B2 (ja) * 2004-12-28 2008-09-03 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーション・オブジェクトの再利用方法
US8418132B2 (en) * 2005-04-29 2013-04-09 Microsoft Corporation Application description language

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11265395A (ja) * 1998-03-18 1999-09-28 Hitachi Ltd データベースアクセスシステム
JP2000250756A (ja) * 1999-03-02 2000-09-14 Mitsubishi Electric Corp 監視データ処理ソフトウェア開発用フレームワーク
JP2000315155A (ja) * 1999-03-04 2000-11-14 Sony Corp データ処理装置、データ処理方法及びプログラム提供媒体
JP2000305765A (ja) * 1999-04-19 2000-11-02 Yokogawa Electric Corp プロセス制御システムの構築装置
JP2001043079A (ja) * 1999-07-27 2001-02-16 Nippon Steel Corp ソフトウェアの開発支援装置、ソフトウェア部品生成装置およびその方法、記録媒体
JP2003274576A (ja) * 2002-03-18 2003-09-26 Mitsubishi Electric Corp 電力系統監視制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010020507A (ja) * 2008-07-10 2010-01-28 Hitachi Ltd 料金計算システム

Also Published As

Publication number Publication date
US20080127215A1 (en) 2008-05-29
EP1887461A1 (en) 2008-02-13

Similar Documents

Publication Publication Date Title
US11669309B2 (en) Extensible integrated development environment (IDE) platform with open application programming interfaces (APIs)
CN112558929B (zh) 用于开发或创建工业应用的系统和方法及计算机可读介质
US11681512B2 (en) Industrial automation smart object inheritance
US11178022B2 (en) Evidence mining for compliance management
CN110990396B (zh) 数据存储方法、装置及存储介质
CN112422638A (zh) 数据实时流处理方法、系统、计算机装置和存储介质
CN104731588A (zh) 页面布局文件生成方法和页面布局文件生成装置
Masi et al. Securing critical infrastructures with a cybersecurity digital twin
EP4137937A1 (en) Industrial automation project library cross sharing
Gray et al. A standardised modular approach for site SCADA applications within a water utility
CN111880921A (zh) 基于规则引擎的作业处理方法、装置和计算机设备
US9665836B2 (en) System and method for analyzing data
US8849638B2 (en) System and method for analyzing data
US20230152790A1 (en) System model smart object configuration
JP2008041038A (ja) ソフトウエア作成方法
US20120041732A1 (en) System and method for analyzing data
Sauer et al. Current Industry 4.0 Platforms–An Overview
US20220292457A1 (en) Industrial automation smart object inheritance break and singleton creation
Remenyte-Prescott et al. Analysis of non-coherent fault trees using ternary decision diagrams
CN106648648B (zh) 基于Zookeeper的配置管理方法及系统
CN108228708B (zh) 大数据etl系统及其调度方法
Jin et al. System modeling of vehicle management based on RUP and UML
Yamamoto Innovating the Engineering Environment with Automation Design Suite
CN111198675B (zh) 一种管控方法及系统
US11500997B1 (en) ICS threat modeling and intelligence framework

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120417

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120821