JPS6068403A - ロボツト・プログラミング装置 - Google Patents

ロボツト・プログラミング装置

Info

Publication number
JPS6068403A
JPS6068403A JP58172507A JP17250783A JPS6068403A JP S6068403 A JPS6068403 A JP S6068403A JP 58172507 A JP58172507 A JP 58172507A JP 17250783 A JP17250783 A JP 17250783A JP S6068403 A JPS6068403 A JP S6068403A
Authority
JP
Japan
Prior art keywords
robot
japanese
description
program
inference
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
JP58172507A
Other languages
English (en)
Inventor
Hirokazu Taki
滝 寛和
Akihiko Naito
明彦 内藤
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
Original Assignee
Mitsubishi Electric Corp
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 filed Critical Mitsubishi Electric Corp
Priority to JP58172507A priority Critical patent/JPS6068403A/ja
Publication of JPS6068403A publication Critical patent/JPS6068403A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form
    • G05B19/4093Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part program, for the NC machine
    • G05B19/40931Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part program, for the NC machine concerning programming of geometry
    • G05B19/40936Defining geometry with a high level language
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35504Multilingual communication, messages in different languages
    • 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の技術分野〕 この発明は、日本語のプログラム記述によって産業用ロ
ボットの制御を行なうようにしだロホ゛ット・プログラ
ミング装置に関するものである。
〔従来技術〕
第1図および第2図は従来のこの種口ボット・プログラ
ミング装置を示すもので、まず、第1図に示す全体構成
ブロック図において(1a)はプログラム入出力装置、
(2a)は文法的構文解析装置、(4)はロボット制御
装置、151はたとえば生産工程中において、組立部品
を所定位置に移動させる整動作業、または溶接作業、あ
るいは塗装作業などを自動的に行なう産業用のロボット
である。次に第2図は、上記文法的構文解析装置(2&
)の基本機能を示すフローチャートである。
従来のロボット・プログラミング装置は上記のように構
成されているので、いまプログラム入出力装置(1a)
から入力された英数記号等からなるロボット制御プログ
ラム(6)は、第2図のフローチャートに示すように、
文法的構文解析装置i(2a)によ゛つてシー・4ンシ
ヤルなコ7ンド群(8)に変換される。そして、上記1
コボツト制御プログラム(61の各記述の個々の部分は
、1対1に対応するシー・ゲンシャルなコ′7ンド(8
D (j=1〜i)に変換されるようになされている。
すなわち、この動作を云い換えると、上記ロボット制御
プログラム(6)は、その−字一句を省略しないで記述
しなければ、正確にロボットを動作させるコ2ンド(指
令)に変換されない。
従来のロボット・プログラミング装置におけるロボット
制御プログラム(6)は、上述したように、英数記号等
によるシーケンシャルな「プログラム記述」を必要とし
、−字一句の省略か許されないため、操作者は、日常語
゛(自然言語)とは全く掛は離れた言語記述を行なわな
ければならない煩わしさがあるばかりでなく、操作者は
、日常語の論理をこ存在する暗黙の省略、および高位概
念の表現ができないうえ、ロボット制御言語を不慣れな
い英数記号等で記述しなければならない欠点があった。
〔発明の概要〕
この発明は、かかる点に着目してなされたもので、ロボ
ット制御プログラムとして、日本語による「プログラム
記述」を可能とし、しかも日本語に含まれる省略や、高
位概念処理を推論によ′つて補なう機能を持ち、自然言
語(日本語)に多く含まれる非決定的な「プログラム記
述」をシー、iンシャルなロボット制御コ7ンドに変換
すること力Sできるロボット・プログラミング装置を提
供しようとするものである。
〔発明の実施例〕
すなわち、第6図〜第5図は何れもこの発明の一実施例
を示すもので、第6図はロボット・プログラミング装置
の全体構成ブロック図、第4図(ま日本語記述のロボッ
ト制御)”ログラノ、カ)らfill fillコ“?
ノド群を生成する過程を説明するためのフローチャート
、第5図はこの発明にかかる推論装置ξを、説明するた
めのフローチャートで、まず、第6図において、(Ib
)は日本語入出力装置1 (2b)Gま日本語構文解析
装置、(3Jは制御コ2ンド変換装置、ffi 。
(7)は推論装置、(9)は知識ベースで、これら各部
材によってこの発明のロボット・プログラミング装置a
Cを構成するようになされている。
次に、上述した第4図に示すフローチャートにおいて、
(IIIは文分離・不足情報追加処理、q3は一階述語
論理形式・(成る仮定が成立すると、・成る結論が導、
出される表現で、一般的には「もし〜ならば〜」の形で
表現できるもので、仮定のみの表現、結論のみの表現も
盆んでいる)への変換処理である。
次に、上述した第5図に示すフローチャートにおいて、
+131は上記−階述語論理形式の仮定表現入力、■は
この仮定表現人力αJに関係する知識を検索するための
検索・照合装置、1151は上記推論過程ICおいて使
用する変数と、その値を記憶するための変数スタックメ
モリ、(16)は上記推論過程において、どの知識を利
用したかを記憶する知識利用スタックメモリ、(1ηは
上記知識ベース(91内の知識配列、(18]) 〜 
(18n)はこの知識配列(17)内の一階述語論理形
式の知識表現、G9は上記知識利用スタックメモリ06
)内の情報によって判定を行なう推論終了判定装置、(
2■はこの推論終了判定装置#2 (191力J■を論
を続行させる場合に、上記検索・照合装置+141への
一階述論理形式からなる推論過程中の仮定表現中間入力
、G21)は上記推論終了判定装置む旧こよ番〕、推論
が終了したときの推論結果用ツバ (22g)〜(22
m)は上記知識利用スタックメモ!J GGIが保存し
ている上記知識表現(1−8+)〜(18n)’\の指
示ポインタである。
この発明のロボット・プログラミング装置i)ま上記の
ように構成されており、次にその動作でこつG)で説明
する。
すなわち、上記日本語記述のロボット制御フ”ログラム
+61は、第5図に示すように日本語入出力装置(1b
)から入力される。そして、入力されたロボット制御プ
ログラム(6)は、次段の日本語構文解析装置(2b)
によって構文解析される。
この構文解析は、第4図に示すように、文法的構文解析
装置!(2a)によってロボット制御プログラム(6)
が品詞と構文形態とに分解され、次に、文分類・不足情
報追加処理+Il+が行なわれるわけであるが、この入
力されたロボット制御プログラム(6)が命令文であれ
ば、[ロボット制御コ7ンド」として解釈され、また、
肯定文であれば「知識」として解釈され、上記−階述語
論理形式への変換処理02+に情報が移される。
なお、上記命令文において、意味的省略表現や、後述す
る高位概念表現を含む場合には、上記−階述語論理形式
への変換処理02+を経て推論が行なわれ、また、不足
情報追加処理Ouとして日本語に46いて文法的に省略
されている主語・目的語等をロボット制御プログラム(
6)の前後の文から補なうようになされている。そして
上記−階述語論理形式に変換された日本語プログラムは
、上記推論装置(7)によりロボット制御コ・?ンド(
8)に変換されるわけであるが、この変換過程を次の1
−プログラムh己述」によって説明rる。すなわら、 〔記述001〕 ◎部品Aは軽い。
〔記述002〕 ◎部品りは重い。
〔記述006〕 ◎成る部品が重い、ならば道具13 f、使用。
〔i己述 004 〕 ◎朝いものを台車Cに道具を使用しなし)C移動せよ。
〔記述005〕 ◎部品りを台車ILに移動せよ。
以上のようなロボットffi制御ブーグラム記述におい
て、〔記述001〕、〔記述002〕は内定文であり、
また、〔記述003〕は条件文(肯定文)であり、さら
に〔記述004〕、〔記述005〕は命令文である。
しかして、上記〔記述004〕に3いて、「軽し)もの
」は「軽い部品」の高位概念であり、まIで上記〔記述
005)iこおいて、「使用道具の省略」(よ、意味的
省略表現であり、さらに上記〔記述001)および〔記
述002〕は上記−階述語論理形式の結論表現そのまま
であり、さらにまた上記〔記述00口〕は次に説明する
ような一階述語論理形式に変換される。
〔記述003](2) もしく成る部品が重い〉ならば〈道具Bを使用〉次に、
上記〔記述004〕は命令文で、高位概念表現を有して
いるため、次の一階述語論理と、ロボット制御コ゛?ン
ド(命令文)に変換される。
〔記述004)(2) ◎何が軽いか。
〔記述004)(3) ◎「それ」を台車Cに、道具を使用しないで移動せよ。
なお、上記〔記述004)(2) は、−階述語論理形
式の仮定表現であり、また上記〔記述004〕〔6〕 
における「それ」は、上記〔記述004M2)を利用し
て推論を行ない、その結果によって与えられるようにな
されている。
次に、上記〔記述005〕は命令文で、意味的省略表現
を有しているため、次の一階述語論理と、ロボット制御
コ”?ンド(命令文)に変換される。
〔記述005)(2) ◎道具の使用は? 〔記述005H3] ◎部品りを台車Eに「その道具」を使用して移動せよ。
なお、上記〔記述005](2) は上述した一階述語
論理形式の仮定表現であり、Jた上記〔記述005)(
3) に8ける「その道具」は、上述した〔記述005
)(2) を利用して推論を行ない、その結果によって
与えられるようになされている。
次に、上記推論装置(7)における動作を上述した「プ
ログラム記述」の−例と、第5図によって説明する。
まず、上述した「プログラム記述」の〔記述001)(
記述002〕および〔記述006〕を知識配列[lη内
の(181) (182) (’18m) に対応させ
ると、仮定表現人力031として、上記〔記述004)
(2:1が検索照合装置041に入力される。、テして
、この検索照合装は圓は、上記〔記述004)(2]に
照合できる知識を知識配列旺η内から検索し、この[記
述004][2]は上記〔記述001)(18+) に
マッチする。そして、次の[記述002] (182)
の照合を保留するため、知識利用スタックメモv (1
61に上記(18m)を示す指示ポインタ(22])を
蓄積する。また、上記〔記述004](2)と、〔記述
001]の照合によって上記「何」と「部品A」とが対
応する。
そして、この「何」が「部品A」であることを変換スタ
ックメモリα9に保存する。
次に、上述した〔記述002H2) についての照合・
検索が終了することにより、推論終了判定装置Hが、推
論結果出力(21)として、変数スタックメモリa9の
内容を出方すると♂もに、この変数スタックl モリQ
51と、知識利用スタックメモリaωの内容は消去され
、この推論結果出方(21)により、ロボット制御ファ
ントである上記〔記述004][3) は次のように変
換される。
〔記述004][4) ◎[部品AJ、9台車Cに道具を使用しないで移動せよ
次に、上記仮定表現久方(+31として、上記〔記述0
05)(2) が、検索・照合装置(14+に入力され
ると、この検索・照合装aa41は上記〔記述005〕
〔2〕 に照合できる知識を上記知識配列11η内から
検索する。このとき、上記〔記述000〕〔2〕は、〔
記述001)(18+]、〔記述002][182) 
には?ツチせず、〔記述003’l[18B] に7ソ
チする。
次に、検索すべき知識がないため、知識利用スタックメ
モリ16)にはNVLL記号(無を示す)を蓄積し、ま
た、上記〔記述005〕〔2〕 と、〔記述003〕の
照合によって「道具」には、「道具B」が対応し、この
「道具」が「道具B1であることを変換スタックメモリ
051に保存するようになされている。そして、上記〔
記述003〕は、榮件文であるため、推論終了判定装置
丘αωはこの〔記述OQ3〕から「ある部品」と、「部
品D」とを対応させて変数スタックメモリ0ωに保持子
るとともに、上記仮定表現「部品りは重いか?」「記述
006」 を生成し、仮定表現中間入力(2■として上
記検索・照合装にα4)に引き渡すと、この検索・照合
装置圓は〔記述006〕に照合でさる知識を上記知識配
列11η内から検索する。このとき、上記〔記述006
〕は、〔記述001)[18+3には゛7ツチせず、〔
記述002) (182)に2ソチする。
このようにして、上記〔記述006’)の検索・照合が
終了するこdこより、推論終了判定装置卸が、推論結果
出力(21)として、変数スタックメモリ(15)の内
容を出力するようになされており、また、この変数スタ
ックメモリ(151と、知識利用スタックメモリ061
の内容が消去されるとともに、この推論結果出力(21
)によって、ロボット制御ファント(指令)である(記
述005)〔6) は次のようζこ変換される。
〔乙己述 005] 〔4) ◎部品りを台車E1で「道具B」を使用して移動せよ。
また、上記推論過程に2いて、仮定表現が、祭件文(も
し7〜ffらば〜形式)に7ソナしたときは、その条件
文h)ら、二へ出さ、h4る仮定表現が上り己仮定表現
中間人力(20+となり、推論が探りliる。つまり、
知識利用スタックメモリに、ポインターが次々に保存さ
4′1.ていく才月プである。
さらに、上記仮定表現中間人力c?1こマツチする知識
がないときには、上記検索・照合装rf?tG41は、
その仮定表現中間入力(2αを生成するために使用され
た知識(81)によって発生した変数スタックメモリQ
51のデータを消去するとともに、上記知識(81)が
゛7ツチしなかったものとして知識利用スタックメモリ
(161のポインターによって次の知識について照合を
開始するようになされている。そして、マツチングする
対象がなくなると、さらにその知識利用スタックメモリ
叩上の上記ポインターを消去し、次のポインターに戻っ
て推論を続行するようになされている。
なお、推論か終了せずに、知識利用スタックメモリaO
が空になったときに、推論が失敗し、この推論を中止さ
せるが、この場合、ロボット制御コマンド(指令)は生
成されず、実行できない日本語入力としてエラー処理(
操作者に実行できないことを知らせる)を行なうように
なされでいる。
以上述べた要領によって生成されたロボット制御コ7ン
ド群(8)は、制御コンンド変換装f! +31にょつ
て、そのaボッ) +51固有の制御コ2ンドに変換さ
れるわけである。
なお、上述した一実施例においでは、推論装置な(7J
、日本語構文解析装置(2b)等(謡、装置直々してハ
ードウェア表現を行なう場合について述べたが、必ずし
もこれに限定されるものでなく、同等の機能をソフトウ
ェアで行なうことが容易であることはいうまでもない。
また、上述した一実施例においては、日本語入力として
、肯定文、命令文についてのみ説明したが、日本語の入
力として質問文を仮定辰現入力α3とすると、推論結果
出力(21)として質問の解答を得ることが可能である
。さらに上記推論結果出力(21)がロボット(5)の
制御コマンドに一致する場合には、第6図に示す制御コ
マンド変換装置(3)を省略し得ることはいうまでもな
い。
〔発明の効果〕
以上述べたように、この発明によれば、日本語入力装置
ff(1b)と、日本語構文解析装置(2b)と、推論
装+i+71と、知識ベース(9)等をロボットグログ
ラミング装置内に付加するようにしたので、意味的省略
はもちろん、高位概念表現を含む日本語によるロボット
プログラム記述がpJ能となり、操作者がロボットプロ
グラムを特別なプログラム研修を実施′うることなく簡
単に作成することができる優れた効果を有するものであ
る。
【図面の簡単な説明】
第1図および第2図は従来のCの種口ボット・プログラ
ミング装置を示すもので、第1図は全体構成ブロック図
、第2図は文法的構文解析装置の基本機能を示すフロー
チャートである。第6図〜第5図は何れもこの発明の一
実施例を示すもので、第3図は全体構成ブロック図、第
4図(″i日本語記述のロボット制御プログラムθ)ら
制御コ7ンド群を生成する過程を説明するためのフロー
チャート、第5図は推論装置を説明するための70−チ
ャートである。 図においで、(Ia)はプログラム入出力装置、(1b
)は日本語入出力装置、(2a)は文法的構文解析装−
X11(2b)は日本語構文解析装置、(3Jは制御コ
7ンド変換装置、(4)はロボット制御装置、15Jは
ロボッ)、(71は推論装U、ta+はコ゛2ンド群、
(9)は知識ベース、01はロボット、プログラミング
装!i’ls (Illは文分類・不足ti!j報追加
装置、(Iりは一階述語論理形式への変換処理、0士は
検索・照合共心、(15)は変数スタックメモリ、(1
0は知識利用スタックメモリ、07)は知識配列、(1
8+)〜(18n)は知識表現、a剖は推論終了判定装
置、(20)は仮定表現中間入力、(21)は推論結果
出力、(22e)〜(22m)は指示ポインタである。 なお、図中同一符号は同一または和尚部分を示す。 代理人 大岩増雄 第1図 第2図 旦 第3図 第4図 手続補正書(自発) 特許庁長官殿 ジ願、1 1、事件の表示 特願昭 58−172507号2、発
明の名称 ロボット・プログラミング装置 3、補正をする者 代表者片山仁へ部 4、代理人 5、補正の対象 明癲書の「発明の詳細な説明」の欄。 6、補正の内容 (1)明細書第11頁第3行の「(1831」をi(1
g21Jと補正ずろ。 (2)明細書第12頁第7行のl−N V L T−記
号」をrNULL記号」と補正する。 以 上

Claims (1)

  1. 【特許請求の範囲】 +IIプログラム入出力装置から入力されたプログ51
    hヲ解釈しロボットの実行命令を生成してロボット制御
    装置を介してロボットを自動制御するようにしたものに
    おいて、日本語人出刃装置と、日本語構文解析装置と、
    推論装置と、知識ベースとを付加し、意味的省略と高位
    概念表現を含む日本語によるロボットプログラム記述を
    可能にしたことを特徴とするロボット・プログラミング
    装置。 (2)日本語に含まれる省略と、高位概念処理を推論に
    よって補なう推論装置とロボット制御装置との間に、日
    本語に含まれる非決定的なプログラム記述をロボット制
    御コ゛7ンドに変換する制御コ°7ンド変換装置を介装
    したことを特徴とする特許請求の範囲第1項記載のロボ
    ット−プログラミング装置。
JP58172507A 1983-09-19 1983-09-19 ロボツト・プログラミング装置 Pending JPS6068403A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58172507A JPS6068403A (ja) 1983-09-19 1983-09-19 ロボツト・プログラミング装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58172507A JPS6068403A (ja) 1983-09-19 1983-09-19 ロボツト・プログラミング装置

Publications (1)

Publication Number Publication Date
JPS6068403A true JPS6068403A (ja) 1985-04-19

Family

ID=15943243

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58172507A Pending JPS6068403A (ja) 1983-09-19 1983-09-19 ロボツト・プログラミング装置

Country Status (1)

Country Link
JP (1) JPS6068403A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02202605A (ja) * 1989-01-31 1990-08-10 Osaka Kiko Co Ltd 数値制御工作機械におけるncプログラム作成装置
JPH0346008A (ja) * 1989-07-14 1991-02-27 Csk Corp ロボット制御方式
JPH045709A (ja) * 1990-04-24 1992-01-09 Koyou Sokushin Jigyodan 数値制御プログラム入力装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02202605A (ja) * 1989-01-31 1990-08-10 Osaka Kiko Co Ltd 数値制御工作機械におけるncプログラム作成装置
JPH0346008A (ja) * 1989-07-14 1991-02-27 Csk Corp ロボット制御方式
JPH045709A (ja) * 1990-04-24 1992-01-09 Koyou Sokushin Jigyodan 数値制御プログラム入力装置

Similar Documents

Publication Publication Date Title
US6219831B1 (en) Device and method for converting computer programming languages
Warren Applied logic: its use and implementation as a programming tool
JPS61221873A (ja) 自然言語による質問応答方式
Cordy et al. Practical metaprogramming
Shah et al. Natural language to python source code using transformers
Feyock Transition diagram-based CAI/HELP systems
WO2000003340A1 (en) Configuration description language system
Mamrak et al. Chameleon: A system for solving the data-translation problem
Curzon A verified compiler for a structured assembly language
Friedman A computer system for transformational grammar
JPS6068403A (ja) ロボツト・プログラミング装置
Cohen et al. End-to-end AI generated runtime verification from natural language specification
Andrews et al. The formal definition of Modula-2 and its associated interpreter
Perzylo et al. Generating grammars for natural language understanding from knowledge about actions and objects
Hester et al. Lerche: Generating data file processors in Julia from EBNF grammars
Lecarme et al. Computer‐aided production of language implementation systems: A review and classification
Auguston RIGAL—a programming language for compiler writing
Petit et al. The B method and the component-based approach
JPS61221874A (ja) 自然言語のデ−タベ−ス化方式
Drews et al. A natural language processing approach for mobile service robot control
JP2827724B2 (ja) プログラムデバッグ処理方法
JPH01175035A (ja) 多言語処理コンバータ
Cordes et al. Knowledge base applications with software engineering: a tool for requirements specifications
Babich et al. An approach to compiler construction for a general-purpose simulation language
Fisun et al. USING HIERARCHY ANALYSIS TO SELECT PARSER DEVELOPMENT TOOLS WHEN CREATING DSL