JP3059467B2 - ファイル管理装置 - Google Patents

ファイル管理装置

Info

Publication number
JP3059467B2
JP3059467B2 JP2191819A JP19181990A JP3059467B2 JP 3059467 B2 JP3059467 B2 JP 3059467B2 JP 2191819 A JP2191819 A JP 2191819A JP 19181990 A JP19181990 A JP 19181990A JP 3059467 B2 JP3059467 B2 JP 3059467B2
Authority
JP
Japan
Prior art keywords
data
information
data structure
file
module
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.)
Expired - Fee Related
Application number
JP2191819A
Other languages
English (en)
Other versions
JPH0475134A (ja
Inventor
浩詔 寺田
博昭 西川
真一 芳田
俊治 日根
洋一郎 西川
秀次 原
憲司 嶋
美恵 稲岡
哲男 山崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Sharp Corp
Sanyo Electric Co Ltd
Panasonic Holdings Corp
Original Assignee
Mitsubishi Electric Corp
Sharp Corp
Sanyo Electric Co Ltd
Matsushita Electric Industrial 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 Mitsubishi Electric Corp, Sharp Corp, Sanyo Electric Co Ltd, Matsushita Electric Industrial Co Ltd filed Critical Mitsubishi Electric Corp
Priority to JP2191819A priority Critical patent/JP3059467B2/ja
Publication of JPH0475134A publication Critical patent/JPH0475134A/ja
Priority to US08/764,773 priority patent/US5794042A/en
Application granted granted Critical
Publication of JP3059467B2 publication Critical patent/JP3059467B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Description

【発明の詳細な説明】 [産業上の利用分野] この発明はファイル管理装置に関し、特に、ファイル
を記憶し、外部から与えられる命令に基づいてその記憶
されたファイルにアクセスを行なうファイル管理装置に
関する。
[従来の技術] 一般に、ファイル管理装置は、複数のファイルを記憶
するディスクおよびそのディスクにアクセスを行なうた
めのディスク駆動装置から構成される。従来のファイル
管理装置おいては、それを利用する情報処理装置から読
出し命令および書込み命令を与えることにより、レコー
ド単位でファイルの読出しおよび書込みが実行される。
[発明が解決しようとする課題] 従来のファイル管理装置を用いたシステムにおいて、
たとえばリスト構造を有するデータを取り扱う場合に
は、そのファイル管理装置を利用する情報処理装置の側
でリスト構造の追加、挿入、削除などのデータ構造操作
のためのプログラムを準備する必要がある。データ構造
とは、ある構造をもって集積されたデータと、その構造
とをいう。データ構造の操作とは、データ構造内部のデ
ータを参照したり、更新したり、新たなデータを追加し
たり、データを削除したり、といった処理を指す。特に
データ構造の「変更」とは、データ構造内部に新たなデ
ータを追加したり、データを削除したりすることによ
り、データ自体の並びの順序またはデータ数などの論理
的構成を変えることをいう。この場合、ファイル管理装
置からデータを読出し、そのデータに対してデータ構造
の操作を行ない、そのデータを再びファイル管理装置の
ディスクに格納するという処理が行なわれる。また、複
数の情報処理装置が1つのファイル管理装置を共用する
場合にも、それぞれの情報処理装置にデータ構造操作の
ためのプログラムが必要となる。したがって、ソフトウ
ェアの開発効率が悪いという問題がある。
また、1つのファイル管理装置を利用して複数の処理
系を開発する場合にも、それぞれの処理系にデータ構造
操作の機能が必要となる。この場合、1つの処理系がフ
ァイル管理装置内のデータのデータ構造を操作した後、
他の処理系がそのデータのデータ構造を操作する場合に
は、1つの処理系におけるデータ構造操作が終了するま
で他の処理系におけるデータ構造操作は待機しなければ
ならない。このように、1つの処理系におけるデータ構
造操作のプログラムと他の処理系におけるデータ構造操
作のプログラムとは、互いに依存しあっている。したが
って、複数の処理系を独立に開発することは困難が伴
う。
この発明の目的は、データ構造の操作を使用者側から
隠蔽でき、それによってソフトウェアの開発効率を高め
ることができ、かつ各処理系の高機能化にも柔軟に対処
できるファイル管理装置を提供することである。
[課題を解決するための手段] この発明に係るファイル管理装置は、外部の情報処理
装置との間の命令またはデータの入出力を行なうための
入出力手段、各々の識別子が与えられ、かつ各々が自身
の論理的な構造に関する情報を含む複数のデータ構造を
外部記憶媒体にファイルとして記憶するファイル記憶手
段、前記入出力手段を介して前記の情報処理装置から与
えられる、前記識別子を含む所定の命令に応答して、前
記外部記憶媒体に記憶されたデータ構造のうち前記識別
子により特定されるものに対して、前記所定の命令によ
り特定される操作を、前記構造情報を参照して行なうデ
ータ構造操作手段とを備える。
[作用] この発明に係るファイル管理装置は、データとともに
記憶された識別子およびデータ構造の論理的な構造を用
いてデータの構造を操作する機能を有する。したがっ
て、そのファイル管理装置を利用する装置または処理系
が所定の命令を与えるだけで、データ構造操作がファイ
ル管理装置内で行なわれる。すなわち、データ構造操作
が使用者に対して隠蔽される。
[実施例] 以下、この発明の実施例を図面を参照しながら詳細に
説明する。
第1図はこの発明の一実施例によるファイル管理装置
の構成を示すブロック図である。
ファイル管理装置101は、ファイル記憶部102、操作部
103および入出力部104を含む。入出力部104には、1ま
たは複数の情報処理装置105が接続される。ファイル記
憶部102には複数のデータを含む複数のファイルが記憶
される。操作部103は入出力部104を介して与えられる命
令に基づいてファイル記憶部102内の各ファイルにアク
セスを行なう機能を有するとともに、各ファイル内のデ
ータのデータ構造を操作する機能を有する。入出力部10
4は、情報処理装置105から与えられる各種命令およびデ
ータを操作部103に入力するとともに、操作部103から出
力されるデータを情報処理装置105に与える。
第2図は、第1図に示されるファイル管理装置101の
ハードウェアの構成を示すブロック図である。ディスク
106には複数のファイルが記憶される。ディスク駆動装
置107は、ディスク106を駆動し、制御回路108から与え
られる制御信号に応答してディスク106内の各ファイル
にアクセスを行なう。制御回路108は、主としてI/Oイン
タフェース110、プロセッサ111およびメモリ112から構
成される。メモリ112には以下に示す複数の機能を実行
するためのプログラムが格納される。プロセッサ111は
メモリ112に格納されるプログラムを実行し、I/Oインタ
フェース110を介してディスク駆動装置107に制御信号を
与える。入出力回路109は、制御回路108と外部の情報処
理装置とのインタフェースとして働く。ディスク106が
ファイル記憶部102を構成し、ディスク駆動装置107、制
御回路108および制御回路108内のメモリ112に記憶され
るプログラムが操作部103を構成する。また、入出力回
路109が入出力部104を構成する。
第3図はファイル記憶部102に記憶されるファイルの
構成を概念的に示す図である。
第3図には、2つのファイル121,122のみが示されて
いる。各ファイルにはファイル名が付されている。たと
えば、ファイル121にはファイル名fname1が与えられ、
ファイル122にはファイル名fname2が与えられている。
各ファイルは複数の要素eからなるデータ構造または1
つの要素aからなるアトミックなデータを含む。
各ファイル内の各データ構造またはアトミックなデー
タにはデータ構造識別子が与えられている。たとえば、
ファイル121内のデータ構造123にはデータ構造識別子di
d1が与えられ、データ構造124にはデータ構造識別子did
2が与えられている。同様に、ファイル122内のデータ構
造125にはデータ構造識別子did1が与えられ、アトミッ
クなデータ126にはデータ構造識別子did2が与えられて
いる。
posは各データ構造内の各要素の位置(データ位置)
を示している。また、sizeは各データ構造内の各要素e
の要素サイズを示している。たとえば、データ構造123
の要素サイズsizeは3であり、データ構造124の要素サ
イズsizeは4である。numは各データ構造に含まれる要
素数を示している。たとえば、データ構造123の要素数n
umは4であり、データ構造124の要素数numは3である。
第4図はファイル記憶部2の記憶内容を示す図であ
る。
第4図に示すように、ファイル記憶部2には、各デー
タ構造ごとに、ファイル名fname、データ構造識別子di
d、要素数num、要素サイズsize、現在のデータ位置ppo
s、および各要素の内容dataが記憶されている。現在の
データ位置pposは、ファイルがオープンされたときに0
に設定され、その後のデータ構造操作により変化する。
第5図〜第27図は、操作部103の機能を説明するため
のフローチャートである。操作部103の機能は、制御回
路108内のメモリ112に記憶されるプログラムにより達成
される。
まず、外部の情報処理装置105から入出力部104を介し
て操作部103に機能名が入力される(第5図のステップS
1)。操作部103は、その機能名に基づいて以下の(1)
〜(22)の機能のうちいずれかを選択し、その機能を実
行する(ステップS2,S3)。データ構造操作の処理を続
ける場合には、ステップS1に戻る(ステップS4)。
次に、操作部103により行なわれるデータ構造操作の
処理を第6図〜第27図を参照しながら説明する。
(1) データ構造のオープン(第6図参照) 入出力部104を介して操作部103に、アクセスの対象と
なるファイルのファイル名fnameを入力する(ステップS
5)。このファイル名fnameは文字列により表わされる。
操作部103はファイル名fnameにより識別されるファイル
にアクセスするための論理的なファイル識別子fidを出
力する(ステップS6)。このファイル識別子fidは整数
からなる。
たとえば、第3図において、ファイル名fname1により
識別されるファイル121が最初にオープンされ、次にフ
ァイル名fname2により識別されるファイル122がオープ
ンされると、ファイル121にファイル識別子fid1が与え
られ、ファイル122にファイル識別子fid2が与えられ
る。また、ファイル122が最初にオープンされると、フ
ァイル122にファイル識別子fid1が与えられる。
(2) データ構造の保存(第7図参照) この機能は、アクセスの対象となっているファイルを
保存するために用いられる。保存すべきファイルのファ
イル識別子fidを入力する(ステップS7)。操作部103
は、ファイル識別子fidにより識別されるファイルへの
アクセスを終了する(ステップS8)。これにより、その
ファイルが保存される。
(3) データ構造識別子の獲得(第8図参照) この機能は、あるファイル中に新たなデータ構造を生
成する場合に用いられる。ファイル識別子fidおよび要
素サイズsizeを入力する(ステップS9)。操作部103
は、ファイル識別子fidにより識別されるファイルを検
索する(ステップS10)。そして、操作部103は、そのフ
ァイル内において、要素サイズsizeのデータ領域を1個
の要素とする配列を識別するためのデータ構造識別子di
dを出力する(ステップS11)。
(4) データ構造の追加[1](第9A図参照) この機能は、あるデータ構造の末尾に新たな要素を追
加する場合に用いられる。ファイル識別子fid、データ
構造識別子did、追加すべき要素数numおよび追加すべき
要素の内容dataを入力する(ステップS12)。操作部103
は、ファイル識別子fidにより識別されるファイル内に
おいて、データ構造識別子didにより識別されるデータ
構造を検索する(ステップS13)。そして、操作部103
は、検索されたデータ構造の末尾にdataにより示される
内容のnum個の要素を追加する(ステップS14)。
たとえば、第9B図に示すように、データ構造識別子di
dにより識別されるデータ構造131の末尾に3つの要素13
2が追加される。これにより、データ構造131はデータ構
造133に変更される。
(5) データ構造の挿入[1](第10A図参照) この機能は、データ構造内の所望の位置に新たな要素
を挿入する場合に用いられる。ファイル識別子fid、デ
ータ構造識別子did、挿入すべき要素数num、挿入すべき
データ位置posおよび挿入すべき要素の内容dataを入力
する(ステップS15)。操作部103は、ファイル識別子fi
dおよびデータ構造識別子didにより識別されるデータ構
造を検索し(ステップS16)、そのデータ構造内におい
てposにより指定されるデータ位置を検索する(ステッ
プS17)。そのデータ位置に、dataにより示される内容
のnum個の要素を挿入する(ステップS18)。
たとえば、第10B図に示すように、データ構造134のデ
ータ位置pos=2に3つの要素135を挿入すると、データ
構造134はデータ構造136に変更される。
(6) データ構造の削除(第11A図参照) ファイル識別子fid、データ構造識別子did、削除すべ
き要素数numおよび削除すべきデータ位置posを入力する
(ステップS19)。操作部103は、ファイル識別子fidお
よびデータ構造識別子didにより識別されるデータ構造
において、posにより指定されるデータ位置を検索する
(ステップS20,S21)。そのデータ位置からnum個の要素
を削除する(ステップS22)。
たとえば、第11B図に示すように、pos=1,num=2の
場合、4つの要素からなるデータ構造137は、データ構
造削除の後には2つの要素からなるデータ構造138にな
る。
(7) データ構造の読出し(第12A図参照) ファイル識別子fid、データ構造識別子did、読出すべ
き要素数numおよび読出すべきデータ位置posを入力する
(ステップS23)。操作部103は、ファイル識別子fidお
よびデータ構造識別子didにより識別されるデータ構造
において、posにより指定されるデータ位置を検索する
(ステップS24,S25)。操作部103は、そのデータ位置か
らnum個の要素を読出す(ステップS26)。
たとえば、第12B図に示すように、pos=1,num=2の
場合、データ構造139からデータ140が読出される。
(8) データ構造の書込み(第13A図参照) ファイル識別子fid、データ構造識別子did、読込むべ
き要素数num、書込むべきデータ位置posおよび書込むべ
き要素の内容dataを入力する(ステップS27)。操作部1
03は、ファイル識別子fidおよびデータ構造識別子didに
より識別されるデータ構造において、posにより指定さ
れるデータ位置を検索する(ステップS28,S29)。操作
部103は、そのデータ位置からdataにより示される内容
のnum個の要素を書込む(ステップS30)。これにより、
それらの要素の内容が更新される。
たとえば、第13B図に示すように、pos=1,num=2の
場合、データ構造141のデータ位置pos=1およびpos=
2の要素が142で示される要素で更新され、データ構造1
41はデータ構造143となる。
(9) データ構造の追加[2](第14A図参照) 追加される側のファイル識別子fid1、追加される側を
データ構造識別子did1、追加する側のファイル識別子fi
d2および追加する側のデータ構造識別子did2を入力する
(ステップS31)。操作部103は、ファイル識別子fid1お
よびデータ構造識別子did1により識別される第1のデー
タ構造を検索する(ステップS32)。また、操作部103
は、ファイル識別子fid2およびデータ構造識別子did2に
より識別される第2のデータ構造を検索する(ステップ
S33)。そして、操作部103は、第1のデータ構造の末尾
に第2のデータ構造を追加する(ステップS34)。この
場合、第2のデータ構造の要素数は0になる。
たとえば、第14B図に示すように、第1のデータ構造1
44の末尾に第2のデータ構造145が追加され、データ構
造144はデータ構造146となる。
(10) データ構造の挿入[2](第15A図参照) 挿入される側のファイル識別子fid1、挿入される側の
データ構造識別子did1、挿入する側のファイル識別子fi
d2、挿入する側のデータ構造識別子did2および挿入すべ
きデータ位置posを入力する(ステップS35)。操作部10
3は、ファイル識別子fid1およびデータ構造識別子did1
により識別される第1のデータ構造において、posによ
り指定されるデータ位置を検索する(ステップS36,S3
7)。また操作部103は、ファイル識別子fid2およびデー
タ構造識別子did2により識別される第2のデータ構造を
検索する(ステップS38)。そして、操作部103は第1の
データ構造の指定されたデータ位置に第2のデータ構造
を挿入する(ステップS39)。この場合、第2のデータ
構造の要素数は0になる。
たとえば、第15B図に示すように、pos=2の場合、第
1のデータ構造147のデータ位置pos2に第2のデータ構
造148が挿入され、データ構造147はデータ構造149とな
る。
(11) データ構造の複製(第16図参照) 複製元のファイル識別子fid1、複製元のデータ構造di
d1および複製先のファイル識別子fid2を入力する(ステ
ップS40)。操作部103は、ファイル識別子fid1およびデ
ータ構造識別子did1により識別される第1のファイル内
のデータ構造を検索する(ステップS41)。また、操作
部103は、ファイル識別子fid2により識別される第2の
ファイルを検索する(ステップS42)。そして、操作部1
03は、ファイル識別子fid1およびデータ構造識別子did1
により識別されたデータ構造を第2のファイル内に複製
し、複製されたデータ構造に対するデータ構造識別子di
d2を出力する(ステップS43,S44)。
(12) データ構造の探索(第17図参照) この機能は、特定のデータを探索する場合に用いられ
る。ファイル識別子fid、データ構造識別子did、比較す
るデータの内容dataおよび比較されるマスクパターンの
内容maskを入力する(ステップS45)。操作部103は、フ
ァイル識別子fidおよびデータ構造識別子didにより識別
されるデータ構造を検索し(ステップS46)、pposによ
り示される現在のデータ位置(第4図参照)から各要素
の内容を順次読出す(ステップS47)。さらに、操作部1
03は読出されたデータ構造の各要素の内容とマスクパタ
ーンの各要素の内容との論理積をとることにより、読出
されたデータ構造をマスクし(ステップS48)、マスク
されたデータ構造と入力されたデータの内容dataとを比
較し(ステップS49)、一致するものが存在した場合は
比較結果としてその要素位置を出力し、一致しなかった
場合は比較結果として−1を出力する(ステップS5
0)。
(13) データ構造の消去(第18図参照) ファイル識別子fidおよびデータ構造識別子didを入力
する(ステップS51)。操作部103は、ファイル識別子fi
dおよびデータ構造識別子didにより識別されるデータ構
造を検索し(ステップS52)、そのデータ構造を消去す
る(ステップS53)。
(14) データ構造の現在位置の通知(第19図参照) この機能は、各データ構造ごとに与えられる現在のデ
ータ位置ppos(第4図参照)の内容を通知する場合に用
いられる。ファイル識別子fidおよびデータ構造識別子d
idを入力する(ステップS54)。操作部103は、ファイル
識別子fidおよびデータ構造識別子didにより識別される
データ構造を検索し(ステップS55)、そのデータ構造
に設定されている現在のデータ位置pposを出力する(ス
テップS56)。
なお、データ構造の挿入、削除、読出しおよび書込み
において、posが−1に設定されると、対象となるデー
タ構造に対して設定されている現在のデータ位置pposを
基準としてそれらの操作が行なわれる。上記の(4)〜
(12)の機能が実行されると、対象となるデータ構造に
対応する現在のデータ位置pposの内容は変化する。
(15) データ構造の現在位置の変更(第20図参照) ファイル識別子fid、データ構造識別子did、データ位
置の変更量offsetおよび基準位置を示すモードmodeを入
力する(ステップS57)。操作部103は、ファイル識別子
fidおよびデータ構造識別子didにより識別されるデータ
構造を検索し、そのデータ構造に対して設定されている
現在のデータ位置pposの内容を基準位置からoffsetだけ
離れた値に変更する(ステップS58,S59)。
基準位置は、mode=0の場合はデータ構造の先頭位置
であり、mode=1の場合はpposにより示される現在のデ
ータ位置であり、mode=2の場合はデータ構造の末尾位
置である。
(16) データ構造の要素数の獲得(第21図参照) ファイル識別子fidおよびデータ構造識別子didを入力
する(ステップS60)。操作部103は、ファイル識別子fi
dおよびデータ構造識別子didにより識別されるデータ構
造を検索し、そのデータ構造に含まれる要素数numを出
力する(ステップS61,S62)。
(17) データ構造の要素サイズの獲得(第22図参照) ファイル識別子fidおよびデータ構造識別子didを入力
する(ステップS63)。操作部103は、ファイル識別子fi
dおよびデータ構造識別子didにより識別されるデータ構
造を検索し、そのデータ構造の要素サイズsizeを出力す
る(ステップS64,S65)。
(18) データ構造数の獲得(第23図参照) ファイル識別子fidを入力する(ステップS66)。操作
部103は、ファイル識別子fidにより識別されるファイル
を検索し、そのファイルに含まれるデータ構造の数を出
力する(ステップS67,S68)。
(19) アトミックなデータの生成(第24図参照) ファイル識別子fid、アトミックなデータの要素サイ
ズsizeおよび生成すべき要素の内容dataを入力する(ス
テップS69)。操作部103は、ファイル識別子fidにより
識別されるファイルを検索し、そのファイル内に要素サ
イズsizeのデータ領域を確保し、その領域にdataにより
示される内容を書込む(ステップS70,S71)。そして、
操作部103は、確保されたデータ領域を識別するための
データ構造識別子didを出力する(ステップS72)。
(20) アトミックデータの読出し(第25図参照) ファイル識別子fidおよびデータ構造識別子didを入力
する(ステップS73)。操作部103は、ファイル識別子fi
dおよびデータ構造識別子didにより識別されるアトミッ
クなデータを検索し、そのデータの内容を読出す(ステ
ップS74,S75)。
(21) アトミックなデータの書込み(第26図参照) ファイル識別子fid、データ構造識別子didおよび書込
むべきデータの内容dataを入力する(ステップS76)。
操作部103は、ファイル識別fidおよびデータ構造識別子
didにより識別されるアトミックなデータを検索し、そ
のデータにdataにより示される内容を書込む(ステップ
S77,S78)。
(22) アトミックなデータの消去(第27図参照) ファイル識別子fidおよびデータ構造識別子didを入力
する(ステップS79)。操作部103は、ファイル識別子fi
dおよびデータ構造識別子didにより識別されるアトミッ
クなデータを検索し、そのデータを消去する(ステップ
S80,S81)。
上記の機能(1)〜(22)により、各ファイルに含ま
れる各データ構造またはアトミックなデータの構造を操
作することができる。このようなデータ構造の操作は、
ファイル管理装置101に外部から機能名を与えるだけで
行なうことができるので、このファイル管理装置101を
利用する情報処理装置または処理系の側でデータ構造操
作のためのプログラムを準備する必要はない。そのた
め、ファイル管理装置101を利用する情報処理装置また
は処理系においてデータ構造操作の実現方式に関知する
必要がなくなり、ソウトウェア開発の効率が向上する。
また、各処理系間のインタフェースがファイル管理装
置を介して明確になるため、取り扱うデータの構造さえ
決定すれば、各処理系の並列開発が可能になるととも
に、各処理系の独立性を高めることができる。したがっ
て、各処理系の高機能なものと置換えることが可能にな
る。
第28図は、この実施例のファイル管理装置を用いたプ
ログラム開発装置の全体の構成を示すブロック図であ
る。
このプログラム開発装置によれば、次に示す仕様記述
環境が実現される。
与えられた問題を、複数の図的表現形式を用いて多
面的に記述することができる。
複数の表現形式間における仕様記述情報の関係付け
を行なうことができる。
表現形式間の相互変換を行なうことができる。
階層的な記述を行なうことができる。
部分的に完結した仕様記述の実行結果を確認するこ
とができる。
部分的に完結した仕様記述を部品化・再利用するこ
とができる。
このプログラム開発装置は、各々が異なる表現形式に
従った描画・編集機能を備える図的エディタE1〜Enと、
利用者から与えられた仕様記述に従ってプログラムを作
成する本体装置1とを含む。
本体装置1内の統合ファイル管理装置UFとして上記実
施例のファイル管理装置101を用いることができる 図形エディタE1〜Enの各々は、好ましくは個々独立の
プロセスで実現され、各図形エディタE1〜Enは本体装置
1と通信可能である。ここで図形エディタE1〜Enの各々
と本体装置1との間が通信可能であるのは、プログラム
開発の容易性および将来の機能拡張を考慮し、それぞれ
の図形エディタE1〜Enのプロセスと本体装置1とがたと
えばソケットを用いたプロセス間通信で結合されている
からである。
図形エディタE1〜Enが与える表現形式は、形式的な記
述形式および半形式的な記述形式を含む。形式的な記述
形式は、機能ブロック図およびシーケンスチャート等の
表現形式を含む。
機能ブロック図は、第28図に示すようにモジュール
(ソフトウェアにおいて、ある意味的にまとまりを持っ
た単位)間の接続関係を表現する表現形式である。
第29図は機能ブロック図を用いた仕様記述形式の一例
を示す図である。第29図においては、外部モジュール10
と内部モジュール11との間のデータ接続関係が示され
る。外部モジュール10は、仕様記述対象外の外部の機能
を表現するモジュールである。内部モジュール11は、仕
様記述対象の機能を表現するモジュールである。この外
部モジュール10と内部モジュール11との間においてはデ
ータアーク12によりそのデータの流れが入出力ポートP1
〜P4とともに規定される。なお、外部モジュール10同士
または内部モジュール11同士におけるデータ結合関係
も、第29図と同様に記述される。
この内部モジュールはプリミティブ、部品(部分的に
完結した仕様記述であり、ファイルに登録される)を含
む。
シーケンスチャートは、第30図に示すように入出力デ
ータの因果関係およびモジュール間のデータ送受の関係
等を示す図である。第30図においては外部モジュール10
と内部モジュール11との間のデータの流れを示す。この
シーケンスチャートにおいては、モジュールは1本の順
序線(縦線)により示される。順序線は時間軸を示して
おり、信号が流れる時間的関係をも表わす。このモジュ
ール10,11間のデータの流れは信号線13により表わされ
る。この信号線13により、モジュール間のデータの接続
関係および因果関係が示される。なお、外部モジュール
10同士または内部モジュール11同士におけるデータの接
続関係および因果関係も、第30図と同様に記述される。
半形式的な記述形式は、関係表、決定表などの表形式
で示される表現形式を含む。関係表は、第31図に示すよ
うに関係データ構造を示す。第31図において、関係表
は、表の名称を表示する領域14と、この表に含まれる項
目を示す名称が表示される項目名領域15と、項目のデー
タの型(int(整数)、float(浮動小数点)およびstri
ng(文字列))を示す領域16と、項目の実際のデータ値
が入出力される領域17を含む。決定表は、第32図に示す
ように、処理の選択構造を表わす表現形式である。第32
図において、決定表は、決定表モジュール名を表示する
領域18と、判断条件が表示される領域19と、判断の結果
実行される処理の名称が表示される領域20と、条件に対
する判断を表示する領域21と、条件判断に基づく処理の
実行の有無を表示する領域22を含む。
上述の表現形式に加えて、利用可能な表現形式として
は、データの包含関係を示すデータブロック図、関係演
算を中心とする構造体データ処理を表わす表操作図など
がある。
第33図にデータブロック図による表現形式の一例を示
し、第34図に表操作図の表現形式の一例を示す。
第33図において、データブロック図は、データセット
名領域23と、この領域23のデータが含む要素数を表示す
る領域24と、領域23にセットされたデータのメンバーを
構成するメンバーデータ名または下位階層のデータセッ
ト名を表示する領域26と、メンバーデータのデータ型
(int、float、string、struct)を表示する領域25とを
含む。この領域24はデータが配列構造のときのみ記述さ
れる。データ型がstructの場合には、このデータは下位
に対して階層化していることを示している。各データの
欄がつながっているときはOR接続、欄が分離していると
きはAND接続の接続関係が示される。
第34図に示す表操作図は関係表B1およびB2を所定の操
作に従って処理して新たな関係表B3を形成している状態
を一例として示す。この操作は合併操作といわれてい
る。表操作図における操作は、この合併操作に限定され
ず各種関係演算、分類演算、計算演算等を含む。関係演
算はある関係を満足するように表を操作する演算であ
る。分類演算は表の行をアルファベット順,数値の大小
順等の所定の順に従って並べ換える操作である。計算演
算は、表の特定の列について合計値、平均値などの計算
結果を求める操作である。
第28図へ戻って、本体装置1は、利用者が図形エディ
タE1〜Enを用いて作成した図的仕様記述から得られる情
報を融合して、プログラム実行に必要な制御情報を備え
たコンストラクト情報を生成するとともに、異なる表現
形式を有する図形仕様記述間の情報の相互変換およびモ
ジュール階層間における基本情報の生成を行なって利用
者に提示する相互変換装置CVと、相互変換装置CVで生成
されたコンストラクト情報に従ってプログラムを解釈・
実行し、該実行結果を利用者に提示する実行装置EXと、
図形仕様記述用図形エディタE1〜Enと相互変換装置CV、
実行装置EXおよび部品管理装置CPとの間での情報交換の
ための通信を管理する入出力装置IO、および各処理装置
EX、CV、CPが扱うデータ構造を統合的に管理する統合フ
ァイル管理装置UFとを含む。部品管理装置CPは、ソフト
ウェアにおいてある部分的に完結した仕様記述を「部
品」として登録するとともに、該登録された「部品」を
再利用するための動作を管理する。
コンストラクト情報は、生成された仕様記述情報を制
御構造を含む処理モデルの動作方式に対応するように変
換して得られる情報である。この処理モデルとしてはデ
ータ駆動モデルが一例として用いられている。処理モデ
ルの動作方式に対応させるためには、制御ノードおよび
制御アークを生成する必要がある。コンストラクト情報
では、ノードが仕様記述情報のモジュールに、またアー
クがモジュール間のデータ接続に対応づけられる。
入出力装置IOは、利用者との間のインタフェース、利
用者の指示に基づく各処理装置の実行制御および各処理
装置間で授受されるデータの管理の機能を備える。
利用者との間のインタフェースは以下のものを備え
る。図形エディタを利用した表現形式による仕様記
述、相互変換結果の表示、対応付け機能、引用機
能、プロトタイピング機能、部品登録・再利用、お
よびドキュメントの出力を含む。
図形エディタを利用した各表現形式による仕様の記述
には次の方法が可能である。
(a) 利用者が表現形式の種類と仕様記述名を指定す
る。この仕様記述名の指定は既に記述されている仕様記
述を再記述する場合に行なわれ、新規作成時には新しい
仕様記述名を入力する。
(b) 既に記述されている仕様を詳細化するかまたは
階層的に記述を進めるために、既存の仕様記述内の図形
要素および表現形式を指定する。この場合指定された図
形要素に対応する表現形式を用いて仕様記述が行なわれ
る。
同一モジュールに対し異なる表現形式で仕様記述する
ことができる。この場合、相互変換装置CVはその内部の
相互変換用ルールテーブル検索に従って、表現形式の図
形エディタに対して、対応する図形要素を変換して、他
の利用者に表示される。1つの仕様記述が異なる表現形
式により記述することができるので、記述内容の多面的
な把握が容易となり、より完全な仕様を作成することが
可能となる。
対応づけ機能は、意味的に等価な情報(たとえば、デ
ータ同志または機能モジュール同志等)を異なる表現形
式間で関係づける機能である。この機能は、種々の表現
形式に従って記述された仕様を順次統合化していくため
に、それぞれ独立に記述された種々の仕様情報を相互に
関係づけるために必要とされる。
すなわち、第35図に示すように、機能ブロック図で表
現されたモジュールM7は、表操作図を用いて記述するこ
とができる。この表操作図で表わされたモジュールM7と
機能ブロック図で表示されたM7とは意味的に等価であ
る。この場合、この異なる表現形式で表わされたモジュ
ールM7が図に矢印で示すように、意味的に同一であると
関係づけられる。この操作を「対応づけ」操作と呼ぶ。
また各表現形式間においては、互いに情報を共有して
いる場合がある。この場合、既に記述された仕様情報を
他の表現形式での記述時に引用すれば記述時における作
業量を減ずることができる。このある表現形式で記述さ
れた情報を他の表現形式へ用いることを「引用」と呼
ぶ。たとえば第8図に示すように関係表で示されたモジ
ュールM10は、表操作図で表現された表M10と同一であ
る。この場合、図に矢印で示すように、関係表の表M10
が表操作図での表現形式に従った記述時に引用される。
また同様に表操作図における表M8は、関係表で表現され
た表8と同一である。この場合も、関係表で表現された
M8が表操作図の表現形式に従った記述時に引用される。
プロトタイピング機能は、部分的に完結した仕様記述
の実行結果を確認する機能である。このプロトタイピン
グにおいては、各階層独立に仕様記述の実行結果を確認
することができる。このプロトタイピング時における入
出力データの指定、および入力データの作成は指定され
たデータ構造に従って利用者が行なう。
部品登録・再利用のためのインタフェースは、部品管
理装置CPに対し部品の登録および登録された部品の利用
を指示する。
ドキュメントの出力機能は、種々の表現形式を用いて
記述された仕様記述に対し、各表現形式ごとに記述され
た図的な仕様記述をハードコピーとしてプリンタに出力
し、そのままソフトウェアの設計ドキュメントとして利
用可能とする。
入出力装置IOと各処理装置との間のインタフェースに
ついて説明する。まず図形エディタとの間のインタフェ
ースについて説明する。
入出力装置IOは、利用者が指定した各種の図形エディ
タの起動および終了制御を行なう。また、入力された仕
様記述の名前および図形エディタの種類等、エディタの
起動および終了時に必要とされる情報を管理する。この
動作は以下のものを含む。
(a) 利用者が表現形式の種類と仕様記述の名前を指
定すれば、入出力装置IOは、指定された表現形式に相当
する図形エディタを起動し、かつ同時に、仕様記述の名
前をこの起動された図形エディタへ渡す。
(b) 各図形エディタはその内部に他の図形エディタ
を起動するための機能を備えている。あるエディタ内で
指定した図形要素(エディタが表示する操作ツールに含
まれる図形要素)および表現形式の種類が入出力装置へ
通知される。この図形要素は表現形式の種類によりシン
ボルの種類や形状が異なる。入出力装置IOは、この指定
された表現形式に相当する図形エディタを起動するとと
もに、指定された図形要素をこの起動された図形エディ
タへ送る。
(c) 仕様記述の終了制御。各図形エディタは終了用
操作ツールを備えている。この終了用操作ツールにより
当該図形エディタの終了が入出力装置IOへ通知される。
入出力装置IOは、この終了通知に応答して、作成された
仕様記述の名前、エディタの種類等の上方を保存した後
終了を通知した図形エディタを終了させる。
入出力装置IOはまた図形エディタおよび相互変換装置
とのインタフェースを与える。各種の表現形式を用いて
仕様を記述する場合、また複数の仕様記述を相互に利用
する場合においては、入出力装置IOは図形エディタおよ
び相互変換装置CVとの間で以下の処理を行なう。
(a) 利用者が記述した描画情報は、各図形要素を記
述した段階で入出力装置位IOを介して順次相互変換装置
CVへ送られる。相互変換装置はこの入出力装置IOから与
えられた情報に従って所定の処理(これについては後述
する)を行なった後入出力装置IOへ返送する。この場
合、返送されるデータとしては、入力された仕様記述情
報に対応する異なる表現形式での表現可能な仕様情報等
である。この相互変換装置CVから返送されるデータはそ
の処理結果とともに返送先の仕様記述の識別子IDが付さ
れている。入出力装置IOはこの識別子IDに対応する仕様
記述を特定し、相互変換装置CVが形成した処理結果をそ
の転送先の図形エディタへ返送する。また、相互変換装
置CVが入力された仕様記述上において矛盾を検出した場
合、この矛盾検出を示すメッセージを入出力装置IOは利
用者に提示する。
(b) 仕様記述過程において2つの図形エディタ上で
ユーザが指定した2つの図形要素に対して、入出力装置
IOはこの2つの図形要素を論理的に対応づけることがで
きるか否かを判断する。対応づけが可能な場合、この入
出力装置IOは両図形エディタに対し同一の論理的な仕様
情報を返送する。対応づけが不能な場合には、この対応
不能を示すメッセージを利用者に提示する。
(c) 引用 複数の図形エディタ間で仕様情報を引用する場合、図
形エディタ上で利用者が指定した図形要素の描画情報お
よび仕様情報を、入出力装置IOは引用先の図形エディタ
へ転送する。
次に入出力装置IOと実行装置EXとのインタフェースに
ついて説明する。実行装置EXの実行時(たとえばプロト
タイピング)に必要とされる入力データ情報および入出
力データの位置情報は、仕様記述時と同様にして図形エ
ディタから入出力装置IOへ伝達される。入出力装置IOは
この実行の前処理を行なう実行用ハンドラー(図示せ
ず)にこれらの情報を手渡す。この前処理が終了した段
階で、入出力装置IOは利用者による実行開始指示に応答
して実行装置EXを起動する。実行結果のデータは、この
上述の実行用ハンドラーから入出力装置IOを介して表示
装置DP上へ表示される。この表示装置DPへの表示はたと
えば出力結果表示用ルーチンを起動することにより実行
される。
入出力装置IOと部品管理装置CPとのインタフェースは
以下のものを含む。
(a) 部品登録時のインタフェース 利用者が作成した仕様記述が部分的に完結した段階
で、利用者が指定した登録対象の仕様記述情報と部品名
は入出力装置IOを介して部品管理装置CPへ伝達される。
(b) 部品再利用時のインタフェース 図的エディタ上で利用者が指定した部品名は入出力装
置IOを介して部品管理装置CPへ伝達される。部品管理装
置CPはこの与えられた部品名に対応する部品情報をファ
イル管理装置UFを介して検索し、検索された部品情報を
入出力装置IOを介して起動されている図形エディタへ返
送する。
利用者が部品情報を参照したい場合には、入出力装置
IOが利用者からの指示のもとに部品仕様書表示ルーチン
を起動することにより、この図的に表現された部品情報
が表示装置DP上に表示される。
相互変換装置CVの機能について説明する。この相互変
換装置CVは、利用者が様々な図的表現形式を用いて記述
する仕様記述の内容を統合して効果的な実行形式プログ
ラムを生成するとともに、与えられた仕様記述の特定の
側面(表現形式または階層)から獲得した情報を他の表
現形式に変換する機能を備える。ここで、実行形式プロ
グラムは、処理モデル(データ駆動型モデル)に依存し
た構造を有するコンストラクト情報を仮想マシンの実行
方式に合致するように変換して得られるプログラムであ
る。
相互変換装置CVが統合する仕様記述情報の構成の一例
を第36図に示す。この仕様記述情報は、モジュール情報
MI、シーケンス情報SIおよびデータ構造情報DIを含む。
モジュール情報MIは、このソフトウェアシステムを構
成する個々のモジュールの動作およびモジュール間のデ
ータ接続に関する情報である。このモジュール情報は、
機能ブロック図を用いた仕様記述をベースとして、各モ
ジュール間の階層関係を生成する。このモジュール情報
は、モジュール間のデータ接続関係を通してデータ構造
情報をも統合する。モジュール情報は機能モジュール、
決定表モジュール、構造体データ操作モジュールに関す
る情報をそれぞれ含む。このそれぞれのモジュールの情
報は図形エディタが表現する機能ブロック図、決定表お
よび表操作図の各表現形式で定義可能な処理内容に対応
する。各モジュールについて以下に説明する。
(A) 機能モジュール: 機能モジュールは、モジュールを構成する内部サブモ
ジュールの情報と各サブモジュール間のデータ接続関係
に関する情報である。サブモジュール情報が備える属性
は、機能ブロック図が与える記述要素と対応し、プリミ
ティブ、部品、内部モジュール、ファイル、分枝、合枝
等がある。モジュールの階層構造は、サブモジュールが
詳細情報を定義しているモジュールに付されているモジ
ュールID(識別子)を付すことにより保存される。
モジュール間のデータ接続関係は機能ブロック図にお
けるアークと対応づけられる。このアークは、データの
生成側サブモジュールと消費側サブモジュールの関係を
表わす。データのデータ構造は、データセットIDにより
データ構造情報を参照する形で管理される。
(B) 決定表モジュールは、決定表から得られる情報
をもとに選択処理に関する情報を、条件判定および判定
結果に基づいて実行される処理によって示す情報であ
る。
各条件判定の内容と対応する実行されるべき処理の関
係は、イベントIDによって管理される。
(C) 構造体操作モジュール情報は、表操作図から得
られる情報をもとに構造体データ操作に関する情報を、
操作対象となるデータおよび各データに作用する操作で
表わす情報である。操作対象となるデータと各操作との
対応関係は、データIDおよび操作IDによって管理され
る。この各データのデータ構造は、データセットIDによ
りデータ構造情報を参照する形で管理される。
データ構造情報は、ソフトウェアシステムで消費/生
成されるデータの型および構造の定義に関する情報であ
る。データ構造の階層関係はデータブロック図を用いた
記述をベースとして生成される。このデータ構造情報
は、包含データ構造情報、関係データ構造情報等を含
み、構造を有しないデータとしてアトム情報を含む。
(A) 包含データ情報は、包含/排他関係にあるデー
タの構成を示す情報である。この包含データ情報は、各
構成データに対して、詳細構造を定義したデータ構造に
与えるデータセットIDを有することによりデータ構造の
階層関係を保存する。
(B) 関係データ構造は、関係データを構成する各項
目データの基本データ型を示す情報である。
(C) アトム情報は、アトムデータに関する基本デー
タ型(int,float,string)を示す情報である。
シーケンス情報は、順次線の属性と順序線に入出力さ
れる信号線の情報を含む。このシーケンス情報において
は、1モジュールに対して複数のシーケンスを定義する
ことが可能なため、これらの関係はシーケンスIDで管理
される。
(A) 順序線情報は、シーケンスチャートにおけるサ
ブモジュールを表わす縦線に関する属性を示す情報であ
る。順序線の属性としては、内部モジュール、ファイル
などを含み、それぞれシーケンスチャートの記述要素と
対応する。モジュール情報中のサブモジュールとの対応
関係はモジュール副IDにより管理される。
(B) 信号線情報は、シーケンスチャートにおける順
序線間のデータ接続(以下信号線と称す)を示す情報で
ある。この信号線情報は、同時に信号線の入力とつなが
って出力される出力シーケンス群の情報を管理すること
により、入出力データの因果関係をも示す。モジュール
情報中のデータ依存性との対応関係はアークIDにより管
理される。
上述のように、仕様記述情報を構成する各部分情報間
の関係は、すべて識別子IDにより管理される。この識別
子IDは、上述のごとく、データ構造情報を識別するデー
タセットID、モジュール情報を識別するモジュールID、
モジュールを構成する内部サブモジュールを識別するモ
ジュール副ID、内部サブモジュール間のデータ接続を識
別するアークID等を含む。新たな情報の追加が発生する
たびに相互変換装置CVは新たな識別子IDを生成して管理
する。
第36図に示すように、主要記述情報の構成において
は、複数の図形エディタを用いて記述された仕様内容は
階層化され、データの参照関係32、モジュールの階層関
係33、同一モジュールに対する共通の定義情報関係34を
含む。したがって、これらの関係を基礎とすることによ
り複数の異なる表現形式で定義された部分的な仕様記述
から対象ソフトウェアシステム全体の仕様記述情報を生
成することができる。
この個々の表現形式により得られた各情報を統合した
仕様記述情報は上述の如く識別子IDにより管理される。
このような個々の表現形式から得られる情報を統合して
得られる仕様記述情報のデータ構造の一例を第37図ない
し第42図に示す。
第37図は仕様記述におけるデータ構造を、第38図は順
序線情報の構造を、第39図は信号線情報の構造を、第40
図は関係データの構造を、第41図は包含データの構造
を、第42図はアトムの構造を示す。第37図ないし第42図
に示す仕様記述情報の構造において、各情報に付された
識別子IDを参照することにより対応の有無および変更の
有無等が決定される。
第43図は相互変換装置の動作を示すフロー図である。
以下、第43図の動作フロー図を参照して簡単にこの相互
変換装置CVの動作について説明する。仕様記述情報の生
成は、入出力装置IOを介して行なわれるエディタとの通
信に基づいて実行される。
ステップS101において、エディタまたは入出力装置IO
からデータが与えられる。このデータは仕様記述情報で
あるかまたは終了コマンド情報、仕様記述作成開始情報
等である。この与えられた情報が終了コマンドであると
判定されると(ステップS102)、相互変換装置CVがファ
イルを閉じるなどの所望の処理を施した後その動作を終
了する。
終了コマンド以外の場合には、相互変換装置CVは、必
要な仕様記述情報を与えられたデータに従って生成する
(ステップS104)。この生成した仕様記述情報を用いて
ファイル管理装置UFへアクセスし、その仕様記述情報用
ファイル内容を生成された仕様記述情報により更新する
(ステップS105)。
一方において、相互変換装置CVはこの与えられた仕様
記述情報から、コンストラクト情報を生成する(ステッ
プS106)。この生成されたコンストラクト情報に関して
は、再びファイル管理装置UFへアクセスすることにより
その新しく生成されたコンストラクト情報が付加される
か変更されるか等によりもとのコンストラクト情報ファ
イルが更新される。
次いで、この相互変換装置CVは、予めテーブルの形態
で格納されている変換用ルールを検索する。この変換用
ルールテーブルへ検索をかけることにより、入力データ
と同一の意味を持つデータがあるか否かを判定する。す
なわち、あるエディタから与えられた情報が他の図的表
現形式のオブジェクトに変換可能か否かを解析する(た
とえば機能ブロック図のモジュールとシーケンスチャー
トの縦線との対応関係)(ステップ109)。この解析に
より他の表現形式への変換可能なオブジェクトが検索さ
れた場合、その対応の変換可能な図的オブジェクトに変
換し(ステップS110)、この変換した結果得られた変換
後の図的オブジェクトを示すデータを対応のエディタへ
入出力装置IOを介して送信する(ステップS111)。この
とき送信をけるエディタは、この変換可能なオブジェク
トを表現することのできるエディタである。この変換処
理がすべて終了すれば(ステップS112)、相互変換装置
CVは再びエディタまたは入出力装置から意味的にまとま
った図的オブジェクトが送信されるのを待つ。
ステップS109において、変換可能な図的オブジェクト
が存在しない場合、相互変換装置CVはその旨を入出力装
置IOへ伝達するとともに、エディタまたは入出力装置IO
からのデータを待機する状態となる。
ここで、入出力装置IOを介して利用者が仕様記述した
結果データが入力されたとき、意味的にまとまった1つ
の図的オブジェクトが更新された場合、その1つのまと
まった図的オブジェクトが相互変換装置CVへ送信され
る。
また、ステップS109において変換可能な図的オブジェ
クトが検索された場合、その変換可能な図的オブジェク
トが複数個存在する場合、この複数の図的オブジェクト
それぞれに対応する表現形式を与える図形エディタへ変
換結果が送信される。この同時に起動された図形エディ
タが与える表現形式の図形要素は、たとえばマルチウイ
ンドゥにより表示装置DP上へ同時に表示される。
次に、図形エディタと相互変換装置CVとの間の情報交
換の例について第44A図および第44B図を参照して説明す
る。この第44A図および第44B図に示す例においては、機
能ブロック図を表現形式とする図形エディタが起動さ
れ、かつ相互変換装置CVが機能ブロック図の表現形式を
ベースとして仕様記述を生成する場合が一例として示さ
れる。
入出力装置IOを介して利用者が行なうモジュール定義
またはデータ構造定義のエディタの起動に応答して、相
互変換装置CVは新たなモジュール情報またはデータ構造
情報を生成する。この生成されたモジュールまたはデー
タの種別は、起動された図形エディタの種類から決定さ
れる。同時に、これらの生成されたモジュール情報また
はデータ構造情報に対しては相互変換装置CVはモジュー
ルIDまたはデータセットIDを生成して起動された図形エ
ディタへ伝達する。第44A図においてはモジュールIDが
図形エディタEへ伝達される。
図形エディタEにおいては利用者がそのエディタ上で
新たに内部モジュールを追加すると、この図形エディタ
Eは、伝達されたモジュールIDとモジュールの属性を示
す情報とともに未定義のモジュール副IDを相互変換装置
CVへ伝達する。相互変換装置CVはこの与えられた未定義
のモジュール副IDに応答して、内部モジュールを生成す
るとともに、この新たなサブモジュール情報を識別する
ためのモジュール副IDを生成して図形エディタEへ伝達
する。
図形エディタEにおいて、機能ヌロック図内で既存の
内部モジュールに関する情報の変更または削除が行なわ
れた場合、この変更または削除情報は相互変換装置CV
へ、対応のモジュール副IDとともに伝達する。相互変換
装置CVはこの情報に応答して対応のサブモジュール情報
の変更または削除を実行する。
複数の内部モジュールが生成された場合、この内部モ
ジュール間におけるデータの接続関係を示すアークが図
形エディタE上で記述される。これに応答して図形エデ
ィタEはデータを送出するモジュールを識別するモジュ
ール副IDと、この内部モジュールのデータ出力ポートを
示すポートIDと、データを入力する行先モジュール副ID
とこの行先モジュールがデータを受けるポートを識別す
る行先ポートIDと、未定義のアークIDを相互変換装置CV
へ伝達する。相互変換装置CVは、この与えられた情報に
応答して内部モジュールにおけるアークを生成するとと
に、このアークを識別するために、与えられた未定義の
アークIDに所定の情報を付加しアークIDとして図形エデ
ィタEへ伝達する。次いでこのアークIDにより識別され
るべきアークに対するデータの構造が指定されると、図
形エディタはこの指定されたデータ構造を示すデータセ
ットIDを対応のアークIDとともに相互変換装置CVへ伝達
する。相互変換装置CVはこの与えられた情報に従ってデ
ータセットIDを登録する。次に、第44B図を参照して階
層構造のモジュールを生成する場合の動作について説明
する。
機能ブロック図において既存の内部モジュールに対
し、この既存の内部モジュールの詳細を定義するために
利用者が他の図形エディタを起動すると、起動をかけた
図形エディタからはこれに応答して、モジュールID、モ
ジュール副IDとともに、新しく付加されるべきモジュー
ルを識別するための下位モジュールID(未定義)が変換
装置CVへ伝達される。変換装置CVは、この与えられた情
報に応答して新たなモジュール情報を生成するととも
に、この生成したモジュール(下位モジュール)に対し
てそのときの上位モジュールのモジュールIDをそれに追
加する。それにより下位モジュールIDが決定される。こ
の生成されたモジュール(下位モジュール)のモジュー
ルIDはこの詳細を定義するために起動されたエディタへ
伝達されるととに、この起動をかけたエディタに対して
も伝達される。この後、下位モジュールに対する記述が
完了すると、起動をかけられた図形エディタからはそれ
を示すための情報とともにモジュールID、モジュール副
IDおよび下位モジュールIDが相互変換装置CVへ伝達され
る。変換装置CVはこの情報に応答して、上位モジュール
と下位モジュールとの結合情報を生成する。起動をかけ
た側の図形エディタからは、内部モジュール情報変更の
シーケンスに従って、下位モジュールに対するモジュー
ルIDの情報が相互変換装置CVへ送られる。これによりモ
ジュール情報の階層構造がこの識別子IDにより上位およ
び下位両側からの参照関係として実現される。
操作のデータ依存性におけるデータとデータ構造情報
との参照関係は以下のようにして実現される。複数の図
形エディタにおける対応付け操作によって、アークとデ
ータ構造記述との対応関係が成立すると、そのときに獲
得されたデータセットIDは、データ依存性情報の変更シ
ーケンスに従って相互変換装置CVへ伝達される。これに
よりモジュールにおける入出力データの構造が保存さ
れ、構造体データへのアクセス系列、ロック範囲の抽出
が可能となる。
上述のように、各モジュールを構成する仕様記述情報
はすべて識別子IDを管理することによりその各部品情報
間の関係が管理される。
この階層的な表現によるソフトウェアシステム全体の
仕様記述の生成の一例について説明する。
第45図はこの階層構造情報から、より正確なモジュー
ル情報を作成する場合の一例を示す図である。第45図に
示すように、上位階層の仕様記述41においては、モジュ
ールF00とモジュールF01との間のデータの送受関係とし
て表わされていた内容に対して、各モジュールの下位層
による詳細記述42および43を形成し、これを相互変換装
置CVにおいて関連づけることにより、モジュールF00が
データaとデータbとをマージしてデータcを導出し、
一方モジュールF01がデータcを受け、データdを出力
するとともに、この出力dをモジュールF00へ返送して
いる構造が解析される。これにより機能モジュールの入
出力データbとデータdとが同一のデータであり、デー
タdが再び繰り返し利用される繰り返し構造44が導出可
能となる。
「マージ」を表わす機能モジュールおよびデータをそ
のまま伝達する「TFゲート;真偽判定ゲート」の動作制
御は機能モジュールPにより行なわれている。この制御
内容は機能モジュールPに対する下位モジュールを用い
ることによりその制御内容の詳細が明らかとなる。
第46図は、この相互変換装置において行なわれる、図
的表現形式の組合わせ(仕様記述)からコンストラクト
情報を生成する構成の一例を示す図である。機能ブロッ
ク図で表現された仕様図45においては、モジュールPお
よびSに関してその動作内容が、単にデータコピーを行
なうのか、選択構造であるのかを決定することができな
い。しかしながら、このそれぞれのモジュールPおよび
Sに対して決定表の記述50および51をそれぞれ関連づけ
ることにより、モジュールPが入力データx,yの大小関
係に応じてモジュールF1〜F3のいずれかを選択するよう
に分岐モジュールSを制御し、分岐モジュールSは、こ
のモジュールPからのデータに従ってデータbをモジュ
ールF1〜F3のいずれかへ伝達する構造が決定される。こ
れによってモジュールPの選択構造が決定され、さらに
分岐モジュールSにおける分岐制御のための制御情報の
生成が可能となる。これにより処理モデルに対する制御
情報を含んだコンストラクト情報46の生成が可能とな
る。
上述の実施例は、複数の表現形式を統合してコンスト
ラクト生成のための情報を獲得する場合を示している。
しかしながら、第47図および第48図に示すように逆に統
合した情報から個々の表現形式の情報を逆生成(相互変
換)することも可能となる。
第47図は、機能ブロック図とシーケンスチャートとの
相互変換を例示的に示す図である。第47図において、機
能ブロック図60から得られた内部モジュール情報61は順
序線情報62に変換され、この順序線情報に従ってシーケ
ンスチャート上の順序線が生成される。ここで内部モジ
ュール情報からの順序線情報への変換は、前述のごとく
相互変換装置CVにおいて行なわれ、この情報がシーケン
スチャートを表現形式とする図形エディタへ伝達されこ
の図形エディタが起動されることにより、表示装置上に
シーケンスチャー上の順序線が表示される。以下の説明
においても、この相互変換装置と機能ブロック図および
シーケンスチャートを表現する図形エディタとの間の情
報交換が行なわれている。
また、シーケンスチャート63において機能ブロック図
60から得られた順序線情報62へはさらに内部モジュール
M2が付される。この新たに生成された内部モジュールを
示す順序線情報は機能ブロック図の内部モジュール情報
に変換され機能ブロック図上に内部モジュールが生成さ
れる。このとき、シーケンスチャートにおいて信号線を
形成することにより得られる信号線情報(信号線A〜
D)はデータ依存性情報に変換される。これにより、内
部モジュール情報64において、生成された信号線に対応
するアークが生成される。これにより、各モジュール間
のデータの流れが得られる。しかしながら、信号線情報
は単にデータの流れを示すだけであり、モジュールのど
のポートが接続されるのかを示していないため、この内
部モジュール64より新たに生成された機能ブロック図65
においてはポート接続が未定義であることを示す表示68
が利用者に与えられる。利用者はこれを見てポートを定
義する。
この第47図においては、機能ブロック図から獲得した
情報60から、シーケンスチャートの初期状態62が生成さ
れ、さらこの初期状態のシーケンスチャート62に対して
記述の追加すなわち内部モジュールの生成およびデータ
の流れが付され、この追加されたシーケンスチャートの
記述63に従って、機能ブロック図の内容を生成追加し、
新たな機能ブロック図65を得ている。この場合、新たに
形成された機能ブロック図においては、ポートが未定義
であるという機能ブロック図における不完全部分68を利
用者に提示することにより新たな情報の記述を促すこと
ができ、より正確なソフトウェアシステムの構築が可能
となる。
さらにまた相互変換処理を用いることにより、階層記
述における下位層の情報を生成することもできる。
第48図に示す仕様記述においては、シーケンスチャー
ト71で表現された情報から内部モジュール情報72を形成
し、この内部モジュール情報72におけるモジュールM1に
対する下位モジュール73およびモジュールM2に対する下
位モジュール74をそれぞれ形成している。この相互変換
構成に対し、新たなシーケンスチャート75が与えられた
場合、すなわちモジュールM1が外部モジュールからデー
タAを受けてデータDを送出している構造が記述された
場合、相互変換装置CVは、既に与えらている内部モジュ
ール情報72にこのシーケンスチャート75で獲得された情
報を付加する。この場合データAに対するデータIDの一
致を検出することにより、モジュールM1は、データAを
受けてデータBおよびDを導出していることが認識され
る。この構造より、階層表現の下位モジュール73を考慮
することにより、M1はその下位構造において分岐構造を
有しており、データBとデータDをそれぞれ導出する下
位モジュールM11およびM12を含んでいることが検出され
る。この場合、モジュールM2はデータBおよびデータC
の関係はシーケンスチャート71の場合が保存されるため
その下位構造78は下位モジュール74と同一表現となる。
さらに、第49図に示すシーケンスチャート71に対し、
新たなシーケンスチャート79が形成された場合、この形
成されたシーケンスチャートにより獲得された情報に従
って機能ブロック図が得られる。この場合、データBに
対するデータIDの一致を検出することにより、データA
とデータDとが排他的データ構造であれば、モジュール
M1に対して、データAを受ける下位モジュールM11とデ
ータDを受ける下位モジュールM12とを備え、このモジ
ュールM11およびM12の出力がマージされてデータBを導
出する下位構造を備えているというマージ構造80が生成
される。
次に実行装置EXの機能について説明する。実行装置EX
は、相互変換装置CVで生成されたコンストラクト情報を
実行モデル(仮想的なマシン)の動作方式に従って実行
可能なプログラムに変換する変換部と、プロトタイピン
グを実行する実行部とを含む。
コンストラクト情報を変換して得られる実行形式情報
は、データの流れによって表わされる処理の流れおよび
各処理の構造を表現する接続情報と、この接続情報中に
番号のリンク(種々のID)で出現する定数情報、データ
構造情報、およびファイル情報に大きく分割される。こ
の実行形式情報においても接続情報は階層ごとにまとま
りを有しており、階層間においては対応するポートがリ
ンクされる関係を維持しつつこのノード番号を一意的に
生成する。実行装置EXにおける実行部が所定の仕様を実
行する場合、ノードの接続を追跡して順次プログラムを
実行する。したがって、この実行に適した情報形式への
変換とは、このノードの情報に付随したアークの情報に
よってノード間の接続関係が示される情報形式へ変換す
ることである。次に、この実行装置EXの動作についてそ
の動作フロー図である第50図を参照して説明する。第50
図においては、実行装置EXの動作フローがシーケンスチ
ャートを用いて表示される。ユーザは仕様記述上でデー
タを入力したいデータアークを指定する。この指定され
たデータアークに対応する入力ウィンドウが開かれ、表
示装置DP上に表示される。入力ウインドゥには指定した
データアークのデータ構造に対応するテンプレートが表
示される。入力データの設定はこのテンプレートを埋め
るようにして行なわれる。出力データの設定も入力デー
タの設定と同様であり、仕様記述上でデータをモニタし
たいデータアークを指定すると、出力ウインドゥが開か
れ、指定したデータアークのデータ構造に対応するテン
プレートが表示される。
このユーザが指定した入力データは、入出力装置IO、
相互変換装置CVを介して統合ファイル管理装置UFに書込
まれ、入力データの更新が行なわれる。このファイル管
理装置UFにおいてデータ更新の管理が終了するとこの完
了を示す情報が相互変換装置CVを介して入出力装置IOへ
伝達される。利用者はプロトタイピング実行開始を指示
すると、この実行開始指示は入出力装置IOを介して実行
装置EXへ与えられる。実行装置EXは、統合ファイル管理
装置UFで入力ウインドゥに設定された入力データが書込
まれた領域を参照し、この入力データを読出し、指定さ
れた仕様記述に対応するプログラムを実行する。
実行装置EXは統合ファイル管理装置UFから入力データ
を読出し、実行形式情報中に含まれるノードの接続を追
跡しながらノードに設定される機能を順次実行し、出力
データのアークに出力指定がなされていたとき出力デー
タを得る。実行装置EXは出力データを得ると統合ファイ
ル管理装置UFへその出力データを書込む。これにより出
力データの更新が行なわれる。統合ファイル管理装置は
このデータの更新の完了を実行装置EXへ与えると、次い
で実行装置EXから入出力装置IOへプロトタイピングの実
行完了が知らされる。入出力装置IOはこの実行終了を受
けると変換装置CVへ実行終了を知らせる。相互変換装置
CVはこの実行終了に応答して統合ファイル管理装置UFに
書込まれた出力データの参照を行ない、出力データを読
出して入出力装置IOへ伝達する。入出力装置IOは与えら
れた出力データを表示装置DP上に先に開かれていた出力
ウインドゥに表示する。
上述のように仕様記述上の任意の階層を対象としたシ
ミュレーション実行はその入力データの設定および出力
データ形式の設定を行なうだけで実行されるため、作成
された仕様の確認見直しを行なうことができる、次に部
品管理装置CPの機能について説明する。
仕様記述においてある完結した仕様は「部品」と称さ
れる。この部品を管理する部品管理装置CPは、以下の機
能を備える。
部品情報の提示機能、部品名リストの提示機能、
表の項目データ型の提示、コンストラクト情報の提
示、部品仕様書表示機能、部品の登録機能、部品
の拡張機能である。この部品管理装置CPへは入出力装置
IO、相互変換装置CVおよび実行装置EXがアクセス可能で
ある。次に第51図を参照して部品の参照動作について説
明する。
第51図は部品の参照動作フローをシーケンスチャート
により示す図である。部品を参照したい場合、利用者は
入出力装置IOが与えるメニューから「部品参照」を選択
する。入出力装置IOは、この「部品参照」指示に応答し
て、登録されている部品の一覧表を表示するために、部
品管理装置CPに部品名リストの要求を行なう。部品管理
装置CPは、ファイル管理装置UFを介して部品情報ファイ
ルを探索し、登録されている部品名のリストを入出力装
置IOへ部品管理装置CPを介して伝達する。入出力装置IO
は、図形エディタを起動して部品参照用ウインドゥ(参
照WD)を開き、登録部品の一覧表を表示装置上に表示す
る。
利用者は、この部品参照用ウインドゥ(参照WD)中に
示された部品のうち、入出力情報を参照したい部品をた
とえば「マウス」のようなデータ入力装置または文字入
力装置を用いて指定する。入出力装置IOはこの利用者か
らの参照部品指定に応答して、部品仕様書エディタ(仕
様書ED)を起動し、指示された部品名をこの部品仕様書
エディタへ手渡す。
部品仕様書エディタ(仕様書ED)は、仕様書ファイル
に記憶されている部品仕様書ファイルを参照し、この部
品仕様書を表示する。これにより、利用者は図的に表現
された仕様記述レベルの部品仕様書を表示装置DP上で見
ることが可能となる。
次に部品の引用動作について説明する。
仕様記述を行なっている状態において、部品を引用し
た場合、機能ブロック図エディタまたはシーケンスチャ
ートエディタの描画モードにおいて「部品」を選択す
る。部品を引用するエディタは、入出力装置IOに対して
部品要求情報の要求を出す。入出力装置IOは、上述の部
品参照動作時と同様にして利用者からの指示により、部
品引用のためのウインドゥを開き、登録部品の一覧表を
表示する。
利用者はこの部品参照用ウインドゥに示された部品の
うち、引用したいものを指定する。入出力装置IOは、こ
の指定された部品に対する部品情報を部品管理装置CPに
要求する。部品管理装置CPは、ファイル管理装置UFを介
して部品情報ファイルを探索し、指示された部品に対す
る部品情報を入出力装置IOへ与える。
入出力装置IOは、部品管理装置CPより与えられた部品
情報を、さらに、この部品を引用したいエディタへ与え
る。エディタは与えられた部品情報をもとに描画を行な
うとともに仕様記述内容の変更を入出力装置IOへ通知す
る。
次に統合ファイル管理装置UFの機能について説明す
る。この開発装置で取り扱われる仕様記述の内容に関す
る情報は1つの統合的なファイルとして表現される。こ
のファイルを操作する機能はデータ構造操作命令として
統合ファイル管理装置UFにより実現される。統合ファイ
ル管理装置UFは、仕様記述に関する情報を表現する内部
データ構造へのアクセス(生成、参照、更新、削除等)
を実行する他の処理装置(入出力装置IO、相互変換装置
CV、実行装置EX、および部品管理装置CP)との間に宣言
的に結合されたインタフェースを持ち、仕様記述情報を
表現する内部データ構造を統合的に管理する。
統合ファイル管理装置UFを利用する他の処理装置は、
必要とされるデータ構造操作に対するオペレーションコ
ードと、そのデータ構造操作に必要とされる情報を統合
ファイル管理装置UFへ渡す。統合ファイル管理装置UF
は、指示されたデータ構造操作を実行し、実行結果を統
合ファイル管理装置UFを呼出した処理装置へ返す。
用いられるデータ構造としては、このプログラム開発
装置においては、スカラ(アトム)とリスト構造とが採
用される。このリスト構造を用いれば、「配列」、「レ
コード」、および「ベクター」等の構造を表現すること
ができるからである。このリスト構造を用いる場合、
添字(識別子)による要素へのアクセス、およびキー
の一致による要素へのアクセスが実行される。このリス
ト構造においては、処理対象とするデータ構造全体の識
別子(名前)に対する論理的な識別子「fid」と、「fi
d」によって識別されるデータ構造中において「size」
によって示される配列要素のサイズのデータ領域を1個
の要素とする配列を識別するための論理的な識別子「di
d」とを含む。これらの識別子を用いることにより、フ
ァイルにおけるアクセス領域が確定される。
スカラのデータ構造により統合ファイル管理装置UFを
参照した場合、データ名による参照および更新が行なわ
れなる。
各処理装置は、相互に情報交換を行ないながら並列に
動作する。統合ファイル管理装置UFへは、このため、多
重アクセス要求が発生する。これらのアクセスは、動的
に発生するため、統合ファイル管理装置UFを利用する側
の処理装置においては、多重アクセスが発生しているか
どうかを判別することができない。またたとえ、多重ア
クセスが発生していることを判別することができたとし
ても、後からアクセスを要求した処理装置がファイルに
対してアクセスを実行してよいかどうかは、アクセスを
要求した処理装置は知ることができない。このため、統
合ファイル管理装置UFは、マルチプロセス環境において
ファイルに関する一連のアクセスに対する一貫性を保証
するための機構を備える。このような機構として、統合
ファイル管理装置UFを利用する側がアクセス要求を行な
ったとき、引き続いて同一ファイルの同一レコードに対
してアクセス要求を行なうか、また、どのようなアクセ
ス要求を行なうかを統合ファイル管理装置UFに通知する
ことにより統合ファイル管理装置UFにおいてファイルの
必要な範囲にロックをかけるロック制御機構が設けられ
る。
ロック制御は1つのプリミティブとして実現される。
統合ファイル管理装置UFが管理するファイルには、テン
ポラリファイルとパーマネントファイルの2種類存在す
る。テンポラリファイルは、1度使用すると消費され
る。パーマネントファイルは、対象プログラムの実行前
後を通じて保存される。ファイルを使用するプリミティ
ブを実行する場合には、書込み対象となるテンポラリフ
ァイルは常に作成される。次に、この発明の一実施例で
あるプログラム開発装置によるソフトウェアシステムの
作成の具体的例について説明する。
今在庫管理問題の中から、「キー」によって検索する
モジュールを記述する場合を考える。今具体的な問題と
して、以下の問題を記述する。
検索データは品物リストである。この品物リストは、
「品物リスト:品物コード、品名、数量、納入元」の構
造を持っている。検索項目(キー)は、品名コードまた
は数量である。数量を「キー」とする検索の場合には、
与えられた数量以上の品物コードに対応する品物をリス
トする。
まず、第52図に示すように、外部とのインタフェース
を記述する。この記述対象のシステムは、品名コードを
入力して該当リストを出力する品名検索モジュール91
a、品物リストファイル91b、および外部モジュール(ユ
ーザ)91c、数量を入力して同じく該当リストを出力す
る数量検索モジュール91dを含む。この機能側面からの
記述は機能ブロック図91により表現される。このときこ
の機能ブロック図91で表現されたモジュール情報はシー
ケンスチャートに変換され、表示されている(第52図右
下部参照)。
次に第53図に示すように、各モジュール間におけるデ
ータ流れの順序関係を記述する。第1のシーケンスチャ
ート92においては、品名検索シーケンスを記述し、第2
のシーケンスチャートにおいては数量検索のシーケンス
を記述する。このシーケンスチャート92および93で記述
された信号線は、直ちに機能ブロック図94上のデータア
ークに変換され表示される。このとき、シーケンスチャ
ートにおいてはポート情報は反映されないため、ポート
情報に関しては機能ブロック図94において記述する。
ここで、シーケンスチャートを用いてデータ相互の関
係を記述したが、機能ブロック図を用いてデータ相互の
関係を記述してもよい。このように共通の情報が異なる
表現形式間で相互に変換反映されることにより、記述相
互間の矛盾を回避することができる。
次に第54図に示すようにデータ構造を記述する。該当
リスト(図示せず)および品物リストを関係表95、品名
コードおよび数量をデータブロック図96で記述する。第
54図に示す例においては、該当リストは最低必要な品名
コードおよび数量のみが記述される。記述されたデータ
構造と機能ブロック図上のデータアークおよびシーケン
スチャート上の信号線は対応づけ操作により対応づけら
れる。この対応づけ操作を用いることにより、繁雑な名
前づけの作業から解放される。
次に第55図に示すように、内部モジュールの詳細の定
義を行なう。第55図において、記述対象のモジュールに
含まれる品名検索モジュール91aは、ファイル操作であ
るため、表操作図96により記述される。この表操作図96
においては、既に先に記述した機能ブロック図により入
出力情報が変換され反映されている。この表操作図96に
おける表データの構造は、関係表95aおよび95bから引用
される。引用されたデータ構造は、元の関係表と対応づ
けられている。したがって、元の関係表データ構造を変
更すれば、この表操作図96におけるデータ構造も変更さ
れる。これにより仕様の変更に伴う変更忘れを防止する
ことができる。
品名検索モジュールは、第55図に示す表操作図で記述
したことによりその仕様記述が完結し、実行可能とな
る。この実行可能となった品名検索モジュールに対し第
56図に示すようにプロトタイピングを行なって仕様記述
内容を検証する。すなわち品物コードを入力データと
し、該当リスト96bを出力データとする。入力データで
ある品物コードに、品物リストに含まれる品名コードを
記入する。以下、装置の実行動作により、この品名コー
ド3に対応する品物が該当リスト上にその対応の数量と
ともに表示される、このプロトタイピングにより得られ
た実行結果に従って仕様記述内容を、対象とする仕様に
従って変更し、再度実行して検証する。
この後、検索システムの仕様の記述が完了した場合、
これは1つの部分的に完結したモジュールであり、「部
品」として登録する。
[発明の効果] 以上のように、この発明によれば、ファイル管理装置
内にデータ構造の論理的な構造に関する情報が含まれて
いるので、外部の情報処理装置からファイル管理装置に
命令を与えれば、ファイル管理装置自身がデータ構造に
対する操作を行なうことができる。ファイル管理装置内
にデータ構造の操作機能を含ませることができるので、
そのファイル管理装置を利用する装置または処理系の側
でデータ構造操作のためのプログラムを準備する必要が
なく、またデータ構造操作の実現方式に関知する必要が
なくなる。すなわち、データ構造操作を使用者側から隠
蔽できる。
また、データ構造操作が各処理系から独立するので、
ファイル管理装置を利用する複数の処理系の並列開発が
可能になるとともに、各処理系相互の独立性を高めるこ
とができる。したがって、ソフトウェア開発の効率が向
上するとともに、各処理系の高機能化に柔軟に対応でき
るシステムを構築することが可能となる。
【図面の簡単な説明】
第1図はこの発明の一実施例によるファイル管理装置の
構成を示すブロック図である。第2図は同実施例のハー
ドウェアの構成を示すブロック図である。第3図はファ
イル記憶部に記憶されるファイルの構成を概念的に示す
図である。第4図はファイル記憶部の記憶内容を説明す
るための図である。第5図は操作部の動作を説明するた
めのフローチャートである。第6図はデータ構造のオー
プンの機能を説明するためのフローチャートである。第
7図はデータ構造の保存の機能を説明するためのフロー
チャートである。第8図はデータ構造識別子の獲得の機
能を説明するためのフローチャートである。第9A図はデ
ータ構造の追加[1]の機能を説明するためのフローチ
ャートである。第9B図は第9A図の機能の実行例を説明す
るための図である。第10A図はデータ構造の挿入[1]
の機能を説明するためのフローチャートである。第10B
図は第10A図の機能の実行例を説明するための図であ
る。第11A図はデータ構造の削除の機能を説明するため
のフローチャートである。第11B図は第11A図の機能の実
行例を説明するための図である。第12A図はデータ構造
の読出しの機能を説明するためのフローチャートであ
る。第12B図は第12A図の機能の実行例を説明するための
図である。第13A図はデータ構造の書込みの機能を説明
するためのフローチャートである。第13B図は第13A図の
機能の実行例を説明するための図である。第14A図はデ
ータ構造の追加[2]の機能を説明するためのフローチ
ャートである。第14B図は第14A図の機能の実行例を説明
するための図である。第15A図はデータ構造の挿入
[2]の機能を説明するためのフローチャートである。
第15B図は第15A図の機能の実行例を説明するための図で
ある。第16図はデータ構造の複製の機能を説明するため
のフローチャートである。第17図はデータ構造の探索の
機能を説明するためのフローチャートである。第18図は
データ構造の消去の機能を説明するためのフローチャー
トである。第19図はデータ構造の現在位置の通知の機能
を説明するためのフローチャートである。第20図はデー
タ構造の現在位置の変更の機能を説明するためのフロー
チャートである。第21図はデータ構造の要素数の獲得の
機能を説明するためのフローチャートである。第22図は
データ構造の要素サイズの獲得の機能を説明するための
フローチャートである。第23図はデータ構造数の獲得の
機能を説明するためのフローチャートである。第24図は
アトミックなデータの生成の機能を説明するためのフロ
ーチャートである。第25図はアトミックなデータの読出
しの機能を説明するためのフローチャートである。第26
図はアトミックなデータの書込みの機能を説明するため
のフローチャートである。第27図はアトミックなデータ
の消去の機能を説明するためのフローチャートである。
第28図はこの発明のファイル管理装置を用いたプログラ
ム開発装置の全体の構成を概略的に示す図である。第29
図は仕様記述表現形式の1つである機能ブロック図を例
示する図である。第30図は仕様記述表現形式の1つであ
るシーケンスチャートを例示する図である。第31図は仕
様記述表現形式の1つである関係表を例示する図であ
る。第32図は仕様記述表現形式の1つである決定表を例
示する図である。第33図は仕様記述表現形式の1つであ
るデータブロック図を例示する図である。第34図は仕様
記述表現形式の1つである表操作図を例示する図であ
る。第35図は複数の表現形式を用いて仕様記述を行なっ
た際の「引用」および「対応づけ」操作を例示する図で
ある。第36図は仕様記述情報の構成の一例を示す図であ
る。第37図は仕様記述情報の構成を一覧にして示す図で
ある。第38図は仕様記述情報に含まれる順序線情報の構
成を示す図である。第39図は第37図に示す信号線情報の
構成を示す図である。第40図は第37図に示す関係データ
の構成を示す図である。第41図は第37図に示す包含デー
タの構成を示す図である。第42図は第37図に示すアトム
の構成を示す図てある。第43図は相互変換装置の動作を
示すフロー図である。第44A図および第44B図は仕様記述
表現手段である図形エディタと相互変換装置との間のデ
ータ送受シーケンスを例示する図である。第45図は複数
の図的表現形式の組合わせからコンストラクト情報を生
成する態様を例示する図である。第46図は複数の図的表
現形式の組合わせからコンストラクト情報を生成する他
の態様を例示する図である。第47図は相互変換装置にお
いて実行される機能ブロック図とシーケンスチャートの
相互変換態様を例示する図である。第48図はシーケンス
チャートと機能ブロック図との相互変換機能を利用して
シーケンス仕様情報の階層記述における下位階層の情報
を生成する態様の一例を例示する図である。第49図は相
互変換機能を利用して仕様記述の階層記述における下位
階層の情報を生成する他の態様を例示する図である。第
50図は、プロトタイピング実行動作を示すシーケンスチ
ャート図である。第51図は部品参照動作を示すシーケン
スチャート図である。第52図ないし第56図は仕様記述の
一具体例を例示する図である。 図において、101はファイル管理装置、102はファイル記
憶部、103は操作部、104は入出力部、105は情報処理装
置、fidはファイル識別子、didはデータ構造識別子であ
る。 なお、各図中同一符号は同一または相当部分を示す。
───────────────────────────────────────────────────── フロントページの続き (73)特許権者 999999999 三菱電機株式会社 東京都千代田区丸の内2丁目2番3号 (72)発明者 寺田 浩詔 大阪府吹田市山田西3丁目52番地 千里 一条池B―803 (72)発明者 西川 博昭 大阪府吹田市江坂町1丁目12番55―1002 号 (72)発明者 芳田 真一 奈良県天理市櫟本町2613番地の1 シャ ープ株式会社IC事業本部IC技術セン ター内 (72)発明者 日根 俊治 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (72)発明者 西川 洋一郎 大阪府守口市京阪本通2丁目18番地 三 洋電機株式会社内 (72)発明者 原 秀次 大阪府守口市京阪本通2丁目18番地 三 洋電機株式会社内 (72)発明者 嶋 憲司 兵庫県尼崎市塚口本町8丁目1番1号 三菱電機株式会社産業システム研究所内 (72)発明者 稲岡 美恵 兵庫県尼崎市塚口本町8丁目1番1号 三菱電機株式会社産業システム研究所内 (72)発明者 山崎 哲男 兵庫県尼崎市塚口本町8丁目1番1号 三菱電機株式会社産業システム研究所内 (56)参考文献 「インターフェース」NO.111 (1986−8)P.306〜313 情報処理学会第41回(平成2年後期) 全国大会(5−265〜5−274)超高位図 的仕様記述環境(AESOP)プロトタ イプにおける仕様記述環境 白根俊治 他8名

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】外部の情報処理装置との間の命令またはデ
    ータの入出力を行なうための入出力手段、 各々に識別子が与えられ、かつ各々が自身の論理的な構
    造に関する情報を含む複数のデータ構造を外部記憶媒体
    にファイルとして記憶するファイル記憶手段、および 前記入出力手段を介して前記外部の情報処理装置から与
    えられる、前記識別子を含む所定の命令に応答して、前
    記外部記憶媒体に記憶されたデータ構造のうち前記識別
    子により特定されるものに対して、前記所定の命令によ
    り特定される操作を、前記構造に関する情報を参照して
    行なうデータ構造操作手段を備え、 それによって、前記命令を発行した情報処理装置に対し
    て前記操作を隠蔽しながらファイル内のデータ構造に対
    する操作を行なう、ファイル管理装置。
JP2191819A 1990-07-17 1990-07-17 ファイル管理装置 Expired - Fee Related JP3059467B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2191819A JP3059467B2 (ja) 1990-07-17 1990-07-17 ファイル管理装置
US08/764,773 US5794042A (en) 1990-07-17 1996-12-12 File management apparatus permitting access to portions of a file by specifying a data structure identifier and data elements

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2191819A JP3059467B2 (ja) 1990-07-17 1990-07-17 ファイル管理装置

Publications (2)

Publication Number Publication Date
JPH0475134A JPH0475134A (ja) 1992-03-10
JP3059467B2 true JP3059467B2 (ja) 2000-07-04

Family

ID=16281055

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2191819A Expired - Fee Related JP3059467B2 (ja) 1990-07-17 1990-07-17 ファイル管理装置

Country Status (2)

Country Link
US (1) US5794042A (ja)
JP (1) JP3059467B2 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6137863A (en) * 1996-12-13 2000-10-24 At&T Corp. Statistical database correction of alphanumeric account numbers for speech recognition and touch-tone recognition
US6016492A (en) * 1997-07-15 2000-01-18 Microsoft Corporation Forward extensible property modifiers for formatting information in a program module
US6154579A (en) * 1997-08-11 2000-11-28 At&T Corp. Confusion matrix based method and system for correcting misrecognized words appearing in documents generated by an optical character recognition technique
US6219453B1 (en) 1997-08-11 2001-04-17 At&T Corp. Method and apparatus for performing an automatic correction of misrecognized words produced by an optical character recognition technique by using a Hidden Markov Model based algorithm
US6141661A (en) * 1997-10-17 2000-10-31 At&T Corp Method and apparatus for performing a grammar-pruning operation
US5983239A (en) * 1997-10-29 1999-11-09 International Business Machines Corporation Storage management system with file aggregation supporting multiple aggregated file counterparts
US6205428B1 (en) 1997-11-20 2001-03-20 At&T Corp. Confusion set-base method and apparatus for pruning a predetermined arrangement of indexed identifiers
US6208965B1 (en) 1997-11-20 2001-03-27 At&T Corp. Method and apparatus for performing a name acquisition based on speech recognition
US6223158B1 (en) 1998-02-04 2001-04-24 At&T Corporation Statistical option generator for alpha-numeric pre-database speech recognition correction
US6205261B1 (en) 1998-02-05 2001-03-20 At&T Corp. Confusion set based method and system for correcting misrecognized words appearing in documents generated by an optical character recognition technique
US7031925B1 (en) 1998-06-15 2006-04-18 At&T Corp. Method and apparatus for creating customer specific dynamic grammars
US7937260B1 (en) * 1998-06-15 2011-05-03 At&T Intellectual Property Ii, L.P. Concise dynamic grammars using N-best selection
US6400805B1 (en) 1998-06-15 2002-06-04 At&T Corp. Statistical database correction of alphanumeric identifiers for speech recognition and touch-tone recognition
US6263348B1 (en) * 1998-07-01 2001-07-17 Serena Software International, Inc. Method and apparatus for identifying the existence of differences between two files
US6311192B1 (en) * 1998-09-29 2001-10-30 Electronic Data Systems Corporation Method for initiating workflows in an automated organization management system
US6631380B1 (en) 1999-07-29 2003-10-07 International Business Machines Corporation Counting and displaying occurrences of data records
DE19937423C2 (de) * 1999-08-07 2001-10-04 Ibm Verfahren zur schnellen Datensicherung und Datenübertragung
US6560772B1 (en) * 1999-10-15 2003-05-06 International Business Machines Corporation Method, system, and program for accessing data in different environments
JP3979009B2 (ja) * 2000-07-07 2007-09-19 株式会社デンソー 制御情報出力装置及び情報システム
US7047420B2 (en) * 2001-01-17 2006-05-16 Microsoft Corporation Exclusive encryption
US7043637B2 (en) * 2001-03-21 2006-05-09 Microsoft Corporation On-disk file format for a serverless distributed file system
US7062490B2 (en) 2001-03-26 2006-06-13 Microsoft Corporation Serverless distributed file system
US6981138B2 (en) * 2001-03-26 2005-12-27 Microsoft Corporation Encrypted key cache
US6988124B2 (en) 2001-06-06 2006-01-17 Microsoft Corporation Locating potentially identical objects across multiple computers based on stochastic partitioning of workload
IL161263A0 (en) * 2004-04-02 2004-09-27 Crossix Solutions Llc A privacy preserving data-mining protocol
US20060080574A1 (en) * 2004-10-08 2006-04-13 Yasushi Saito Redundant data storage reconfiguration
JP4933280B2 (ja) * 2006-02-22 2012-05-16 キヤノン株式会社 情報処理装置、情報処理方法
JP4908073B2 (ja) * 2006-06-15 2012-04-04 株式会社日立製作所 サービスベースソフトウェア設計支援方法及びそのための装置
US8577933B2 (en) * 2006-08-02 2013-11-05 Crossix Solutions Inc. Double blinded privacy-safe distributed data mining protocol
US9922100B2 (en) * 2008-11-14 2018-03-20 Adobe Systems Incorporated Systems and methods for facilitating the development of an application that accesses data
US8522016B2 (en) * 2010-06-18 2013-08-27 Axis Technology Software, LLC On-the-fly data masking
JP2020126409A (ja) * 2019-02-04 2020-08-20 株式会社日立製作所 データ管理システムおよびデータ管理方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4315315A (en) * 1971-03-09 1982-02-09 The Johns Hopkins University Graphical automatic programming
JPS56168263A (en) * 1980-05-30 1981-12-24 Hitachi Ltd Program making device
JPS57108962A (en) * 1980-12-25 1982-07-07 Casio Comput Co Ltd Search system of electronic dictionary
JPS59125461A (ja) * 1982-12-30 1984-07-19 Fujitsu Ltd リレ−シヨナル・デ−タベ−スにおけるアウタ−ジヨイン演算方式
US4571700A (en) * 1983-06-16 1986-02-18 International Business Machines Corporation Page indexing system for accessing sequentially stored data representing a multi-page document
JPS6027040A (ja) * 1983-07-25 1985-02-12 Fujitsu Ltd マルチプロセツサによるソ−ト・マ−ジ・ジヨイン処理方式
US4731734A (en) * 1983-10-17 1988-03-15 Data General Corporation Digital computer system incorporating object-based addressing and access control and tables defining derivation of addresses of data from operands in instructions
US4558413A (en) * 1983-11-21 1985-12-10 Xerox Corporation Software version management system
JPH0640302B2 (ja) * 1984-01-30 1994-05-25 株式会社日立製作所 図式・ソ−スプログラム自動生成方法
US4656603A (en) * 1984-03-01 1987-04-07 The Cadware Group, Ltd. Schematic diagram generating system using library of general purpose interactively selectable graphic primitives to create special applications icons
US4831580A (en) * 1985-07-12 1989-05-16 Nippon Electric Industry Co., Ltd. Program generator
US4970678A (en) * 1985-10-24 1990-11-13 International Business Machines Corporation System for providing context-sensitive on-line documentation in a data processor
US4939689A (en) * 1987-04-09 1990-07-03 Crowninshield Software, Inc. Outline-driven database editing and retrieval system
US4803643A (en) * 1987-08-10 1989-02-07 Oclc Online Computer Library Center Incorporated System and method for creating memory-retained, formatted pages of text, tabulation, and graphic data
JPH022459A (ja) * 1987-12-11 1990-01-08 Hewlett Packard Co <Hp> 問合わせ処理方法
US4864497A (en) * 1988-04-13 1989-09-05 Digital Equipment Corporation Method of integrating software application programs using an attributive data model database
US4912637A (en) * 1988-04-26 1990-03-27 Tandem Computers Incorporated Version management tool
US5129086A (en) * 1988-11-29 1992-07-07 International Business Machines Corporation System and method for intercommunicating between applications and a database manager
US5199104A (en) * 1988-12-15 1993-03-30 Sony Corporation Electronic organizer with electronic book marker
US5303361A (en) * 1989-01-18 1994-04-12 Lotus Development Corporation Search and retrieval system
US4961148A (en) * 1989-02-06 1990-10-02 Chrysler Corporation Method for preparing automotive assembly operations documents
US5146552A (en) * 1990-02-28 1992-09-08 International Business Machines Corporation Method for associating annotation with electronically published material
EP0456249B1 (en) * 1990-05-10 1998-12-09 Hewlett-Packard Company System for integrating application programs in a heterogeneous network enviroment

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
「インターフェース」NO.111(1986−8)P.306〜313
情報処理学会第41回(平成2年後期)全国大会(5−265〜5−274)超高位図的仕様記述環境(AESOP)プロトタイプにおける仕様記述環境 白根俊治 他8名

Also Published As

Publication number Publication date
US5794042A (en) 1998-08-11
JPH0475134A (ja) 1992-03-10

Similar Documents

Publication Publication Date Title
JP3059467B2 (ja) ファイル管理装置
Florijn et al. Tool support for object-oriented patterns
US5241645A (en) Computer system for creating and manipulating subsets of dynamic information systems models
US5233513A (en) Business modeling, software engineering and prototyping method and apparatus
US5193183A (en) System for accessing design data of modeler subsystems by reference to partnership set and for dynamically correlating design data of modeler subsystems
US5692184A (en) Object relationship management system
US5249300A (en) System and method of constructing models of complex business transactions using entity-set variables for ordered sets of references to user data
US6499036B1 (en) Method and apparatus for data item movement between disparate sources and hierarchical, object-oriented representation
US5193182A (en) Computer system for defining logical operations on design data including retrieve entity-set, send, receive, signal, when, reference to entity-set, reference to entity method, connect and disconnect
US6035300A (en) Method and apparatus for generating a user interface from the entity/attribute/relationship model of a database
US5146591A (en) Dynamic information management system utilizing entity-relationship information model in which the attribute is independent of an entity
US6718218B1 (en) CAD data model with design notes
JP2008512794A (ja) オブジェクト処理グラフアプリケーション開発システム
AU4098700A (en) Circuit arrangement for measuring the resistances of a pressure-sensitive resistance mat
JPH0743700B2 (ja) データ駆動型情報処理装置
JP2571144B2 (ja) プログラム開発装置
JP3115578B2 (ja) プログラム開発装置
WO2001008007A1 (en) Method and system of automated generation of program code from an object oriented model
JP2571143B2 (ja) プログラム開発装置
Fu Hierarchical modeling of large-scale systems using relational databases
WO1991017494A1 (en) Dynamic information management computer system
Hardwick et al. Step services for sharing product models in a virtual enterprise
CA2118358C (en) Method for mapping between object-oriented models and relational models, or between two object models
PART Using Visio in Information Technology
WO1997007470A1 (en) Method and apparatus for storing and retrieving data in a relational database using an object model

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090421

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees