JPH04263318A - 汎用ソフトウェア生成装置 - Google Patents

汎用ソフトウェア生成装置

Info

Publication number
JPH04263318A
JPH04263318A JP3044069A JP4406991A JPH04263318A JP H04263318 A JPH04263318 A JP H04263318A JP 3044069 A JP3044069 A JP 3044069A JP 4406991 A JP4406991 A JP 4406991A JP H04263318 A JPH04263318 A JP H04263318A
Authority
JP
Japan
Prior art keywords
editor
macro
error
icon
description
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.)
Withdrawn
Application number
JP3044069A
Other languages
English (en)
Inventor
Koji Kuwabara
耕治 桑原
Kei Ishii
圭 石井
Naoto Ikeda
直人 池田
Junichi Sakaguchi
順一 阪口
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 Heavy Industries Ltd
Original Assignee
Mitsubishi Heavy Industries 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 Heavy Industries Ltd filed Critical Mitsubishi Heavy Industries Ltd
Priority to JP3044069A priority Critical patent/JPH04263318A/ja
Publication of JPH04263318A publication Critical patent/JPH04263318A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、グラフィカル汎用入力
支援システムに適用される図形入力方式による汎用ソフ
トウェア生成装置に関する。
【0002】
【従来の技術】従来の技術の例として、図11,図12
に示されるものがある。図11に示す従来例1は、ジェ
ネレータジェネレータ2を用いて、様々なコードジェネ
レータ5を自動生成する。コードジェネレータ5は、入
力されたアプリケーションの仕様書の入力からソフトウ
ェアのソースコード6を自動的に生成するツールである
。また、図11において1はアプリケーション定義を記
憶する手段、3はテンプレートを記憶する手段、4はア
プリケーションの仕様書を記憶する手段である。
【0003】上記従来例1では、入力するアプリケーシ
ョンの仕様書の文法などのアプリケーション定義を書き
、そのアプリケーション定義にしたがって生成されるソ
フトウェアのソースコードの外枠をテンプレートにプロ
グラミング言語に近い形に描く、その後、これらのデー
タをジェネレータジェネレータ2に入力すると、実際に
コードを生成するコードジェネレータ5を生成する。
【0004】従来例1の簡単な実例を図5に示す。従来
例1は、“Stage”と呼ばれるツールでAT&T 
 Bell  Laboratoriesで開発された
。図13は、入力するアプリケーションの使用の定義を
行なっている。図14はテンプレートの定義を示してい
る。
【0005】図13では、1行目でこのファイルがアプ
リケーション定義ファイルであることを宣言している。 2行目は、アプリケーションの仕様書のファイル名がs
et_defという変数に代入され、3行目では使用の
書式を記述している。つまり、set*nameの文字
列の後に“{”が続き、“,”で区切られた要素が書か
れて、最後に“}”で終わることを示している。その次
の行にはset_name,elementとも、<>
内の文字で記述されることが表されている。最後の行で
は、生成されるファイル名を記述する。
【0006】次に、図14内で使用されている処理の文
法の意味を示す。%で開始される行が、処理のコマンド
を示し、それ以外はそのままソースコードに出力される
。1行目の%tempateは、このファイルがテンプ
レートの定義であることを示している。また、図14内
で使用されている処理の文法の意味を示す。
【0007】 %d(lenght(set_def(top)))一
番上位に位置するデータの数を出力する。
【0008】図15では“colors”,“citi
es”,“bugs”が一番上位のデータである。
【0009】%(tok(n)) 要素(n)に関する文字列を出力する。
【0010】%forall  n  :%loop(
処理) %endloop 要素(n)より1つ下位の要素について処理を繰り返す
【0011】図15は、アプリケーションの仕様書を示
している。この3つからジェネレータは図16のような
ソフトウェアのソースコードを生成する。
【0012】また、図12の従来例2は、“Graph
  Processor”と呼ばれるツールであり、7
はアイコンを記憶する手段、8は線図情報を記憶する手
段、10は処理記述を記憶する手段である。この従来例
2は、従来例1のアプリケーション定義を部品化したア
イコンを用い、それぞれのアイコンに対応する処理を処
理記述に記述する。また、アイコンを組み合わせて、線
図情報を書く。コードジェネレータ5は、以上のアイコ
ン,処理記述,線図情報からソフトウェアのソースコー
ド6を生成する。この従来例2は、従来例1のアプリケ
ーション定義の代わりに部品化されたアイコンを用い、
また、そのアイコンを線図エディタ上に張り付けていく
だけでソフトウェアのソースコード6が得られるため、
操作性と汎用性に優れている。
【0013】次に従来例2の簡単な実例を示す。図17
はアイコン定義の1例であり、アイコンの形や名前を定
義する。また、図18は処理記述例を示したものである
。まず、ジェネレータによりソフトウェアのソースコー
ドを得るための手続きを、決められた文法にしたがって
詳細に記述する。そして、定義したアイコンを線図エデ
ィタと上で張り付けていくことにより、ソフトウェア仕
様を描く(図19の(a)参照)。実際には多数のアイ
コンを定義し、それらを張り付け、線で結んでいくこと
により、ソフトウェア仕様を描いていく。図19の(b
)は、入力された線図情報から、ジェネレータを用いて
得られたソフトウェアのソースコードの一例である。
【0014】従来例2は、従来例1に比べ、図形入力方
式ができる点で可視可に優れている。また、図形要素ご
とに、処理や図形を定義できるので、部品化しやすい。
【0015】
【発明が解決しようとする課題】しかしながら、従来例
2では、アイコンを組み合わせて描いた線図情報のチェ
ックが行なえなかった。
【0016】また、階層を持った線図情報の記述や、そ
れらのソフトウェアのソースコードを得ることも不可能
であった。
【0017】本発明は上記実情に鑑みてなされたもので
、階層構造を持つソフトウェア仕様でも容易にソースコ
ードが得られると共に、描いた線図情報のエラーチェッ
クを確実に行ない得る汎用ソフトウェア生成装置を提供
することを目的とする。
【0018】
【課題を解決するための手段】上記課題を解決するため
に、図1に示すような、要素図形を組み合わせて描いた
線図情報を属性としてもマクロ要素も含めた要素図形を
定義するアイコンエディタとと、定義したアイコンを記
憶する手段と、処理記述を記述する処理記述エディタと
処理記述を記憶する手段と、マクロ要素も組めた要素図
形を組み合わせて線図情報を描く線図エディタと、線図
情報を記憶する手段と、エラー記述を記述するエラー記
述エディタと、エラー記述を記憶する手段と、ソフトウ
ェア仕様の図形情報と処理記述からソフトウェアのソー
スコードを生成し、エラー記述からエラーチェックを行
なうジェネレータと、ソフトウェア仕様の階層表現を可
能にし、マクロ要素を処理するマクロ要素プロセッサと
を備えたことを特徴とする。
【0019】
【作用】アイコンエディタを用いて、部品化されたアイ
コンを定義し、アイコンを記憶する手段を用いて記憶す
る。また、それぞれのアイコンに対応する処理を処理記
述エディタを使って記述し、処理記述を記憶する手段を
用いて記憶する。線図エディタでは、定義されたアイコ
ンを組み合わせて線図情報を描き、線図情報を記憶する
手段により記憶する。その後、コードジェネレータを用
いて、アイコンを記憶する手段、処理記述を記憶する手
段、線図情報を記憶する手段より得られたデータからソ
フトウェアのソースコードを生成する。また、線図情報
内にマクロ要素(ここで言うマクロ要素とは、ある1つ
の線図情報の代わりに上位の線図情報内に書かれた要素
のことである。)が存在した場合には、アイコンを定義
する手段より、マクロ要素図形と同じ名前の線図情報を
線図情報を記憶する手段から取り出し、マクロ要素プロ
セッサを用いて、マクロ要素の実体と置き換えた後、ソ
フトウェアのソースコードを生成する。
【0020】また、線図情報のエラーをチェックしたい
場合は、まずエラー記述エディタを用いて、それぞれの
アイコンに対応するエラーの条件をユーザが定義する。 次に、コードジェネレータはそのエラー記述に従って、
1つ1つの要素(ここで言う要素とは、線図エディタと
上に張り付けたアイコン1つ1つを指す。)ごとにエラ
ーチェックを行なう。
【0021】
【実施例】以下、図面を参照して本発明の一実施例を説
明する。図1は、本発明の一実施例に係る汎用ソフトウ
ェア生成装置の概念図である。同図において、112は
マクロ要素の取扱いとエラーチェックが可能なジェネレ
ータで、処理記述を記憶する手段10、処理記述エディ
タ11、アイコンエディタ(マクロ図形要素も定義でき
る)101、アイコンを記憶する手段(マクロ要素図形
も含む)102、線図エディタ(マクロ要素も取り扱え
る)113、線図情報を記憶する手段(マクロ要素も扱
える)104、はコードジェネレータ105、エラー記
述エディタ106、エラー記述を記憶する手段107、
マクロ要素プロセッサ109からなっている。また、コ
ードジェネレータ105は、コード生成部110、エラ
ー処理部111を備え、ソースコード6を生成すると共
に、エラーチェック108を行なう。
【0022】上記ジェネレータ112は、アイコンエデ
ィタ101を用いて部品化されたアイコンを作成し、ア
イコンを記憶する手段102に記憶する。それぞれのア
イコンに対応した処理記述を処理記述エディタ11を用
いて作成し、処理記述を記憶する手段10により記憶す
る。また、アイコンエディタ101で定義したアイコン
を用いて、線図エディタと103により、線図情報を描
き、線図情報を記憶する手段104により記憶する。 
 この場合、線図情報はアイコンを線図エディタ103
上に複数張り付け、アイコン間の接続をアークと呼ばれ
る線を用い行なう。また、アイコンエディタ101を用
いてアイコンを定義する際に、アイコンに付随する端子
を設定する。その後、線図エディタ103上では、アイ
コン間の接続はアイコンの端子をアークにより接続する
ことになる。従って、アイコンは、アークと端子により
不特定のアイコンと接続することができ、アイコン自体
には、どのアイコンと接続されるかという情報は付随し
ていない。
【0023】また、上記線図エディタ103上に張り付
けたアイコンが、単に普通のアイコンか、マクロ要素で
あるかの判断は、そのアイコンの名前により行なう。ア
イコンがアイコン記憶手段102により記憶された時、
その記憶された名前には、次に一例を示すようにアイコ
ン自体の名前以外にそれがマクロ要素かどうかの識別子
も包含している。
【0024】     普通のアイコンの記憶ファイル名      
xxx.icon    マクロ要素の記憶ファイル名
          xxx.macro上記の例では
、xxxの部分はアイコン自体の名前が書かれ、その後
の部分でそのアイコンがマクロ要素かどうかを識別して
いる。
【0025】そして、上記アイコン,処理記述,線図情
報が作成できたならば、コードジェネレータ105はそ
れらの記述にしたがってソフトウェアのソースコード6
を生成する。また、マクロ要素が含まれている場合は、
マクロ要素プロセッサ109を用いて、マクロ要素を実
体と置き換えて処理する。
【0026】エラーチェックを行なう場合は、まずエラ
ー記述エディタと106を用いて各要素ごとにエラー記
述を行なう。次に、エラー処理部111により描かれた
線図情報のエラーチェックをエラー記述に従って行なう
【0027】図2は、マクロ要素プロセッサ109実現
のためのフローチャートである。同図において、アーク
とは、線図エディタ上に張り付けたアイコン間を結び付
ける線を意味し、端子とは、アイコン内に定義され、ア
ークを接続する点を意味する。まず、置き換えを行なっ
ていないマクロ要素を探す(ステップA1 )。置き換
えを行なっていないマクロ要素が存在すれば、アイコン
を記憶する手段に記憶されているマクロ要素の名前と一
致する線図情報を、線図情報を記憶する手段から取り出
し(ステップA2 )、その線図情報と置き換える(ス
テップA3 )。そして、対応する端子同士を接続し直
す(ステップA4 )。ここで、全ての端子を接続し直
すまでこの処理を繰り返す(ステップA4 ,A5 )
【0028】図3はエラー処理部111を実現するため
のフローチャートである。エラー処理部111は全ての
要素について、1つ1つの要素に対しエラー記述に従っ
て処理を行なう。まず、エラーチェックを行なっていな
い要素を探し(ステップB1 )、存在したならば、そ
の要素のエラー記述の内容をエラー記述を記憶する手段
より取り出す(ステップB2 )。次にエラー記述に従
って、エラーチェックを行なう。初めに1つの端子に接
続されているアークの数を調べる(ステップB3 )。 その調べたアークの数が規定本数以上、又は、規定本数
以下であるならば、その要素には接続間違いがあったと
して要素を赤枠で囲み(ステップB9 )、処理を終了
する。 ノードのエラーチェックを行なう場合、誤ったノードで
あるかどうかの設定は、全てエラー記述内に定義された
言語を用いてユーザーが自由に行なうことが可能である
。また、端子に接続されるアークのチェックも、ユーザ
ーが自由に設定することができる。
【0029】そして、先の条件をすべての端子について
ステップB3 〜B5 によりチェックし、そのチェッ
クを終了すれば、次の段階へ進む。
【0030】次の段階では、1つの端子に接続されてい
る要素の種類を調べる(ステップB6 )。そこで誤っ
た要素が接続されていたなら(ステップB7 )、その
要素を赤枠で囲む(ステップB9 )。これも同様にス
テップB6 〜B8 により、すべての端子、すべての
要素を調べ終わるまで処理を繰り返す。
【0031】図4はアイコンの定義例で、NAMEと書
かれた四角の箱は要素の名前を記入する部分である。ま
た、黒丸は端子を示し、それぞれ名前が付けられている
【0032】上記図4に挙げた例は、マークフローグラ
フと呼ばれ、非連続制御システムの表現手法として開発
されたものである。マークフローグラフは、以下に示す
数種類の部品(a)〜(e)を用いて描かれ、ボックス
内のマークフローグラフの配置状態とその移動、言い換
えればマーキングの変化によって、システムの挙動を表
示するものである。図4は、このマークフローグラフの
基本部品をアイコン化した例を挙げている。 (a)トランジション:事象を表現するもの。 (b)ボックス    :状態を表現するもの。 (c)アーク      :ボックスとトランジション
を結ぶもので、状況と事象の関係に従って結ぶ。 (d)信号枝      :外部からの入力、外部への
出力及びボックスからの出力を示す。 (e)マーク      :ある状況の保持を示すため
、ボックス中につけられるもので、「・」で示される。
【0033】図5ないし図8はエラーチェック記述例を
示すもので、図5はトランジションのエラーチェック記
述例、図6はボックスのエラーチェック記述例、図7は
入力枝のエラーチェック記述例、図8はアークのエラー
チェック記述例である。以下に、その中で使用されてい
る文法の意味を述べる。
【0034】   IF  ¥IN.NUMBER¥  !=0   
       (処理)              
  端子“IN”に接続されているアークの本    
                         
     数が0でないなら、ENDIFで囲まれた 
                         
        部分の処理を行なう。    END
IF     WHILE  ¥IN.NUMBER¥     
       (処理)              
  WHILEの条件文が真である限り、      
                         
       WENDで囲まれた処理を繰り返す。 
   WEND     ERROR                  
    エラーのあった要素を表示する。    @M
SG  ¥IN[I]¥(TRAN)  ¥NAME 
                         
        端子“IN”に接続されているI番目
の要                       
           素にメッセージ“TRAN”を
送り、その                    
              帰り値を変数“NAME
”で受ける。    MSG  “TRAN”    
        受けたメッセージが“TRAN”の時
、          (処理)          
        MENDで囲まれた部分の処理を行な
い、                       
           変数“NAME”の内容を返す
。    MEND  ¥NAME¥ 図9はマクロ要素定義例で、(a)がマクロ要素の形状
、名前を定義しており、(b)がそのマクロ要素の実体
を表している。
【0035】また、図10はマクロ要素を用いた例であ
る。図10の(a)はマクロ要素を用いて、書いたソフ
トウェア仕様であり、図(10)の(b)はマクロ要素
プロセッサにより、実体と置き換えた例である。
【0036】本発明において、処理記述のバリエーショ
ンは色々考えられる。
【0037】
【発明の効果】以上詳記したように本発明によれば、マ
クロ要素プロセッサを採用したことにより、階層構造を
持つソフトウェア仕様でも容易にソースコードを得るこ
とができる。また、エラー記述ファイルを用いることに
より、ソフトウェア仕様の線図情報に対するエラーチェ
ックを行なうことができる。
【図面の簡単な説明】
【図1】本発明の一実施例に係る汎用ソフトウェア生成
装置の概念図。
【図2】同実施例におけるマクロ要素プロセッサの動作
を示すフローチャート。
【図3】同実施例におけるエラー処理部の動作を示すフ
ローチャート。
【図4】同実施例におけるアイコン定義例を示す図。
【図5】同実施例におけるトランジションのエラーチェ
ック記述例を示す図。
【図6】同実施例におけるボックスのエラーチェック記
述例を示す図。
【図7】同実施例における入力枝のエラーチェック記述
例を示す図。
【図8】同実施例におけるアークのエラーチェック記述
例を示す図。
【図9】同実施例におけるマクロ要素定義例を示す図。
【図10】同実施例におけるマクロ要素プロセッサの使
用例を示す図。
【図11】従来装置の構成例を示すブロック図。
【図12】従来装置の構成例を示すブロック図。
【図13】図11におけるアプリケーション定義例を示
す図。
【図14】図11におけるテンプレート定義例を示す図
【図15】図11におけるアプリケーション仕様書を示
す図。
【図16】図11において生成されるコード例を示す図
【図17】図12におけるノード定義例を示す図。
【図18】図12における処理記述例を示す図。
【図19】図12におけるグラフ例及び生成されるコー
ド例を示す図。
【符号の説明】
1…アプリケーション定義を記憶する手段、2…ジェネ
レータジェネレータ、3…テンプレートを記憶する手段
、4…アプリケーションの仕様書を記憶する手段、5…
コードジェネレータ、6…ソフトウェアのソースコード
、7…アイコンを記憶する手段、8…線図情報を記憶す
る手段、10…処理記述を記憶する手段、11…処理記
述エディタ、101…アイコンエディタ、102…アイ
コンを記憶する手段(マクロ要素図形も含む)、103
…線図エディタ、104…線図情報を記憶する手段(マ
クロ要素も扱える)、105…コードジェネレータ、1
06…エラー記述エディタ、107…エラー記述を記憶
する手段、108…エラーチェック、109…マクロ要
素プロセッサ、110…コード生成部、111…エラー
処理部、112…ジェネレータ。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  入力図形からのコード生成において、
    要素図形を組み合わせて描いた線図情報を属性として持
    つマクロ要素を含む要素図形を定義するアイコンエディ
    タと、定義したアイコンを記憶する手段と、要素図形の
    処理を記述する処理記述エディタと、処理記述を記憶す
    る手段と、マクロ要素も含めた要素図形を組み合わせて
    線図情報を描く線図エディタと、その線図情報を記憶す
    る手段と、エラー記述を記述するエラー記述エディタと
    、エラー記述を記憶する手段と、線図情報と処理記述か
    らソフトウェアのソースコードを生成し、エラー記述か
    らエラーチェックを行なうコードジェネレータと、ソフ
    トウェア仕様の階層表現を可能にし、マクロ要素を処理
    するマクロ要素プロセッサとからなる線図入力方式によ
    る汎用ソフトウェア生成装置。
JP3044069A 1991-02-18 1991-02-18 汎用ソフトウェア生成装置 Withdrawn JPH04263318A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3044069A JPH04263318A (ja) 1991-02-18 1991-02-18 汎用ソフトウェア生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3044069A JPH04263318A (ja) 1991-02-18 1991-02-18 汎用ソフトウェア生成装置

Publications (1)

Publication Number Publication Date
JPH04263318A true JPH04263318A (ja) 1992-09-18

Family

ID=12681343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3044069A Withdrawn JPH04263318A (ja) 1991-02-18 1991-02-18 汎用ソフトウェア生成装置

Country Status (1)

Country Link
JP (1) JPH04263318A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015084246A (ja) * 2014-12-24 2015-04-30 富士電機株式会社 ソフトウェア開発支援装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015084246A (ja) * 2014-12-24 2015-04-30 富士電機株式会社 ソフトウェア開発支援装置

Similar Documents

Publication Publication Date Title
US6769095B1 (en) Hierarchically structured control information editor
KR101438215B1 (ko) 저장기기에 저장된 콘텐츠의 버전을 갱신하는 방법 및시스템
EP0735466A2 (en) Method and apparatus for displaying locations of errors detected inside software macro calls
JP5147240B2 (ja) リバーシブルなデザイン・ツリーの変換のための方法とシステム
US6070006A (en) Object oriented software development tool for creation of new class(es)
CN113791783B (zh) 控件生成方法、装置、设备及存储介质
JPH04348428A (ja) 設計支援方法
JPH04263318A (ja) 汎用ソフトウェア生成装置
JP2010033500A (ja) Guiデータ変換システムおよびguiデータ変換方法
US7412689B1 (en) Method and apparatus for creating a hierarchical model to facilitate identifying components in a programming language file
JPH06348499A (ja) オブジェクト指向プログラミング支援装置及びオブジェクト指向プログラミング支援方法
JPH10171460A (ja) 波形表示修正装置
JP4154164B2 (ja) 知識再利用システム
CN110162307B (zh) 一种将json文件转换为dll文件的方法及装置
JP2001117761A (ja) 画面プログラム製造方法及びその装置並びに画面プログラム製造プログラムを記録した記録媒体
JPS63197229A (ja) モジユ−ル構造自動生成方式
JP2940394B2 (ja) 原始プログラム修正装置
JP2896536B2 (ja) 電子メッセージシステム
JPH04299462A (ja) 汎用ソフトウェア生成装置
JP2004287695A (ja) プログラム開発支援装置及びプログラム開発支援方法及びプログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JPH083730B2 (ja) ラダー・プログラム変換装置
JP2003085223A (ja) ハードウェア・ソフトウェア統合設計システム
JP2000276344A (ja) オブジェクトを利用したプログラム作成システムおよびそのプログラム作成方法
JPH11353167A (ja) 木構造データ変換方法及びその装置
JPH04153759A (ja) ネットワーク定義プログラム開発システム

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19980514