JPH11296357A - フローチャート入力装置 - Google Patents

フローチャート入力装置

Info

Publication number
JPH11296357A
JPH11296357A JP10112756A JP11275698A JPH11296357A JP H11296357 A JPH11296357 A JP H11296357A JP 10112756 A JP10112756 A JP 10112756A JP 11275698 A JP11275698 A JP 11275698A JP H11296357 A JPH11296357 A JP H11296357A
Authority
JP
Japan
Prior art keywords
flowchart
functional part
input device
data
functional
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
JP10112756A
Other languages
English (en)
Inventor
Zenshi Yamada
善嗣 山田
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP10112756A priority Critical patent/JPH11296357A/ja
Publication of JPH11296357A publication Critical patent/JPH11296357A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【解決手段】 表示装置5にフローチャートを描く際、
機能パーツライブラリ6を使用する。機能パーツは、フ
ローチャート中に使用されて一定の処理を完結する手順
を表現する図形パーツ群により構成される。機能パーツ
群を、許された場所に許された順で挿入し、フローチャ
ートを組み立てる。 【効果】 論理的に矛盾のないイベントドリブン的なフ
ローチャートを容易に作成でき、メカトロニクス製品の
ソフトウェア開発が容易になる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ソフトウェア開
発、特にメカトロニクス製品の開発等を支援するための
ドキュメントからプログラムへの自動変換可能なCAS
E(computer aidedsoftware engineering)ツールとな
り得る、フローチャート入力装置に関する。
【0002】
【従来の技術】メカトロニクス製品は、論理回路、機
構、ソフトウェアの3要素からなる。そのため、機構設
計者、ソフトウェア設計者、回路設計者の三者が共同し
て製品開発を進めなければならない。通常、機構をどの
ように制御し、どのように動作させるかというイメージ
は、その機構を設計した設計者が持っている。しかしな
がら、一般に機構設計者はそのイメージをソフトウェア
として実現する技術を持たない。一方、ソフトウェア設
計者は、ソフトウェアを実現する技術を持っていても、
新たに設計された機構の制御方法や動作は機構設計者か
ら聞かなければならない。従って、機構設計者は、機構
の制御、動作イメージをソフトウェア設計者に伝達する
ためのドキュメントを作成する必要がある。
【0003】ソフトウェア設計者は機構設計者から受け
取ったドキュメントをもとに、ソフトウェアを開発す
る。このため、そのドキュメントには矛盾や曖昧さがな
いこと、プログラム的に見て正しいことが要求される。
しかし、機構設計者はソフトウェア設計の技術を持たな
いため、こうしたドキュメントを作成するのは容易でな
い。従って、ソフトウェア設計の技術を持たない者でも
正しいドキュメントを容易に描き得るツールが必要とな
る。
【0004】また、メカトロニクス製品のソフトウェア
は、高度な処理速度性能が要求される。そのため、割り
込みを多用したイベントドリブン指向のプログラムとな
る。従って、機構作成者が作成するドキュメントも、現
実のプログラムに即したイベントドリブン指向で記述さ
れていることが望ましい。
【0005】即ち、メカトロニクス製品の開発に適用す
るドキュメント作成ツールには次のような用件が望まれ
る。1.ソフトウェアの知識がなくても、正しいドキュ
メントが作成できること。2.イベントドリブン指向の
記述が可能なこと。
【0006】一方、従来から行われているドキュメント
の作成方法には以下のようなものがある。 1.手作業でフローチャートを描く。 2.ドロー系ツールを使用してフローチャートを描く。 3.HCPチャート、PAD、HIPO、NSチャート
と呼ばれるソフトウェア開発専用のCASEツールを使
用する。 4.フローチャートを採用したCASEツールを使用す
る。
【0007】
【発明が解決しようとする課題】ところで、上記のよう
な従来の技術には次のような解決すべき課題があった。
フローチャートを手作業で描くには多大な工数が必要に
なる。また、記述の自由度が大きすぎて、フローチャー
トの正当性のチェックも人に頼らざるを得ない。更に、
ソフトウェアの知識がないと、システムのサポートがな
ければ、正しいフローチャートを作成することが困難で
ある。フローチャート用のテンプレートを用意したドロ
ー系のツールを使用すれば、図形描画が容易になり、入
力工数は削減される。しかし、その他の問題点は手作業
と変わらない。
【0008】一方、HCPチャート、PAD、HIP
O、NSチャート等のCASEツールは、フローチャー
トを用いないため、上記の問題が解決される。また、こ
の手法自体、フローチャートに比べて適切に自由度が制
限され、比較的正しいドキュメントを書き易い。また、
プログラムへの自動変換も考慮して開発がされている。
しかしながら、これらの手法は、まだ一般的でなく、標
準化もなされておらず、特にソフトウェア設計者でない
者にとって馴染みが薄いという問題がある。
【0009】フローチャートを使用したCASEツール
は多くは存在しない。特に、プログラムに自動変換可能
なものはまれである。また、フローチャートという手法
自体の問題点から、gotoレスの構造化されたプログ
ラムに変換できるものは見当たらない。即ち、従来のC
ASEツールはソフトウェア設計者を対象にしたものが
多く、プログラミングの知識がないと正しいドキュメン
トを作成することは困難である。また、これらのツール
には組込み機器用即ちメカトロニクス製品用に特化され
たものは少ない。そのため、イベントドリブン指向のド
キュメントを作成できるものが少ない。
【0010】
【課題を解決するための手段】本発明は以上の点を解決
するため次の構成を採用する。 〈構成1〉フローチャート中に使用されて、一定の処理
を完結する手順を表現するための図形パーツ群を機能パ
ーツと呼ぶとき、機能パーツのイメージを複数格納した
機能パーツライブラリと、上記機能パーツライブラリに
格納された任意の機能パーツを選択して、表示装置上の
所定の位置に表示するように指定する入力装置と、入力
装置により選択された上記機能パーツを、指定された位
置に配置するようにして、フローチャートの構造を示す
フローチャートデータを編集するフローチャート編集部
とを備えたことを特徴とするフローチャート入力装置。
【0011】〈構成2〉構成1に記載のフローチャート
入力装置において、各機能パーツには、予め他の機能パ
ーツを挿入して配置することができる位置を表示する空
パーツが含められることを特徴とするフローチャート入
力装置。
【0012】〈構成3〉構成2に記載のフローチャート
入力装置において、入力装置により指定された機能パー
ツの挿入位置が、既に表示装置に表示された機能パーツ
の空パーツ上でないときは、挿入を拒絶する挿入判定部
を備えたことを特徴とするフローチャート入力装置。
【0013】〈構成4〉構成3に記載のフローチャート
入力装置において、各機能パーツの空パーツ部分に挿入
することができる機能パーツを予め限定する挿入判定マ
トリクスを備え、挿入判定部は、上記挿入判定マトリク
スを参照して、入力装置により選択された機能パーツの
挿入を拒絶するかどうか判定することを特徴とするフロ
ーチャート入力装置。
【0014】〈構成5〉構成1に記載のフローチャート
入力装置において、フローチャート編集部は、既に表示
装置に表示されたフローチャート中に、新たな機能パー
ツが挿入されたときは、次に他の機能パーツを挿入して
配置することができる位置を表示する空パーツを、上記
フローチャート中の機能パーツ間に配置することを特徴
とするフローチャート入力装置。
【0015】〈構成6〉構成1に記載のフローチャート
入力装置において、各機能パーツには、予め、プログラ
ムの流れを示す矢印を接続することができる位置を表示
する接続点マークが含められることを特徴とするフロー
チャート入力装置。
【0016】〈構成7〉構成6に記載のフローチャート
入力装置において、表示装置上に表示された任意の機能
パーツに含まれる矢印の接続位置が、入力装置により指
定されたとき、既に表示装置に表示された機能パーツの
接続点マーク上でない場合にその接続を拒絶する接続判
定部を備えたことを特徴とするフローチャート入力装
置。
【0017】〈構成8〉構成7に記載のフローチャート
入力装置において、接続判定部は、指定された矢印の接
続位置が既に表示装置に表示されている機能パーツとの
関係から所定の基準を満たさないときは、入力装置によ
り指定された矢印の接続を拒絶することを特徴とするフ
ローチャート入力装置。
【0018】〈構成9〉構成1に記載のフローチャート
入力装置において、フローチャート編集部は、フローチ
ャートデータを階層構造により表現し、状態を示すステ
ップに関する情報と、状態遷移を示す矢印に関する情報
とを含むデータ階層の下に、上記状態を示すステップの
属性情報を含むデータ階層を設けるようにしたことを特
徴とするフローチャート入力装置。
【0019】〈構成10〉構成9に記載のフローチャー
ト入力装置において、フローチャートデータ中の、状態
を示すステップに関する情報と、状態遷移を示す矢印に
関する情報とを含むデータ階層を選択するとともに、上
記状態遷移の原因となるイベントをさらに下層のデータ
階層から抽出して状態遷移図を生成する状態遷移図生成
部を備えたことを特徴とするフローチャート入力装置。
【0020】〈構成11〉構成1に記載のフローチャー
ト入力装置において、各機能パーツに対応させて用意さ
れたプログラムソースコードと、フローチャートデータ
とを編集して、フローチャートを実行するためのソース
プログラムを自動生成するプログラム生成部を備えたこ
とを特徴とするフローチャート入力装置。
【0021】〈構成12〉フローチャート中に使用され
て、一定の処理を完結する手順を表現するための図形パ
ーツ群を機能パーツと呼ぶとき、予め、機能パーツのイ
メージを複数格納した機能パーツライブラリを用意し
て、入力装置により、上記機能パーツライブラリに格納
された任意の機能パーツを選択して、表示装置上の所定
の位置に表示するように指定したとき、選択された上記
機能パーツを、指定された位置に配置するようにして、
フローチャートの構造を示すフローチャートデータを編
集するように動作する、フローチャート入力用のコンピ
ュータプログラムを記録した記録媒体。
【0022】〈構成13〉フローチャート中に使用され
て、一定の処理を完結する手順を表現するための図形パ
ーツ群を機能パーツと呼ぶとき、予め、機能パーツのイ
メージを複数格納した機能パーツライブラリを用意し
て、入力装置により、上記機能パーツライブラリに格納
された任意の機能パーツを選択して、表示装置上の所定
の位置に表示するように指定したとき、選択された上記
機能パーツを、指定された位置に配置するようにして、
フローチャートの構造を示すフローチャートデータを編
集するとともに、各機能パーツに対応させて用意された
プログラムソースコードと、フローチャートデータとを
編集して、フローチャートを実行するためのソースプロ
グラムを自動生成するように動作する、フローチャート
入力用のコンピュータプログラムを記録した記録媒体。
【0023】
【発明の実施の形態】以下、本発明の実施の形態を具体
例を用いて説明する。 〈具体例1〉図1は、本発明のフローチャート入力装置
を示すブロック図である。図に示すようにこの装置は、
入力装置1、入力部2、フローチャート編集部3、フロ
ーチャート表示部4、表示装置5、機能パーツライブラ
リ6、フローチャートデータ7等から構成される。
【0024】ユーザは、入力装置1を用いて表示装置5
を見ながらフローチャートを作成する。入力装置1は、
キーボード1Aやマウス1B等、ユーザの意志を装置に
指示するための部品により構成される。入力部2は、ユ
ーザの操作を解釈し、その操作の可否を判断し、フロー
チャート編集部3に適切な指示を出す処理を行う部分で
ある。フローチャート編集部3は、ユーザの意志に従っ
てフローチャートデータ7を編集する処理を行う部分で
ある。
【0025】フローチャート表示部4は、フローチャー
トデータ7の更新状態を監視して、編集されて更新され
たフローチャートデータをそのつど表示装置5に表示す
る制御を行う部分である。更に、フローチャート表示部
4は、ユーザに対し操作の可否を知らせる処理も行う。
表示装置5は、ブラウン管ディスプレイや液晶表示盤等
から成り、ユーザに編集結果を知らせるための装置であ
る。機能パーツライブラリ6は、後で詳しく説明するよ
うに、ユーザがフローチャートを構築する上でその部品
となるイメージや情報を格納する部分である。フローチ
ャートデータ7は、フローチャート編集部3によって編
集された、後で説明するような構造のデータから構成さ
れる。
【0026】以上の装置は、例えばワークステーション
やパーソナルコンピュータに上記の機能ブロックを実現
するコンピュータプログラムをインストールして実現さ
れる。入力部2、フローチャート編集部3、フローチャ
ート表示部4等は、それぞれの機能を実現するプログラ
ムモジュールにより構成される。また、機能パーツライ
ブラリ6やフローチャートデータ7は、コンピュータ中
に設けられた記憶装置の内部に蓄積された所定の構成の
データにより実現される。
【0027】図2に、図1に示した表示装置5に表示さ
れたウインドウの概略図を示す。この画面は、フローチ
ャート入力作業を行う場合に表示される画面で、メイン
ウインドウ11とパーツパレット12とから構成され
る。メインウインドウ11には、フローチャートを作成
し表示するためのフローチャート表示エリア13と、ユ
ーザが各種の操作を指示するためのメインメニュー14
と、マウスを用いてクリックし具体的な操作を直接指示
するツールボタン群15を備えている。パーツパレット
12には、図1に示した機能パーツライブラリ6の様々
な機能パーツ6Aを選択するボタンが並んでいる。な
お、ツールボタン群15や機能パーツ6Aを選択するボ
タンの細部の図示は、ここでは省略している。
【0028】従来は、パーツパレットにより菱形や四角
形、矢印といった図形パーツのテンプレートを用意し、
こうしたフローチャートを構築するための部品として使
用していた。しかしながら、図形パーツ自体はプログラ
ムとして意味を持たず、フローチャート作成上の自由度
が大きすぎる。そこで、本発明では次のような機能パー
ツを単位としてフローチャートの作成を補助する。即
ち、図2のパーツパレット12は、機能パーツを1単位
の部品としている。
【0029】図3に、機能パーツの具体例説明図を示
す。図3の(a)〜(f)には、本発明でフローチャー
ト作成に使用する機能パーツの様々な例を示した。機能
パーツは、それぞれ、プログラム中に使用されて一定の
処理を完結する手順を表現するための図形パーツ群から
構成される。図形パーツというのは、既に説明したよう
に、菱形や四角形、矢印等のことである。
【0030】例えば、図3(a)は、「ステップ」と呼
ばれる機能パーツである。これは、待機ループ中でイベ
ントを発生すると、別の状態に遷移する機能を持ち、待
機ループ16中に判断用の菱形17を配置したものであ
る。これは状態遷移図の1つの状態に相当する。また、
状態遷移マトリクス表の列に相当する。このパーツが通
常のループと異なるのは、通常のループが処理の繰り返
しであるのに対し、ステップの機能パーツはタスクのウ
エイト状態に移行する点である。
【0031】イベント発生のチェックはオペレーティン
グシステムに任される。オペレーティングシステムはイ
ベントの発生を検知すると、そのイベントに対応した処
理を実行する。イベントドリブン指向のプログラムと
は、こうしたステップの組み合わせで記述されたプログ
ラムを指している。なお、同一の状態で複数種類のイベ
ント待ちを行うことがあるから、待機ループ16中に後
から任意の数の菱形17を挿入することができる。
【0032】図3(b)に示す分岐という機能パーツ
は、菱形17の部分で一定の条件判断をし、2種類のル
ートに分岐する機能を持つ。各分岐後のルートには必要
に応じて後から任意の処理が挿入される。これも入口か
ら出口までの間に一定の完結した処理を実行する機能を
持つ。(c)は、ケース文の機能パーツである。菱形1
7の部分で条件判断をし、ケースに応じて3つ以上のル
ートに分岐する。各ルートでは、それぞれケースに応じ
た処理が実行される。長方形18は、その処理を示す。
【0033】図3(d)は、端子の機能パーツである。
プログラムの開始時や終了時に、このパーツ19が使用
される。(e)は前判定ループ、(f)は後判定ループ
である。前判定ループは、菱形17で一定の判断を行
い、例えば条件を満たさない場合には長方形18を含む
処理ループを繰り返し、条件を満たした場合にはこの機
能パーツの処理から抜ける。後判定ループの場合、予め
長方形18の処理を実行し、菱形17で条件判断を行
う。条件を満たさない場合には、長方形18を含む処理
ループを繰り返す。条件を満たした場合にはこの機能パ
ーツの処理を抜ける。
【0034】以上のように、いずれの機能パーツもプロ
グラム的に正しい意味を持ち、一定の処理を完結し、フ
ローチャート構築の単位となる。ユーザは、こうした機
能パーツを配列していくことによってフローチャートを
組み立てるので、プログラム的に正しいフローチャート
を記述することができる。また、これらの機能パーツに
よる処理の内容はそれぞれプログラムソースコードに対
応させることができる。
【0035】例えば(a)は、イベントをそのままオペ
レーティングシステムに伝えるメッセージ群により記述
できる。(b)はいわゆるif〜Then,Else文
により記述される。また、(c)はcase文により記
述される。(d)の端子はend文である。(e)や
(f)は、if文やfor文により記述される。
【0036】図4には、具体的なソフトウェア設計者が
フローチャートを設計する場合の設計例説明図を示す。
例えば、図4(a)に示すような機構についてフローチ
ャートを作成するものとする。図の(a)に示す機構
は、搬送モータ21を用いてコンベアー22を駆動し、
工作物23を図の右側から左側の方向に搬送するように
動作する。ここで、工作物23は、コンベアー22上を
搬送される途中、第1センサ24や第2センサ25によ
って位置検出される。第1センサ24が工作物23の通
過を検出すると一定の処理が実行される。更に、第2セ
ンサ25が工作物23を検出すると、別の処理が実行さ
れる。このような場合、図の(b)に示すようなフロー
チャートを作成する。
【0037】即ち、図4(b)の処理S1において、モ
ータがスタートすると、処理S2において、第1センサ
24が工作物23の通過というイベント待ち状態に入
る。第1センサが工作物23を検出すると、S3の処理
1に進む。そして、その後処理S4に進み、第2センサ
が工作物23の通過待ちというイベント待ち状態に移
る。第2センサが工作物23の通過を検出すると、S5
に進んで処理2が実行される。
【0038】実際のメカトロニクス製品では、様々な複
雑な制御が行われるが、例えば図4(b)のような制御
を行う場合に、第1センサの監視や第2センサの監視に
は、図3(a)を用いて説明したステップの機能パーツ
をそのまま利用する。後は、図3には例示しなかった
が、長方形のみの処理を示す機能パーツを組み合わせ
る。本発明の装置は、こうしてフローチャートを作成す
る場合に活用される。
【0039】図5に、フローチャート作成とプログラム
への変換例説明図を示す。この図を用いて、図1に示す
装置の具体的なフローチャート入力操作を説明する。ま
ず、ユーザが図2に示すような画面を図1に示す表示装
置5に表示させる。そして、パーツパレット12から様
々な機能パーツをドラッグしてフローチャート表示エリ
ア13上にドロップする。この操作を繰り返すことによ
って、例えば図5(a)に示すようなフローチャートが
描かれる。このフローチャートは、初期処理の機能パー
ツの次に図3(a)に示したステップの機能パーツを接
続し、予めステップの機能パーツに含まれているイベン
ト1に更にイベント2の機能パーツを追加する。その
後、イベント処理1の機能パーツとイベント処理2の機
能パーツを接続する。
【0040】図1に示すマウス1Bの操作によって、こ
のような機能パーツがドラッグされると、入力部2が機
能パーツのドラッグ開始を検出する。ユーザは、フロー
チャート表示エリア13上の所定の位置を指定して、機
能パーツをドロップする。入力部2は、機能パーツのド
ロップを検出する。そして、そのドロップ位置がフロー
チャート中のどの位置かを判断する。フローチャート中
の適切な位置にその機能パーツが挿入された場合、これ
をフローチャート編集部3に通知する。
【0041】フローチャート編集部3は、機能パーツラ
イブラリ6から該当する機能パーツのデータを取り出し
て、フローチャートデータ7の該当する部分に対応する
データを書き込む。フローチャート表示部4は、フロー
チャートデータ7が更新されたことを検出すると、表示
装置5に対し該当する機能パーツのイメージを取り出し
て表示する。以上のようにして、フローチャートの入力
編集が進められる。
【0042】図5(b)は、従来のドロー系のツールを
使用する場合のフローチャート用図形パーツである。こ
の図に示す菱形17は、これだけではプログラム的に意
味をなさない。図の(c)に示すように、条件判断の結
果分岐するルートを示す矢印等が含まれて初めて、一定
の処理を完結する手順が表現される。このような機能パ
ーツ単位でフローチャートの作成を支援することにより
フローチャートの作成が容易になり、かつ、正確にな
る。更に、図5(c)に示すように、この機能パーツは
そのままif文に置き換えることができ、ソースプログ
ラムの自動作成が可能になる。
【0043】〈具体例1の効果〉以上のように、プログ
ラム作成を機能パーツ単位で行い、機能パーツのイメー
ジを格納した機能パーツライブラリと、そのフローチャ
ート中の位置を指定する入力装置と、フローチャートデ
ータを編集するフローチャート編集部等によってプログ
ラム的に誤りのない正しいフローチャートが容易に作成
できるという効果がある。
【0044】〈具体例2〉上記のようにフローチャート
を作成していく場合に、機能パーツを相互に接続しある
いは機能パーツの各部に別の機能パーツを挿入する作業
が進められる。ここでは、ユーザによる機能パーツの挿
入位置が正しいかどうかを判断し、フローチャートの作
成を支援する例を説明する。
【0045】図6には、これを実現するための装置ブロ
ック図を示す。この図は、図1に示した装置の構成を基
準とし、同一部分には同一符号を付している。この具体
例2の装置には、図1に示した装置に挿入判定部31を
追加している。
【0046】図7には、挿入判定用表示例説明図(その
1)を示す。図の(a)は、入口端子の機能パーツと出
口端子の機能パーツを組み合わせたものである。実際に
は、この間に様々な機能パーツが挿入されてフローチャ
ートが完成する。図に示す入口端子と出口端子の中間に
○印を表示している。この○印は、予め他の機能パーツ
を挿入して配置することができる位置を表示するための
もので、本発明では空パーツと呼ぶことにする。
【0047】各機能パーツには、予めこのような空パー
ツを含めておき、パーツパレットからドラッグしてきた
機能パーツをドロップすることができるポイントをガイ
ドする。なお、この○印で示した空パーツと重ねて表示
されている×印は、後で説明するフローチャート中の矢
印の先を接続することができる接続点マークを表す。
【0048】図の(b)には、(a)のフローチャート
中にいくつかの機能パーツが挿入された新たなフローチ
ャートを示す。図中の、例えば破線の○印は、イベント
2を含むステップ中に別のイベントを挿入することがで
きる空パーツである。また、◎の空パーツは、各機能パ
ーツの入り口や出口に配置されている。○印の空パーツ
は、各機能パーツの間に配置されている。これらの、○
印や◎印、破線の○印といった空パーツは、必要に応じ
てそれぞれ挿入することができる機能パーツの種類を区
別するために色分けされたり、形状を変えて表示された
ものである。
【0049】そして、ユーザがパーツをドラッグしてい
る間、マウスカーソルは、ドロップ可能な位置にいると
きと、不可能な位置にいるときで、その形状を変化させ
る。こうして、ユーザに機能パーツのドロップ位置を意
識させることができる。また、ドロップ不可能な位置に
ユーザが機能パーツをドロップしようとしても、システ
ムはその操作を無視する。こうした動作自体は、既存の
ソフトウエアにより既に広く実施されており、容易に実
現できる。
【0050】次に、本発明の装置の動作を説明する。ま
ず、ユーザは入力装置1を使って、図2に示したような
パーツパレット12中の機能パーツをドラッグする。入
力部2は、機能パーツのドラッグ開始を検出する。入力
部2は、ドラッグ中のパーツの位置を順次検出して、そ
の位置情報を挿入判定部31に渡す。挿入判定部31
は、ドラッグ中のパーツ位置が空パーツの上にあるかど
うかを判定する。そして、その結果をフローチャート表
示部4に通知する。フローチャート表示部4は、入力部
2の指示に従ってドラッグ中のマウスカーソルの形状を
変更して、ユーザにその位置がドロップ可能な位置かど
うかを通知する。
【0051】機能パーツがドロップされた場合、入力部
2はそれを検知し、ドロップされた位置を挿入判定部3
1に通知する。挿入判定部31は、ドロップされた位置
が空パーツ上かどうかを判断し、不適切であればその操
作を無視する。また、挿入判定部31は、ドロップされ
た位置が空パーツ上であれば、フローチャート上の該当
位置にパーツが挿入されたことをフローチャート編集部
3に通知する。
【0052】フローチャート編集部3は、機能パーツラ
イブラリ6から機能パーツのデータを取り出し、フロー
チャートデータ7の該当する部分にパーツデータを挿入
する。フローチャート編集部3は、新たな機能パーツが
挿入されたことによって、新たに必要となる空パーツを
フローチャートデータ7に挿入する。フローチャート表
示部4は、フローチャートデータ7が更新されたことを
検出すると、その結果を表示装置5に出力しフローチャ
ートを更新して表示する。
【0053】従来、例えばドロー系のツールを用いてフ
ローチャートを作成した場合には、図形パーツを自由に
配置することができ、それらのパーツに正しい前後関係
を与えるのはユーザの責任に任されていた。従って、ユ
ーザのレベルによって不適切なパーツ配置を行うことも
少なくなかった。
【0054】この具体例では、常に適切な位置にのみパ
ーツが挿入されるように挿入可能な箇所を指定し、これ
を挿入判定部31において判定する。従って、例えば挿
入した機能パーツがどこにもつながらずに浮いてしまう
といった誤りが防止でき、常にプログラム的に正しいフ
ローチャートの入力ができる。更に、機能パーツを挿入
したポイントにより、挿入された機能パーツがプログラ
ム上のどの部分に挿入されたかをも認識することが可能
になる。この動作を具体的に説明する。
【0055】図8には、挿入判定用表示例説明図(その
2)を示す。図の(a)に示すように、このフローチャ
ートがステップ1という機能パーツとステップ2という
機能パーツとを接続して構成されているものとする。こ
のとき、一般には、図中の(1)という部分に挿入した
処理は、ステップ1のイベント処理なのか、ステップ2
を実行する前の初期処理なのかを判別することができな
い。
【0056】ところが、既に説明したように、例えば各
機能パーツの入口と出口に◎の空パーツを配置してお
く。そして、(b)に示すように、ステップ1とステッ
プ2の2組の機能パーツを接続した場合、その接続点に
新たな○印の空パーツを加える。(2)の部分にある◎
印の空パーツはステップ1に属する処理である。(3)
の部分にある◎印の空パーツはステップ2に属する処理
である。そして、○印の空パーツは新たな機能パーツを
挿入することができる部分である。これを利用すること
によって、この部分に新たに挿入された機能パーツがス
テップ1あるいはステップ2に属する処理なのか、独立
した処理なのかを区別することができる。
【0057】従って、各機能パーツを、既に説明した要
領でソースコードに置き換え、ソースプログラムを生成
する場合に、新たに挿入された機能パーツのソースコー
ドをどの機能パーツのソースコードに含めるかを判断す
ることが可能になる。もちろん、周辺の空パーツを表示
装置5に表示し続ければ、フローチャート作成者にも、
その区別ができる。
【0058】〈具体例2の効果〉以上のように、フロー
チャート中に機能パーツを挿入することができる場所を
限定し、挿入判定部31によってこれを判定するように
制御すれば、誤った場所に機能パーツを挿入するといっ
たミスを防止できる。また、プログラムの流れを明確に
し、機能パーツ単位のソースプログラムへの自動変換が
容易になる。
【0059】〈具体例3〉具体例2を用いて説明したよ
うに、各機能パーツに予め他の機能パーツを挿入できる
位置を空パーツとして設定しておけば、フローチャート
の作成が容易になるが、挿入可能な機能パーツを制限す
れば、より誤りの無いフローチャートの入力が可能にな
る。そこで、挿入可能な機能パーツを判定するためのデ
ータを設定する。
【0060】図9には、具体例3の装置ブロック図を示
す。この装置は、具体例2の装置に対し、挿入判定マト
リクスを新たに追加したものである。その他の部分は具
体例2の装置と同一の構成であり、同一の符号を用いて
表現した。
【0061】図10(a)には、挿入判定マトリクスの
内容説明図を示す。また、(b)には、挿入判定マトリ
クスを参照して動作する挿入判定部の動作説明図を示
す。図10の(a)に示すように、左側に示した空パー
ツは、それぞれ○、◎、破線の○及び太線の○というよ
うに区別されている。これらの空パーツがフローチャー
ト中に存在する場合には、それぞれ図の最上段に示した
様々な機能パーツ例えばステップ、分岐、イベント処
理、端子、前判定、後判定、ケース、結合子等の機能パ
ーツのうち、○が付いたものだけをそこに挿入すること
ができる。
【0062】図の(a)に示す例では、例えば破線の○
印はイベント以外の挿入を禁止している。この破線の○
印は、図7(b)に示すようなステップの機能パーツ中
に表示されていた。ステップは、イベント待ちの状態を
示すもので、一般的なループ処理とは異なる。従って、
ステップ中にはイベント以外を挿入することができな
い。ユーザは、このような空パーツの形状や種類によっ
て、ドラッグしている機能パーツの挿入可能な位置を見
分けることができる。具体的には次のようにして装置が
動作する。
【0063】まず、機能パーツがドロップされた場合、
図9に示す入力部2はそれを検知し、ドロップされたパ
ーツの種類とドロップされた位置情報を挿入判定部31
に通知する。挿入判定部31は、ドロップされたパーツ
と空パーツを示す○印の種類が挿入可能な組み合わせか
どうかを判定する。これは、図10(a)に示したよう
な挿入判定マトリクス32を参照して行う。
【0064】挿入判定マトリクス32で、妥当な組み合
わせであるという表示がされていない場合には、ドロッ
プ操作を無視する。挿入判定部31が判定した結果、妥
当な組み合わせであれば、フローチャート上の該当位置
に機能パーツが挿入されたことをフローチャート編集部
3に通知する。フローチャート編集部3は、機能パーツ
ライブラリ6から該当する機能パーツのデータを取り出
し、フローチャートデータ7の該当位置に挿入する。そ
して、フローチャート編集部3は、パーツが挿入された
ことによって新たに必要になる空パーツをフローチャー
トデータ7に挿入する。フローチャート表示部4は、そ
の後フローチャートデータ7の更新を検出し、表示装置
5に新たなフローチャートを表示する。
【0065】例えば、図10(b)において、破線で囲
まれたステップの機能パーツが既に描かれており、イベ
ント1とイベント2のパーツが挿入されていたとする。
これに新たに処理のパーツを挿入すると、これはイベン
ト待ちのステップとして意味をなさなくなる。ループの
中に処理が挿入されることによって、タスクのウエイト
状態への移行は不可能になってしまい、通常の繰り返し
処理と同じになるからである。
【0066】更に、本来、ステップがあるべき場所にそ
のようなパーツが存在することによって、状態遷移図へ
の変換も不可能になる。また、そのような不適切なパー
ツの挿入は、イベントドリブン指向としての正当性を損
なうことになる。従って、図10(b)に示すようなフ
ローチャートが作成できないようにすることによって、
この発明の目的は達成される。
【0067】〈具体例3の効果〉以上に示すように、挿
入判定マトリクスを設けることによって、空パーツの部
分に挿入可能な機能パーツの種類を限定することができ
る。こうして不適切なパーツの挿入によって誤ったフロ
ーチャートの作成を防止できる。
【0068】〈具体例4〉具体例3では、機能パーツを
挿入するべき位置を判断した。プログラムのフローチャ
ート入力作業では、機能パーツを挿入することの他に、
イベント処理をした後の状態遷移先を矢印の接続があ
る。この矢印の接続に誤りがあれば論理的な矛盾が生
じ、更にイベントドリブン指向としてのプログラムの正
当性を損なう。
【0069】図11には、具体例4の装置のブロック図
を示した。この装置には、矢印接続の正当性を判断する
接続判定部33を設けた。この他の機能ブロックは、具
体例3を用いて説明したものと同様であり、それぞれ同
一の記号を付している。
【0070】図12は、本発明によって描かれたフロー
チャートの一例である。この図を用いて、接続判定動作
の説明を行う。この図の右側に示したThen処理と、
Else処理に続く部分には、(4)あるいは(5)に
示すような矢印が設けられている。矢印の首部にある黒
塗りの四角形をカーソルでクリックしこれをドラッグす
ることによって、矢印を任意の場所に移動できる。そし
て、指定した場所にドロップすると、その矢印の先端が
フローチャート中に接続される。ここで、矢印の先端が
接続可能な場所に×印の接続点マークを示した。
【0071】即ち、図の(1)、(2)、(3)以外の
場所にはこれらの矢印の先端を接続することができな
い。即ち、プログラムのイベントドリブン的な性格を保
持するために、矢印は、状態遷移先として適切な場所に
のみ接続することができる。なお、図の(6)に示した
矢印はステップの機能パーツに含まれる。この矢印の先
を移動させると機能パーツ自身の正当な動作を妨げる。
従って黒塗りの四角形が用意されておらず、その移動は
認められない。図3(e)や(f)に示した前判定ルー
プ、(f)に示した後判定ループの矢印も同様に接続変
更ができない。
【0072】例えば、状態遷移以外の目的で矢印の先端
を接続すると、イベントドリブン的な処理が不可能にな
る。このために以上のような制限が加えられる。そし
て、フローチャート入力中に許可されない接続を行おう
とした場合には、矢印の移動は認められず元の場所に戻
る。
【0073】図12に示す例では、(1)を起点とする
ステップの機能パーツは、2種のイベントに従って状態
遷移する。上側に配置されたイベント1により状態遷移
をする場合、図の右側に示す条件分岐の機能パーツによ
る処理に進む。条件を満たせばThen処理、条件を満
たさない場合にはElse処理が実行される。
【0074】一方、(1)で始まるステップの下側のイ
ベント2で状態遷移する場合、(2)の直上にあるイベ
ント処理が実行されて、(2)の部分から始まるステッ
プに進む。こうして、次のイベント3を待つ状態に遷移
する。このため、(4)や(5)で示す矢印は、状態遷
移の境界である(1)、(2)あるいは(3)以外の場
所には移動できない。こうした基準によって、上記接続
判定部33は動作する。
【0075】図13には、図12の(5)に示した矢印
を(3)の位置まで移動した後の接続判定動作の説明図
(その2)を示す。この図を用いて、図11に示した装
置の動作を説明する。まず、ユーザは入力装置1を使っ
て、フローチャート表示エリア13上に表示された
(5)の矢印先端をクリックする。そして、そのままド
ラッグする。入力部2は、入力装置1で矢印のドラッグ
が開始されたことを検知すると、接続判定部33にその
旨を接続する。接続判定部33は、ドラッグされた矢印
がドラッグ可能かどうかを判定し、(6)のようにドラ
ッグが禁止された矢印であればその操作を無視する。
【0076】また、入力部2は、入力装置1からドラッ
グ中の矢印先端位置を順次検出し、その位置情報を接続
判定部33に通知する。接続判定部33は、受け取った
矢印の位置情報が接続可能な×印上にあるかどうかを判
定する。そして、その結果をフローチャート表示部4に
通知する。フローチャート表示部4は、入力部2の指示
に従ってドラッグ中のマウスカーソルの形状を変更し、
ユーザに対しその位置への接続可否を通知する。
【0077】矢印先端がドロップされた場合、入力部2
はそれを検出し、ドロップされた位置を接続判定部33
に通知する。接続判定部33は、ドロップされた位置が
適切な×印上かどうかを判断し、不適切であればその矢
印をデフォルトの位置即ちドラッグ開始前の位置に再接
続するよう、フローチャート編集部3に通知する。接続
判定部33は、ドロップされた位置が適切な×印上であ
ると判断したとき、その矢印を指定された位置に接続す
るようにフローチャート編集部3に指示する。
【0078】フローチャート編集部3は、フローチャー
トデータ7の矢印接続先を指示された位置になるように
変更する。その後、フローチャート表示部4はフローチ
ャートデータ7が更新されたことを検出して、表示装置
5にフローチャートの再表示を指示する。
【0079】図14には、誤ったフローチャートの例を
示す。この図に示すフローチャートは、条件分岐を行っ
た結果の分岐先を示す矢印が前判定ループの中に飛び込
んでいる。こうしたフローチャートは、goto文を使
わざるを得ない。goto文の使用は、プログラムの可
読性、保守性を損ねるとして、一般的にその使用を避け
ることが望ましいといわれている。
【0080】即ち、こうした流れは、状態遷移を中心と
したイベントドリブン式構造化プログラミングの思想に
反するため不適切である。従来のツールを用いた場合に
は、こうしたフローチャートを描くことは自由であり、
これを禁止するのはユーザの意志に任されていた。この
発明では、予め矢印を接続する場所が制限されて、接続
判定部33がそれを判断するから、こうした不適切な矢
印の接続を禁止できる。
【0081】〈具体例4の効果〉以上のように、この発
明では、フローチャート中への不適切な矢印の接続を禁
止でき、例えばユーザのプログラミング能力のレベルに
よらず、常に構造化されたgotoレスのフローチャー
トを作成するようにユーザ支援ができる。また、論理的
に誤りのある接続を防止することもでき、その後のバグ
のないプログラムの自動生成を可能にする。
【0082】従って、たとえ上記のような構造化プログ
ラミングによる制限に反しなくても、その矢印の接続を
行った場合に、不適切な動作が発生するような全ての場
合に、矢印の接続を禁止する処理に広く利用できる。
【0083】〈具体例5〉上記のような本発明の装置に
おいて、フローチャートデータは、機能パーツの組み合
わせにより表現できる。従って、例えば機能パーツの名
称と相互の接続関係を明らかにすれば、フローチャート
データを生成することができる。また、こうしたフロー
チャートがあれば、各機能パーツを対応するソースコー
ドに置き換え、機能パーツと状態遷移をする先を示す矢
印をソースコード化することによって、自動的なソース
プログラム生成が可能となる。
【0084】しかしながら、表示装置に機能パーツを表
示する場合には、機能パーツを構成する各図形部品のイ
メージを適切にリンクさせ、変形に対応する必要があ
る。こうした場合に、各図形パーツの効率的な的確な管
理が必要となる。そこで、この具体例では、以下に説明
するような階層構造のフローチャートデータを用いる。
【0085】図15に、具体例5の装置ブロック図を示
す。ここに示すブロック図は、具体例4の装置に対し、
階層構造フローチャートデータ34を採用した点が異な
る。その他の部分は具体例4と同一符号を付した。
【0086】次の図16、図17、図18を用いて、階
層構造フローチャートデータの構成を説明する。図16
は、ステップ1とステップ2とステップS3の状態を持
つプログラムのフローチャートを示す。このフローチャ
ートには、ステップ1から直接ステップ3へ状態遷移す
る動作とステップ1からステップ2を経てステップ3へ
状態遷移をするプログラムが示されている。ここで、ス
テップ1からステップ2へ状態遷移する過程で実行され
るイベント処理の直前の(1)の部分に、新たな機能パ
ーツを挿入することを考える。
【0087】図17には、図16中の(1)の部分に分
岐条件処理を行う機能パーツを追加したところを示す。
図16に示すフローチャートでは、ステップ1の状態か
らイベント1−1が発生した場合に、対応するイベント
処理を行ってステップ2に進む。また、イベント1−2
が発生した場合には、対応するイベント処理を実行し
て、ステップ3に進む。ステップ2の状態では、イベン
ト2−1が発生した場合に対応するイベント処理を実行
し、ステップ3に進む。ステップ3は、イベント3−1
が発生した場合に、このプログラムを終了する処理を行
う。図17では、イベント1−1が発生した場合に、対
応するイベント処理を実行する前に、新たな機能パーツ
により分岐条件判断を行う。フローチャート入力作業中
に、こうした機能パーツの追加やその後の削除を行うと
き、その表示制御に適する構造のフローチャートデータ
が存在することが望ましい。
【0088】図18には、図16のフローチャートを階
層構造のフローチャートデータで示した例を図示した。
まず、このフローチャートは、スタートの端子とストッ
プの端子との間に子パーツが挟まれた基本構造をしてい
る。これがNo.1のデータ階層に表示されている。N
o.1のデータ階層に示した子パーツは、図16に示す
ように、ステップ1に示した機能ステップと、ステップ
2に示した機能ステップと、ステップ3に示した機能ス
テップにより構成される。これらのステップを破線の枠
内に図示した。
【0089】そして、それぞれのステップ毎に、状態遷
移先を矢印で示している。図中、赤丸と表示したのは、
各ステップの入口や出口に配置した空パーツである。イ
ベントドリブン形式のプログラムでは、基本的にこれだ
けで全ての処理が表現できる。上の階層と下の階層との
関係は、後者が前者の属性データを示すという関係であ
る。矢印は、ポインタデータである。例えば、スタート
の端子とストップの端子の属性データは、No.2の階
層部分に表示される。即ち、いずれも楕円とフローチャ
ートの一部となる線とによって構成されるという内容に
なる。
【0090】次に、No.3の階層について説明を行
う。ここでは、ステップ1の属性データについてのみそ
の例を示し、その他については同様であるから図示を省
略した。ステップ1の機能ステップには、図16に示す
ように、スタートの端子に接続される直線と、先頭の破
線の円で示した空パーツと、イベント1−1、空パー
ツ、イベント1−2、空パーツといった図形パーツが存
在する。さらに、イベント待ち状態を表現するループ線
が存在する。
【0091】そこで、図18に示すNo.3の階層に
は、先頭の線と、入口にある◎の空パーツに対応する子
パーツと、イベント1−1へ進む線と、イベント1やイ
ベント2を含めた子パーツと、ループ線という属性デー
タが表示されている。◎の空パーツを示す子パーツは、
No.4の階層において、緑の丸印というようにその属
性が表示されている。また、No.4の階層に3つの青
の○印と、これらに挟まれたイベント1−1やイベント
1−2が、No.3の子パーツを示す属性データとなっ
ている。
【0092】また、イベント1−1やイベント1−2
は、それぞれ菱形の図形と、分岐線と、更にその分岐線
の先に連なる子パーツとから構成されている。これをN
o.5の階層に示した。そして、図16に示す(1)の
イベント処理は、緑の○印で示される空パーツの間に処
理の機能パーツが挟まれた構成となっている。これをN
o.6の階層に示した。また、処理の機能パーツは四角
の図形から構成されるから、これをNo.7の階層に示
した。
【0093】以上のように、このフローチャートデータ
は、状態を示すステップの情報と、これらのステップ間
の状態遷移を示す矢印の情報を基本となるデータ階層に
表現し、各状態を示すステップ毎に、そのステップの属
性データを順次階層構造で表現している。このような構
成にした場合に、図16に示す(1)の部分に図17に
示すような(2)の機能パーツを挿入したとき、図19
に示すように、フローチャートデータが書き換えられ
る。
【0094】即ち、図19には、図18に示したNo.
6の階層中に、新たにNo.5の階層で示した子パーツ
に属する「分岐」と「緑の○で表す空パーツ」を追加し
ている。そして、「分岐」の属性を表すために、No.
7の階層には、その形状が菱形であって、線と2つの子
パーツと分岐線とにより構成されることが示されてい
る。また、2つの子パーツは、別の新たな機能パーツを
挿入できる緑の○印で示した空パーツであると表現して
いる。
【0095】このように、新たな機能パーツを追加する
場合には、階層構造になった機能パーツのデータを、階
層構造になったフローチャートの該当箇所へ一括して挿
入すればよい。逆に、こうした機能パーツを外す場合に
は、図19中の破線で示した階層構造の機能パーツ要素
を一括して削除すればよい。即ち、「分岐」という機能
パーツに必要な全ての部品が階層構造となり、フローチ
ャートも階層構造になっているので、機能パーツを追加
したり削除をしたりする場合に、一部の図形パーツが取
り残されてしまったりする矛盾が発生しない。
【0096】〈具体例5の効果〉以上説明したように、
フローチャートデータを階層構造で表現すれば、機能パ
ーツ単位でフローチャートを作成処理する作業の際に、
機能パーツを追加したり削除したりして試行錯誤する作
業の際、フローチャートデータの取り扱いを容易にし、
誤りの発生を防止できる。従って、フローチャートに矛
盾を発生させたり、意味のないパーツを残したりすると
いう問題がない。しかも、パーツを削除した際、自動的
にフローチャート中の該当部分の前後を接続することが
容易になる。
【0097】〈具体例6〉図18に示したフローチャー
トデータのNo.2の階層に着目する。この階層には、
図に示したように、状態を示すステップの情報とこれら
のステップ間の状態遷移を表す矢印の情報のみが現れて
いる。こうしたデータを利用すれば、プログラムの基本
的な構造解析を行うことができる。
【0098】図20は、この構造解析のための機能ブロ
ックを図示した。図1に示した装置にこうした機能ブロ
ックを追加することによって、フローチャートデータか
ら、例えば図21に示すような状態遷移図を生成し表示
することができる。即ち、図20に示す装置は、階層構
造フローチャートデータ34と、変換部36と、状態遷
移図データ37、データ表示部38及び表示装置5から
構成される。さらに、この図には、階層構造フローチャ
ートデータ34や機能パーツライブラリ6を参照して、
フローチャートに対応するソースプログラムを生成する
プログラム生成部を図示した。
【0099】プログラム生成部40は、まず、上記階層
構造フローチャートデータあるいはその他の構造のフロ
ーチャートデータを参照して、各状態毎に、イベントの
内容とその属性データを生成する。次に、機能パーツラ
イブラリ6を参照して、フローチャート中に使用されて
いる機能パーツの既に説明したようなソースコードを取
得する。そして、上記イベントや状態の属性データに付
随したプログラムコード記述部分にそのソースコードを
コピーする。これで、プログラムの自動生成ができる。
これ以外の具体的なプログラム生成手順は、従来のCA
SEツールで実行されている処理と同様である。
【0100】階層構造フローチャートデータ34は、図
18に示すような内容のデータである。変換部36は、
例えばそのNo.2のデータ階層を参照して、そのデー
タを変換処理し、状態遷移図データ37を生成する部分
である。データ表示部38は、この状態遷移図データ3
7を表示装置5に表示する部分である。ソフト技術者が
プログラム全体の動作を解析する場合、一般にその状態
遷移図を作成する。これを自動的に作成し、表示装置に
表示することができれば、フローチャート作成後の結果
をユーザが点検し、あるいは他のソフトウェア技術者が
内容を理解するのに役立つ。
【0101】図21は、状態遷移図の例説明図である。
この図を参照しながら、図20に示した装置の動作を説
明する。まず、始めに変換部36は、フローチャートデ
ータ34を解析し、図18に示したNo.2のデータ階
層から状態を示すステップを抽出する。また、変換部3
6は、図18に示すフローチャートデータを解析し、各
ステップの状態を表示装置に表示する際の位置やシンボ
ル図形等を決定する。図21中の円内に「ステップ
1」、「ステップ2」、「ステップ3」と書いたものが
そのシンボル図形である。
【0102】次に、変換部36は、図18に示すNo.
2のデータ階層から矢印に相当するデータを抽出し、各
状態を表示する、これには、例えば図21に示す円の間
を矢印のイメージでつなぐ。更に、図18に示すNo.
3以下のデータ階層のイベントを抽出し、状態遷移を表
す矢印にそれぞれその意味を示す情報を付加する。同時
に、図18に示したNo.1の階層を参照し、スタート
やストップの端子に相当する情報を付け加える。このよ
うにして、図21に示すようなイメージを生成し、デー
タ表示部38の制御によって表示装置5にその図形イメ
ージを表示する。
【0103】〈具体例6の効果〉以上説明したように、
フローチャートデータを上記のような構成にすることに
よって、状態遷移を表すデータ階層から必要な状態を抽
出し、該当するイベントから状態遷移の内容を抽出し
て、自動的に状態遷移図を生成することができる。これ
によって、フローチャートがメカトロニクス製品に実装
されているプログラムに属したイベントドリブン型のプ
ログラムであるかどうかの検証を即座に行うことがで
き、フローチャートの作成やその解析処理に有効に活用
される。
【0104】なお、上記の具体例1から具体例6に示し
た各発明は、初めに説明したように、それぞれパーソナ
ルコンピュータやワークステーション等にインストール
したプログラムによって実行することができる。そし
て、これらのプログラムは、フロッピーディスクやCD
−ROM、あるいはその他のプログラム記録媒体に格納
することができる。更に、通信回線等を利用してコンピ
ュータに直接インストールして実施することが可能であ
る。
【図面の簡単な説明】
【図1】本発明のフローチャート入力装置を示すブロッ
ク図である。
【図2】表示装置に表示されたウインドウの概略図であ
る。
【図3】機能パーツの具体例説明図である。
【図4】ソフトウェア設計例説明図である。
【図5】フローチャート作成とプログラムへの変換例説
明図である。
【図6】具体例2の装置ブロック図である。
【図7】挿入判定用表示例説明図(その1)である。
【図8】挿入判定用表示例説明図(その2)である。
【図9】具体例3の装置ブロック図である。
【図10】挿入判定マトリクスの説明図である。
【図11】具体例4の装置ブロック図である。
【図12】接続判定動作の説明図(その1)である。
【図13】接続判定動作の説明図(その2)である。
【図14】誤ったフローチャート例の説明図である。
【図15】具体例5の装置ブロック図である。
【図16】変更前のフローチャート例説明図である。
【図17】変更後のフローチャート例説明図である。
【図18】フローチャートデータ例(変更前)の説明図
である。
【図19】フローチャートデータ例(変更後)の説明図
である。
【図20】具体例6の装置のブロック図である。
【図21】状態遷移図の例説明図である。
【符号の説明】
1 入力装置 2 入力部 3 フローチャート編集部 4 フローチャート表示部 5 表示装置 6 機能パーツライブラリ 6A 機能パーツ 7 フローチャートデータ

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 フローチャート中に使用されて、一定の
    処理を完結する手順を表現するための図形パーツ群を機
    能パーツと呼ぶとき、機能パーツのイメージを複数格納
    した機能パーツライブラリと、 前記機能パーツライブラリに格納された任意の機能パー
    ツを選択して、表示装置上の所定の位置に表示するよう
    に指定する入力装置と、 入力装置により選択された前記機能パーツを、指定され
    た位置に配置するようにして、フローチャートの構造を
    示すフローチャートデータを編集するフローチャート編
    集部とを備えたことを特徴とするフローチャート入力装
    置。
  2. 【請求項2】 請求項1に記載のフローチャート入力装
    置において、 各機能パーツには、予め他の機能パーツを挿入して配置
    することができる位置を表示する空パーツが含められる
    ことを特徴とするフローチャート入力装置。
  3. 【請求項3】 請求項2に記載のフローチャート入力装
    置において、 入力装置により指定された機能パーツの挿入位置が、既
    に表示装置に表示された機能パーツの空パーツ上でない
    ときは、挿入を拒絶する挿入判定部を備えたことを特徴
    とするフローチャート入力装置。
  4. 【請求項4】 請求項3に記載のフローチャート入力装
    置において、 各機能パーツの空パーツ部分に挿入することができる機
    能パーツを予め限定する挿入判定マトリクスを備え、 挿入判定部は、前記挿入判定マトリクスを参照して、入
    力装置により選択された機能パーツの挿入を拒絶するか
    どうか判定することを特徴とするフローチャート入力装
    置。
  5. 【請求項5】 請求項1に記載のフローチャート入力装
    置において、 フローチャート編集部は、 既に表示装置に表示されたフローチャート中に、新たな
    機能パーツが挿入されたときは、次に他の機能パーツを
    挿入して配置することができる位置を表示する空パーツ
    を、前記フローチャート中の機能パーツ間に配置するこ
    とを特徴とするフローチャート入力装置。
  6. 【請求項6】 請求項1に記載のフローチャート入力装
    置において、 各機能パーツには、予め、プログラムの流れを示す矢印
    を接続することができる位置を表示する接続点マークが
    含められることを特徴とするフローチャート入力装置。
  7. 【請求項7】 請求項6に記載のフローチャート入力装
    置において、 表示装置上に表示された任意の機能パーツに含まれる矢
    印の接続位置が、入力装置により指定されたとき、既に
    表示装置に表示された機能パーツの接続点マーク上でな
    い場合にその接続を拒絶する接続判定部を備えたことを
    特徴とするフローチャート入力装置。
  8. 【請求項8】 請求項7に記載のフローチャート入力装
    置において、 接続判定部は、指定された矢印の接続位置が既に表示装
    置に表示されている機能パーツとの関係から所定の基準
    を満たさないときは、入力装置により指定された矢印の
    接続を拒絶することを特徴とするフローチャート入力装
    置。
  9. 【請求項9】 請求項1に記載のフローチャート入力装
    置において、 フローチャート編集部は、 フローチャートデータを階層構造により表現し、状態を
    示すステップに関する情報と、状態遷移を示す矢印に関
    する情報とを含むデータ階層の下に、前記状態を示すス
    テップの属性情報を含むデータ階層を設けるようにした
    ことを特徴とするフローチャート入力装置。
  10. 【請求項10】 請求項9に記載のフローチャート入力
    装置において、 フローチャートデータ中の、状態を示すステップに関す
    る情報と、状態遷移を示す矢印に関する情報とを含むデ
    ータ階層を選択するとともに、前記状態遷移の原因とな
    るイベントをさらに下層のデータ階層から抽出して状態
    遷移図を生成する状態遷移図生成部を備えたことを特徴
    とするフローチャート入力装置。
  11. 【請求項11】 請求項1に記載のフローチャート入力
    装置において、 各機能パーツに対応させて用意されたプログラムソース
    コードと、フローチャートデータとを編集して、フロー
    チャートを実行するためのソースプログラムを自動生成
    するプログラム生成部を備えたことを特徴とするフロー
    チャート入力装置。
  12. 【請求項12】 フローチャート中に使用されて、一定
    の処理を完結する手順を表現するための図形パーツ群を
    機能パーツと呼ぶとき、 予め、機能パーツのイメージを複数格納した機能パーツ
    ライブラリを用意して、 入力装置により、前記機能パーツライブラリに格納され
    た任意の機能パーツを選択して、表示装置上の所定の位
    置に表示するように指定したとき、 選択された前記機能パーツを、指定された位置に配置す
    るようにして、フローチャートの構造を示すフローチャ
    ートデータを編集するように動作する、フローチャート
    入力用のコンピュータプログラムを記録した記録媒体。
  13. 【請求項13】 フローチャート中に使用されて、一定
    の処理を完結する手順を表現するための図形パーツ群を
    機能パーツと呼ぶとき、 予め、機能パーツのイメージを複数格納した機能パーツ
    ライブラリを用意して、 入力装置により、前記機能パーツライブラリに格納され
    た任意の機能パーツを選択して、表示装置上の所定の位
    置に表示するように指定したとき、 選択された前記機能パーツを、指定された位置に配置す
    るようにして、フローチャートの構造を示すフローチャ
    ートデータを編集するとともに、 各機能パーツに対応させて用意されたプログラムソース
    コードと、フローチャートデータとを編集して、フロー
    チャートを実行するためのソースプログラムを自動生成
    するように動作する、フローチャート入力用のコンピュ
    ータプログラムを記録した記録媒体。
JP10112756A 1998-04-08 1998-04-08 フローチャート入力装置 Pending JPH11296357A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10112756A JPH11296357A (ja) 1998-04-08 1998-04-08 フローチャート入力装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10112756A JPH11296357A (ja) 1998-04-08 1998-04-08 フローチャート入力装置

Publications (1)

Publication Number Publication Date
JPH11296357A true JPH11296357A (ja) 1999-10-29

Family

ID=14594768

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10112756A Pending JPH11296357A (ja) 1998-04-08 1998-04-08 フローチャート入力装置

Country Status (1)

Country Link
JP (1) JPH11296357A (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006025472A1 (ja) * 2004-08-31 2006-03-09 Catena Corporation Lyee方法論に基づく処理経路図作成方法、作成装置、ソフトウェア生成方法、生成装置、ソフトウェア並びにソフトウェア開発支援用ソフトウェア
US7046246B2 (en) 1999-03-29 2006-05-16 Fujitsu Limited Graphic editing apparatus graphic editing method and storage medium on which is recorded a program for graphic editing
WO2006114899A1 (ja) * 2005-04-19 2006-11-02 Assist Computer System Co, Ltd ソースプログラム作成支援システム
WO2007102232A1 (ja) * 2006-03-09 2007-09-13 Assist Computer System Co., Ltd. ソースプログラム作成支援システム
WO2010007647A1 (ja) * 2008-07-16 2010-01-21 富士通株式会社 モデリングエディタ、モデリング装置及びモデリング方法
JP2011022682A (ja) * 2009-07-14 2011-02-03 Fuji Electric Holdings Co Ltd プログラム自動生成装置およびプログラム自動生成方法
JP2011507057A (ja) * 2007-11-26 2011-03-03 マイクロソフト コーポレーション 論理構造デザイン・サーフェス
WO2012096001A1 (ja) * 2011-01-14 2012-07-19 株式会社日立製作所 フローチャート描画装置、フローチャート描画方法およびプログラム
TWI475343B (zh) * 2011-09-16 2015-03-01 Mitsubishi Electric Corp 順序程式作成裝置
JP2016115017A (ja) * 2014-12-12 2016-06-23 日本電信電話株式会社 フローチャート作成方法及びプログラム
JP2019075077A (ja) * 2017-10-18 2019-05-16 韓國電子通信研究院Electronics and Telecommunications Research Institute ワークフローエンジンフレームワーク
WO2021131531A1 (ja) * 2019-12-27 2021-07-01 オムロン株式会社 プログラム実行装置、プログラム実行方法およびプログラム

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7046246B2 (en) 1999-03-29 2006-05-16 Fujitsu Limited Graphic editing apparatus graphic editing method and storage medium on which is recorded a program for graphic editing
WO2006025472A1 (ja) * 2004-08-31 2006-03-09 Catena Corporation Lyee方法論に基づく処理経路図作成方法、作成装置、ソフトウェア生成方法、生成装置、ソフトウェア並びにソフトウェア開発支援用ソフトウェア
WO2006114899A1 (ja) * 2005-04-19 2006-11-02 Assist Computer System Co, Ltd ソースプログラム作成支援システム
WO2007102232A1 (ja) * 2006-03-09 2007-09-13 Assist Computer System Co., Ltd. ソースプログラム作成支援システム
JP2011507057A (ja) * 2007-11-26 2011-03-03 マイクロソフト コーポレーション 論理構造デザイン・サーフェス
WO2010007647A1 (ja) * 2008-07-16 2010-01-21 富士通株式会社 モデリングエディタ、モデリング装置及びモデリング方法
JP2011022682A (ja) * 2009-07-14 2011-02-03 Fuji Electric Holdings Co Ltd プログラム自動生成装置およびプログラム自動生成方法
WO2012096001A1 (ja) * 2011-01-14 2012-07-19 株式会社日立製作所 フローチャート描画装置、フローチャート描画方法およびプログラム
JP5564579B2 (ja) * 2011-01-14 2014-07-30 株式会社日立製作所 フローチャート描画装置、フローチャート描画方法およびプログラム
TWI475343B (zh) * 2011-09-16 2015-03-01 Mitsubishi Electric Corp 順序程式作成裝置
JP2016115017A (ja) * 2014-12-12 2016-06-23 日本電信電話株式会社 フローチャート作成方法及びプログラム
JP2019075077A (ja) * 2017-10-18 2019-05-16 韓國電子通信研究院Electronics and Telecommunications Research Institute ワークフローエンジンフレームワーク
WO2021131531A1 (ja) * 2019-12-27 2021-07-01 オムロン株式会社 プログラム実行装置、プログラム実行方法およびプログラム
JP2021105952A (ja) * 2019-12-27 2021-07-26 オムロン株式会社 プログラム実行装置、プログラム実行方法およびプログラム
US12333279B2 (en) 2019-12-27 2025-06-17 Omron Corporation Program executing device, program executing method, and non-transitory computer-readable storage medium

Similar Documents

Publication Publication Date Title
JP2660163B2 (ja) アルゴリズム教育支援システム
USRE42105E1 (en) Object-oriented programming apparatus, object-oriented programming supporting apparatus, component builder apparatus, object-oriented program storage medium, program storage medium for use in object-oriented programming, component storage medium, and object-between-network display method
US20090319948A1 (en) Automated editing of graphics charts
US20070214173A1 (en) Program, method, and apparatus for supporting creation of business process model diagram
JPH11296357A (ja) フローチャート入力装置
CN115495069B (zh) 基于模型驱动的煤炭工业软件流程实现方法、装置及设备
US20080222576A1 (en) Design support apparatus, method for supporting design, and medium recording design support program
JP2008203912A (ja) 画面作成装置及び方法並びにプログラム
JPH1139145A (ja) プログラム構築支援装置及び記憶媒体
JPH06203024A (ja) 文書処理装置
JPH06187396A (ja) ネットワーク構成設計支援システム
JPH1097415A (ja) Gui画面レイアウト設計方式
JP7380376B2 (ja) 情報処理装置およびラダープログラムを表示するためのプログラム
US6157388A (en) System and method for automatically inserting and deleting an object in a graphics chart
JP2713147B2 (ja) マルチメディアプレゼンテーション編集方法
JP3850867B1 (ja) ソースプログラム作成支援システム
US20010002834A1 (en) Method for inputting and acquiring requirement
JP2000132295A (ja) Gui動作仕様記述装置及びgui制御装置及びguiシステム
CN101379466B (zh) 源程序编制支持系统
JP4559955B2 (ja) 電子帳票部品開発装置、電子帳票部品開発方法、電子帳票部品開発プログラム及び電子帳票部品開発プログラムを格納した記録媒体
JPH10222356A (ja) アプリケーション作成装置及びアプリケーション作成方法
JP2000347840A (ja) ソースプログラム自動生成装置、ソースプログラム自動生成方法およびその方法を記録した記録媒体
JP2004126723A (ja) 配電ケーブルのルート指定装置およびその方法
JPH11328161A (ja) 文書編集装置および方法
JP2004013683A (ja) 半導体集積回路の開発方法、レイアウトエディタ、及び記録媒体