JP2011013887A - ソフトウェア開発支援装置 - Google Patents
ソフトウェア開発支援装置 Download PDFInfo
- Publication number
- JP2011013887A JP2011013887A JP2009156868A JP2009156868A JP2011013887A JP 2011013887 A JP2011013887 A JP 2011013887A JP 2009156868 A JP2009156868 A JP 2009156868A JP 2009156868 A JP2009156868 A JP 2009156868A JP 2011013887 A JP2011013887 A JP 2011013887A
- Authority
- JP
- Japan
- Prior art keywords
- block diagram
- connection information
- good
- target
- program
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【解決手段】本発明は、所定の条件を満たさないNGブロック図のブロック図接続情報をNGブロック図接続情報として予め記憶するNGブロック図接続情報記憶手段と、対象ブロック図接続情報とNGブロック図接続情報とを比較して、対象ブロック図接続情報の少なくとも一部が前記NGブロック図接続情報と一致するか否かを判定するブロック図一致判定手段を備えている。
【選択図】図1
Description
特許文献1は、プログラム仕様として記述されたブロック図から制御用プログラムを機械語で生成する技術を提案している。特許文献2は、プログラム仕様として記述されたブロック図から計算機言語を用いたプログラムコードを生成する技術を提案している。
非特許文献1には、プログラムコードのコーディングルールが記述されていて、前述のような市販のツールを使用することによってブロック図から生成されたプログラムコードが前記コーディングルールに従っているか否かの確認を行うことはできる。しかしながら、非特許文献1はブロック図の表記に関してルールを定めているものではないため、非特許文献1の開示によっても、ブロック図の作成時において、当該ブロック図に関するプログラムとしての性能を把握することはできない。
したがって本発明は、ブロック図からプログラムコードを生成する前に、ブロック図における不適切な表記を検出することにより、プログラミングに要する時間を短縮して作業効率を高めることを目的としている。
対象ブロック図作成部4は、表示装置3に表示された対象ブロック図作成画面及び入力装置2を介して入力されたデータに基づいて、複数のブロック要素とブロック要素間の接続関係の作成及び/又は修正を行なってブロック図を作成及び/又は修正する。対象ブロック図作成部4によって作成されるブロック図は、当該ブロック図から所望のプログラムコードを生成するために作成されるブロック図(以下、対象ブロック図という)である。
対象ブロック図接続情報記憶部6は、ブロック図接続情報抽出部5によって対象ブロック図から抽出されたブロック図接続情報(以下、対象ブロック図接続情報という)を記憶する。プログラム生成部7は、対象ブロック図接続情報記憶部6に記憶された対象ブロック図接続情報に基づいて計算機言語によるプログラムを自動生成する。
ブロック図一致判定部11は、対象ブロック図接続情報記憶部6に記憶された対象ブロック図接続情報と、NGブロック図接続情報記憶部9に記憶されたNGブロック図接続情報とを比較して、対象ブロック図接続情報の少なくとも一部がNGブロック図接続情報と一致するか否かを判定する。
GOODブロック図表示部12は、ブロック図一致判定部11によって、対象ブロック図接続情報の少なくとも一部がNGブロック図接続情報と一致すると判定された場合に、当該NGブロック図接続情報に対応するGOODブロック図接続情報に基づいてGOODブロック図を表示する。
上記ブロック図一致判定部11による判定とGOODブロック図表示部12によるGOODブロック図接続情報の表示は、プログラム生成部7によって対象ブロック図接続情報からプログラムコードが自動生成される前に、すなわち、対象ブロック図が作成及び/又は修正されたときに実行される。
例えば、「ブロック要素の選択」25をクリックすると、各種ブロック要素を表示した画面が開き、ユーザはそこから所望のブロック要素を選択することによって、画面23上にブロック要素21を表記することができる。また、一例として、「配線」26をクリックすると、マウスポインタの形状が変化し、マウスを移動させることによって、画面23に表示された所望のブロック要素間に接続22を示す矢印線を表記することができる。
W001,(A:F001),(B:F002)
W002,(B:F002),(C:F003)
W003,(C:F003),(D:F004)
W004,(D:F004),(A:F005)
W005,(A:F005),(B:F006)
W006,(B:F006),(E:F007)
W007,(E:F007),(D:F008)
W008,(D:F008),(A:F009)
W009,(A:F009),(E:F010)
W010,(E:F010),(C:F011)
W011,(C:F011),(E:F012)
ブロック図接続情報抽出部5によって抽出された対象ブロック図接続情報は対象ブロック図接続情報記憶部6に記憶される。
ソフトウェア開発支援装置1は、所定の条件を満たさない表記がなされたNGブロック図を予め登録しておき、入力した対象ブロック図を登録したNGブロック図と比較して、対象ブロック図における不適切な表記を検出できるように構成されている。さらに、本実施形態は、検出された不適切な表記をどのように修正すれば良いのかを示すために、NGブロック図に対応するGOODブロック図も登録しておくように構成されている。対象ブロック図作成画面20は、これらのNGブロック図及びGOODブロック図の登録作業を行なう場合に使用するメニューボタン「NG・GOOD登録」29を備えている。
まず、ユーザが対象ブロック図作成画面20において「NG・GOOD登録」29を選択すると(ステップ1)、NG・GOODブロック図登録情報画面が表示される(ステップ2)。
NG・GOODブロック図登録情報画面の一例を図4に示す。NG・GOODブロック図登録情報画面30は、登録情報を表示するNG・GOODブロック図登録情報表示部31と、新しくNGブロック図及びGOODブロック図を登録するためのメニューボタン「新規登録」32と、登録情報の修正を行うためのメニューボタン「修正」33を有している。
各種メニューボタンとしては、NGブロック図に記入するブロック要素の選択を行うための「ブロック要素の選択」44と、ブロック要素間の接続を行うための「配線」45と、作成したNGブロック図に対応するGOODブロック図を登録するための「GOOD登録」46が設けられている。
NG・GOODブロック図作成部8におけるNGブロック図作成手段は、ユーザによってNGブロック図作成画面40及び入力装置2を介して入力されたデータに基づいて、NGブロック図を作成する。ブロック図において表記されたブロック要素41とブロック要素間の接続42は、NGブロック図接続情報としてブロック図接続情報抽出部5によって抽出される。図5に示すNGブロック図から抽出されたNGブロック図接続情報のデータ構造について、その一例を以下に示す。
SW001,(A:SF001),(B:SF002)
SW002,(A:SF002),(B:SF003)
以上のようにユーザがNGブロック図を作成した後で、図5に示す「GOOD登録」46を選択すると(図3のステップ7)、GOODブロック図登録画面が表示される(ステップ8)。GOODブロック図登録画面の一例を図6に示す。GOODブロック図登録画面50は、ブロック要素51とブロック要素間の接続を行う配線52の作成を行う表記用画面53と、各種メニューボタンから構成されている。
ユーザは、NGブロック図登録画面40におけるNGブロック図の作成と同様に、「ブロック要素の選択」54と「配線」55を適宜選択してGOODブロック図を作成する(図3のステップ9及び10)。
NG・GOODブロック図作成部8におけるGOODブロック図作成手段は、ユーザによってGOODブロック図作成画面50及び入力装置2を介して入力されたデータに基づいて、GOODブロック図を作成する。ブロック図において表記されたブロック要素51とブロック要素間の接続52は、GOODブロック図接続情報としてブロック図接続情報抽出部5によって抽出される。
なお、GOODブロック図接続情報のデータ構造は、NGブロック図接続情報のデータ構造と同様である。
GOODブロック図作成後に「登録完了」56を選択すると、ブロック図接続情報抽出部5によって抽出されたNGブロック図接続情報及びGOODブロック図接続情報がそれぞれNGブロック図接続情報記憶部9及びGOODブロック図接続情報記憶部10に記憶されて、NGブロック図及びGOODブロック図の登録が完了する(図3のステップ11及び21)。NGブロック図の作成後に対応するGOODブロック図の作成を行なわない場合には、GOODブロック図の作成を行なわずに「登録完了」56を選択する(ステップ9及び11)。この場合、NGブロック図のみが登録される。
また、チェックしたNGブロック図に対する修正は行わず、チェックしたNGブロック図に対応するGOODブロック図の作成や修正のみを行なう場合も想定される。この場合、NGブロック図登録画面40においてNGブロック図の修正作業は行なわずに、「GOOD登録」46を選択して、GOODブロック図登録画面50における作業に移行する(ステップ14及び16)。
なお、チェックされたNGブロック図接続情報に対応するGOODブロック図接続情報が存在しなかった場合には、表記用画面53にはブロック図は表示されていない。チェックしたNGブロック図に対応する新たなGOODブロック図を作成したい場合には、ユーザは、前述のステップ10におけるGOODブロック図の作成と同様、「ブロック要素の選択」54と「配線」55を適宜選択してGOODブロック図を作成する。
「登録完了」55が選択されると、修正したNGブロック図と修正又は作成したGOODブロック図のブロック図接続情報がそれぞれNGブロック図接続情報記憶部9及びGOODブロック図接続情報記憶部10に記憶されて、修正されたNGブロック図と修正又は作成されたGOODブロック図の登録が完了する(図3のステップ20及び21)。
ソフトウェア開発支援装置1は、上記のように登録されたNGブロック図と対象ブロック図と比較して、対象ブロック図の中からNGブロック図と一致する表記を検出することにより、対象ブロック図における不適切な表記を検出できるように構成されている。
図2に示す対象ブロック図作成画面20は、対象ブロック図の中から不適切な表記を検出する作業を行うためのメニューボタン「NG検出」28を備えている。
「NG検出」28が選択されると、ブロック図一致判定部11が、NGブロック図接続情報における線の入力ブロック要素の種類と線の出力ブロック要素の種類とその順番と、対象ブロック図接続情報における線の入力ブロック要素の種類と線の出力ブロック要素の種類とその順番とを比較する(ステップ30〜ステップ32)。本実施形態においては、登録番号の小さいNGブロック図接続情報から順に比較を行なっている。このNGブロック図の登録番号は、図4において例示した各NGブロック図接続情報を識別するための番号36である。
次いで、比較対象となっているNGブロック図に対応するGOODブロック図が存在する場合には、ブロック要素61とブロック要素間の接続を行う配線62からなるGOODブロック図を示す小ウィンドウ60を表示する(ステップ35及び36)。なお、小ウィンドウ60に示されたGOODブロック図に対応する対象ブロック図の一部(すなわち、対応するNGブロック図と一致した部分)は、表示枠63によって示されている。上記ステップ32〜ステップ36の処理は、すべての対象ブロック図接続情報について実行される。
ユーザが検出された不適切な表記を修正した後に、対象ブロック図作成画面20におけるメニューボタン「自動生成」27を選択すると、適切な表記となった対象ブロック図からプログラム生成部7によってプログラムコードが自動生成される。
また、予めNGブロック図に対応するGOODブロック図を登録しておいた場合には、検出された不適切な表記に対応したGOODブロック図が表示されるため、検出された不適切な表記をどのように修正すれば良いのかすぐに把握することができ、修正に要する作業時間が短縮される。
さらに、ソフトウェア開発支援装置1は、NGブロック図及びGOODブロック図を適宜新たに登録したり、修正したりすることが可能であるため、装置の拡張性が高いという利点も有している。
4 対象ブロック図作成部
5 ブロック図接続情報抽出部
6 対象ブロック図接続情報記憶部
7 NG・GOODブロック図作成部
9 NGブロック図接続情報記憶部
10 GOODブロック図接続情報記憶部
11 ブロック図一致判定部
12 GOODブロック図表示部
Claims (5)
- 複数のブロック要素と該ブロック要素間の接続関係を表記したブロック図によって処理手順が示され、前記ブロック図に基づいて計算機言語によるプログラムを自動生成するソフトウェア開発支援装置であって、
前記ブロック図に表記された複数のブロック要素と該ブロック要素間の接続関係とを対象ブロック図接続情報として抽出するブロック図接続情報抽出手段と、
前記ブロック図接続情報抽出手段によって抽出された対象ブロック図接続情報を記憶する対象ブロック図接続情報記憶手段と、
前記対象ブロック図接続情報から、計算機言語によるプログラムを自動生成するプログラム生成手段と、
表記された複数のブロック要素及び/又は該ブロック要素間の接続関係が所定の条件を満たさないNGブロック図について、該NGブロック図のブロック図接続情報をNGブロック図接続情報として記憶しておくNGブロック図接続情報記憶手段と、
前記プログラム生成手段が前記対象ブロック図接続情報から計算機言語によるプログラムを自動生成する前に、前記対象ブロック図接続情報記憶手段に記憶された前記対象ブロック図接続情報と、前記NGブロック図接続情報記憶手段に記憶されたNGブロック図接続情報とを比較して、前記対象ブロック図接続情報の少なくとも一部が前記NGブロック図接続情報と一致するか否かを判定するブロック図一致判定手段と
を備える、ソフトウェア開発支援装置。 - 前記所定の条件を満たすように表記したGOODブロック図のブロック図接続情報をGOODブロック図接続情報として記憶しておくGOODブロック図接続情報記憶手段と、
前記記憶されたGOODブロック図接続情報に基づいて前記GOODブロック図を表示するGOODブロック図表示手段と
をさらに備え、
前記ブロック図一致判定手段が、前記対象ブロック図接続情報の少なくとも一部が前記NGブロック図接続情報と一致すると判定した場合に、前記GOODブロック図表示手段が前記NGブロック図接続情報に対応する前記GOODブロック図接続情報に基づいてGOODブロック図を表示することを特徴とする、請求項1に記載のソフトウェア開発支援装置。 - 前記NGブロック図の作成及び/又は修正を行うためのNGブロック図作成手段を備えることを特徴とする、請求項1又は2に記載のソフトウェア開発支援装置。
- 前記GOODブロック図の作成及び/又は修正を行うためのGOODブロック図作成手段を備えることを特徴とする、請求項2又は3に記載のソフトウェア開発支援装置。
- 前記プログラム生成手段によってプログラムが自動生成されるブロック図を作成及び/又は修正するための対象ブロック図作成手段を備えることを特徴とする、請求項1〜4のいずれか1項に記載のソフトウェア開発支援装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009156868A JP2011013887A (ja) | 2009-07-01 | 2009-07-01 | ソフトウェア開発支援装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009156868A JP2011013887A (ja) | 2009-07-01 | 2009-07-01 | ソフトウェア開発支援装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014260145A Division JP5949889B2 (ja) | 2014-12-24 | 2014-12-24 | ソフトウェア開発支援装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011013887A true JP2011013887A (ja) | 2011-01-20 |
Family
ID=43592710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009156868A Pending JP2011013887A (ja) | 2009-07-01 | 2009-07-01 | ソフトウェア開発支援装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011013887A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013190644A1 (ja) * | 2012-06-20 | 2013-12-27 | 株式会社 日立製作所 | 制御ソフトウェアの設計支援装置 |
JP2016057715A (ja) * | 2014-09-05 | 2016-04-21 | 富士電機株式会社 | 図形式プログラム解析装置 |
WO2017046834A1 (ja) * | 2015-09-14 | 2017-03-23 | 三菱電機株式会社 | 制御プログラム自動生成システム |
WO2018220836A1 (ja) | 2017-06-02 | 2018-12-06 | 三菱電機株式会社 | プログラムコード生成装置およびプログラムコード生成プログラム |
US10628140B2 (en) | 2016-11-17 | 2020-04-21 | Mitsubishi Electric Corporation | Program code generation apparatus |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6389979A (ja) * | 1986-10-02 | 1988-04-20 | Fujitsu Ltd | 論理図概要記述変換処理方式 |
JPH05198110A (ja) * | 1991-08-30 | 1993-08-06 | Canon Inc | ヘッド位置決め装置 |
JP2005284785A (ja) * | 2004-03-30 | 2005-10-13 | Jfe Steel Kk | プログラム開発装置 |
US20050257203A1 (en) * | 2004-05-11 | 2005-11-17 | National Instruments Corporation | Visually indicating problems found during programmatic analysis of a graphical program |
US20060156286A1 (en) * | 2005-01-11 | 2006-07-13 | Morgan Fabian F | Dynamic source code analyzer |
JP2006301989A (ja) * | 2005-04-21 | 2006-11-02 | Fuji Electric Holdings Co Ltd | 計算機言語によるプログラムをブロック図から自動生成する方法と装置とプログラム |
-
2009
- 2009-07-01 JP JP2009156868A patent/JP2011013887A/ja active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6389979A (ja) * | 1986-10-02 | 1988-04-20 | Fujitsu Ltd | 論理図概要記述変換処理方式 |
JPH05198110A (ja) * | 1991-08-30 | 1993-08-06 | Canon Inc | ヘッド位置決め装置 |
JP2005284785A (ja) * | 2004-03-30 | 2005-10-13 | Jfe Steel Kk | プログラム開発装置 |
US20050257203A1 (en) * | 2004-05-11 | 2005-11-17 | National Instruments Corporation | Visually indicating problems found during programmatic analysis of a graphical program |
US20060156286A1 (en) * | 2005-01-11 | 2006-07-13 | Morgan Fabian F | Dynamic source code analyzer |
JP2006301989A (ja) * | 2005-04-21 | 2006-11-02 | Fuji Electric Holdings Co Ltd | 計算機言語によるプログラムをブロック図から自動生成する方法と装置とプログラム |
Non-Patent Citations (1)
Title |
---|
JPN6013007231; 宇田川佳久ほか1名: '制御ブロック図検索の試み' 情報処理学会第43回(平成3年後期)全国大会 , 19910924, 4-153〜4-154頁, 社団法人情報処理学会 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013190644A1 (ja) * | 2012-06-20 | 2013-12-27 | 株式会社 日立製作所 | 制御ソフトウェアの設計支援装置 |
JPWO2013190644A1 (ja) * | 2012-06-20 | 2016-02-08 | 株式会社日立製作所 | 制御ソフトウェアの設計支援装置 |
JP2016057715A (ja) * | 2014-09-05 | 2016-04-21 | 富士電機株式会社 | 図形式プログラム解析装置 |
WO2017046834A1 (ja) * | 2015-09-14 | 2017-03-23 | 三菱電機株式会社 | 制御プログラム自動生成システム |
US10459415B2 (en) | 2015-09-14 | 2019-10-29 | Mitsubishi Electric Corporation | Control program automatic creation system |
US10628140B2 (en) | 2016-11-17 | 2020-04-21 | Mitsubishi Electric Corporation | Program code generation apparatus |
WO2018220836A1 (ja) | 2017-06-02 | 2018-12-06 | 三菱電機株式会社 | プログラムコード生成装置およびプログラムコード生成プログラム |
US11137988B2 (en) | 2017-06-02 | 2021-10-05 | Mitsubishi Electric Corporation | Program code generation device and computer readable medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104899010B (zh) | 源代码的多语言化方法及系统 | |
EP2677451B1 (en) | License verification method and apparatus, and computer readable storage medium storing program therefor | |
KR101394874B1 (ko) | 필기 기반으로 특정 기능을 실행하는 방법 및 그에 따른 디바이스 | |
JP2011013887A (ja) | ソフトウェア開発支援装置 | |
JP2015204065A (ja) | テストケース生成装置及びテストケース生成方法 | |
JP2009199174A (ja) | 電子式計算機 | |
JP2010079447A (ja) | バグ検出支援プログラム、類似構文識別情報一覧出力プログラム、バグ検出支援装置およびバグ検出支援方法 | |
JP5293521B2 (ja) | デザインルールチェック検証装置およびデザインルールチェック検証方法 | |
JP2011039786A (ja) | ソフトウェアテスト支援装置、ソフトウェアテスト支援方法、及びプログラム | |
JP4888790B2 (ja) | 契約定義関数検証装置、その方法及びそのプログラム | |
US20130080892A1 (en) | Information processing device, gui manipulation assistance method, and computer-readable recording medium | |
CN109656704B (zh) | 一种信息处理方法及信息处理装置 | |
JP5949889B2 (ja) | ソフトウェア開発支援装置 | |
US20120259591A1 (en) | Keyboard testing method | |
JP5811859B2 (ja) | ソースコードの静的解析装置、システム、方法、及びそのためのプログラム | |
WO2017204139A1 (ja) | データ処理装置、データ処理方法、およびプログラム記録媒体 | |
JP2016057715A (ja) | 図形式プログラム解析装置 | |
JP6157375B2 (ja) | 操作手順フロー更新装置、方法及びプログラム | |
JP5228566B2 (ja) | ソフトウェア開発支援装置、プログラム及びブロック図検索方法 | |
JP5049911B2 (ja) | パターン作成装置及びパターン作成方法 | |
JP2009251666A (ja) | 変更履歴作成装置、方法及びプログラム | |
JP2007310829A (ja) | データ処理装置、データ処理方法およびデータ処理プログラム | |
JP2010134766A (ja) | 文書データ処理装置およびそのプログラム | |
JP4245078B2 (ja) | 同義語辞書作成支援システム、同義語辞書作成支援方法および同義語辞書作成支援プログラム | |
JP2007219586A (ja) | ソースコード解析装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20110422 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120614 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130625 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130723 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130822 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130909 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140221 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140422 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140930 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141224 |