[go: up one dir, main page]

JPH07319677A - 自動的に構造化プログラムを生成する、プログラムされた計算機を用いて流れ図を作成する方法と装置 - Google Patents

自動的に構造化プログラムを生成する、プログラムされた計算機を用いて流れ図を作成する方法と装置

Info

Publication number
JPH07319677A
JPH07319677A JP6314908A JP31490894A JPH07319677A JP H07319677 A JPH07319677 A JP H07319677A JP 6314908 A JP6314908 A JP 6314908A JP 31490894 A JP31490894 A JP 31490894A JP H07319677 A JPH07319677 A JP H07319677A
Authority
JP
Japan
Prior art keywords
icon
flow
statement
flow chart
icons
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
JP6314908A
Other languages
English (en)
Inventor
Leonard E Pruitt
イー.プルイット レオナード
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of JPH07319677A publication Critical patent/JPH07319677A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

(57)【要約】 【目的】 ソフトウエア設計者が構造化ソフトウエアを
容易に効率的に開発して品質の高い製品をより安価に製
作することのできるソフトウエア開発ツールを提供す
る。 【構成】 プログラム可能な計算機(10)と、プログ
ラム可能な計算機(10)のディスプレイ(15)を用
いて構造化流れ図を作成し、前記流れ図から作成される
任意のプログラムが構造化プログラムになるような方法
であって、基本的な流れ形式の所定の組を第1ディスプ
レイ領域(15a)に表示し、流れ形式の前記組からユ
ーザが2つの流れ形式を選択できる手段(20、25)
を提供し、前記2つの選択された流れ形式を組み合わせ
て、前記ユーザが与える情報に従って新しい有効な流れ
形式を生成し、前記選択された流れ形式と任意の新しい
有効な流れ形式を前記ディスプレイ(15)の第2領域
に表示する、段階を含む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は構造化された計算機プロ
グラムを作成する方法と装置に関する。すなわち、自動
的に構造化プログラムを生成する、プログラムされた計
算機を用いて流れ図を作成する方法と装置に関する。詳
しく言うと、本発明は、流れ図から作成された任意のプ
ログラムコードが構造化プログラムになるような、流れ
図を作成する方法と装置に関する。
【0002】
【従来の技術】流れ図プログラムは多数存在する(例え
ば、米国特許第4,546,435号、第4,872,
167号、第4,852,047号を参照)。しかし既
存のシステムの中には、本発明で用いる厳密な図形表示
方法に照らして、作成する流れ図が構造化されるよう支
援し、促進し、または要求するものはない。構造化され
ていない原始コードまたは流れ図は、「厄介なもの」ま
たは「スパゲッティ」と呼ばれる。純粋な、構造化され
た流れ図またはコードから逸れる程度に応じて「スパゲ
ッティ」度がある。構造化されていない流れ図(または
構造化されていない流れ図から得られるコード)は、構
造化された流れ図またはコードよりエラーが多くまた保
守が困難であることが知られている。
【0003】埋め込み型計算機を備える製品(例えば電
話交換機メーカーの製品)のメーカーがソフトウエアに
頼る度合いはますます増えている。その理由は、ソフト
ウエアを含む製品の付加価値が製品への投資の中で占め
る割合がますます大きくなっているからである。ソフト
ウエアが与える処理機能は、顧客にとってますます貴重
なものになっている。
【0004】顧客は製品が早く納入されることを要求す
る。顧客は購入する製品に、より多くの処理機能を要求
する。例えば電話交換機などのシステムでは、これはよ
り多くの交換機能を持つことである。機能に対する要求
や希望は年毎に複雑になっている。しかしメーカーにと
っては、所望の機能を持つソフトウエアを納期通りに、
高い品質で納入することは非常に難しい場合が多い。所
望の機能を備えた高品質のソフトウエアを納期通りに納
入できるメーカーの競争力は、それができないメーカー
に比べて非常に高い。
【0005】
【発明が解決しようとする課題】製品またはプロジェク
トのコードの数が多くなるほど、コードを構造化するこ
とが重要になる。また構造化コードは、正しいコードを
開発するのに用いる方法の非常に重要な要素である。納
入するときにすでに正しいコードは、納入後に修正を要
するコードより全製作費がはるかに少ない。ソフトウエ
アの設計者は、コード開発の工程において恐らく最も希
少で高価な資源である。設計者の時間は効率よく用いら
れなければならない。ソフトウエアの設計者が時間を最
も有効に使う方法は、構造化コードを設計して書くこと
である。この目標は、今日のソフトウエア開発ツールを
用いては達成することが困難である。その理由は、開発
する流れ図またはコードを構造化することは設計者に任
されているからである。
【0006】
【課題を解決するための手段】従って本発明の目的は、
ソフトウエア設計者が構造化ソフトウエアを容易に効率
的に開発して品質の高い製品をより安価に製作すること
のできるソフトウエア開発ツールを提供することであ
る。
【0007】本発明の別の目的は、複雑でソフトウエア
の比重の高い製品を納期通りに高品質で納入できるよう
に、構造化ソフトウエアを開発することのできるソフト
ウエア開発ツールを提供することである。
【0008】本発明の更に別の目的は、開発されたソフ
トウエアが高い収益をあげるのに必要な性質を持つよう
なソフトウエア開発ツールを提供することである。
【0009】本発明の一実施態様では、プログラム可能
な計算機と、プログラム可能な計算機のディスプレイを
用いて流れ図を作成し、前記流れ図から作成される任意
のプログラムが構造化プログラムになるような方法を提
供する。この方法は、基本的な流れ形式の所定の組を第
1ディスプレイ領域に表示し、流れ形式の前記組からユ
ーザが2つの流れ形式を選択できる手段を提供し、選択
された流れ形式の一方の流れ形式を他方の任意のステー
トメントボックス内に置くことにより前記2つの選択さ
れた流れ形式を組み合わせて、前記ユーザが与える情報
に従って新しい有効な流れ形式を生成し、前記選択され
た流れ形式と任意の新しい有効な流れ形式を前記ディス
プレイの第2領域に表示する、段階を含む。基本的な流
れ形式は、ステートメントボックス、2つのステートメ
ントボックスのシーケンス、FORおよびWHILEス
テートメント用の繰り返し形式、IF−THENおよび
IF−THEN−ELSEステートメントおよびCAS
Eステートメント用の論理形式を含む交代形式である。
【0010】本発明の一実施態様では、プログラム可能
な計算機のディスプレイ上で流れ図を組み立てる装置を
提供する。このディスプレイは、それぞれが1入力線と
1出力線を持つ少なくとも1つの多角形を備え、それぞ
れが1入力線と1出力線を持つ、1組の基本的な流れ形
式アイコンをスクリーン上に表示する手段と、ユーザが
少なくとも1つの基本的流れ形式アイコンを選択できる
ユーザ入力手段と、スクリーン上の異なる領域上の前記
ユーザが指定した位置に前記選択されたアイコンを表示
する手段と、を備える。
【0011】本発明の一実施態様の装置は、前記少なく
とも1つの選択されたアイコン内の少なくとも1つの多
角形に関連するテキストを入力するユーザ入力手段と、
前記入力されたテキストを前記少なくとも1つの選択さ
れたアイコン内の前記少なくとも1つの多角形に隣接す
る領域に表示する手段と、を更に備える。
【0012】本発明の一実施態様の装置内の各アイコン
は長方形または正方形を含み、前記選択されたアイコン
を表示する手段は、2つの選択された流れ形式アイコン
を組み合わせる手段と、選択されたアイコンを表示する
ようユーザが指定した位置が所定の規則によると正しい
ことを決定する手段と、指定された位置が前記所定の規
則によると正しくないことを決定する手段により行われ
た決定に応じて前記選択されたアイコンを表示する手段
の動作を禁止する手段と、を備える。
【0013】本発明の一実施態様では、計算機のディス
プレイ上で流れ図を組み立てる装置を提供する。前記デ
ィスプレイは、前記ディスプレイ上の第1領域に、それ
ぞれが少なくとも1つのステートメントボックスと1入
力線と1出力線を備える、所定の複数の流れ図アイコン
を表示する手段と、前記複数の流れ図アイコンの中の1
つを選択するよう指示するユーザ入力手段と、前記選択
されたアイコンを前記ディスプレイの第2領域に置くよ
う指示するユーザ入力手段と、前記選択された流れ図ア
イコンの前記指示された位置が所定の規則に合うかどう
かを決定する手段と、ただし前記規則により1つのアイ
コンを前に選択された別のアイコンのステートメントボ
ックス内に置いて新しい流れ図アイコンを作ることがで
き、1つのアイコンと他のアイコンを直列の関係に置く
ことができ、前記流れ図の中の制御の流れは下向きだけ
が許され、前記流れ図の中ではどの流れの線も交差する
ことを禁止するものであり、また位置を指示する前記ユ
ーザ入力手段により生成される任意の新しい流れ図アイ
コンを前記所定の複数の流れ図アイコンに一時的に追加
する手段と、を備える。
【0014】本発明の更に別の目的、機能、付随する利
点は、各実施態様の以下の詳細な説明を図面と共に読め
ば、この技術に精通した人には明らかになる。単なる例
示として、本発明の装置の望ましい実施態様と関連する
図面を参照して以下に詳細に説明する。
【0015】
【実施例】この説明において、「構造化」という語は特
定の厳密に定義された性質を持つコードまたは流れ図を
記述する形容詞として用いる。「これらのコードを構造
化して下さい」というように表現した場合は動詞であっ
て、コードまたは流れ図で実行する特定の行動を示す。
【0016】エラーなくコンパイルする、またはエラー
なくアセンブルする(アセンブラ言語の場合)全てのコ
ードは、あるレベルで「編成された」という意味で「構
造化され」ている。コードが言語の構文規則に従うとい
う意味で編成されていない場合は、コンパイルまたはア
センブルしない。しかし、これはこの応用の「構造化」
という意味とは全く異なる。ここで用いる「構造化」と
いう語は、以下に詳細に説明するように、厳密に定義さ
れている。
【0017】本発明のプログラムは構造化流れ図を要求
できるという新しい属性を持っており、構造化流れ図の
固有の性質から、これを用いて作った流れ図はほぼ正確
である確率が高い。流れ図または流れ図から得られるコ
ードが最初から正しければ経済的に非常に有利である。
本発明を用いれば、年間に莫大な費用の節約になる。
【0018】図1は、本発明を実現するのに用いること
ができるハードウエアの実施態様を示す略図である。C
PU10は、ROM30に記憶されている本発明のプロ
グラムコードを実行する。一時的なデータを記憶するR
AM35も備える。ディスプレイ15はCPUに接続さ
れ、流れ図アイコンのユーザインターフェースと、ユー
ザが流れ図を作るのに用いる表示領域とを表示する。キ
ーボード20は、ユーザが計算機プログラムに命令を入
力するのに用いる。マウス25により、本発明が提供す
る流れ図アイコンのクリックやドラッグ操作などの、追
加のユーザ制御を行うことができる。
【0019】本発明の望ましい実施態様では6個の基本
的流れ形式または流れ形式アイコンがあり、1組の規則
に従ってこれを組み合わせることにより構造化流れ図を
作成する。これらの6個の基本的流れ形式を図2から図
7に示す。説明の都合上、「流れ形式」と「流れ形式ア
イコン」は同じものを指す。
【0020】本発明で構造化プログラムを作るために
は、基本的流れ形式を用いる際に次の3規則に従わなけ
ればならない。 1. 有効な流れ形式アイコンの組から2個の流れ形式
アイコンを選択する。同じ流れ形式アイコンを2回選択
した場合は、2個の流れ形式アイコンを選択したと数え
る。これらの2個の選択されたアイコンは、規則2によ
って組み合わせなければならない。 2. 組み合わせ規則。任意の有効な流れ形式を、他の
有効な流れ形式の任意のステートメントボックス内に置
くことができる。流れ形式アイコンの写しを自分のステ
ートメントボックスの一つの内部に置くこともできる。 3. 組み合わせ規則に従って得られた流れ形式は全て
それ自身が有効な流れ形式アイコンであって、6個の基
本的流れ形式アイコンの1つと同じように用いることが
できる。段階1に戻って有効な流れ形式アイコンの組
(拡張されたものでもよい)の中から選択する(必要で
あれば)ことによりプログラムの開発は続けられる。
【0021】次に定義により、本発明の構造化流れ図は
6個の基本的流れ形式アイコンを用いて上の3規則に従
って作成された(または、され得る)流れ図である。実
際は、本発明によるプログラムの作成は第2規則の例外
も含み、2個の流れ形式の一方を他方のステートメント
ボックス内に挿入するのではなく、2個の選択された流
れ図を直列に接続することができる。それは、本発明に
よりプログラムを作成すると言っても、3規則に厳密に
従って行う必要はないからである。必要なことは、3規
則に従って得られるものと同じ結果を得ることである。
【0022】例えば3つの連続したステートメントだけ
の簡単なプログラムを作るには、1個のシーケンス流れ
形式(図3)を選択し、次に別のシーケンス形式を選択
してこれを最初のシーケンス流れ形式の第2ステートメ
ントボックス内に置くことができる。できた組み合わせ
を展開すると、3ステートメントのシーケンス流れ形式
になる。実際は、本発明のユーザは流れ形式のこのよう
なシーケンスを選択する必要があるのではなく、本発明
の一実施態様として(図16に示すように)、ユーザは
1個のステートメントアイコンを選択し、次にシーケン
スアイコンを直列に置くことにより、同じ3ステートメ
ントシーケンス流れ形式を得ることができる。
【0023】構造化プログラムを実現し作成するため、
多くの規則や流れ形式アイコンやグラフを開発すること
ができる。上に述べた規則や流れ形式アイコンの組が唯
一の可能な組ではない。
【0024】規則や流れ形式の特定の組を作るに当たっ
て、流れ形式の数と規則の数および複雑さの間にバラン
スをとらなければならない。本発明では、書くことがで
きるどんなプログラムの作成にも用いることができるシ
ステムが確立されている。つまりこの規則は、1行のプ
ログラムにでも1億行のプログラムにでも適用できなけ
ればならない。この範囲をカバーするため、図2のステ
ートメントアイコンと図3のシーケンスアイコンは両方
とも、本発明の望ましい実施態様の有効な流れ形式の組
に含まれる。
【0025】例えば設計者が1行だけのプログラムを作
ろうとし、これを本発明の構造化プログラムの規則に従
って行おうとする場合は、単一ステートメント流れ形式
を2度選択して自分の中に挿入する。これで工程が終わ
り、プログラムが書かれる。このプログラムは規則に従
って書かれているので構造化されている。
【0026】最初の2つの流れ形式アイコンのどちらか
または両方を用いなければ、アルゴリズムに従ってコー
ドを構造化する方法を指定するための規則はより複雑に
ならざるを得ない。これらの規則に従えば、作られたプ
ログラムは確かに構造化される。
【0027】本発明の範囲内で、流れ形式のやや異なる
組と規則のやや異なる組を定義して同じ結果を得ること
ができる。上に説明した規則を用いれば、ユーザは1行
だけのプログラム(またはサブルーチン)を書くことが
できる。(ユーザはステートメントボックス流れ形式を
選択して自分の中に置く。) しかしプログラムの中の
必要なステートメント(流れ形式)が1つだけであれ
ば、ユーザは1つの所望の流れ形式を選択して終わりに
することができるような、特別の規則を追加してよい。
このための費用は新しい規則の追加である。というの
は、6個の基本的流れ形式はそのままあり、更に規則が
追加されるからである。
【0028】上に述べた規則は完全である。プログラム
が構造化コーディングの3規則と6個の基本的な流れ形
式アイコンに従って構造化され、またはすることができ
れば、そのプログラムは構造化されている。プログラム
(または流れ図)が構造化コードの規則に従って再び作
成することはできないように作られていれば、そのプロ
グラムは構造化されていない。
【0029】このように、プログラムが構造化されてい
るかどうかを決定する標準は厳密に客観的である。主観
的な判断は必要ない。このように、本発明による計算機
プログラムは、プログラムが構造化されているかどうか
を決定するのに理想的である。
【0030】図2−図7を参照して、6個の基本的流れ
形式を以下に説明する。流れ形式は本発明の望ましい実
施態様のプログラムのユーザインターフェース部分を用
いて表示されるので、アイコンとも呼ばれる。
【0031】本発明の望ましい実施態様において、図2
はステートメントアイコンを示し図3はシーケンスアイ
コン示す。図4は、本発明の望ましい実施態様のFOR
およびWHILE言語構造を示す繰り返し形式を表す。
図5および図6は、本発明の望ましい実施態様のIF−
THENおよびIF−THEN−ELSE言語構造を表
す交代形式アイコン、特に論理形式アイコンの1つの型
を示す。図7は、本発明の望ましい実施態様のCASE
言語構造を表す交代形式アイコンの別の型を示す。すな
わち、菱形の中または付近に指定されたテストの結果に
従って、流れ形式内の経路の組から1つの経路を選択す
る。
【0032】各アイコンは、入力線Iと出力線Oにより
接続される1つ以上の多角形から成る。各アイコンは1
入力線Iと1出力線Oだけを持つ。アイコン内の各多角
形も1入力線と1出力線だけを持つ。各アイコンの出力
線は、そのアイコンの入力線の真下に置かれる。
【0033】FORおよびWHILEステートメントは
自分の中で実行する論理式を必要とする。しかし、これ
らの形式は分岐ではなくてループを主にしているので、
論理形式ではなく繰り返し形式と呼ばれる。
【0034】論理流れ形式、IF−THENおよびIF
−THEN−ELSE論理ステートメントに関する本発
明のプログラムには多数の約束がある。詳しく言うと、
IF−THENは2つの経路を提供する。TRUEの側
にはステートメントボックスがあるが、FALSEの側
にはステートメントボックスがない。この規則は、アイ
コン内にTRUEおよびFALSEのラベルを設けるこ
とによりアイコン内に作られている。定義により、IF
−THENのFALSEの経路にはステートメントボッ
クスがない。本発明で流れ図にこの約束が取り入れられ
ているのは、これが原始コードの約束だからである。流
れ図と原始コードを似たものにすることが目標の一部で
ある。定義により、原始コードのIF−THENステー
トメントはFALSEの経路にステートメントボックス
を持つことができない。
【0035】論理式がFALSEの場合にユーザがIF
−THENステートメント内のステートメントボックス
を実行したい場合は、論理式の前にNOTを入れなけれ
ばならない。これにより式は負になる。式の結果がFA
LSEになると、NOTにより真になる。従って、内部
の論理式がFALSEになったときにIF−THENの
ステートメントボックスが実行される。ステートメント
ボックスを実行するには、論理式は(NOTを含んで)
TRUEでなければならない。
【0036】図に示すように、これまでの慣例とは異な
り、TRUEおよびFALSEの択一経路は決定菱形の
横または底から出るようには描かない。これは、決定菱
形の中に論理式を置くことが難しいことが多いからであ
る。決定菱形のそばであれば長い論理式でも置く余地が
十分ある。しかしこのためには経路を菱形の真下に移す
必要がある。
【0037】本発明では、IF−THENまたはIF−
THEN−ELSEは論理式と共にだけ用いられる。論
理式はTRUEかFALSEかだけを評価することがで
きる。他のことはできない。
【0038】本発明の約束により、IF−THENステ
ートメントでもIF−THEN−ELSEステートメン
トでもTRUE分岐は右側に置く。この約束にした理由
は、IF−THEN−ELSEステートメントにおいて
論理式の結果がTRUEであればステートメントの第1
のまたは最初の組を実行するというのが、ほとんど全て
の言語での定義だからである。論理式の結果がFALS
Eであれば、ステートメントの第2のまたは最後の組を
実行する。西欧社会では、最初が右側というのがTRU
Eである。同様に最後が左側というのがFALSEであ
る。従って、本発明の作図の約束は、計算機言語の構造
の約束と標準的な社会の慣習との組合わせの延長上にあ
る。
【0039】図5および図6では、本発明の望ましい実
施態様のアイコンにTRUE−FALSEラベルが付い
ている。「IF論理」式はない。これは望ましい実施態
様のプログラムを用いて、ユーザが追加するものであ
る。
【0040】本発明で実現される構造化流れ図方式で
は、上向きの線はあり得ない。上向きの線がないので、
流れ線に矢印を用いる必要は全くない。全ての流れ線は
下向きである。この約束により流れ図はすっきりする。
流れ図がすっきりしているので読み易くもある。流れの
方向を示す矢印を探す必要がない。もう1つの重要な約
束は、構造化流れ図では流れ線が互いに交差する必要が
全くないことである。
【0041】原則として、本発明の方法と装置を用いて
作られる流れ図ではページ間の接続は許されない。この
規則には多くの例外がある。多数のケースがあってCA
SEステートメントがページの外にはみ出すようなCA
SEステートメントの場合はページ間の接続が許され
る。
【0042】有限状態機械(FSM)を記述する流れ図
を描く場合は、状態符号はCASEステートメントと同
様な挙動をする。その状態内で受けることのできる各信
号は、CASEステートメントのケースと同様である。
この型の状態は「待ち」状態とも呼ばれる。待ち状態は
受信点として有効に動作する。その点で受けることので
きる信号や事象が多数ある状態の場合は、ページ間の接
続が許される。本発明の望ましい実施態様のプログラム
を実現する際に、ページ間の接続を行うことは通常の設
計者の技術の範囲内と考えられる。
【0043】図8は、1つの流れ形式アイコンが他の流
れ形式アイコンの適当なステートメントボックス内に置
かれている状態を示す。新しく作られた有効な流れ形式
を図9に示す。図9はIF−TEHN−ELSE流れ形
式で、そのTRUE側のステートメントボックス内にI
F−THEN流れ形式を持つものを示す。この新しく作
られた有効な流れ形式は、元の6個の基本的流れ形式ア
イコンと同じ種類になる。更に、他の1つのステートメ
ントボックスの中に新しい流れ形式を置くことにより新
しく作られた流れ形式を他の流れ形式と組み合わせても
よいし、既存の流れ形式を1つの新しい流れ形式ステー
トメントボックスの中に置いてもよい。また新しく作ら
れた流れ形式を複写して、自分の1つのステートメント
ボックスの中に置いてもよい。本発明では、これらの作
られた流れ形式はメモリ内に一時的に記憶されるのであ
って、6個の基本的アイコンの所定の組の一部にはなら
ない。
【0044】有効な流れ形式をこのように組み合わせる
作業は、ユーザがプログラムを作り終えるまで何度でも
繰り返される。
【0045】図10は、IF−THENアイコンをFO
Rループの中に置いたものを示す。IF−THENステ
ートメントの内部には、図10に示すようにステートメ
ントボックスと送信ステートメントボックスの2つのス
テートメントのシーケンスがある。送信ステートメント
ボックスは、特殊な型のステートメントを表す特殊な形
状にした別個の長方形のステートメントボックスの例で
ある。これらの特殊な形状は、従来の流れ図方式におい
て出力をプリンタ装置に送ったり、値をメモリに記憶し
たりするステートメントに一般に用いられる形状で表現
してよい。これらの特殊な形状はプログラムの流れに影
響を与えるものではなく、プログラムを用途の要求に一
致させるために用いられる。特殊な形状のどれを選択す
るかは、この開示を見た通常の設計者が決めるものであ
る。図には示していないが、本発明の一実施態様のプロ
グラミングによって、ユーザは基本的な流れ形式の1つ
を選択した後で、形式の中の1つの長方形を利用可能な
特殊な形状に変更することができる。
【0046】図11は、よく起こるCASEステートメ
ントの処理方法の例を示す。ステートメントの機能を理
解しやすくするため、各ケースの内容をサブルーチンで
呼び出さなければならない場合がしばしばある。同様
に、CASEステートメント自身をルーチン本体内の唯
一のステートメントとしてそのルーチン内に置かなけれ
ばならないことがしばしばある。これは、CASEステ
ートメントや、CASEステートメントの外部の密接に
関連する他のステートメントに関連するコードを1ペー
ジ内に納めるためにしばしば必要になる。
【0047】上に述べた方法に従って流れ図を作成する
と、流れ図の結果は図12に示すようなある新しい性質
を持つ。
【0048】まず、コードのモジュールの一番上の入力
点は、必ず一番下の出力点の真上に描かれる。更に、ス
テートメントボックスであった各領域の付近にボックス
を描くこともできる。最後にステートメントボックスで
あった領域の付近にボックスを描くと、そのボックスは
2本だけの線と交わり、一方は上部の中央に、他方は上
の線の真下の底部の中央に描かれる。
【0049】図7のCASEステートメントでは、3つ
の選択肢すなわち3本の択一経路だけが示されている。
実際には、CASEステートメントは2本以上の択一経
路を持つ。本発明の望ましい実施態様では、ユーザはア
イコン内に必要な経路の数を指定するように指示され
る。
【0050】上に述べたように、本発明の流れ図を用い
てプログラムを書く場合は、どの特定のルーチンの流れ
図も1ページ以内に納めなければならない。CASEス
テートメントの選択する経路が多すぎて1ページ以内に
表示できない場合を除けば、これは正しい。これを行う
ため、設計者は一番上から始めて一度に1つずつ階層を
下がり、細目の一番下のレベルに達しなければならな
い。
【0051】ページにまたがらない、つまりモジュール
方式のコードを作成するため、プログラムをいくつかの
レベルに分解する必要がある。各レベルは、前のまたは
他のレベルから呼び出すことができるモジュールでなけ
ればならない。
【0052】レベルを作成する基本的な規則として、高
位のレベルから次の低位のレベルの概要を見るか参照す
ることができなければならない。例えば原則として、船
の設計では船全体の図から船を構成するデッキの組を見
ることができる。別の例として建物の図がある。建物全
体の図から、原則的に建物の中に約何階あるかを見るこ
とができる。
【0053】船の特定のデッキの図から、デッキの上の
各室がどこにあるかを見ることができる。同様に、建物
の中の特定の階の設計図から、その階の各室を見ること
ができる。船の機関室の図から、機関を見ることができ
る。機関の図から、ピストンを見ることができる。
【0054】これは工学において何世紀にも渡って実際
に行われてきた設計の規則である。しかしここに説明し
た階層化の基本的原理は、それよりはるかに長く用いら
れている。技術者は単に自然を見習ってシステムをサブ
システムに分割し、更にこのプロセスを必要な回数だけ
繰り返している。
【0055】プログラム(または流れ図)の中のIF−
THENステートメントは何枚かの紙面やスクリーンに
分かれるのが普通である。あるサブルーチン(プログラ
ムにはサブルーチンもあると仮定する)は多数のページ
にまたがっていてよい。この状態はきわめて普通のこと
であって、多くの設計者はこれを悪いとは思っていな
い。大きなプログラムの設計では、これは必要なことと
考えられている。実はこれは全く必要ない。必要がない
だけではなく、非常に有害である。
【0056】プログラムは、工学の他の対象と同様に設
計しなければならない。プログラム全体を記述する1ペ
ージが必要である。単一プロセスであってそのプロセス
が有限状態機械で表されていないプログラムでは、これ
は実際に必ず実行できる。
【0057】多数のプロセスを含むソフトウエアの場合
は、この規則を、各プロセスを1ページに記述しなけれ
ばならない、に変更してよい。プロセスが有限状態機械
としてモデル化されている場合は、高レベルの記述(実
際に、ある意味を持ち、何かを行う)でも1ページに納
まらないことがある。この場合は、有限状態機械の各状
態を1ページに納めることができる(ここでも例外が許
されることがある)。状態/事象を分割した後では、1
モジュールを1ページに、の規則を厳密に適用すること
ができる。工学作図の見地から、ここでソフトウエアは
シーケンシャル(非実時間)コードと全く同じになる。
【0058】これは原始コードでも流れ図でも同じであ
って、階層すなわち層の原理をソフトウエアに適用する
方法である。
【0059】この全体の考え方を初めてソフトウエア設
計者に提案すると非常にショックを与えることが多い。
しかし、設計者が何ページにもまたがる論理ステートメ
ントや信号やルーチン(流れ図や原始コードの形式の中
の)と格闘しなければならない理由はない。6個の基本
的な流れ形式全てを必ず1ページに納めなければならな
い(CASEステートメントの場合はいくらかの例外が
あるが)。IF−THENやIF−THEN−ELSE
やWHILEやFORステートメントは、必ず一つのペ
ージで始まって同じページで終わらなければならない。
【0060】この規則に従うだけで、ソフトウエアの質
は直ちに向上する。これはソフトウエア工学を除く全て
の他の工学の分野では実際に経験則になっている。「1
ページ規則」に従うだけで、ソフトウエア設計者は自動
的に層、レベル、階層で考えるようになる。これはまた
事物全体は最高レベルで表し、細目の低いレベルは低レ
ベルに置くように、自動的に大きな圧力をかける。全て
の他の工学の分野ではこれが全く標準的であるのに、ソ
フトウエア工学ではほとんど聞いたことがないというの
は驚くべきことである。
【0061】コードのモジュールは1ページより大きく
てはならない。1ページより大きくなる場合は複数のル
ーチンに分解しなければならない。
【0062】1つのステートメントボックスに入れるこ
とのできるものは(構造化の規則に従えば)全て1つの
ルーチンに入れることができる。コードの一部をステー
トメントボックスで囲むことができなければ、コードの
その部分はルーチンに変換できる候補ではない。
【0063】一般に流れ図でも原始コードでも、プログ
ラムが1組の図面とは見なされていない。更に、プログ
ラムが1組のモジュールとは、ほとんどまたは全く見な
されていない。ここで用いるモジュールとは、プロセ
ス、ルーチン、サブルーチン、プロシジャなどのプログ
ラム全体のサブルーチン的なものをいう。標準的に行わ
れている「流れ」の方法では、プログラムをレベルに分
解せずに全体を1つとして扱う。
【0064】流れ形式は、たとえ長いCASEステート
メントを含んでいる場合でも、決して1ページを超えて
はいけない。CASEステートメントが他の流れ形式の
中にあるためにその流れ形式が1ページを超える場合
は、そのCASEステートメントをサブルーチンの中に
置かなければならない。CASEステートメントを含む
サブルーチンを呼び出すのは、原始コードの中の1行だ
けである。同じ原理が、本発明のプログラムで作成され
る流れ図にも当てはまる。このことは、全ての実行可能
なコード(個々のCASEステートメントまたは受信点
のリストが1ページより長い場合を除いて)は、1ペー
ジを超えないモジュール内に納まるはずであることを意
味する。
【0065】このようにして、宣言や受信点のリストや
長いステートメントを除けば、全プログラムはそれぞれ
1ページに納まるユニットに分解される。従ってプログ
ラムは短い1組の「プログラム群」になる。各モジュー
ル自身は必ず理解しやすい。短くて1ページに納まるの
で、それ自身で理解しやすいはずである。これは実際に
は、モジュールが33行から50行程度より長くないコ
ードであることを意味する。同じことが本発明で作成さ
れる流れ図に要求される。
【0066】設計者にとってまず大切なことは正しいプ
ログラムを書くことである。これに比べれば、その他の
ことは2次的である。設計者が正しいプログラムを書く
ためには、コードに組織と秩序がなければならない。工
学作図の原理をうまく用いるために、設計者はルーチン
を十分使わなければならない。
【0067】プログラムに秩序を与える第1の手段は構
造化コードを用いることである。プログラムに秩序を与
える第2の強力な手段は、モジュールが常に短くなるよ
うに工学作図の原理を構造化コードに適用することであ
る。
【0068】本発明の望ましい実施態様では、上に述べ
た規則やアイコンは図1に示す型のプログラムされた計
算機を用いて実現することができる。図13および図1
4は、本発明に従ってプログラムを作成するソフトウエ
アルーチンの例示の流れ図を示す。プログラムのコーデ
ィングや、用いる言語と計算機システムの選択は、本特
許を読む人の自由である。上に述べたコーディングの原
則は、エキスパートシステムや他のプログラミング技術
を用いて、本発明のプログラムで自由に実現してよい。
この開示を理解すれば、本発明のプログラムを実現しコ
ード化することは通常の設計者の技術の範囲内であると
考えられる。
【0069】図13は主ルーチンを示す。段階S300
で、スクリーンディスプレイの1領域内に流れ図アイコ
ンの所定の組を表示する。この表示は、図18に示すよ
うに、現在多くのシステムで用いられているウインドウ
配列や所定のアイコンのパネルから成るものでよい。図
18は、本発明の実施態様のプログラムのユーザインタ
ーフェースとして用いられる例示の一表示形式を示す。
領域15aは、図2から図7に示す6個の基本的な流れ
形式アイコンを含む。領域15bは、ユーザが作成する
流れ図を表示する領域として用いられる。
【0070】段階S310は、ユーザがキーを押すかマ
ウスを動かしたことを検知したときに入るユーザ入力ル
ーチンである。
【0071】図14は、段階S310のユーザ入力サブ
ルーチンを示す。ユーザ入力段階S320で、ユーザ入
力がアイコンを選択したものかどうかを決定する。この
選択は、例えば領域15aからマウスかカーソルキーか
タッチパッド機構を用いて行ったものでよい。アイコン
を選択した場合は、プログラムはTRUEの経路を通っ
て段階S330に進む。これはユーザ配置ルーチンで、
以下に図15を参照して説明する。段階S320でのテ
ストの結果がFALSEの場合は、段階S340でテキ
ストの入力かどうかをテストする。そうであればTRU
Eの経路をとり、ユーザは前に選択したアイコンに関連
するテキストを入力するよう指示される。ユーザが入力
したテキストは、ディスプレイ領域15b内の、関連す
るアイコンの近くに置かれる。テキストはアイコン内の
多角形より大きくてよいので、これにより非常に見やす
くなる。
【0072】従来の流れ図のプログラムでは、ユーザは
いろいろのボックスを接続する線を引くことができる。
これは本発明のプログラムでは必要ない。というのは、
ユーザ配置ルーチンにより、アイコンを既存のアイコン
のステートメントボックス内に置くか、または既存のア
イコンの真下に置いて第2のアイコンの入力線を第1の
アイコンの出力線に接続するからである。このようにし
て、選択されたアイコンの配置に基づいて本発明のプロ
グラムにより、下向きだけに延びる流れ線が自動的に作
成される。
【0073】図15は、本発明の望ましい実施態様のユ
ーザ配置ルーチンを示す。段階S360で、選択された
アイコンがディスプレイ領域15bに置かれる最初のア
イコンかどうかを決定する。そうであれば、アイコンの
配置が適当かどうかをチェックする必要がないのでルー
チンは終わる。そうでなければルーチンは終わる。そう
であれば、プログラムは段階S370の規則チェックル
ーチンに入る。規則チェックサブルーチンが終わると、
段階S380でフラグが1かどうかを決定する。このフ
ラグは、アイコンの配置にエラーが起こったかどうかを
規則チェックルーチンが示すのに用いる。1でなければ
エラーメッセージルーチンに入る。1であればユーザ配
置ルーチンは終わる。
【0074】図16は規則チェックルーチンを示す。段
階S395で、あるフラグを1にする。このフラグは、
ユーザがアイコンを正しく置かなかったかどうかを示
す。段階S398で、アイコンをステートメントボック
ス内に移動したかどうかを決定する。そうであれば段階
S400で、ユーザが選択できる利用可能なアイコンに
新しく作成された形式を追加し、一時メモリに記憶す
る。新しく作成された形式はディスプレイの別の領域
(図示せず)に表示して、ユーザがクリック・ドラッグ
マウスやカーソルキーやタッチパッド方式を用いてアク
セスできるようにしてよい。
【0075】段階S398の答えがFALSEであれ
ば、このアイコンはディスプレイ内の既存のアイコンの
下に置かれたと見なされる。この場合は、第2のアイコ
ンの入力は第1のアイコンの出力に接続される。段階S
420で、アイコンを既存のアイコンの下に置かなかっ
た場合などで、下向きの制御以外の流れが必要かどうか
を決定する。そうであれば、段階S430でフラグを2
にする。下向きの制御だけで設計されていれば、段階S
430で、異なるアイコンの線の中で互いに交差するも
のがあるかどうかを決定する。交差する線があれば、段
階S440でフラグを3にしてルーチンを終える。交差
する線がなければルーチンを終える。
【0076】図15の段階S380でフラグが2か3で
あれば、段階S390でエラーメッセージルーチンに入
り、選択されたアイコンは表示しない。
【0077】エラーメッセージルーチンを図17に示
す。段階S450でフラグが2であれば、下向きの制御
だけが可能であることを示す特定のエラーメッセージを
表示してルーチンを終える。段階S470でフラグが3
であれば、線が交差しているので正しくないことを示す
エラーメッセージを表示し、新しいアイコンの位置を再
入力するようユーザに要求する。
【0078】本発明の望ましい実施態様のソフトウエア
実現の基本的な機能を上に説明した。アイコンを表示
し、動かし、その他の操作を行う機構は、本開示を見た
普通の設計者の技術の範囲内にあると理解される。
【0079】流れ図やコードを作成する理想的な状況
は、計算機支援ソフトウエア工学(CASE)ツールが
使えて、これにより設計者は状況の必要に応じて設計者
の選択に従って原始コードか流れ図により作業できるこ
とである。例えば設計者は最初原始コードによりデータ
の型や他の宣言を決め、次に実行可能なコードを作るた
めに流れ図に移行する。設計者が流れ図とコードの間を
往来するに従って、このツールは自動的に相手の形式を
更新する。このようにして、流れ図と原始コードは自動
的に並列に保全される。従って流れ図とコードは同じも
のになる。流れ図が「高いレベル」のコードを表すとい
う目標は、コード自身を階層的にすなわち層的に書くこ
とにより達成される。
【0080】従って、実行可能な最も詳細なコードに対
する流れ図があってよいが、原始コードの高い層に対応
する高いレベルの流れ図も作成することができる。この
ようなツールが使えても(発明者の知る限り、上に指定
した要件を正確に満たす実用的なツールはまだ存在しな
い)、このツールのユーザがCASEツールから最高の
利益を得る助けになるという意味で、本発明はやはり有
用である。構造化コードを強制的に作成する言語はほと
んどなく、また構造化流れ図(ここでの定義に従う「構
造化」)を強制的に作成する既存の流れ図ツールはな
い。これは、最新のツールや言語を用いても、構造化ソ
フトウエア製品の開発は設計者の自己訓練にまつことを
意味する。
【0081】特定の実施態様のこれまでの説明により本
発明の一般的な性質が十分明らかになったので、現在の
知識を用いれば一般的な概念からそれることなく、誰で
もこの特定の実施態様の各種の応用を修正しおよび/ま
たは適用することができる。従ってこのような適応また
は修正は、開示された実施態様と同等の意味と範囲内に
含まれるものである。ここに用いられた用語の用法は説
明のためのものであって、制限的なものではない。
【図面の簡単な説明】
【図1】本発明を実現する計算機システムの略図。
【図2】本発明の望ましい実施態様で用いられる基本的
な流れ形式アイコンの図。
【図3】本発明の望ましい実施態様で用いられる基本的
な流れ形式アイコンの図。
【図4】本発明の望ましい実施態様で用いられる基本的
な流れ形式アイコンの図。
【図5】本発明の望ましい実施態様で用いられる基本的
な流れ形式アイコンの図。
【図6】本発明の望ましい実施態様で用いられる基本的
な流れ形式アイコンの図。
【図7】本発明の望ましい実施態様で用いられる基本的
な流れ形式アイコンの図。
【図8】本発明の望ましい実施態様により作成すること
のできる各種の流れ図。
【図9】本発明の望ましい実施態様により作成すること
のできる各種の流れ図。
【図10】本発明の望ましい実施態様により作成するこ
とのできる各種の流れ図。
【図11】本発明の望ましい実施態様により作成するこ
とのできる各種の流れ図。
【図12】本発明の望ましい実施態様により作成するこ
とのできる各種の流れ図。
【図13】本発明の望ましい実施態様の流れ図。
【図14】本発明の望ましい実施態様の流れ図。
【図15】本発明の望ましい実施態様の流れ図。
【図16】本発明の望ましい実施態様の流れ図。
【図17】本発明の望ましい実施態様の流れ図。
【図18】本発明の望ましい実施態様のユーザインター
フェースを表示するディスプレイの例示的な略図。
【符号の説明】
10 CPU 15 ディスプレイ 20 キーボード 25 マウス 30 ROM 35 RAM

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】プログラム可能な計算機と、前記プログラ
    ム可能な計算機のディスプレイを用いて流れ図を作成
    し、前記流れ図から作成される任意のプログラムが構造
    化プログラムになるような方法であって、 基本的な流れ形式の所定の組を第1ディスプレイ領域に
    表示し、 流れ形式の前記組からユーザが2つの流れ形式を選択で
    きる手段を提供し、 前記2つの選択された流れ形式を組み合わせて、前記ユ
    ーザが与える配置情報に従って新しい有効な流れ形式を
    生成し、 前記選択された流れ形式と任意の新しい有効な流れ形式
    を前記ディスプレイの第2領域に表示する、段階を含む
    方法。
  2. 【請求項2】前記基本的な流れ形式は、ステートメント
    ボックス、2つのステートメントボックスのシーケン
    ス、FORおよびWHILEステートメント用の繰り返
    し形式、IF−THENおよびIF−THEN−ELS
    EステートメントとCASEステートメント用の論理形
    式を含む交代形式である、請求項1記載の方法。
  3. 【請求項3】組み合わせる前記段階は、 前記ユーザが与える前記配置情報が所定の複数の規則を
    満足するかどうかを決定し、 前記情報が前記所定の複数の規則を満足しない場合は適
    当なエラーメッセージを表示する、段階を含む、請求項
    1記載の方法。
  4. 【請求項4】前記所定の複数の規則は、前記2つの選択
    された流れ形式の一方を前記2つの選択された流れ形式
    の他方の内部に置き、または前記2つの選択された流れ
    形式の一方を前記2つの選択された他方に直列に置くこ
    と、前記流れ図の中では制御の下向きの流れだけが必要
    であること、流れ形式を接続する2本の線は互いに交差
    しないこと、を要求する、請求項3記載の方法。
  5. 【請求項5】プログラム可能な計算機のディスプレイ上
    で流れ図を組み立てる装置であって、 それぞれが1入力線と1出力線を持つ少なくとも1つの
    多角形を備え、それぞれが1入力線と1出力線を持つ、
    1組の基本的な流れ形式アイコンをスクリーン上に表示
    する手段と、 ユーザが少なくとも1つの基本的な流れ形式アイコンを
    選択できるユーザ入力手段と、 スクリーンの異なる領域上の前記ユーザが指定する位置
    に前記選択されたアイコンを表示する手段と、を備える
    装置。
  6. 【請求項6】前記少なくとも1つの選択されたアイコン
    内の前記少なくとも1つの多角形と関連するテキストを
    入力するユーザ入力手段と、 前記入力されたテキストを、前記少なくとも1つの選択
    されたアイコン内の前記少なくとも1つの多角形に隣接
    する領域に表示する手段と、を更に備える、請求項5記
    載の装置。
  7. 【請求項7】基本的な流れ形式アイコンの前記組は、1
    入力線と1出力線を持つ1多角形を備えるステートメン
    トボックス・アイコンを備える、請求項5記載の装置。
  8. 【請求項8】基本的な流れ形式アイコンの前記組は、1
    線により接続される2つの多角形を含むシーケンスアイ
    コンを備え、前記シーケンスアイコンは前記2つの多角
    形の第1への1入力と前記2つの多角形の第2から来る
    1出力を持つ、請求項5記載の装置。
  9. 【請求項9】基本的な流れ形式アイコンの前記組はFO
    RおよびWHILE言語構造を表す繰り返し形式アイコ
    ンを備え、前記繰り返し形式アイコンは、 1入力線を備える第1六角形と、 1線により前記第1六角形に接続する四角形と、 1線により前記四角形に接続し、1出力線を持つ第2六
    角形と、を備える、請求項5記載の装置。
  10. 【請求項10】基本的な流れ形式アイコンの前記組は2
    つの交代形式アイコン、すなわち、 IF−THEN言語構造を示し1入力線と1出力線を備
    える菱形を持つ第1交代形式アイコンであって、前記出
    力線は前記菱形の下の隅から下向きにまっすぐ延びる偽
    分岐と、前記菱形の右に延び前記偽分岐に接続される1
    出力線を持つ長方形または正方形を含む真分岐とを備
    え、前記第1論理形式は1入力線と1出力線を備える、
    第1交代形式アイコンと、 IF−THEN−ELSE言語構造を示し1入力線と1
    出力線を備える菱形を持つ第2交代形式アイコンであっ
    て、前記出力線は菱形の右側と左側に分かれて延び、前
    記右分岐は前記構造のTHEN経路であり、前記左分岐
    は前記構造のELSE経路であり、各分岐は1出力線を
    持つ長方形または正方形を備え、前記出力線は互いに合
    流して第2論理形式アイコンの単一出力線を形成する、
    第2交代形式アイコンと、を備える、請求項5記載の装
    置。
  11. 【請求項11】基本的な流れ形式の前記組はCASE言
    語構造を示す交代形式アイコンを備え、前記交代形式ア
    イコンは1入力線と1出力線を持つ菱形を備え、前記出
    力線はCASE言語構造の可能性の数に相当する数の複
    数の分岐に分かれ、各分岐は1出力線を持つ長方形また
    は正方形を備え、前記出力線は合流して交代形式アイコ
    ンの単一出力線を形成する、請求項5記載の装置。
  12. 【請求項12】各アイコンは長方形または正方形を備
    え、前記選択されたアイコンを表示する前記手段は、 2つの選択された流れ形式アイコンを組み合わせる手段
    と、 選択されたアイコンを表示するようユーザが指定する位
    置が所定の規則によると正しいことを決定する手段と、 指定された位置が前記所定の規則によると正しくないと
    決定する手段により行われた決定に応じて前記選択され
    たアイコンを表示する手段の動作を禁止する手段と、を
    備える、請求項5記載の装置。
  13. 【請求項13】前記アイコンの一番上の点の入力線は、
    ディスプレイ上の前記アイコンの一番下の点の出力線の
    真上に現れる、請求項5記載の装置。
  14. 【請求項14】計算機のディスプレイ上で流れ図を組み
    立てる装置であって、 前記ディスプレイの第1領域に、それぞれが少なくとも
    1つのステートメントボックスと1入力線と1出力線を
    備える、所定の複数の流れ図アイコンを表示する手段
    と、 前記複数の流れ図アイコンの中の1つを選択するよう指
    示するユーザ入力手段と、 前記選択されたアイコンを前記ディスプレイの第2領域
    に置くよう指示するユーザ入力手段と、 前記選択された流れ図アイコンの前記指示された配置が
    所定の規則に合うかどうかを決定する手段と、ただし前
    記規則により1つのアイコンを前に選択された別のアイ
    コンのステートメントボックス内に置いて新しい流れ図
    アイコンを作ることができ、1つのアイコンと他のアイ
    コンを直列の関係に置くことができ、前記流れ図の中の
    制御の流れは下向きだけが許され、前記流れ図の中では
    どの流れ線も交差することを禁止するものであり、 配置を指示する前記ユーザ入力手段により作成される任
    意の新しいアイコンを前記所定の複数の流れ図アイコン
    に一時的に加える手段と、を備える装置。
  15. 【請求項15】前記少なくとも1つの選択されたアイコ
    ン内の前記少なくとも1つの多角形に関連するテキスト
    を入力するユーザ入力手段と、 前記少なくとも1つの選択されたアイコン内の前記少な
    くとも1つの多角形に隣接する領域に前記入力されたテ
    キストを表示する手段と、を更に備える、請求項14記
    載の装置。
  16. 【請求項16】前記所定の複数の流れ図アイコンは、ス
    テートメントボックス・アイコン、2つの接続されたス
    テートメントボックスを備えるシーケンスアイコン、F
    ORおよびWHILEステートメントを形成する繰り返
    し形式アイコン、IF−THENおよびIF−THEN
    −ELSEステートメントを形成しまたCASEステー
    トメントを形成する交代形式アイコンを備える、請求項
    14記載の装置。
JP6314908A 1993-12-23 1994-12-19 自動的に構造化プログラムを生成する、プログラムされた計算機を用いて流れ図を作成する方法と装置 Pending JPH07319677A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/172,290 US6179490B1 (en) 1993-12-23 1993-12-23 Method and apparatus for creating a flowchart using a programmed computer which will automatically result in a structured program
US172290 1993-12-23

Publications (1)

Publication Number Publication Date
JPH07319677A true JPH07319677A (ja) 1995-12-08

Family

ID=22627078

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6314908A Pending JPH07319677A (ja) 1993-12-23 1994-12-19 自動的に構造化プログラムを生成する、プログラムされた計算機を用いて流れ図を作成する方法と装置

Country Status (7)

Country Link
US (1) US6179490B1 (ja)
EP (1) EP0661631B1 (ja)
JP (1) JPH07319677A (ja)
KR (1) KR100352570B1 (ja)
CA (1) CA2138682A1 (ja)
DE (1) DE69427453T2 (ja)
TW (1) TW434488B (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2660163B2 (ja) * 1994-10-11 1997-10-08 有限会社アレフロジック アルゴリズム教育支援システム
US5862372A (en) * 1994-11-16 1999-01-19 Morris; Robert M. Visually oriented computer implemented application development system utilizing standardized objects and multiple views
US5893105A (en) * 1996-11-12 1999-04-06 Micrografx, Inc. Executable flowchart
US5913195A (en) * 1996-12-27 1999-06-15 Intervoice Limited Partnership System and method for developing VRU voice dialogue
FI980778A (fi) 1998-04-03 1999-10-04 Nokia Networks Oy Menetelmä ja järjestelmä teknisen sovelluksen toteuttamiseksi
US6061602A (en) * 1998-06-23 2000-05-09 Creative Lifestyles, Inc. Method and apparatus for developing application software for home automation system
EP1222533A1 (en) * 1999-09-19 2002-07-17 Kestrel Institute Method and apparatus for determining colimits of hereditary diagrams
US6964037B1 (en) 1999-09-19 2005-11-08 Kestrel Institute Method and apparatus for determining colimits of hereditary diagrams
US7110936B2 (en) * 2001-02-23 2006-09-19 Complementsoft Llc System and method for generating and maintaining software code
US20020154119A1 (en) * 2001-04-24 2002-10-24 Lepejian Yervant D. Apparatus and method for performing branch processing according to a user indicated selection from displayed graphics
US6986122B2 (en) * 2001-06-07 2006-01-10 International Business Machines Corporation IF statement having an expression setup clause to be utilized in structured assembly language programming
SE0102648A0 (sv) * 2001-08-02 2003-03-06 Lars Höidahl Arrangemang att utföra objekt-orienterad programmering
US20030040833A1 (en) * 2001-08-06 2003-02-27 Joseph Gasiorek Flowchart-based control system with active description objects
US6845275B2 (en) * 2001-08-06 2005-01-18 Entivity, Inc. Flowchart-based control system with active diagnostic objects
US6775579B2 (en) * 2001-08-06 2004-08-10 Entivity, Inc. Flowchart-based control system with active debugging objects
US20030117417A1 (en) * 2001-12-20 2003-06-26 Nortel Networks Limited Generic application flow management system and method
US7310784B1 (en) * 2002-01-02 2007-12-18 The Jellyvision Lab, Inc. Methods for identifying cells in a path in a flowchart and for synchronizing graphical and textual views of a flowchart
US20030153998A1 (en) * 2002-02-13 2003-08-14 Micron Technology, Inc. Feature modeling application
JP2003256203A (ja) * 2002-03-01 2003-09-10 Mitsubishi Electric Corp 自動機アプリケーションプログラム開発システム、プログラム開発方法、この方法を実行するプログラム、及びこのプログラムを記憶した記憶媒体
US7822628B2 (en) * 2002-09-04 2010-10-26 Advanced Health Media, Llc System and method for a planner
DE10248621A1 (de) * 2002-10-18 2004-04-29 Giesecke & Devrient Gmbh Verfahren und System zur Bearbeitung von Banknoten
US7949995B2 (en) * 2005-09-14 2011-05-24 Sadlek James M Visual programming method
US20070226732A1 (en) * 2006-03-16 2007-09-27 Timekeeping Systems, Inc. Flow chart programmable data collector
US20070240070A1 (en) * 2006-04-11 2007-10-11 Invensys Systems, Inc. Strategy editor supporting designating execution order via control object graphical representations
US20080026357A1 (en) * 2006-07-14 2008-01-31 Research Foundation Of The City University Of New York Discipline oriented contextual learning software system
US8521709B2 (en) * 2006-10-31 2013-08-27 The Jellyvision Lab, Inc. Methods for preloading media assets
US20080184143A1 (en) * 2006-12-14 2008-07-31 Gottlieb Harry N Methods for Identifying Actions in a Flowchart
WO2008098161A1 (en) 2007-02-08 2008-08-14 Gottlieb Harry N Method of automatically populating and generating flowchart cells
KR100936670B1 (ko) 2007-12-05 2010-02-12 비티에스테크놀로지스(주) 도형화된 시스템 요구사항 처리 장치
US10339681B2 (en) 2013-11-22 2019-07-02 Raytheon Company Interactive multimedia process flow chart builder
US20150261400A1 (en) * 2014-03-12 2015-09-17 Yokogawa Electric Corporation System and method for generating a process flow structure
US10108419B2 (en) * 2014-09-26 2018-10-23 Qualcomm Incorporated Dependency-prediction of instructions
KR20180097224A (ko) 2017-02-23 2018-08-31 박도환 순서도 제작을 통해 코드를 자동생성하는 방법
KR20180097223A (ko) 2017-02-23 2018-08-31 박도환 순서도 제작을 통해 코드가 자동생성되도록 매체에 저장된 컴퓨터 프로그램
CN112036666B (zh) * 2020-09-29 2024-03-22 中移(杭州)信息技术有限公司 绑定流程评估方法、装置、服务器、存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4153932A (en) 1974-03-29 1979-05-08 Massachusetts Institute Of Technology Data processing apparatus for highly parallel execution of stored programs
US4546435A (en) 1980-06-24 1985-10-08 Herbert Frank P Graphic computer system and keyboard
JPH0640302B2 (ja) * 1984-01-30 1994-05-25 株式会社日立製作所 図式・ソ−スプログラム自動生成方法
US4831580A (en) * 1985-07-12 1989-05-16 Nippon Electric Industry Co., Ltd. Program generator
CA1268557A (en) 1986-04-01 1990-05-01 Mikio Tomioka Method for displaying program executing circumstances and an apparatus using the same
US4914568A (en) 1986-10-24 1990-04-03 National Instruments, Inc. Graphical system for modelling a process and associated method
US5005119A (en) 1987-03-02 1991-04-02 General Electric Company User interactive control of computer programs and corresponding versions of input/output data flow
US4852047A (en) 1987-04-14 1989-07-25 Universal Automation Inc. Continuous flow chart, improved data format and debugging system for programming and operation of machines
EP0347162A3 (en) * 1988-06-14 1990-09-12 Tektronix, Inc. Apparatus and methods for controlling data flow processes by generated instruction sequences
US5187788A (en) * 1989-05-01 1993-02-16 The United States Of America As Represented By The Secretary Of The Air Force Graphics system for automatic computer code generation
US5313574A (en) * 1990-06-13 1994-05-17 Hewlett-Packard Company Method for starting processing of an iconic programming system
US5133045A (en) 1990-07-13 1992-07-21 Integrated Systems, Inc. Method for operating a real-time expert system in a graphical programming environment
US5293476A (en) * 1991-03-12 1994-03-08 Hewlett-Packard Co. System for entering and modifying variable names for terminals of icons in an iconic programming system

Also Published As

Publication number Publication date
DE69427453T2 (de) 2001-10-11
TW434488B (en) 2001-05-16
DE69427453D1 (de) 2001-07-19
US6179490B1 (en) 2001-01-30
CA2138682A1 (en) 1995-06-24
EP0661631B1 (en) 2001-06-13
EP0661631A3 (en) 1997-02-19
EP0661631A2 (en) 1995-07-05
KR100352570B1 (ko) 2003-01-24

Similar Documents

Publication Publication Date Title
JPH07319677A (ja) 自動的に構造化プログラムを生成する、プログラムされた計算機を用いて流れ図を作成する方法と装置
CN108021363B (zh) 可视化游戏逻辑编辑方法及系统
Balzer Transformational implementation: An example
JP2783641B2 (ja) 設計評価方法および設計評価ツール
Floyd A systematic look at prototyping
US6421822B1 (en) Graphical user interface for developing test cases using a test object library
JP3127442B2 (ja) アプリケーション・プログラム・ステップのための対話式インタフェースを提供する表示画面パネルをダイナミックに生成するコンピュータ・システム
US5485615A (en) System and method of interactively developing desired computer programs by using plurality of tools within a process described in graphical language
US20020029377A1 (en) System and method for developing test cases using a test object library
US20030200533A1 (en) Method and apparatus for creating software objects
US20020046394A1 (en) Method and apparatus for producing software
EP1836565A1 (en) Dynamic generation of formatted user interfaces in software environments
US6370683B1 (en) Computer software for generating flowchart images of a source program
JP2671793B2 (ja) プログラムジェネレータ利用仕様シミュレーション方法およびその装置
US7134114B2 (en) Apparatus, method, and program product for supporting programming
Schulze Text in diagrams: challenges to and opportunities of automatic layout
WO1990004828A1 (en) Software operating environment
JP3819313B2 (ja) システム構築装置
Lee et al. Sequence control for integrated structural design models
JPH1139163A (ja) 知識システム構築装置
Fuller Graphical method for creating MCAP assembler programs
Denert Software engineering: experience and convictions
JP2937381B2 (ja) 集積回路の設計方法及び設計装置
CN108984168A (zh) 一种适用软件开发人员的效率工作台
US20050099404A1 (en) Maintenance of user interfaces

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050215

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050705