JP2003122567A - 多次元プログラミング装置及び多次元プログラミング方法。 - Google Patents

多次元プログラミング装置及び多次元プログラミング方法。

Info

Publication number
JP2003122567A
JP2003122567A JP2001315109A JP2001315109A JP2003122567A JP 2003122567 A JP2003122567 A JP 2003122567A JP 2001315109 A JP2001315109 A JP 2001315109A JP 2001315109 A JP2001315109 A JP 2001315109A JP 2003122567 A JP2003122567 A JP 2003122567A
Authority
JP
Japan
Prior art keywords
axis
dimensional
flow chart
programming
data
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
JP2001315109A
Other languages
English (en)
Inventor
Masateru Minemoto
政輝 嶺元
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to JP2001315109A priority Critical patent/JP2003122567A/ja
Priority to US10/032,816 priority patent/US6973642B2/en
Priority to EP01310934A priority patent/EP1302849A3/en
Priority to TW091109100A priority patent/TW588257B/zh
Priority to CN02123454A priority patent/CN1412688A/zh
Publication of JP2003122567A publication Critical patent/JP2003122567A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q99/00Subject matter not provided for in other groups of this subclass

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Stored Programmes (AREA)
  • Processing Or Creating Images (AREA)

Abstract

(57)【要約】 【課題】 縦書きプログラム流れ図等の不都合を解消
し、且つ、プログラミングの手法を一変させるような、
多次元の横書き流れ図を作成するための多次元プログラ
ミング装置及び多次元プログラミング方法を提供するこ
とを目的とする。 【解決手段】 前記中央処理装置9Aが、2次元流れ
図、3次元流れ図、4次元流れ図等の多次元の横書き流
れ図を作成するためのオブジェクト情報が格納されたオ
ブジェクトMDファイル(オブジェクトファイル部5)
からオブジェクトMD(オブジェクト情報)を読込む。
次に、前記中央処理装置9Aが、プログラマの入力指令
に基づき、前記オブジェクト情報を用いて前記多次元流
れ図を編集する。そして、その編集された前記多次元流
れ図に基づき、多次元横書き流れ図を描画し、前記表示
装置92に表示する。一方、前記中央処理装置9Aは、
編集された前記多次元流れ図を前記オブジェクトファイ
ル部5に保存する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、2次元流れ図、3
次元流れ図、4次元流れ図等の多次元の横書き流れ図を
作成するための多次元プログラミング装置及び多次元プ
ログラミング方法に関する。
【0002】
【従来の技術】コンピュータを特定の目的に使用するた
めのプログラミングは、概ね、次の手順により作成され
る。即ち、「ステップ1 プログラム流れ図→(変換)
→ソースプログラム」,「ステップ2 ソースプログラ
ム→(コンパイラ) →オブジェクトプログラム」,「ス
テップ3 オブジェクトプログラム→(リンカ) →ロー
ドプログラム」になる。
【0003】
【発明が解決しようとする課題】前記ステップ1におけ
るプログラム流れ図は、通常、図31に示したように、
上から下へ、左から右へ、縦書きに記述される。このよ
うな流れに従わない場合は、矢印を付けて流れの向きを
明確にするようになっている。即ち、平均値Hを求める
図31のプログラム流れ図は、例えばディスプレイ上
に、和S、入力値D、カウンタCの各データに対する制
御の流れを時間軸に一致させて、縦方向に書継がれて表
現される。
【0004】しかし、この縦書きプログラム流れ図の作
成には、次のような問題がある。上述のように、データ
に対する制御の流れは縦の時間軸に沿うように書継がれ
ているが、データ自体の流れは処理記号等の中で横方向
に記述されている。しかも、データの流れは制御の流れ
によりその連続性が理解し難くなっている。従って、縦
書きプログラム流れ図の中に、縦方向の制御の流れと、
横方向のデータの流れが混在し、データの流れが分断さ
れている。制御の流れが複雑になり、またデータの種類
が多くなれば、この問題点がより顕著になる。
【0005】一方、前記ステップ1におけるソースプロ
グラムは一次元的に表現されるもので、制御の流れもデ
ータの流れも寸断されて、前記縦書き流れ図よりも理解
し難くなっている。
【0006】そこで、本願発明は前記ステップ1の段階
で行われている作業において、縦書きプログラム流れ図
等の不都合を解消し、且つ、プログラミングの手法を一
変させるような、多次元の横書き流れ図を作成するため
の多次元プログラミング装置及び多次元プログラミング
方法を提供することを目的とする。
【0007】
【課題を解決するための手段】この目的を達成するた
め、本願発明は、2次元流れ図、3次元流れ図、4次元
流れ図等の多次元の横書き流れ図を作成するためのオブ
ジェクト情報が格納されたオブジェクトファイル部と、
そのオブジェクトファイル部から読込まれたオブジェク
ト情報を用いて前記多次元流れ図を編集するオブジェク
ト編集部と、編集された前記多次元流れ図を描画する描
画部と、編集された前記多次元流れ図を前記オブジェク
トファイル部に保存する保存部からなることを特徴とす
る多次元プログラミング装置とした(請求項1に記載の
発明)。
【0008】また、2次元流れ図、3次元流れ図、4次
元流れ図等の多次元の横書き流れ図を作成するためのオ
ブジェクト情報が格納されたオブジェクトファイル部か
らオブジェクト情報を読込み、このオブジェクト情報を
用いて前記多次元流れ図を編集し、その編集された前記
多次元流れ図に基づき、2次元流れ図、3次元流れ図、
4次元流れ図等の多次元横書き流れ図を描画し、また、
編集された前記多次元流れ図を前記オブジェクトファイ
ル部に保存することを特徴とする多次元プログラミング
方法とした(請求項2に記載の発明)。
【0009】ここで、発明者が本発明を想到するに至っ
た、根底をなすアイデアを説明する。経験的に明らかな
ように、三次元の直方体は視点を変えることによって、
色々な形に見える。例えば正面から見た形と、平面から
見た形と、側面から見た形が異なるごとくである。即
ち、視点によって見えたり、見えなくなったりする部分
があることを意味する。このことを多次元直方体を想定
した上で敷衍すれば、真上から見た図、真中から見た
図、斜め上から見た図等のように、それぞれ各視点によ
り見える部分と、見えない部分が出てくることを意味す
る。各視点の位置は座標によって特定されるものであ
り、各視点により見える部分と、見えない部分が出てく
るのは、座標軸が入れ替わって見えるからと考えること
ができる。
【0010】次に、プログラムを多次元直方体になぞっ
て考え、プログラミング空間なる概念を案出する。ま
ず、プログラムを構成する要素の時間、データ及び制御
から3次元のプログラミング空間を考え、これをプログ
ラミング基礎空間(3次元基本座標ともいう)と定義す
る。このプログラミング基礎空間を図示すれば、図1の
よう示すことが出来る。即ち、制御軸と流れ軸(時間
軸)のなす平面を平面図1、データ軸と流れ軸(時間
軸)のなす平面を正面図2、制御軸とデータ軸のなす平
面を側面図3とする図法である。
【0011】このようなプログラミング基礎空間に、例
えばイベント処理が加わると四次元のプログラミングと
なるが、これは図2のようにプログラミング基礎空間が
重なったものと考える。この図2では、上の層からイベ
ント処理1、イベント処理2、イベント処理3、イベン
ト処理4、イベント処理5となっている。この図2で
は、データ軸とイベント軸が重なって見えており、視点
を変えると図3のように見える。このようにプログラム
を多次元直方体になぞって考えることができる。
【0012】しかし、プログラムの編集の際に使用する
ディスプレイ等は二次元の表示装置であり、多次元空間
そのものを可視化することは不可能である。そこで、図
1に示したプログラミング基礎空間を、展開して図4に
示したように平面化することとする。ここでは、制御流
れ面10には、入出力と処理の流れが表示される。入出
力の制御タイミングは制御の流れのポイントとなるの
で、この平面に記述する。
【0013】データ流れ面20には、データの流れが表
示される。データは入力装置からCPUを介してレジス
タ等の内部メモリに入ることになるので、データの流れ
の始点になり、一方、データの出力はCPUを介して前
記内部メモリから出力装置等へ送られるので、この送ら
れる時点がデータの流れの終点になり、デ−タの流れが
表示される。
【0014】データ状態面30には、各処理の時点の内
部メモリの状態を表示するようにする。
【0015】図4の横軸には、時間軸が取られおり、そ
の時間軸にそって、制御フローと、データフローを表現
する横書き流れ図を書くことができる。
【0016】前記データ流れ面20の垂直線で囲まれた
部分21は、状態変化の集合を意味するもので、この状
態の集合を前記データ状態面12に表示するものとす
る。これらの状態集合の要素が多い場合には、前記部分
21をスクロールして表示されることになる。よって、
このデータ状態面30は、データを一時的に記憶するメ
モリの状態、例えばCPUに設けられた内部メモリの状
態を表示できるようになっている。未使用表示領域4
は、ここをメモリ状態変化の集合を表示するデータ状態
面に用いても良い。なお、図4に示した太字2重線7
0、71は、後述するカーソルを想定している。
【0017】本願発明では、上記のようなプログラミン
グ基礎空間をディスプレイの二次元表示装置に表現でき
るようにするため、2次元流れ図、3次元流れ図、4次
元流れ図等の多次元の横書き流れ図を作成するためのオ
ブジェクト情報が格納されたオブジェクトファイル部を
備えている(請求項1及び2の各発明)。前記オブジェ
クト情報には、開始端子、終了端子等のプログラム流れ
図記号情報、行と列によって位置を特定するための座標
情報、前記行と列の交差区画としてのセル情報、文字情
報等が格納されている(請求項3の発明)。
【0018】多次元空間をディスプレイ等の二次元の表
示装置で可視化するには、前記オブジェクト情報に座標
情報を含ませることが重要であって、前記座標情報に
は、時間軸、データ軸及び制御軸の組合わせ、時間軸、
データ軸、制御軸及びCPU軸の組合わせ、時間軸、デ
ータ軸、制御軸、CPU軸及びイベント軸の組合わせ、
時間軸、データ軸、制御軸、CPU軸、イベント軸及び
条件軸の組合わせ並びに時間軸、データ軸、制御軸、C
PU軸、イベント軸、条件軸及びPC軸の組合わせが含
まれていることが好ましい(請求項4の発明)。プログ
ラムは時間論理であることから、時間との組合わせがポ
イントとなり、このような座標情報により、プログラミ
ング空間を平面化することができる。なお、プログラム
に関与するCPUは一台に仮定し、CPU軸は省略する
ことにすれば、上記座標情報の内、時間軸、データ軸、
制御軸及びCPU軸の組合わせもまた、前記プログラミ
ング基礎空間となる。
【0019】次に問題となる点は、ディスプレイ等の画
面に上記各軸をどのように割り振るかである。本発明で
は、時間軸、データ軸、制御軸、CPU軸、イベント
軸、条件軸及びPC軸を座標情報として描画される画面
は、横軸を時間軸とし、縦軸をデータ軸、制御軸、CP
U軸、イベント軸、条件軸及びPC軸とした画面構成で
あることを特徴とする(請求項5の発明)。即ち、プロ
グラミング空間に共通する時間軸を横軸に置くことによ
り、そのプログラミング空間の平面化を的確に図ること
ができる。
【0020】上記発明の前記オブジェクト編集部は、横
軸に時間軸を、縦軸に少なくともデータ軸及び制御軸を
取る三次元基本座標によって、プログラミング空間を画
面に表示可能にすると共に、入力指令信号に従って、前
記画面の編集等を行うことを特徴とする(請求項6に記
載の発明)。即ち、ディスプレイ等の画面に横軸に時間
軸を、縦軸に少なくともデータ軸及び制御軸が表示され
るので、時間軸、データ軸及び制御軸によって特定され
る各セルに、入力指令信号に従って、オブジェクの書込
み等が行われる。
【0021】この場合、前記オブジェクト編集部は、前
記プログラミング空間を切断してプログラムの内部を見
るために、次元の切換えを可能とするようにする(請求
項7に記載の発明)。多次元直方体として想定される前
記プログラミング空間の内部を見るには、所定の個所を
切断すればよい。例えば図2において、A―Aで切断す
ることにより、制御軸上のある時点の各イベント内容を
把握できる。このプログラミング空間の切断に対応する
ディスプレイ等の画面上の編集処理が次元の切換え、言
い換えれば視点の位置の変更である。この次元の切換え
により、多次元空間の内部の可視化を図ることができ、
プログラミングの理解を促進させる。
【0022】また、前記オブジェクト編集部は、縦軸を
データ軸、制御軸、CPU軸、イベント軸、条件軸及び
PC軸とした画面構成の場合、描画可能なプログラミン
グ空間の平面をグループ化して、タブにより割当るよう
にする(請求項8に記載の発明)。このようにすれば、
ディスプレイ等の表示装置の画面が狭い場合、タブを導
入することにより表示装置の平面を幾つかのグループに
分けてタブに割り当てて、タブのクリックにより表示画
面を切換え、画面を広く使うことができる。
【0023】同様に、表示装置の画面が狭い場合、プロ
グラム全体の展望が困難になる。そこで、前記オブジェ
クト編集部は、行或いは列単位に座標情報を縮退或いは
復元する機能を備えている(請求項9に記載の発明)。
よって、プログラム全体の展望画面と細部の詳細画面を
切換えることができる。
【0024】また、前記オブジェクト編集部は前記プロ
グラミング空間に共通する時間軸を中心に、次元を低下
させたごとくに、所定の座標軸を別の座標軸に埋め込む
機能を備えている(請求項10に記載の発明)。よっ
て、限られた表示装置の画面の中で、次元を低下させる
ことができる。
【0025】また、前記保存部には、1行分のセルのオ
ブジェクトを保持する横スリット情報と、その横スリッ
トに対応した平面上のオブジェクトを保持する平面オブ
ジェクト情報が含まれる(請求項11に記載の発明)。
プログラムは時間と密接に関係する論理であり、過去に
どのような経路をたどり、将来どのような経路をたどる
可能性があるかが容易に把握できるほうが良い。その場
合、横スリットは1行分のセルのオブジェクトを保持し
ており、これに対応するように平面オブジェクト情報は
平面上のオブジェクトを保持しているので、画面上にプ
ログラムの過去の経緯と将来の推移の写し込みが可能と
なる。
【0026】
【発明の実施の形態】以下、図面を参照しつつ、本願発
明に係る実施形態を説明する。実施形態に係る多次元プ
ログラミング装置(以下、単に装置ともいう)は、図5
に示したように、多次元の横書き流れ図作成用のオブジ
ェクト情報が格納されたオブジェクトファイル部5及び
プログラムファイル部6を備えたメモリ手段7と、前記
オブジェクトファイル部5から読込まれたオブジェクト
情報を用いて前記多次元流れ図を編集するオブジェクト
編集部8及び編集された前記多次元流れ図を前記オブジ
ェクトファイル部5に保存する保存部9を備えた中央演
算装置(CPU)9Aと、編集された前記多次元流れ図
を描画する描画部としての画像処理部9Bからなる。
【0027】前記装置は、キーボード、マウス、ディジ
タイザ等からなる入力装置90と、前記中央処理装置9
Aが加工したデータを一次的に保存するRAM91と、
表示装置としてのCRT92と、プリンタ等の出力装置
93を備えている。
【0028】前記オブジェクトファイル部5は、オブジ
ェクトID、座礁情報、セル情報、文字情報等が格納さ
れている。
【0029】前記オブジェクトIDとして、開始端子、
終了端子、ループ開始端子、ループ終了端子、2分岐判
断、多分岐判断、合流、並列処理開始端子、並列処理終
了端子、データ入力、データ出力、処理、定義済呼出等
の、JIS規格のプログラム流れ図記号情報を保持して
いる。マクロ化のためのマクロ命令開始端子、マクロ命
令終了端子、マクロ分岐、マクロ合流などのIDを書込
んでもよい。
【0030】前記座礁情報として、時間軸、データ軸及
び制御軸の組合わせ、時間軸、データ軸、制御軸及びC
PU軸の組合わせ、時間軸、データ軸、制御軸、CPU
軸及びイベント軸の組合わせ、時間軸、データ軸、制御
軸、CPU軸、イベント軸及び条件軸の組合わせ並びに
時間軸、データ軸、制御軸、CPU軸、イベント軸、条
件軸及びPC軸の組合わせが含まれている。ここで、P
Cは、LANに接続されているコンピュータのことであ
る。
【0031】前記セル情報として、セルの横幅、即ち、
前記座標情報の時間軸の間隔は、図記号の大きさに自動
調整されるようになっている。なお、セルの縦幅は一定
とする。その他、セルの色情報等が含まれている。前記
文字情報として、文字色、文字の背景色、文字列(割当
文、分岐条件等)が格納されている。その他、図記号の
色情報、フロー検査フラッグ(0:未検査 1:検査終
了)が格納されている。
【0032】なお、前記メモリ手段7に、短縮語辞書フ
ァイル部70(図示せず)を設けてもよい。表示装置9
2の表示画面の面積には限界があり、その横幅が狭いと
き、関数名、変数名等の識別子が長いと、データフロ
ー、制御フローの表示が短くなり、フローの理解が困難
になる。そこで、現在作成中のプログラミングに固有の
短縮語辞書を前記メモリ手段7に持つようにすることが
好ましい。そして、長い識別子を短くした短縮語を定義
し、短縮語辞書に登録する。長い識別子の代りにこの短
縮語を使うことにより、フローを長く表示することがで
き、プログラミングの理解が容易になる。プログラミン
グ固有の短縮語辞書のほか、システム全体で使用する短
縮語辞書も用意してもよい。
【0033】さらに、前記メモリ手段7に、クラスライ
ブラリ71(図示せず)を設けてもよい。プログラミン
グ言語C++等では、クラスという概念で、データとプロ
グラムを緊密に関連付けている(カプセル化)。このよ
うなオブジェクト指向プログラミングを本発明に係る多
次元プログラミングに取り入れることが望ましい。クラ
スの定義を図式化すると図6のようになる。外部変数
1、2、3、4…は、メンバ関数1、2、3、4…の外
で定義されているので、外部変数になる。従って、メン
バ関数から自由にアクセスできる。この外部変数は、デ
ータ平面(後述、図4のデータ流れ面20に相当)に記
述される。メンバ関数の引数の個数は、各メンバ関数に
より異なる。また、引数、内部変数ともデータ平面に記
述される。派生クラスは、基本クラスから導出されるク
ラスである。基本クラスは導出元のクラスである。メン
バ関数をクリックすると多次元プログラミングの画面に
移行し、メンバ関数の定義ができるようになる。なお、
メンバ関数の定義画面を図7示す。この図は、制御平面
(後述、図4の制御流れ面10に相当)とデータ平面を
模擬的に示したものである。このメンバ関数3の定義が
終わると、先のクラス定義に戻り、次のメンバ関数の定
義に進むことになる。
【0034】なお、前記プログラムファイル部6には、
アプリケーションソフトとして、表計算ソフトのような
多次元プログラミング用のソフトが格納されている。
【0035】上記のように構成された装置による処理の
流れを図8に示す。即ち、前記中央処理装置9Aが、2
次元流れ図、3次元流れ図、4次元流れ図等の多次元の
横書き流れ図を作成するためのオブジェクト情報が格納
されたオブジェクトMDファイル(オブジェクトファイ
ル部5)からオブジェクトMD(オブジェクト情報)を
読込む。次に、前記中央処理装置9Aが、プログラマの
入力指令に基づき、前記オブジェクト情報を用いて前記
多次元流れ図を編集する。そして、その編集された前記
多次元流れ図に基づき、2次元流れ図、3次元流れ図、
4次元流れ図等の多次元横書き流れ図を描画し、前記表
示装置92に表示する。一方、前記中央処理装置9A
は、編集された前記多次元流れ図を前記オブジェクトフ
ァイル部5に保存する。
【0036】次に、上記装置による処理の流れをより具
体的に説明する。この装置が起動すると、前記表示装置
92の画面にファイルメニューが表示される。新規作成
であれば、そのボタンを押し、次に次元の定義を行う。
次元は、横軸に時間軸を、縦軸に少なくともデータ軸及
び制御軸を取る三次元基本座標を基本とし、この座標が
前記表示装置92の画面に表示される。なお、次元の増
加は任意に行うことができ、例えば7次元の空間の場合
には図9のような画面表示モデルとなる。次にクラスの
定義、関数の定義を行う。
【0037】なお、表示装置92の表示画面の大きさが
一定であるので、表示する次元が増えるほど、表示画面
を見づらくなるが、このような場合、タブを導入して、
図10に示したように平面を幾つかのグループに分けて
タブに割り当てれば良い。そして、前記表示装置92の
表示画面の前記タブをクリックすると、その指令を受け
た前記中央処理装置9Aが、表示画面を切換えるように
制御する。
【0038】次に、前記オブジェクトファイル部5から
読み出したプログラム流れ図記号情報等に基づき、プロ
グラマが各平面のセル内に流れ図記号等を描画する。さ
らに、前記オブジェクトファイル部5から読み出した文
字列情報から、文字列とオブジェクトとの関連を勘案し
て、セル内の所定の位置に文字列を描画する。
【0039】画面上において、書込みを行う場所を示す
カーソルは、スリット型十字カーソルとなっている。例
えば、図11のように4次元座標画面において、カーソ
ルの存在する位置をカーソル座標とすると、ある時間c
でのカーソル座標は、(時間c、データc、制御c、C
PUc)の4つ数値の組で表されることになる。即ち、
時間―CPU平面、時間―制御平面、時間―データ平面
にカーソルが位置することになる。
【0040】前記装置に従って、作成したプログラムを
図12及び図13に示す。なお、これらの図において、
横軸の「S」は時間を、縦軸の「R」は制御を、「D」
はデータを意味する。
【0041】図12は、平均値を求めるプログラムの時
間―制御平面の表示例を示すものである。この場合、同
図の十字カーソル70のR2の位置で切断して見える場
合の時間―データ平面が図13のような表示となる。
【0042】この図13において、S3は制御の流れに
関与し、S5は判断であるので、データ流れ面20には
表示されないことになる。S5の二重線は外部からの入
力を示すもので、データフローの理解度を向上させるも
のである。また、例えば、図12においてループ終点
(S6)での側面図を表示させれば、図14のように、
変数SとCの状態が表示される。この平均値を求めるプ
ログラムの実行時には具体的な数値が内部メモリに格納
されることになるので、その側面図には数値が表示され
る。
【0043】以上のプログラミング例によれば、プログ
ラム流れ図の「制御の流れ」と「データの流れ」がきれ
いに整理され、理解し易い流れ図を表示できる。
【0044】次に、以上の三次元基本座標に加えてイベ
ント軸を加えた4次元プログラム流れ図について説明す
る。前記図3において、プログラムの状態、即ち、制御
の流れ線上のある時点におけるイベントとを組合わせる
と、図15のような表を描くことができる。ここで、状
態1の制御フローで切断すると、図16のようなデータ
フローが見える。即ち、状態1までのデータフロー、イ
ベント処理1のデータフロー、イベント処理後のデータ
フローが連結性良く見える。しかし、他のイベント処理
のデータフローがこのままでは不連続となるので、イベ
ント処理のデータフローを上下にずらすことにより、図
17のように連結性が回復する。しかし、制御フローを
考えると、最上層のイベント処理1の制御フローは見え
るが、その下層のイベント処理は全て隠れて見えない。
【0045】このような不都合を解消するため、図18
のような画面構成とする。同図において、状態1のイベ
ント1の部分をクリックすると、そのクリック信号に基
づき、イベント2の処理の制御フロー図を表示できるよ
うにする。即ち、クリックするたびに、次のイベントの
制御フロー図のデータを呼出して、画面に表示できるよ
うにする。これらの動作は、前記図2に示したプログラ
ミング空間をイベント軸に直角に切断したことを意味す
る。即ち、状態1で切断し、イベント2と3の間で切断
したデータフロー図は図19のように示されるが、これ
を真上から見る場合として図20のように表示させる。
【0046】イベント処理の制御フローが大きくなる
と、状態1、状態2、状態3の間隔が広がり、処理の全
体が見ずらくなる。そこで、図21(イ)、(ロ)のよ
うにプログラミング基礎空間のイベント処理部の制御フ
ローを縮退させ、必要に応じて拡張させることが望まし
い。これにより、状態1、状態2、状態3の間隔を狭め
ることができるので、プログラムの制御フローの全体が
良くわかるようになる。即ち、画面表示としては、図2
2が縮退表示、図23が拡張表示となる。
【0047】上記イベント処理の拡張と縮退は、図2
4、図25のような画面表示でも行うことができる。前
記表示装置6の画面が狭い場合、処理全体の展望が困難
になるが、上記縮退と復元(拡張)の機能があると、全
体の展望と細部の詳細を切換えて行うことができる。図
24は、イベント処理の元の画面であり、制御1から制
御12までの行が連続して表示されている。図25は、
イベント処理を縮退したもので、前記図24の画面のう
ち、制御4、5、8、10、11の各行が縮退され、そ
の縮退された分、新しい行が追加表示され、全体が展望
し易くなっている。
【0048】前記プログラム基礎空間を表計算ソフトの
スプレッドシート形式にそって表すと、3次元の場合
は、図26のように、次元を低下させると図27のよう
に表示できる。プログラムの時間―制御平面部を剥ぎ取
ったものが、図26で、これは、二次元の表が重なった
ようになって3次元化されている。この表を図27のよ
うに時間を共通にして順番に平面に並べると、二次元化
となる。このことは、時間―制御平面に、時間―データ
平面を埋め込むことができることを意味する。
【0049】次に、4次元の画面を二次元に次元を低下
させ、埋め込む場合を説明する。図27の表がCPU軸
にそって並べられたものを想定する。この画面は、もと
もと4次元空間(時間、データ、制御、CPU)のセル
の集まりであり、この空間から三次元セル空間(時間、
データ、制御)を選択し、これを二次元化(時間、デー
タと制御)したものが、整列した3次元の表となり、こ
の表を二次元化すると、図28の表に表示される。4次
元以上の多次元画面も、同様な手順により、2次元化す
ることができる。なお、以上の操作と逆の操作を行うこ
とにより、もとの次元に戻すことができる。
【0050】プログラムは、時間と密接に関係する論理
であり、過去にどのような経路をたどり、将来どのよう
な経路をたどる可能性があるかが容易に把握できること
が好ましい。そのため、プログラムをゴムのような柔ら
かいものからできているものと見做して、時間軸に垂直
な方向へは自由に変形できるものとする。過去の経路を
保持する場所としてスリット状のカーソルが便利であ
る。このことを図29の平面―CPU画面で説明する。
カーソル位置は(時間4、CPU1)である。ここでC
PU1にあるスリットをCPUスリットと称する。CP
Uスリットは、1行分のセルのオブジェクトを保持する
オブジェクトになる。一方、時間についての一列分のセ
ルの情報を保持するオブジェクトを時間スリットとす
る。
【0051】同図において、CPUスリットには、座標
情報、稼働可能情報、平行処理開始情報、同処理終了情
報を示すオブジェクトIDが含まれている。前記座標情
報として、(時間1、CPU1)、(時間2、CPU
1)、(時間3、CPU1)、(時間4、CPU1)、
(時間5、CPU1)、(時間6、CPU1)、(時間
7、CPU1)を持っている。また、稼働可能情報とし
て(時間1、CPU1)から(時間7、CPU1)での
稼働可能オブジェクトIDが含まれている。また、平行
処理開始情報として、(時間3、CPU1)のオブジェ
クトIDを持ち、平行処理終了情報として(時間6、C
PU1)のオブジェクトIDを持つ。
【0052】次に、図30のように前記カーソルの位置
を(時間4、CPU2)に下げる。同図において、点線
はCPUスリットへの写し込みのために、見かけ上、空
になっていることを示す。座標(時間1、CPU2)、
(時間2、CPU2)、(時間6、CPU2)と(時間
7、CPU2)のセルは、実際、空である。前記空のス
リットにはCPUスリットのオブジェクトをそのまま表
示する。座標(時間3、CPU2)のセルは、並列処理
開始のオブジェクトIDであるので、(時間3、CPU
1)、(時間3、CPU2)のセルに対応したオブジェ
クトを表示し、(時間3、CPU2)オブジェクトをC
PUスリットに保存する。座標(時間4、CPU2)、
(時間5、CPU2)のセルは、空ではないので、CP
Uスリットの時間4、5に保存表示する。座標(時間
4、CPU1)、(時間5、CPU1)のセルは、稼働
可能のオブジェクトIDになっているので、対応するオ
ブジェクトを描画しなおす。座標(時間6、CPU2)
のセルは、並列処理終了のオブジェクトIDであるの
で、対応するCPUスリットに保存のオブジェクトを表
示する。座標(時間6、CPU1)のセルは、見かけ
上、空に描画し直す。座標(時間7、CPU2)のセル
は、空であり、空のときはCPUスリットをそのまま表
示する。座標(時間7、CPU1)のセルは、画面上で
見かけ上、空とする。以上の処理により、CPUスリッ
トには、過去の経過と将来の推移が写し込まれる。
【0053】上記のような操作により編集されたプログ
ラムは、ファイル名が付けられた後、前記オブジェクト
ファイル部5に保存される。
【0054】
【発明の効果】本願発明によれば、縦書きプログラム流
れ図等の不都合を解消し、且つ、プログラミングの手法
を一変させるような、多次元の横書き流れ図を作成する
ための多次元プログラミング装置及び多次元プログラミ
ング方法を提供することができる。
【図面の簡単な説明】
【図1】 本願発明の前提となるプログラミング基礎空
間の斜視図、
【図2】 同プログラミング基礎空間の斜視図、
【図3】 同正面図、
【図4】 同プログラミング基礎空間の展開図、
【図5】 本願発明に係る多次元プログラミング装置の
構成例図、
【図6】 クラスの定義を図式化した説明図、
【図7】 メンバ関数の定義画面図、
【図8】 本願発明に係る制御フロー図、
【図9】 本願発明に係る多次元プログラミング装置の
画面表示例図、
【図10】 同画面表示例図、
【図11】 同画面表示カーソル説明図、
【図12】 3次元プログラム流れ図の表示例図、
【図13】 3次元プログラム流れ図の表示例図、
【図14】 3次元プログラム流れ図の表示例図、
【図15】 四次元のプログラミング基礎空間の切断
図、
【図16】 四次元のプログラミング基礎空間の切断
図、
【図17】 四次元のプログラミング基礎空間の切断
図、
【図18】 四次元の画面表示例図、
【図19】 四次元のプログラミング基礎空間の切断
図、
【図20】 四次元の画面表示例図、
【図21】 (イ)(ロ)四次元のプログラミング基礎
空間の縮退図と拡張図、
【図22】 四次元の画面表示例図、
【図23】 四次元の画面表示例図、
【図24】 四次元の拡張の画面表示例図、
【図25】 四次元の縮退の画面表示例図、
【図26】 プログラミング基礎空間の埋込みの説明
図、
【図27】 プログラミング基礎空間の埋込みの説明
図、
【図28】 四次元の埋込みの画面表示例図、
【図29】 データの写し込みの画面表示例図、
【図30】 データの写し込みの画面表示例図、
【図31】 従来のプログラミングの画面表示例図。
【符号の説明】
5 オブジェクトファイル部 6 プログラムフ
ァイル部 7 メモリ手段 8 オブジェクト
編集部 9 保存部 9A 中央演算装
置(CPU) 9B 画像処理部 90 入力装置 91 RAM 92 CRT 93 出力装置

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 2次元流れ図、3次元流れ図、4次元流
    れ図等の多次元の横書き流れ図を作成するためのオブジ
    ェクト情報が格納されたオブジェクトファイル部と、 そのオブジェクトファイル部から読込まれたオブジェク
    ト情報を用いて前記多次元流れ図を編集するオブジェク
    ト編集部と、 編集された前記多次元流れ図を描画する描画部と、 編集された前記多次元流れ図を前記オブジェクトファイ
    ル部に保存する保存部からなることを特徴とする多次元
    プログラミング装置。
  2. 【請求項2】 2次元流れ図、3次元流れ図、4次元流
    れ図等の多次元の横書き流れ図を作成するためのオブジ
    ェクト情報が格納されたオブジェクトファイル部からオ
    ブジェクト情報を読込み、 このオブジェクト情報を用いて前記多次元流れ図を編集
    し、 その編集された前記多次元流れ図に基づき、2次元流れ
    図、3次元流れ図、4次元流れ図等の多次元横書き流れ
    図を描画し、 また、編集された前記多次元流れ図を前記オブジェクト
    ファイル部に保存することを特徴とする多次元プログラ
    ミング方法。
  3. 【請求項3】 前記オブジェクトファイル部には、開始
    端子、終了端子等のプログラム流れ図記号情報、行と列
    によって特定される座標情報、前記行と列の交差区画と
    してのセル情報、文字情報が格納されていることを特徴
    とする請求項1に記載の多次元プログラミング装置。
  4. 【請求項4】 前記座標情報には、時間軸、データ軸及
    び制御軸の組合わせ、時間軸、データ軸、制御軸及びC
    PU軸の組合わせ、時間軸、データ軸、制御軸、CPU
    軸及びイベント軸の組合わせ、時間軸、データ軸、制御
    軸、CPU軸、イベント軸及び条件軸の組合わせ並びに
    時間軸、データ軸、制御軸、CPU軸、イベント軸、条
    件軸及びPC軸の組合わせが含まれていることを特徴と
    する請求項3に記載の多次元プログラミング装置。
  5. 【請求項5】 時間軸、データ軸、制御軸、CPU軸、
    イベント軸、条件軸及びPC軸を座標情報として描画さ
    れる画面は、横軸を時間軸とし、縦軸をデータ軸、制御
    軸、CPU軸、イベント軸、条件軸及びPC軸とした画
    面構成であることを特徴とする請求項4に記載の多次元
    プログラミング装置。
  6. 【請求項6】 前記オブジェクト編集部は、横軸に時間
    軸を、縦軸に少なくともデータ軸及び制御軸を取る三次
    元基本座標によって、プログラミング空間を画面に表示
    可能にすると共に、入力指令信号に従って、前記画面の
    編集等を行うことを特徴とする請求項1に記載の多次元
    プログラミング装置。
  7. 【請求項7】 前記オブジェクト編集部は、前記プログ
    ラミング空間を切断してプログラムの内部を見るため
    に、次元の切換えを可能とすることを特徴とする請求項
    6に記載の多次元プログラミング装置。
  8. 【請求項8】 前記オブジェクト編集部は、縦軸をデー
    タ軸、制御軸、CPU軸、イベント軸、条件軸及びPC
    軸とした画面構成によって、描画可能なプログラミング
    空間の平面をグループ化して、タブにより割当ることを
    特徴とする請求項4に記載の多次元プログラミング装
    置。
  9. 【請求項9】 前記オブジェクト編集部は、行或いは列
    単位に座標情報を縮退或いは復元することを特徴とする
    請求項3に記載の多次元プログラミング装置。
  10. 【請求項10】 前記オブジェクト編集部は、前記プロ
    グラミング空間に共通する時間軸を中心に、次元を低下
    させたごとくに、所定の座標軸を別の座標軸に埋め込む
    ことを特徴とする請求項3に記載の多次元プログラミン
    グ装置。
  11. 【請求項11】 前記保存部には、1行分のセルのオブ
    ジェクトを保持する横スリット情報と、その横スリット
    に対応した平面上のオブジェクトを保持する平面オブジ
    ェクト情報が含まれることを特徴とする請求項1に記載
    の多次元プログラミング装置。
JP2001315109A 2001-10-12 2001-10-12 多次元プログラミング装置及び多次元プログラミング方法。 Pending JP2003122567A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2001315109A JP2003122567A (ja) 2001-10-12 2001-10-12 多次元プログラミング装置及び多次元プログラミング方法。
US10/032,816 US6973642B2 (en) 2001-10-12 2001-12-26 Multi-dimensional programming device and multi-dimensional programming method
EP01310934A EP1302849A3 (en) 2001-10-12 2001-12-28 Multi-dimensional programming device and method
TW091109100A TW588257B (en) 2001-10-12 2002-05-01 Multi-dimensional programming device and multi-dimensional programming method
CN02123454A CN1412688A (zh) 2001-10-12 2002-06-28 多维编程装置和多维编程方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001315109A JP2003122567A (ja) 2001-10-12 2001-10-12 多次元プログラミング装置及び多次元プログラミング方法。

Publications (1)

Publication Number Publication Date
JP2003122567A true JP2003122567A (ja) 2003-04-25

Family

ID=19133327

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001315109A Pending JP2003122567A (ja) 2001-10-12 2001-10-12 多次元プログラミング装置及び多次元プログラミング方法。

Country Status (5)

Country Link
US (1) US6973642B2 (ja)
EP (1) EP1302849A3 (ja)
JP (1) JP2003122567A (ja)
CN (1) CN1412688A (ja)
TW (1) TW588257B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7474310B2 (en) * 2005-08-12 2009-01-06 Microsoft Corporation Object association in a computer generated drawing environment
WO2007075146A2 (en) * 2005-12-26 2007-07-05 Chee Ying Josiah Goh Visual-based object oriented programming language and system
US7774695B2 (en) * 2006-05-11 2010-08-10 International Business Machines Corporation Presenting data to a user in a three-dimensional table
US8365142B2 (en) * 2009-06-15 2013-01-29 Microsoft Corporation Hypergraph implementation
US9330091B1 (en) 2011-10-08 2016-05-03 Bay Dynamics, Inc. System for managing data storages
US10353922B1 (en) * 2011-10-08 2019-07-16 Bay Dynamics, Inc. Rendering multidimensional cube data
CN104407863B (zh) * 2014-11-21 2017-07-11 用友网络科技股份有限公司 抽象控件模型编程装置和方法
CN106774028B (zh) * 2017-03-06 2019-02-15 上海归墟电子科技有限公司 一种基于时间轴的机器人控制方法与装置
US11003422B2 (en) 2019-05-10 2021-05-11 Fasility Llc Methods and systems for visual programming using polymorphic, dynamic multi-dimensional structures

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5034899A (en) * 1986-07-07 1991-07-23 Bbc Brown Boveri Ag Software tool for automatically generating a functional-diagram graphic
US5301284A (en) * 1991-01-16 1994-04-05 Walker-Estes Corporation Mixed-resolution, N-dimensional object space method and apparatus
US5359724A (en) * 1992-03-30 1994-10-25 Arbor Software Corporation Method and apparatus for storing and retrieving multi-dimensional data in computer memory
US5604854A (en) * 1994-04-22 1997-02-18 Borland International, Inc. System and methods for reformatting multi-dimensional spreadsheet information
WO1996007989A1 (en) * 1994-09-06 1996-03-14 The Research Foundation Of State University Of New York Apparatus and method for real-time volume visualization
US5845270A (en) * 1996-01-02 1998-12-01 Datafusion, Inc. Multidimensional input-output modeling for organizing information
US6182060B1 (en) * 1997-04-15 2001-01-30 Robert Hedgcock Method and apparatus for storing, retrieving, and processing multi-dimensional customer-oriented data sets
US6108657A (en) * 1997-05-29 2000-08-22 Oracle Corporation Method, article of manufacture, and apparatus for generating a multi-dimensional record layout mapping
US6628312B1 (en) * 1997-12-02 2003-09-30 Inxight Software, Inc. Interactive interface for visualizing and manipulating multi-dimensional data
US6496832B2 (en) * 1998-10-20 2002-12-17 University Of Minnesota Visualization spreadsheet
US6317750B1 (en) * 1998-10-26 2001-11-13 Hyperion Solutions Corporation Method and apparatus for accessing multidimensional data
US6460026B1 (en) * 1999-03-30 2002-10-01 Microsoft Corporation Multidimensional data ordering
US6542895B1 (en) * 1999-08-30 2003-04-01 International Business Machines Corporation Multi-dimensional restructure performance when adding or removing dimensions and dimensions members

Also Published As

Publication number Publication date
EP1302849A2 (en) 2003-04-16
CN1412688A (zh) 2003-04-23
US6973642B2 (en) 2005-12-06
EP1302849A3 (en) 2005-01-19
TW588257B (en) 2004-05-21
US20030074631A1 (en) 2003-04-17

Similar Documents

Publication Publication Date Title
US5611031A (en) Graphical user interface for modifying object characteristics using coupon objects
US5062060A (en) Computer human interface comprising user-adjustable window for displaying or printing information
US5335323A (en) Computer human interface with multiapplication display
US5502839A (en) Object-oriented software architecture supporting input/output device independence
JPS6162170A (ja) 複合文書編集方法
CN115146584A (zh) 一种全结构化Web版电子病历编辑器系统
WO2016099317A1 (ru) Способ и система визуального управления данными
JP2003122567A (ja) 多次元プログラミング装置及び多次元プログラミング方法。
JPH06175775A (ja) 情報処理装置
EP0274087A2 (en) Computer human interface
CN102801936A (zh) 实现在屏显示的方法
JP3500812B2 (ja) 表処理装置
JPH04175979A (ja) 図形処理装置
CN113778411A (zh) 图形化编程方法及应用设备
CN117539575A (zh) 一种扩展展示资产视图的方法及系统
JPH0317741A (ja) プログラム作成支援装置
JPH05135050A (ja) 線分属性表示方法
JP2002116910A (ja) ツリー構造作成描画装置として動作するようにプログラムされたコンピュータ、コンピュータを用いてツリー構造を作成し描画するための方法、およびコンピュータをツリー構造作成描画装置として動作させるためのプログラムを記録したコンピュータ読取可能な記録媒体
JPH0214370A (ja) 情報処理装置
CN117289834A (zh) 一种基于html原生表格的流程图绘制方法
JPH05101044A (ja) 文書処理装置
JPH01246673A (ja) 図形処理装置
JPS59214081A (ja) 線分入力方式
Uhlik Graphic update of automated logic diagrams
JPS6381575A (ja) 図形デ−タ管理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040622

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040811

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050315