JP2003241965A - プログラム作成支援方法、プログラム作成支援プログラム及びプログラム作成支援装置 - Google Patents

プログラム作成支援方法、プログラム作成支援プログラム及びプログラム作成支援装置

Info

Publication number
JP2003241965A
JP2003241965A JP2002040261A JP2002040261A JP2003241965A JP 2003241965 A JP2003241965 A JP 2003241965A JP 2002040261 A JP2002040261 A JP 2002040261A JP 2002040261 A JP2002040261 A JP 2002040261A JP 2003241965 A JP2003241965 A JP 2003241965A
Authority
JP
Japan
Prior art keywords
program
component
parts
user
execution order
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
JP2002040261A
Other languages
English (en)
Inventor
Shigeru Kobayashi
茂 小林
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2002040261A priority Critical patent/JP2003241965A/ja
Publication of JP2003241965A publication Critical patent/JP2003241965A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】ソフトウェア部品の連結部分をも部品として表
現する部品化技術を利用して、ソフトウェア開発者がプ
ログラムを容易に作成できるように支援する。 【解決手段】ソフトウェア部品の連結手段をリンク部品
として表現し、データ部品の一覧をGUI画面の領域6
1に、リンク部品の一覧を領域62に、それぞれ表示す
る。エディタは、利用者の操作に応じて領域61または
62から選択された部品をプログラムの要素部品として
領域63の利用者指定の位置に配置する。またエディタ
は、領域63内に配置された各要素部品631〜635
が位置指定されて順番号が入力されると、入力された順
番号A31〜A35を、その要素部品の近傍に表示し、
その順番号が対応する要素部品に設定されたプログラム
定義情報を生成する。エディタは、この定義情報から実
行順が設定された要素部品をその順番に検索し、その部
品のカテゴリに応じたメソッドのコードを生成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ソフトウェア部品
の連結手段をも部品として表現するソフトウェア部品化
技術を利用したソフトウェア開発技術に係り、特に、ソ
フトウェア開発者がこの種のソフトウェア部品を用いて
プログラムを作成するのを支援するプログラム作成支援
方法、プログラム作成支援プログラム及びプログラム作
成支援装置に関する。
【0002】
【従来の技術】ソフトウェア(ソフトウェアプログラ
ム)の部品化は、ソフトウェアの生産性・品質向上の重
要な手法である。オブジェクト指向プログラミングは、
このソフトウェアの部品化の促進に効果があると従来か
ら期待されていた。その理由は、オブジェクト指向プロ
グラミングでは、継承の機構がソフトウェアの再利用に
つながる点と、モジュールの独立性の高さや現実世界の
「もの」との類似性がそれらの仕様理解を助ける点など
とにある。
【0003】
【発明が解決しようとする課題】しかしながら、上記の
ような期待にもかかわらず、実際には、現在もソフトウ
ェアの部品化手法は十分には確立されていない。従来、
オブジェクト指向プログラミングだけではソフトウェア
の部品化が十分に実現できなかった理由を以下に列挙す
る。
【0004】(A1)継承に基づくプログラミングで
は、最も一般化された、抽象度の高い部品から完成して
いく必要がある。しかし、求められる一般形を見極める
のは、ソフトウェアの機能が大きくなると急激に困難に
なる。特に、ソフトウェア開発者(プログラム作成者)
が対象業務の専門知識を有さない場合には、それが顕著
である。また、ソフトウェアに対するユーザ要件は、刻
々と変化する。そのために、ある時点では十分な一般性
を備えた部品を作成できても、時間経過に伴いその利用
可能性が小さくなっていく。
【0005】(A2)処理の主体や対象は「もの」とし
て表現するものの、処理主体が(一般には複数の)処理
対象にどのように作用して目的の機能を実現するかとい
う点に関しては、従来同様に手続き的な表現が基本とな
っている。その結果、部品を組み合わせたシステム全体
の振る舞いの把握や予測を、物理的な装置のように直感
的にできない。そのため、現在は、ソフトウェアの設計
やメンテナンスにおける人間の思考支援を目的とした、
様々な図表の作成などが必要になっている。
【0006】この、オブジェクト指向プログラミングに
おいて未解決の部分を補完するために、これまで部品と
みなされてきたオブジェクトだけでなく、オブジェクト
間の連結部分をも部品化するプログラミング技術が考え
られる。つまり、大きなオブジェクトの部品化を目指す
のではなく、一連のオブジェクト群が目的の機能を実現
するようオブジェクトを組み合わせる素材を部品化する
プログラミング技術が考えられる。この技術は、多くの
実務処理がそうであるように、各種フォームやレコード
などの受動的性格の強いデータを入出力として加工する
ソフトウェアの開発において、特に有用となることが予
想される。
【0007】本発明は上記事情を考慮してなされたもの
でその目的は、ソフトウェア部品の連結部分をも部品と
して表現するソフトウェア部品化技術を利用して、ソフ
トウェア開発者がプログラムを容易に作成できるように
支援する、プログラム作成支援方法、プログラム作成支
援プログラム及びプログラム作成支援装置を提供するこ
とにある。
【0008】
【課題を解決するための手段】本発明の1つの観点によ
れば、ソフトウェア部品の連結手段をリンク部品として
表現するソフトウェア部品化技術を利用したプログラム
の作成を支援するための計算機により実行されるプログ
ラム作成支援方法が提供される。このプログラム作成支
援方法は、データが設定されるフィールドを端子として
持つデータ部品と引数を端子として持つリンク部品とに
分類されるソフトウェア部品の群をプログラム構成の要
素部品の群とし、当該要素部品相互の静的な連結構造が
決定されたプログラムの静的構造を生成するステップ
と、上記プログラムの静的構造中の要素部品群のうちの
利用者指定の各要素部品に、利用者指定の実行順を設定
することで、要素部品相互の振る舞いが定義されたプロ
グラム定義情報を生成するステップと、上記プログラム
定義情報から実行順が設定された要素部品を当該実行順
に従って順次検索するステップと、要素部品が検索され
る毎に、当該部品がデータ部品、またはリンク部品のい
ずれであるかに応じて、予め定義されたメソッドのコー
ドを生成することにより、プログラム定義情報で定義さ
れたプログラムのプログラムコードを生成するステップ
とを備えている。
【0009】このように、本発明の1つの観点に係るプ
ログラム作成支援方法においては、まず、目的プログラ
ムを構成する要素部品と、その要素部品相互の静的な連
結構造とが生成される。つまり、上記プログラム作成支
援方法においては、リンク部品による連結で、データ部
品が相互にいかに関連しているかという、相互の静的な
連結構造が表現される。そして、上記プログラム作成支
援方法においては、利用者の操作による要素部品単位の
実行順の指定を受け付けて、その利用者指定の各要素部
品に利用者指定の実行順を設定することで、プログラム
定義情報が生成される。ここで、要素部品に付けられた
実行順は、その構造にいかに作用を加え目的の動作をさ
せるかという意図を表現している。このように、プログ
ラムの構造が2つの階層に分離されるので、それぞれを
作成、把握するのが容易になる。
【0010】また、各要素部品のメソッドは、当該部品
がデータ部品、またはリンク部品のいずれであるかによ
って、予め定義されている。したがって、生成されたプ
ログラム定義情報、即ちプログラムの静的構造中の利用
者指定の各要素部品に、利用者指定の実行順が設定され
たプログラム定義情報は、要素部品相互の振る舞いが定
義されたプログラム定義情報であり、各要素部品を、ど
のような順序で、どの要素部品にメッセージを送るか
が、メソッドとして定義されたプログラム定義情報であ
るといえる。よって、プログラム定義情報から実行順が
設定された要素部品を当該実行順に従って順次検索し、
その都度、当該部品がデータ部品、またはリンク部品の
いずれであるかに応じて、予め定義されたメソッドのコ
ードを生成することにより、プログラム定義情報で定義
されたプログラムのプログラムコードを簡単に生成する
ことができる。しかも、実行順の付け方により、1つの
静的連結構造から、用途に合わせて異なる動作のコード
を生成できる。
【0011】上記予め定義されたメソッドとしては、デ
ータ部品に対しては、当該データ部品の全てのフィール
ドを埋めるための第1のメソッドであって、当該データ
部品に出力端子が連結された全てのリンク部品に対し
て、当該リンク部品の全ての入力端子に値が与えられて
いるならば、当該リンク部品の出力端子に値を伝えるた
めの第2のメソッドを送信する第1のメソッドを適用す
るとよい。次に、リンク部品に対しては、当該リンク部
品の入力端子の中に値が与えられていない入力端子が存
在し、且つ当該入力端子にデータ部品が連結されている
ならば、当該データ部品に上記第1のメソッドを送信
し、当該リンク部品の入力端子の中に値が与えられてい
ない入力端子が存在し、且つ当該入力端子に他のリンク
部品が連結されているならば、当該連結されているリン
ク部品に上記第2のメソッドと同じメソッドを送信する
第2のメソッドを適用するとよい。
【0012】ここで、プログラムの静的構造中の要素部
品群、及び当該要素部品相互の静的な連結構造を、プロ
グラムを作成するのに用いられるプログラム作成画面の
プログラム定義領域に表示して、当該定義領域に表示さ
れている要素部品群のうちのいずれか1つの要素部品が
利用者の操作に応じて指定される毎に、当該利用者に対
して当該指定された要素部品の実行順の指定入力を要求
する構成とするならば、利用者は要素部品の実行順の指
定入力を効率的に行うことが可能となる。また、指定さ
れた実行順、例えば当該実行順を表す番号(順番号)
を、プログラム定義領域に表示されている対応する要素
部品の近傍に表示するならば、利用者にとってプログラ
ム定義領域上の各要素部品の実行順を視認できるため、
要素部品の実行順の指定入力をより効率的に且つ意図し
た通りに行うことが可能となる。
【0013】また、プログラム作成画面上に、ソフトウ
ェア部品の一覧が表示される部品一覧領域を配置し、当
該部品一覧領域から利用者指定の部品を選択して、プロ
グラム定義領域上の利用者指定の位置に移動・配置可能
な構成とすると共に、利用者の指定に応じて、プログラ
ム定義領域に配置されている要素部品相互の端子間を連
結可能な構成とするならば、利用者は、自身の意図した
要素部品から構成されるプログラムの静的構造を効率的
に作成することが可能となる。
【0014】なお、以上のプログラム作成支援方法に係
る本発明は、当該方法を実行してプログラムの作成を支
援するためのプログラム作成支援装置に係る発明として
も、当該方法を構成する各ステップを計算機に実行させ
るためのプログラム(プログラム作成支援プログラム)
に係る発明としても成立する。
【0015】
【発明の実施の形態】以下、本発明の実施の形態につき
説明する。本発明の実施形態の特徴は、オブジェクト間
の連結部分(リンク)をも部品化するプログラミング技
術(リンク指向プログラミング技術)によりソフトウェ
アの部品化が容易に実現できるようにした点にある。そ
こで、本実施形態の理解を容易にするために、本実施形
態で適用される、連結部分を部品表現するプログラム記
法の体系について説明する。
【0016】(B1)従来のオブジェクト指向プログラ
ミングにおけるオブジェクトに相当するものとして、
「データ部品」が存在する。データ部品は、1個以上の
フィールド(インスタンスフィールド)を持つ。全ての
フィールドは外部に公開されており(隠蔽されておら
ず)、値の参照及び設定が可能である。
【0017】(B2)データ部品の連結を実現する部品
として、「リンク部品」が存在する。リンク部品には
「関数型リンク部品」(以下、単に「関数」と称するこ
ともある)と「述語型リンク部品」(以下、単に「述
語」と称することもある)との2種類がある。
【0018】(B3)関数は、一般にn入力m出力の多
値関数であり、入力側から出力側へ値をそのまま或いは
変換して伝達する。特別な関数の例として、乱数発生関
数のように、入力の無い関数とみなすことのできるもの
がある。
【0019】(B4)述語は、1個以上の入力引数のみ
を持つ。但し、入力引数に基づく真偽判定の結果によ
り、他のデータ部品、或いはリンク部品にメッセージを
送ることができる。
【0020】(B5)データ部品の各フィールド、並び
に関数及び述語の各々の引数を、まとめて「端子」と呼
ぶ。端子には、値を伝達することのできる方向がある。
データ部品の端子は双方向の伝達が可能である。関数の
端子は、入力端子は入力方向にのみ、出力端子は出力方
向にのみ伝達が可能である。但し、後述する逆関数が定
義されている場合には双方向に伝達可能である。述語の
端子は、全て入力方向にのみ伝達可能である。
【0021】(B6)データ部品のフィールドのアクセ
スは、データ部品名とフィールド名とを用いた次の形式 データ部品名.フィールド名 により可能である。
【0022】(B7)関数による部品間連結の表現は、
リンク部品の種別を示す関数名(クラス名)、リンク部
品の名前であるリンク名(インスタンス名)、入力端子
を示す入力名、及び出力端子を示す出力名とを用いた次
の形式 による。
【0023】(B8)述語による部品間連結の表現は、
リンク部品の種別を示す述語名(クラス名)、リンク名
(インスタンス名)、入力端子を示す入力名、及び述語
の真偽判定の結果に基づく処理内容とを用いた次の形式 述語名 リンク名 { 入力名1=端子1,入力名2=端子2,… { ; ifTrue ( 述語が真の場合の処理 ) } { ; ifFalse ( 述語が偽の場合の処理 ) } } による。
【0024】(B8)データ部品、関数、及び述語は、
それぞれ次の機能を基本的なメソッドとして持つ。
【0025】データ部品は、「fill()」と表現されるメ
ソッド(fillメソッド)を持つ。fill()は、当該fill()
を持つデータ部品に自身の出力端子を連結された全ての
リンク部品に対して、次に述べるflow()を送って、当該
データ部品のフィールドを埋めるメソッドである。ここ
では、データ部品に出力端子が連結可能なリンク部品
は、関数(関数型リンク部品)に限られる。
【0026】関数は、「flow()」と表現されるメソッド
(flowメソッド)を持つ。flow()は、当該flow()を持つ
関数の全ての入力端子に値が与えられているならば、そ
の関数の出力端子に値を伝えるソッドである。また、fl
ow()は、値を与えられていない入力端子がある場合、そ
の入力端子に連結されている部品がデータ部品であれば
当該データ部品にfill()を、関数型のリンク部品(関
数)であれば当該関数型リンク部品にflow()を、そして
述語型のリンク部品(述語)であれば当該述語型リンク
部品にtest()を送って、その入力端子を通して値を取得
することで全ての入力値を満たし、出力端子に値を伝え
るメソッドでもある。
【0027】関数はまた、その関数の逆関数が定義され
ている場合に限り、「flowBackward()」と表現されるメ
ソッド(flowBackwardメソッド)を持つ。flowBackward
()は、当該flowBackward()を持つ関数の入力端子を出力
端子に、出力端子を入力端子にして、flow()と同様の処
理を行うメソッドである。
【0028】述語は、「test()」と表現されるメソッド
(testメソッド)を持つ。test()は、当該test()を持つ
述語の全ての入力端子に値が与えられているならば、そ
れらの値に基づいて真偽を判定し、その判定結果に基づ
いて定義された処理を行って、他のデータ部品またはリ
ンク部品にメッセージを送るメソッドである。また、te
st()は、値を与えられていない入力端子がある場合、そ
の入力端子に連結されている部品がデータ部品であれば
当該データ部品にfill()を、関数型のリンク部品であれ
ば当該関数型リンク部品にflow()を、そして述語型のリ
ンク部品であれば当該述語型リンク部品にtest()を送っ
て、その入力端子を通して値を取得することで全ての入
力値を満たし、真偽を判定するメソッドでもある。
【0029】(B9)少なくとも2つのリンク部品を組
み合わせて、新しい部品、つまり関数(合成関数)を作
成できる。1つの部品を構成する各部品を要素部品と呼
ぶ。また、要素部品がリンク部品の場合、その要素部品
を要素リンク部品と呼ぶ。要素リンク部品の端子間を接
続する場合、入力方向のみの端子同士、あるいは出力方
向のみの端子同士を連結することはできない。要素部品
間で連結されなかった端子は、新しく作成された部品の
端子となる。また、新しい部品(リンク部品)の作成
に、リンク部品だけでなくデータ部品を用いることがで
きるのは勿論である。
【0030】(B10)プログラムの実行は、当該プロ
グラムを構成するデータ部品とリンク部品に対してメッ
セージを送ることで行われる。
【0031】このような、連結部分を部品表現するプロ
グラム記法の体系を適用した本実施形態について、図面
を参照して説明する。図1は本発明の一実施形態に係
る、ソフトウェア部品を用いたプログラム作成を支援す
るプログラム作成支援装置の構成を示すブロック図であ
る。
【0032】図1に示すプログラム作成支援装置は、パ
ーソナルコンピュータ等のデータ処理装置(計算機)に
より実現される。つまり、プログラム作成支援装置は、
主として、外部記憶装置1と、主記憶装置2と、表示装
置3と、入力装置4と、CPU5と、システムバス6と
から構成されるデータ処理装置である。
【0033】外部記憶装置1は、ハードディスクドライ
ブ(HDD)等の大容量記憶装置である。外部記憶装置
1には、ソフトウェア部品の定義情報(ソフトウェア部
品定義情報)11と、ソフトウェア部品を表す図像とし
てのアイコン(部品アイコン)のイメージデータ(アイ
コンデータ)12と、作成されたプログラム定義情報1
3とプログラムコード14とが格納されている。
【0034】ソフトウェア部品定義情報11は、予め用
意されているソフトウェア部品及び新たに作成されたソ
フトウェア部品を定義した情報である。ソフトウェア部
品定義情報11は、データ部品の定義情報(データ部品
定義情報)111と、リンク部品の定義情報(リンク定
義情報)112とを含む。リンク定義情報112は、関
数(関数型リンク部品)の定義情報(関数定義情報)1
12aと、述語(述語型リンク部品)の定義情報(述語
定義情報)112bとを含む。
【0035】データ部品定義情報111は、予め用意さ
れている各データ部品のフィールド情報を含む。関数定
義情報112aは、予め用意されている各関数及び新た
に作成された各関数について、各入出力端子の名前と入
出力の方向、継承部品名、アイコンデータ名、及び逆関
数定義の有無の情報を含む。述語定義情報112bは、
予め用意されている各述語及び新たに作成された各述語
について、各端子の名前を含む。
【0036】主記憶装置2には、プログラムの作成を支
援するプログラム(プログラム作成支援プログラム)と
してのプログラムエディタ21が、例えば入力装置4を
用いた利用者(ソフトウェア開発者、プログラム作成
者)の操作に応じて、外部記憶装置1からロードされ
る。プログラムエディタ21は、CPU5を、利用者に
よる要素部品の選択を支援する部品選択部211、要素
部品を表示装置3に表示する部品表示部212、及び利
用者により指定された端子間の連結を実行して、その連
結情報を入力する連結入力部213の各機能手段として
機能させるためのプログラム要素を含む。プログラムエ
ディタ21はまた、CPU5を、利用者により指定され
た端子間の連結の状態を表示装置3に表示する連結表示
部214、プログラムを構成する要素部品群のうちの利
用者指定の要素部品に、利用者が指定したプログラム実
行時の実行順を示す番号を設定する順番号設定部21
5、及びプログラムコード生成部216の各機能手段と
して機能させるためのプログラム要素も含む。プログラ
ムコード生成部216は、作成中のプログラムのコード
を生成する。
【0037】主記憶装置2にはまた、プログラムエディ
タ21を用いて現在作成されているプログラムの定義情
報(プログラム定義情報)22が格納される。プログラ
ム定義情報22は、要素部品情報221と、要素連結情
報222とを含む。要素部品情報221は、作成中のプ
ログラムを構成するソフトウェア部品の各要素部品の情
報であり、各要素部品について、当該部品の名前である
要素名(要素部品名、インスタンス名)、当該部品の分
類(カテゴリ)、つまり当該部品がデータ部品、関数
(関数型リンク部品)または述語(述語型リンク部品)
のいずれであるかを表す要素部品カテゴリ名、当該部品
の種別を表す要素部品種別名(クラス名)、及び順番号
を含む。要素連結情報222は、上記各要素部品の端子
間の連結を定義する情報であり、各連結について、連結
元の要素名及び端子名の対、並びに連結先の要素名及び
端子名の対を含む。
【0038】表示装置3は、CRTディスプレイ、或い
は液晶ディスプレイ等であり、プログラムエディタ21
を用いたプログラム作成のためのGUI(Graphical Us
er Interface)画面(プログラム作成GUI画面)の表
示等に用いられる。入力装置4はキーボード、マウス等
であり、利用者による上記GUI画面の操作を含むプロ
グラムエディタ21の操作等に用いられる。
【0039】CPU5は、利用者の操作に従ってプログ
ラムエディタ21を実行することにより、利用者の要求
するプログラムの作成を支援する。
【0040】次に、図1の構成におけるプログラム作成
支援処理について、図2乃至図5のフローチャートを参
照して説明する。本実施形態におけるプログラム作成支
援処理は、プログラム定義情報22を作成するプログラ
ム定義情報作成処理と、当該プログラム定義情報22か
らプログラムコードを生成するプログラムコード作成処
理とに大別される。プログラム定義情報作成処理は、プ
ログラムエディタ21中の例えば部品選択部211、連
結入力部213及び順番号設定部215を用いて実行さ
れる。プログラムコード作成処理は、プログラムコード
生成部216を用いて実行される。
【0041】まず、プログラム定義情報作成処理につい
て説明する。今、利用者(プログラム作成者)が入力装
置4を操作して、プログラムエディタ21を起動したも
のとする。するとCPU5は、プログラムエディタ21
に従って、図6に示すようなプログラム作成GUI画面
を表示装置3に表示する。以降の説明では、煩雑さを避
けるため、プログラムエディタ21自身が処理を実行す
るものとして扱う。
【0042】図6に示すプログラム作成GUI画面は、
既定義のデータ部品610の一覧が表示されるデータ部
品一覧領域61と、既定義のリンク部品620の一覧が
表示されるリンク部品一覧領域62と、プログラムを作
成・定義する領域を提供するプログラム定義領域63と
を含んでいる。
【0043】データ部品一覧領域61へのデータ部品一
覧の表示は、外部記憶装置1に格納されているソフトウ
ェア部品定義情報11中のデータ部品定義情報111に
基づいて行われる。リンク部品一覧領域62へのリンク
部品一覧の表示は、上記ソフトウェア部品定義情報11
中のリンク定義情報112に基づいて行われる。
【0044】ここでは、一覧領域61,62上の各部品
610,620は、外部記憶装置1に格納されているア
イコンデータ12に基づいて、当該部品610,620
を表すアイコン611,621で表示される。各部品6
10,620のアイコン611,621の近傍には、そ
の部品の種別を表す要素部品種別名612,622が表
示される。また、部品620、つまりリンク部品620
については、その近傍に、端子間の値の伝達方向を示す
矢印623がリンク定義情報112に基づいて表示され
る。また、一覧領域61,62上の各部品610,62
0は縮小表示され、後述するようにプログラム定義領域
63上に移動された際に一定の倍率に拡大して表示され
る。一覧領域61,62内では、一般に部品一覧の全て
を表示できないため、その領域内でスクロール可能なよ
うになっている。
【0045】一覧領域61及び62は、既定義のソフト
ウェア部品の一覧の表示領域を提供する。ここで、既定
義のソフトウェア部品は一般にはシステムに予め用意さ
れているソフトウェア部品であるが、リンク部品につい
ては、プログラムエディタ21を利用して利用者が新た
に定義したソフトウェア部品も含まれる。
【0046】プログラム定義情報22は、利用者が図6
のプログラム作成GUI画面上で、以下に述べるような
要素部品選択操作、連結入力操作、及び順番号設定操作
を実行することにより作成される。
【0047】まず利用者は、入力装置4の例えばマウス
を用いて、目的のプログラムを構成するソフトウェア部
品の作成・定義に必要な要素部品、つまり目的プログラ
ムの作成・定義に必要な要素部品を、データ部品一覧領
域61またはリンク部品一覧領域62上の部品一覧から
選択する操作を行う。次に利用者は、選択した要素部
品、つまりデータ部品またはリンク部品を、プログラム
定義領域63上の所望の位置に移動させるために、マウ
スを用いてドラッグ&ドロップ操作を行う。
【0048】プログラムエディタ21中の部品選択部2
11は、利用者がマウスを用いて、データ部品一覧領域
61またはリンク部品一覧領域62上の部品一覧から要
素部品を選択する操作を行ったことを検出すると(ステ
ップS1)、その選択された要素部品を、利用者の選択
操作に続くドラッグ操作に応じて(ステップS2)、部
品表示部212によりプログラム作成GUI画面に表示
させながら、プログラム定義領域63上に移動する(ス
テップS3)。
【0049】ここでは、選択された要素部品は、部品の
種別がアイコンと種別名で、端子間の値の伝達方向が矢
印で、それぞれ表される。表示するアイコンは、以下の
手順で決定される。 (a1)選択された部品にアイコンが設定されていれ
ば、それを用いる。 (a2)アイコンの設定がなく、継承する部品の設定が
あれば、上位の部品のアイコン設定を再帰的に探して、
これを用いる。 (a3)継承情報によってもアイコンの情報が得られな
ければ、予め定められた暗黙のアイコンを用いる。
【0050】一方、表示する矢印の向きは、以下の手順
で決定される。 (b1)データ部品の端子は、双方向とする。 (b2)逆関数を設定された関数の端子は、双方向とす
る。 (b3)それ以外の関数では、入力端子は入力方向と
し、出力端子は出力方向とする。 (b4)述語の端子は、入力方向とする。
【0051】図7及び図8に、プログラム定義領域63
上での要素部品の表示例を示す。図7はデータ部品、図
8は関数(関数型リンク部品)の、それぞれ表示例を示
している。
【0052】さて、部品選択部211は、部品一覧から
選択された要素部品を利用者のドラッグ操作に応じてプ
ログラム定義領域63上に移動している状態で、利用者
のドロップ操作を検出すると(ステップS4)、当該要
素部品の移動処理を停止し、当該要素部品の名前(要素
名)の入力を利用者に対して要求する画面を部品表示部
212により表示させる(ステップS5)。ここで、利
用者が入力装置4を用いて要素名を入力する操作を行う
と、部品選択部211はその要素名を入力装置4から受
け取って、対応する要素部品のカテゴリを表す要素カテ
ゴリ名及び種別を表す要素部品種別名と組にして、主記
憶装置2に格納されているプログラム定義情報22中の
要素部品情報221に追加し(ステップS6)、利用者
の次の要素部品選択操作を待つ。
【0053】利用者は、プログラム定義領域63内に配
置した要素部品の端子、及びプログラム定義領域63で
定義されるプログラムを構成するソフトウェア部品の端
子のうちの任意の2つの端子間を連結したい場合、入力
装置4のマウスを操作して、マウスポインタを一方の端
子に合わせた状態で、他方の端子にドラッグする操作を
行う。
【0054】プログラムエディタ21中の連結入力部2
13は、利用者が端子間を連結するためのドラッグ操作
を行ったことを検出すると(ステップS7)、ドラッグ
開始位置の端子から現在のドラッグ位置までを連結表示
部214により線分で表示させる。そして連結入力部2
13は、ドラッグ位置が他の端子に到達すると、両端子
間を連結表示部214により図6中の矢印A11〜A1
3などのように、矢印で表示させて連結し、その連結情
報をプログラム定義情報22中の要素連結情報222に
追加する(ステップS8)。上記ステップS8では、連
結入力部213は、指定された2つの端子間の連結が可
能な値伝達の方向を判別し、その判別結果に応じて、当
該端子間が連結されていることと値伝達の方向とを連結
表示部214により上記した矢印で表示させる。但し、
利用者が指定した2つの端子が同一要素部品のものであ
る場合は、連結入力部213は利用者に対してエラー通
知し、連結を拒否する。
【0055】ここでは、 (c1)連結される2つの端子が共に要素部品の端子で
あるとき、 ・その2つの端子が共に双方向の端子であるならば、連
結も双方向の伝達が可能となる。 ・その2つの端子のうち、少なくも一方が単方向であ
り、他方も同方向への伝達が可能であるならば、連結は
その方向への単方向伝達のみが可能となる。 ・それ以外の場合、連結入力部213は利用者に対して
エラー通知し、連結を拒否する。
【0056】次に、 (c2)連結される2つの端子の一方が作成中の部品の
端子であるとき、 ・その端子の伝達方向は、もう一方の端子である要素部
品の端子の伝達方向と同じになる。なお、作成中の部品
の1つの端子を、複数の要素部品の端子と連結すること
は可能であるが、追加される要素部品の端子の伝達方向
は、既接続の連結と逆向きであってはならない。その場
合には、エラーを通知し、連結を拒否する。 (c3)連結される端子の双方が作成中の部品の端子で
あるとき ・エラーを通知し、連結を拒否する。
【0057】このように本実施形態においては、利用者
の操作で指定された2つの端子間の値の伝達方向をプロ
グラムエディタ21中の連結入力部213にて自動判別
して、当該端子間を連結(接続)する矢印の方向を決定
しているため、利用者は値の伝達方向を指定しなくても
よく、したがって簡単な作成作業で正確な部品の作成が
可能になる。但し、例えばマウスの右ボタンクリックに
より、利用者自身が連結の方向を指定(制限)可能とす
る画面を表示させることも可能である。
【0058】さて、利用者の要素部品選択操作に従っ
て、部品選択部211が利用者の目的とするプログラム
を構成する要素部品を選択して、その要素部品の情報で
ある要素名(要素部品名)及び部品種別名を入力し、利
用者の連結入力操作に従って、連結入力部213が指定
の端子間の連結を実行して、その連結情報を入力するこ
とにより、当該プログラムの静的構造、即ち当該プログ
ラムの構成要素である要素部品と、要素部品相互の静的
な連結構造とが決定される。プログラムの静的構造と
は、要素部品相互の静的な連結構造は定義されているも
のの、要素部品相互の振る舞いについては定義されてい
ないデータ構造をいう。この段階では、プログラム定義
情報22は未完成の状態にあり、当該プログラム定義情
報22の要素部品情報221中に順番号が設定されてい
ない状態にある。この順番号は、プログラムの要素部品
相互の振る舞い、つまり、どのような順序で、どの要素
部品にメッセージを送るかを決定するための情報であ
る。
【0059】本実施形態において、要素部品相互の振る
舞いは、以下に述べるように、利用者の順番号設定操作
に従って、順番号設定部215により要素部品情報22
1中に順番号を設定することにより決定される。
【0060】利用者は、プログラムの静的構造を決定す
ると、当該プログラムの要素部品相互の振る舞いを決定
するために、図6に示すソフトウェア部品作成GUI画
面に用意されているメニューバー上の編集メニューA2
1を例えばマウスで選択することで開く。この編集メニ
ューA21には、メニュー項目として逐次処理定義が用
意されている。利用者は、この逐次処理定義をマウスで
選択し、しかる後に、当該マウスの操作によりマウスポ
インタをプログラム定義領域63上の所望の要素部品に
移動させ、その位置でマウスの例えば右ボタンをクリッ
クする。
【0061】プログラムエディタ21中の順番号設定部
215は、利用者が編集メニューA21から逐次処理定
義を選択し、しかる後にマウスポインタをプログラム定
義領域63上の任意の要素部品に移動させて、その位置
でマウスの右ボタンをクリックする操作を行ったことを
検出すると(ステップS9,S10)、その位置に対応
する要素部品の属性の1つとして、利用者に対して順番
号を入力することを要求する画面(順番号入力画面)
を、その位置の近傍に表示する(ステップS11)。こ
の順番号入力画面上では、利用者は、順番号の入力操作
だけでなく、対応する要素部品に既に順番号が設定され
ている場合には、その既設定の順番号を削除する操作を
行うことも可能である。
【0062】順番号設定部215は、利用者が入力装置
4を用いて順番号を入力する操作を行ったことを検出す
ると(ステップS12)、その順番号を入力装置4から
受け取り、主記憶装置2に格納されているプログラム定
義情報22の要素部品情報221中に、対応する要素部
品のカテゴリ名及び種別名と組になるように設定する
(ステップS13)。同時に順番号設定部215は、設
定した順番号を、対応する要素部品の近傍に表示する
(ステップS14)。
【0063】次に順番号設定部215は、要素部品情報
221中の設定済み(既設定)の順番号を検索して、ス
テップS14で設定した順番号に一致する設定済みの順
番号が存在するか否かを調べる(ステップS15)。も
し、設定した順番号に一致する設定済みの順番号が存在
するならば、順番号設定部215は、設定した順番号に
一致する設定済みの順番号以降の全ての設定済み順番号
をそれぞれ1つずつ繰り下げて(ステップS16)、ス
テップS17に進む。即ち順番号設定部215は、設定
した順番号をnとすると、設定済み順番号n,n+1,
n+2…を、それぞれn+1,n+2,n+3…に繰り
下げて、ステップS17に進む。これに対し、設定した
順番号に一致する設定済みの順番号が存在しないなら
ば、順番号設定部215は、そのままステップS17に
進む。
【0064】また、順番号設定部215は、利用者が順
番号の削除を指定する操作を行ったことを検出すると
(ステップS18)、ステップS19に進む。順番号設
定部215はステップS19において、プログラム定義
情報22の要素部品情報221中に設定されている、マ
ウスの右ボタンクリックされた位置の要素部品について
の順番号を削除すると共に、当該要素部品情報221中
の設定済み順番号のうち、当該削除した順番号に後続す
る全ての設定済み順番号をそれぞれ1つずつ繰り上げ
て、ステップS17に進む。
【0065】順番号設定部215はステップS17で、
利用者により逐次定義処理の終了を指定する操作が行わ
れたか否かを調べ、行われていないならば、ステップS
10に戻る。
【0066】利用者は、プログラム定義領域63上の要
素部品のうちの目的とする全ての要素部品について順番
号設定操作を終了すると、つまりプログラム定義情報作
成処理を終了すると、その時点において主記憶装置2に
格納されているプログラム定義情報22に基づくプログ
ラムコードの作成のための操作を行う。ここでは、利用
者は、図6に示すソフトウェア部品作成GUI画面に用
意されているメニューバー上のファイルメニューA22
を開く操作を行う。このファイルメニューA22には、
メニュー項目としてファイルの上書き、ファイルの新規
保存、及びファイルのオープンに加えて、プログラムコ
ードの作成を指示するための逐次コード生成が用意され
ている。利用者は、この逐次コード生成をマウスで選択
する。
【0067】プログラムエディタ21中のプログラムコ
ード生成部216は、利用者がファイルメニューA22
から逐次コード生成を選択する操作を行ったことを検出
すると(ステップS20)、プログラムコード生成処理
(ステップS21)を、図5のフローチャートに従って
次のように実行する。
【0068】まずプログラムコード生成部216は、順
番号Nを先頭の順番号1に設定する(ステップS3
1)。次にプログラムコード生成部216は、主記憶装
置2に格納されているプログラム定義情報22から順番
号Nの要素部品cを検索する動作を実行し、当該順番号
Nの要素部品cが検索できたか否かを判定する(ステッ
プS32)。
【0069】もし、順番号Nの要素部品cが検索できた
ならば、プログラムコード生成部216は、プログラム
定義情報22中の要素部品情報221に設定されてい
る、当該要素部品cのカテゴリ名(要素部品カテゴリ
名)から、当該要素部品cがデータ部品であるか否かを
判定する(ステップS33)。
【0070】もし、要素部品cがデータ部品であるなら
ば、プログラムコード生成部216は、当該要素部品c
(データ部品)のメソッドとしてfill()(fillメソッ
ド)が定義されているものとして、そのコードを生成す
る(ステップS34)。これに対し、要素部品cがデー
タ部品でないならば、つまりリンク部品であるならば、
プログラムコード生成部216は、当該要素部品cが述
語(述語型リンク部品)であるか否かを判定する(ステ
ップS35)。
【0071】もし、要素部品cが述語であるならば、プ
ログラムコード生成部216は、当該要素部品c(述
語)のメソッドとしてtest()(testメソッド)が定義さ
れているものとして、そのコードを生成する(ステップ
S36)。これに対し、要素部品cが述語でないなら
ば、つまり関数(関数型リンク部品)であるならば、プ
ログラムコード生成部216は、当該要素部品c(関
数)が順方向指定であるか否かを判定する(ステップS
37)。
【0072】もし、要素部品c(関数)が順方向指定で
あるならば、プログラムコード生成部216は、当該要
素部品c(述語)のメソッドとしてflow()(flowメソッ
ド)が定義されているものとして、そのコードを生成す
る(ステップS38)。これに対し、要素部品c(関
数)が順方向指定でないならば、つまり当該要素部品c
(関数)の逆関数が定義されているならば、プログラム
コード生成部216は、要素部品c(関数)のメソッド
としてflowBackward()(flowBackwardメソッド)が定義
されているものとして、そのコードを生成する(ステッ
プS39)。
【0073】プログラムコード生成部216は、順番号
Nの要素部品cに定義されたメソッド、即ち当該要素部
品cのカテゴリ(分類)で決まるメソッドのコードを生
成すると(ステップS34またはS36またはS38ま
たはS39)、Nを1だけインクリメントする(ステッ
プS40)。そして、プログラムコード生成部216は
ステップS32に戻り、インクリメント後の順番号Nの
要素部品cがプログラム定義情報22から検索できるか
否か、即ちプログラム定義情報22で定義されているプ
ログラムの構成要素となっているか否かを判定する。も
し、インクリメント後の順番号Nの要素部品cが検索で
きなかったならば、プログラムコード生成部216はプ
ログラム定義情報22で定義されているプログラムを構
成する要素部品のうち、順番号が設定されている全ての
要素部品について、その要素部品に定義されるメソッド
のコードを生成し終えたとして、処理を終了する。
【0074】このようにプログラムコード生成部216
は、プログラム定義情報22で定義されているプログラ
ムを構成する要素部品のうち、順番号が設定されている
全ての要素部品について、その要素部品cのカテゴリ
(分類)で決まるメソッドのコードを、その順番号の順
に生成する。生成されたコード(プログラムコード)
は、外部記憶装置1に保存される。
【0075】以上に述べた説明から明らかなように、本
実施形態におけるリンクをも部品として扱うプログラミ
ング(リンク指向プログラミング)では、従来のように
単一の目的を持つ手順としてプログラムを記述するので
はない。即ち本実施形態では、 (a)プログラムの静的構造、つまりプログラムを構成
する要素部品と、その要素部品相互の静的な連結構造を
決定する。 (b1)プログラムの構成要素となっている全てのデー
タ部品のメソッドfill()を定義する。
【0076】(b2)プログラムの構成要素となってい
る全ての関数(関数型リンク部品)のメソッドflow()を
定義する。
【0077】(b3)プログラムの構成要素となってい
る全ての述語(述語型部品)のメソッドtest()を定義す
る。
【0078】(c)プログラムの構成要素をどのように
機能させるか、つまり、どのような順序で、どの構成要
素にメッセージを送るかを、メソッドとして定義する。
【0079】の3段階でプログラムを実現する。
【0080】明らかなように、上記(c)は、対象とな
る各構成要素に順序番号を設定するだけで実現される。
したがって本実施形態においては、1つのプログラム構
成に対して、順番号の設定を変えることで複数のメソッ
ドを定義でき、これを複数の目的に利用することも可能
となる。これについては後述する。
【0081】なお本実施形態では、上述のように、デー
タ部品一覧領域61及びリンク部品一覧領域62から所
望の部品群を選択してプログラム定義領域63に配置
し、目的のプログラムを構成する1つのソフトウェア部
品を定義する場合、そのソフトウェア部品の端子も定義
することができる。ここでは、入力装置4のマウスを操
作して、マウスポインタをプログラム定義領域63の境
界線上に移動させて端子位置を指定することで、端子の
新設、端子の削除、及び端子の変更のいずれか1つを選
択的に実行可能なようになっている。図6の例では、端
子A41〜A45が定義されている。
【0082】さて利用者は、プログラム定義情報22を
作成し終えた場合、或いは作成途中で操作を終了したい
場合、プログラム作成GUI画面上に用意されているメ
ニューバー上のファイルメニューA22を開く操作を行
う。そして利用者は、開かれたファイルメニューA22
上で、作成終了した、或いは作成途中のプログラム定義
情報22を、名前を付けて新規に外部記憶装置1に保存
するための操作を行う。また利用者は、外部記憶装置1
に既に保存されているプログラム定義情報を主記憶装置
2上にプログラム定義情報22として呼び出して、要素
部品プログラム定義領域63上で対応するプログラムの
作成に関する編集を行っていた場合であれば、元のプロ
グラム定義情報を更新するための、いわゆる上書き保存
操作を行う。
【0083】プログラムエディタ21中の図示せぬプロ
グラム登録部は、図6に示すようなプログラム作成GU
I画面が表示されている状態で、利用者がファイルメニ
ューA22を開いて上書き保存を指定する操作を行った
ことを検出すると(ステップS22)、その時点に主記
憶装置2に格納されているプログラム定義情報22で、
外部記憶装置1に保存されているプログラム定義情報1
3中の対応する情報を更新する上書き保存を行う(ステ
ップS23)。また、プログラム登録部は、利用者がフ
ァイルメニューA22を開いて、新規保存を指定する操
作を行ったことを検出すると(ステップS24)、対象
となるプログラム定義情報の名前を利用者に指定させ、
現在主記憶装置2に格納されているプログラム定義情報
22を、利用者により指定されたプログラム定義情報名
に対応付けて、外部記憶装置1内のプログラム定義情報
13に新規に保存する(ステップS25)。
【0084】また、プログラム登録部は、利用者がファ
イルメニューA22を開いて、オープンを指定すると共
に、対象となるファイルとして、プログラム定義情報を
示すプログラム定義情報名を指定すると(ステップS2
6)、その指定のプログラム定義情報を外部記憶装置1
に保存されているプログラム定義情報13から取り出し
て、プログラム定義情報22として主記憶装置2に読み
込む(ステップS27)。ここでは、プログラム定義情
報22に基づいて、当該プログラム定義情報22中の要
素部品情報221で示されるプログラムを構成する各要
素部品が、プログラム作成GUI画面上のプログラム定
義領域63に配置される。また、各要素部品間が、プロ
グラム定義情報22中の要素連結情報222に従って、
矢印で連結される。また、要素部品情報221中に要素
名と組をなして順番号が設定されている要素部品につい
ては、当該順番号が対応する要素部品の近傍に表示され
る。これにより利用者にとって、順番号の新規設定、削
除、変更等が容易となる。
【0085】さて、図6には、住宅購入に伴う税控除処
理のための控除額算出部品(関数型のリンク部品)が、
目的のプログラム(控除額算出プログラム)として定義
し終えた状態の画面表示例が示されている。この控除額
算出プログラムは、購入年度、購入価格及び借入残高が
設定されるフィールドを持つ「購入情報」データ部品6
31と、関数「F」の関数型リンク部品632と、関数
「G」の関数型リンク部品633と、関数「min」の
2つの関数型リンク部品634,635とを用いて構成
されている。つまり、控除額算出プログラムは、データ
部品631に設定(fill)された購入年度、購入価格及
び借入残高のうちの、購入年度と購入価格とに基づく関
数型リンク部品632での関数「F」を用いた演算によ
る算出値、及び購入年度と借入残高とに基づく関数型リ
ンク部品633での関数「G」を用いた演算による算出
値のうち、関数型リンク部品634で関数「min」を
用いて選択される小さい方の金額を仮の控除金額とする
計算機構を実現する。控除額算出プログラムは更に、控
除金額の上限値がある場合に、上記仮の控除金額と当該
上限値のうち、関数型リンク部品635で関数「mi
n」を用いて選択される小さい方の金額を、真の控除金
額とする計算機構をも実現する。
【0086】図6の例では、各部品631,632,6
33,634,635の順番号A31,32,A33,
A34,A35が、それぞれ1,2,3,4,5に設定
されている。ここで、部品632,633の順番号を、
それぞれ3,2に変更するならば、プログラムの静的な
構造が同一であり、且つ同一の控除額算出機能を実現し
ながら、図6の例とは異なるメソッドを定義することが
できる。また、例えば、複数のデータを利用するため
に、複数の出力端子を持つソフトウェア部品により構成
されるプログラムを作成した後に、一部のデータを使用
しないプログラムが必要となることがある。このような
場合、同じ静的構造のプログラムでありながら、使用し
ないデータを出力する部品に順番号を設定しないこと
で、目的に合致したメソッドを定義できる。
【0087】なお、本発明は、上記実施形態に限定され
るものではなく、実施段階ではその要旨を逸脱しない範
囲で種々に変形することが可能である。更に、上記実施
形態には種々の段階の発明が含まれており、開示される
複数の構成要件における適宜な組み合わせにより種々の
発明が抽出され得る。例えば、実施形態に示される全構
成要件から幾つかの構成要件が削除されても、発明が解
決しようとする課題の欄で述べた課題が解決でき、発明
の効果の欄で述べられている効果が得られる場合には、
この構成要件が削除された構成が発明として抽出され得
る。
【0088】
【発明の効果】以上詳述したように本発明によれば、ソ
フトウェア部品の連結手段をリンク部品として表現する
ソフトウェア部品化技術を利用して、データが設定され
るフィールドを端子として持つデータ部品と引数を端子
として持つリンク部品とに分類されるソフトウェア部品
の群をプログラム構成の要素部品の群とし、当該要素部
品相互の静的な連結構造が決定されたプログラムの静的
構造を生成し、しかる後に当該プログラムの静的構造中
の要素部品群のうちの利用者指定の各要素部品に、利用
者指定の実行順を設定することで、プログラムの構造を
2つの階層に分離するようにしたので、それぞれを作
成、把握するのが容易となり、ソフトウェア開発者がプ
ログラムを容易に作成できるように支援することができ
る。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る、プログラム作成支
援装置の構成を示すブロック図。
【図2】同実施形態におけるプログラム作成支援処理を
説明するためのフローチャートの一部を示す図。
【図3】同実施形態におけるプログラム作成支援処理を
説明するためのフローチャートの他の一部を示す図。
【図4】同実施形態におけるプログラム作成支援処理を
説明するためのフローチャートの残りを示す図。
【図5】図4中のステップS21のプログラムコード生
成処理の詳細な手順を示すフローチャート。
【図6】同実施形態で適用されるプログラム作成GUI
画面の構成例と当該画面を用いて定義されたプログラム
の構成例とを示す図。
【図7】図6中のプログラム定義領域63上でのデータ
部品の表示例を示す図。
【図8】図6中のプログラム定義領域63上での関数型
リンク部品の表示例を示す図。
【符号の説明】
1…外部記憶装置 2…主記憶装置 3…表示装置 4…入力装置 5…CPU 11…ソフトウェア部品定義情報 12…アイコンデータ 13…プログラム定義情報 14…プログラムコード 21…プログラムエディタ(プログラム作成支援プログ
ラム) 22…プログラム定義情報 61…データ部品一覧領域 62…リンク部品一覧領域 63…プログラム定義領域 211…部品選択部 212…部品表示部 213…連結入力部 214…連結表示部 215…順番号設定部 216…プログラムコード生成部 221…要素部品情報 222…要素連結情報

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 ソフトウェア部品の連結手段をリンク部
    品として表現するソフトウェア部品化技術を利用したプ
    ログラムの作成を支援するための計算機により実行され
    るプログラム作成支援方法であって、 データが設定されるフィールドを端子として持つデータ
    部品と引数を端子として持つリンク部品とに分類される
    ソフトウェア部品の群をプログラム構成の要素部品の群
    とし、当該要素部品相互の静的な連結構造が決定された
    プログラムの静的構造を生成するステップと、 前記プログラムの静的構造中の前記要素部品群のうちの
    利用者指定の各要素部品に、利用者指定の実行順を設定
    することで、要素部品相互の振る舞いが定義されたプロ
    グラム定義情報を生成するステップと、 前記プログラム定義情報から前記実行順が設定された要
    素部品を当該実行順に従って順次検索するステップと、 前記要素部品が検索される毎に、当該部品が前記データ
    部品、または前記リンク部品のいずれであるかに応じ
    て、予め定義されたメソッドのコードを生成することに
    より、前記プログラム定義情報で定義されたプログラム
    のプログラムコードを生成するステップとを具備するこ
    とを特徴とするプログラム作成支援方法。
  2. 【請求項2】 前記プログラムの静的構造中の前記要素
    部品群、及び当該要素部品相互の静的な連結構造を、プ
    ログラムを作成するのに用いられるプログラム作成画面
    のプログラム定義領域に表示するステップと、 前記プログラム定義領域に表示されている前記要素部品
    群のうちのいずれか1つの要素部品が利用者の操作に応
    じて指定される毎に、当該利用者に対して当該指定され
    た要素部品の実行順の指定入力を要求するステップと、 を更に具備し、前記プログラム定義情報を生成するステ
    ップでは、前記実行順の指定入力要求に応じて利用者に
    より実行順が指定される毎に、当該利用者指定の実行順
    を、前記プログラムの静的構造中の利用者指定の要素部
    品に設定することを特徴とする請求項1記載のプログラ
    ム作成支援方法。
  3. 【請求項3】 ソフトウェア部品の連結手段をリンク部
    品として表現するソフトウェア部品化技術を利用したプ
    ログラムの作成を支援するための計算機により実行され
    るプログラム作成支援方法であって、 データが設定されるフィールドを端子として持つデータ
    部品と引数を端子として持つリンク部品とに分類される
    ソフトウェア部品の一覧が表示される部品一覧領域、及
    びプログラムを作成するのに用いられるプログラム定義
    領域を含むプログラム作成画面を表示するステップと、 利用者の操作に応じて前記部品一覧から選択された部品
    を、作成すべきプログラムを構成する要素部品として利
    用者の操作に応じて前記プログラム定義領域に移動・配
    置するステップと、 利用者の操作に応じて、前記プログラム定義領域に配置
    されている要素部品相互の端子間を連結し、前記プログ
    ラム定義領域に配置されている要素部品の群から構成さ
    れ、当該要素部品相互の静的な連結構造が決定されたプ
    ログラムの静的構造を生成するステップと、 前記プログラム定義領域に配置されている前記要素部品
    群のうちのいずれか1つの要素部品が利用者の操作に応
    じて指定される毎に、当該利用者に対して当該指定され
    た要素部品の実行順の指定入力を要求するステップと、 前記実行順の指定入力要求に応じて利用者により実行順
    が指定される毎に、当該利用者指定の実行順を、前記プ
    ログラムの静的構造中の利用者指定の要素部品に設定す
    ることで、要素部品相互の振る舞いが定義されたプログ
    ラム定義情報を生成するステップと、 前記プログラム定義情報から前記実行順が設定された要
    素部品を当該実行順に従って順次検索するステップと、 前記要素部品が検索される毎に、当該部品が前記データ
    部品、または前記リンク部品のいずれであるかに応じ
    て、予め定義されたメソッドのコードを生成することに
    より、前記プログラム定義情報で定義されたプログラム
    のプログラムコードを生成するステップとを具備するこ
    とを特徴とするプログラム作成支援方法。
  4. 【請求項4】 前記実行順の指定入力要求に応じて利用
    者により実行順が指定された場合に、当該利用者指定の
    実行順を、前記プログラム定義領域に配置されている利
    用者指定の要素部品の近傍に表示するステップを更に具
    備することを特徴とする請求項3記載のプログラム作成
    支援方法。
  5. 【請求項5】 前記プログラムコード生成ステップで
    は、 前記検索された部品が前記データ部品である場合、当該
    データ部品の全てのフィールドを埋めるための第1のメ
    ソッドであって、当該データ部品に出力端子が連結され
    た全てのリンク部品に対して、当該リンク部品の全ての
    入力端子に値が与えられているならば、当該リンク部品
    の出力端子に値を伝えるための第2のメソッドを送信す
    る第1のメソッドのコードを生成し、 前記検索された部品が前記リンク部品である場合、当該
    リンク部品の入力端子の中に値が与えられていない入力
    端子が存在し、且つ当該入力端子にデータ部品が連結さ
    れているならば、当該データ部品に前記第1のメソッド
    を送信し、当該リンク部品の入力端子の中に値が与えら
    れていない入力端子が存在し、且つ当該入力端子に他の
    リンク部品が連結されているならば、当該連結されてい
    るリンク部品に前記第2のメソッドと同じメソッドを送
    信する前記第2のメソッドのコードを生成することを特
    徴とする請求項1または請求項3記載のプログラム作成
    支援方法。
  6. 【請求項6】 ソフトウェア部品の連結手段をリンク部
    品として表現するソフトウェア部品化技術を利用したプ
    ログラムの作成を支援するプログラム作成支援プログラ
    ムであって、 計算機に、 データが設定されるフィールドを端子として持つデータ
    部品と引数を端子として持つリンク部品とに分類される
    ソフトウェア部品の群をプログラム構成の要素部品の群
    とし、当該要素部品相互の静的な連結構造が決定された
    プログラムの静的構造を生成するステップと、 前記プログラムの静的構造中の前記要素部品群のうちの
    利用者指定の各要素部品に、利用者指定の実行順を設定
    することで、要素部品相互の振る舞いが定義されたプロ
    グラム定義情報を生成するステップと、 前記プログラム定義情報から前記実行順が設定された要
    素部品を当該実行順に従って順次検索するステップと、 前記要素部品が検索される毎に、当該部品が前記データ
    部品、または前記リンク部品のいずれであるかに応じ
    て、予め定義されたメソッドのコードを生成することに
    より、前記プログラム定義情報で定義されたプログラム
    のプログラムコードを生成するステップとを実行させる
    ためのプログラム作成支援プログラム。
  7. 【請求項7】 ソフトウェア部品の連結手段をリンク部
    品として表現するソフトウェア部品化技術を利用したプ
    ログラムの作成を支援するプログラム作成支援プログラ
    ムであって、 計算機に、 データが設定されるフィールドを端子として持つデータ
    部品と引数を端子として持つリンク部品とに分類される
    ソフトウェア部品の一覧が表示される部品一覧領域、及
    びプログラムを作成するのに用いられるプログラム定義
    領域を含むプログラム作成画面を表示するステップと、 利用者の操作に応じて前記部品一覧から選択された部品
    を、作成すべきプログラムを構成する要素部品として利
    用者の操作に応じて前記プログラム定義領域に移動・配
    置するステップと、 利用者の操作に応じて、前記プログラム定義領域に配置
    されている要素部品相互の端子間を連結し、前記プログ
    ラム定義領域に配置されている要素部品の群から構成さ
    れ、当該要素部品相互の静的な連結構造が決定されたプ
    ログラムの静的構造を生成するステップと、 前記プログラム定義領域に配置されている前記要素部品
    群のうちのいずれか1つの要素部品が利用者の操作に応
    じて指定される毎に、当該利用者に対して当該指定され
    た要素部品の実行順の指定入力を要求するステップと、 前記実行順の指定入力要求に応じて利用者により実行順
    が指定される毎に、当該利用者指定の実行順を、前記プ
    ログラムの静的構造中の利用者指定の要素部品に設定す
    ることで、要素部品相互の振る舞いが定義されたプログ
    ラム定義情報を生成するステップと、 前記プログラム定義情報から前記実行順が設定された要
    素部品を当該実行順に従って順次検索するステップと、 前記要素部品が検索される毎に、当該部品が前記データ
    部品、または前記リンク部品のいずれであるかに応じ
    て、予め定義されたメソッドのコードを生成することに
    より、前記プログラム定義情報で定義されたプログラム
    のプログラムコードを生成するステップとを実行させる
    ためのプログラム作成支援プログラム。
  8. 【請求項8】 ソフトウェア部品の連結手段をリンク部
    品として表現するソフトウェア部品化技術を利用したプ
    ログラムの作成を支援するためのプログラム作成支援装
    置であって、 データが設定されるフィールドを端子として持つデータ
    部品と引数を端子として持つリンク部品とに分類される
    ソフトウェア部品の群をプログラム構成の要素部品の群
    とし、当該要素部品相互の静的な連結構造が決定された
    プログラムの静的構造を生成する手段と、 前記プログラムの静的構造中の任意の前記要素部品と当
    該要素部品の実行順とを指定する手段と、 前記指定手段による指定毎に、指定された実行順を、前
    記プログラムの静的構造中の指定された要素部品に設定
    することで、要素部品相互の振る舞いが定義されたプロ
    グラム定義情報を生成する手段と、 前記プログラム定義情報に基づくプログラムコードの生
    成を指示する手段と、 前記指示手段の指示に応じて、前記プログラム定義情報
    から前記実行順が設定された要素部品を当該実行順に従
    って順次検索し、検索された部品が前記データ部品、ま
    たは前記リンク部品のいずれであるかに応じて、予め定
    義されたメソッドのコードを生成することにより、前記
    プログラム定義情報で定義されたプログラムのプログラ
    ムコードを生成する手段とを具備することを特徴とする
    プログラム作成支援装置。
  9. 【請求項9】 ソフトウェア部品の連結手段をリンク部
    品として表現するソフトウェア部品化技術を利用したプ
    ログラムの作成を支援するためのプログラム作成支援装
    置であって、 データが設定されるフィールドを端子として持つデータ
    部品と引数を端子として持つリンク部品とに分類される
    ソフトウェア部品の一覧が表示される部品一覧領域、及
    びプログラムを作成するのに用いられるプログラム定義
    領域を含むプログラム作成画面を表示する手段と、 前記部品一覧から任意の部品を選択するための手段と、 前記部品一覧から選択された部品を、作成すべきプログ
    ラムを構成する要素部品として利用者の操作に応じて前
    記プログラム定義領域に移動・配置するための手段と、 前記プログラム定義領域に配置されている要素部品相互
    の任意の端子間の連結を指定する手段と、 前記指定された端子間を連結することで、前記プログラ
    ム定義領域に配置されている要素部品の群から構成さ
    れ、当該要素部品相互の静的な連結構造が決定されたプ
    ログラムの静的構造を生成する手段と、 前記プログラム定義領域に配置されている前記要素部品
    群のうちの任意の要素部品と当該要素部品の実行順とを
    指定する手段と、 前記指定手段による指定毎に、指定された実行順を、前
    記プログラム定義領域に配置されている指定された要素
    部品に設定することで、要素部品相互の振る舞いが定義
    されたプログラム定義情報を生成する手段と、 前記プログラム定義情報に基づくプログラムコードの生
    成を指示する手段と、 前記指示手段の指示に応じて、前記プログラム定義情報
    から前記実行順が設定された要素部品を当該実行順に従
    って順次検索し、検索された部品が前記データ部品、ま
    たは前記リンク部品のいずれであるかに応じて、予め定
    義されたメソッドのコードを生成することにより、前記
    プログラム定義情報で定義されたプログラムのプログラ
    ムコードを生成する手段とを具備することを特徴とする
    プログラム作成支援装置。
JP2002040261A 2002-02-18 2002-02-18 プログラム作成支援方法、プログラム作成支援プログラム及びプログラム作成支援装置 Pending JP2003241965A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002040261A JP2003241965A (ja) 2002-02-18 2002-02-18 プログラム作成支援方法、プログラム作成支援プログラム及びプログラム作成支援装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002040261A JP2003241965A (ja) 2002-02-18 2002-02-18 プログラム作成支援方法、プログラム作成支援プログラム及びプログラム作成支援装置

Publications (1)

Publication Number Publication Date
JP2003241965A true JP2003241965A (ja) 2003-08-29

Family

ID=27781050

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002040261A Pending JP2003241965A (ja) 2002-02-18 2002-02-18 プログラム作成支援方法、プログラム作成支援プログラム及びプログラム作成支援装置

Country Status (1)

Country Link
JP (1) JP2003241965A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007128345A (ja) * 2005-11-04 2007-05-24 Toshiba Corp プログラム自動生成装置、プログラム自動生成方法、およびプログラム自動生成プログラム
JP2007518190A (ja) * 2004-01-15 2007-07-05 ザ マスワークス, インク モデルイベントを用いてモデル構成要素の実行をスケジューリングするためのシステム及び方法
JP2010282286A (ja) * 2009-06-02 2010-12-16 Denso Corp 開発支援装置,プログラム
WO2019187542A1 (ja) * 2018-03-28 2019-10-03 ソニー株式会社 情報処理方法、情報処理装置、およびプログラム
US10585648B2 (en) 2016-06-01 2020-03-10 The Mathworks, Inc. Systems and methods for aggregating implicit and explicit event code of executable models

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007518190A (ja) * 2004-01-15 2007-07-05 ザ マスワークス, インク モデルイベントを用いてモデル構成要素の実行をスケジューリングするためのシステム及び方法
US8793602B2 (en) 2004-01-15 2014-07-29 The Mathworks, Inc. System and method for scheduling the execution of model components using model events
US10157246B2 (en) 2004-01-15 2018-12-18 The Mathworks, Inc. System and method for scheduling the execution of model components using model events
JP2007128345A (ja) * 2005-11-04 2007-05-24 Toshiba Corp プログラム自動生成装置、プログラム自動生成方法、およびプログラム自動生成プログラム
JP2010282286A (ja) * 2009-06-02 2010-12-16 Denso Corp 開発支援装置,プログラム
US10585648B2 (en) 2016-06-01 2020-03-10 The Mathworks, Inc. Systems and methods for aggregating implicit and explicit event code of executable models
US11327725B2 (en) 2016-06-01 2022-05-10 The Mathworks, Inc. Systems and methods for aggregating implicit and explicit event code of executable models
WO2019187542A1 (ja) * 2018-03-28 2019-10-03 ソニー株式会社 情報処理方法、情報処理装置、およびプログラム
JPWO2019187542A1 (ja) * 2018-03-28 2021-04-15 ソニー株式会社 情報処理方法、情報処理装置、およびプログラム
JP7279705B2 (ja) 2018-03-28 2023-05-23 ソニーグループ株式会社 情報処理方法、情報処理装置、およびプログラム

Similar Documents

Publication Publication Date Title
Heer et al. Prefuse: a toolkit for interactive information visualization
US7370315B1 (en) Visual programming environment providing synchronization between source code and graphical component objects
US5999911A (en) Method and system for managing workflow
JP5651121B2 (ja) データオブジェクトの管理および自動的リンク
US8060832B2 (en) Managing information display
CN102193781B (zh) 集成设计应用
US20160239270A1 (en) Systems and methods for enhancing software products
WO2023020577A1 (zh) 信息处理方法、装置、设备及介质
US20090083697A1 (en) Integration of User Interface Design and Model Driven Development
US20040205691A1 (en) Interactive agent for a topological multi-tier business application composer
US20110010692A1 (en) Application development support device, program and storage medium
JP2005531088A (ja) 顧客専用ビジネスプロセスモデルの開発を促進するための方法及び装置
Eggenschwiler et al. ET++ SwapsManager: Using object technology in the financial engineering domain
KR20150058237A (ko) 간략화된 지식공학 방법 및 시스템
US20120060141A1 (en) Integrated environment for software design and implementation
CN113900636A (zh) 一种自助化渠道业务流程开发系统及其开发方法
Lybecait et al. A tutorial introduction to graphical modeling and metamodeling with CINCO
JP3713466B2 (ja) プログラム作成支援方法、プログラム作成支援プログラム及びプログラム作成支援装置
KR20140042537A (ko) 템플릿을 이용한 매쉬업 저작 장치 및 그 방법
JPH10154070A (ja) ユーザインタフェース設計装置及び方法
Sboui et al. A UI-DSPL approach for the development of context-adaptable user interfaces
JP2003241965A (ja) プログラム作成支援方法、プログラム作成支援プログラム及びプログラム作成支援装置
Rice et al. Lessons learned using the web as an application interface
Girgensohn et al. Dynamic forms: An enhanced interaction abstraction based on forms
US20030041311A1 (en) Topological multi-tier business application composer

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050405

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050802