JP2011039618A - ソフトウェアの開発支援システム、支援方法およびプログラム - Google Patents

ソフトウェアの開発支援システム、支援方法およびプログラム Download PDF

Info

Publication number
JP2011039618A
JP2011039618A JP2009184057A JP2009184057A JP2011039618A JP 2011039618 A JP2011039618 A JP 2011039618A JP 2009184057 A JP2009184057 A JP 2009184057A JP 2009184057 A JP2009184057 A JP 2009184057A JP 2011039618 A JP2011039618 A JP 2011039618A
Authority
JP
Japan
Prior art keywords
code
hierarchy list
branch
branch hierarchy
list
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.)
Granted
Application number
JP2009184057A
Other languages
English (en)
Other versions
JP5487789B2 (ja
Inventor
Fujiya Unno
富士也 海野
Tamotsu Funatsu
有 船津
Tatsunari Toyama
達斎 外山
Susumu Maruyama
進 丸山
Kazuya Tada
和也 多田
Yasuhiro Kanesashi
泰宏 金刺
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.)
Meidensha Corp
Meidensha Electric Manufacturing Co Ltd
Original Assignee
Meidensha Corp
Meidensha Electric Manufacturing 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 Meidensha Corp, Meidensha Electric Manufacturing Co Ltd filed Critical Meidensha Corp
Priority to JP2009184057A priority Critical patent/JP5487789B2/ja
Publication of JP2011039618A publication Critical patent/JP2011039618A/ja
Application granted granted Critical
Publication of JP5487789B2 publication Critical patent/JP5487789B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】設計図中の分岐による処理の流れの認識を容易にし、この処理の流れを基にしたソースコードの出力や演算シミュレーションの実行を確実、容易にする。
【解決手段】ソースコード出力装置100は、分岐階層リスト生成機能101が設計図中の分岐による処理の流れを階層構造化した分岐階層リストの生成を分岐階層リスト生成装置200に指令し、コード片設定機能102が生成された分岐階層リストに従って当該リストの各部品が持つコード片を設定し、コード片出力機能103がコード片をソースコードとして出力する。
分岐階層リスト生成装置200は、処理の開始部品を取得する機能201と、各部品の結線状態を取得する機能202と、結線先の部品を取得する機能203と、分岐から合流区間以降の区間を統合する分岐階層リスト最適化機能204と、分岐階層リスト画面を表示する機能205を備える。
【選択図】図1

Description

本発明は、装置に組み込んで特定の情報処理機能を実現するためのソフトウェアの開発支援システムおよび支援方法に係り、特に特定の情報処理機能を実現するための設計図を元にしたソースコードの出力および演算シミュレーションの実行に関する。
組込みソフトウェア開発では、最初の設計段階として、特定の情報処理機能を実現するための設計図(ブロック図、フローチャート、状態遷移図など)を作成する。このうち、ブロック図の要素は演算ブロックで表現され、また、フローチャートの要素は処理ブロックで表現され、状態遷移図の要素は状態ブロックで表現され、これらブロックが設計図上で線で結合されることで、ソフトウェアとして実現したい内容を表現する。
これらの設計図を元にしてコンピュータ処理できるソフトウェアを開発するには、ソフトウェア開発者が設計図から設計情報を読み取りながら、手作業でソースコードの出力などを行っている。
例えば、図11に設計図(ブロック図)DC1で示すように、開発対象の組込み機器の演算機能が、値設定1(VAR1)と値設定2(VAR2)を加え、その加算結果VAR4に値設定3(VAR3)を掛けることで値設定4(VAR5)を得る場合、入力から出力まで、加算や乗算を表す演算部品を配置し、各演算部品間を線で結んで演算順序を表現する。
このときの演算順序は、乗算部品がデータVAR4の入力を待つ必要があるため、乗算部品よりも加算部品の方が先になり、図11中に示すように、加減算部品に次いで乗算部品を配置し、最後に出力ブロック(値設定4)を配置する。
ソフトウェア開発者は、決定された演算順序に従ってソースコード(プログラム)を出力し、さらに専用のコンパイラを使用してソースコードをコンパイルし、シミュレーションを行い、さらには実機に組み込んで動作試験を行う。
演算順序からのソースコード出力には、各演算部品が各演算特性を表すコード片(ブロックに対応する部分的なソースコード)をもち、このコード片に入力データを割付けることとする。例えば、加算の場合は、入力した2つのデータVAR1,VAR2を足して1つのデータVAR4を出力するというコード片に、データVAR1,VAR2などを割り付ける。
図12は設計図が分岐を含むフローチャート(流れ図)である場合の演算順序とソースコードの例を示す。図13は設計図が状態遷移図である場合の演算順序とソースコードの例を示す。
以上のように、ソフトウェア開発には、設計図から演算順序作成を経てソースコードの出力という手順で行われており、このうちソースコードの出力やシミュレーションの実行を支援する設計支援ツールも提案されている(例えば、非特許文献1、非特許文献2参照)。
明電情報 通巻322号 2009 NO.1,p11、共通基礎技術 MATLAB/Simulink(http://www.cybernet.co.jp/matlab/products/product_listing/simulink/)
前記のように、組込みソフトウェア開発支援システムにおけるソースコードの出力と演算シミュレーションの実行は、処理の流れを表す情報に基づき実施することができ、さらには開発者の作業負担を軽減する支援ツールもあるが、以下の問題点がある。
(1)上記の処理の流れの表現(演算順序)は、実施する処理(部品)を順番に並べることにより表現される。この演算順序の表現方法についての問題点を説明する。
従来は、演算シミュレーションの実行またはソースコードの出力時に処理の流れを表す図を表示し、設計図と照らし合わして確認していたが、設計図として分岐をもつ流れ図の場合に分岐がどのように行われるのか開発者には直感的に分かりづらいものであった。
例えば図14の左側に示す流れ図に対し、演算要素リストは同図の右側に示すように羅列されるが、このリストからだけでは分岐条件(ガード1,2)がわかりづらかった。また、分岐による処理の流れを特定してからでないとソースコードを出力することができない。これら問題は、以下の不都合を起こす。
・分岐がある場合、処理の流れを表す情報から容易に設計図をイメージできないため、開発及び保守が容易でない。例えば、図15の右側に示すように、処理の流れを示す情報はフラットに並ぶ、どこが処理の流れの分岐で合流か一見してわからないため、処理の流れを表す情報の正当性を判断しにくい。
・分岐による処理の流れの順序を決める必要があるため、演算順序を決めるアルゴリズムが複雑になる。例えば、図15の右側に示すように、分岐から合流までの処理区間を判断して演算順序を決定する必要がある。
(2)上記の演算順序に基づき実現されるソースコードの出力においての問題点を説明する。
・分岐がある場合、容易にソースコードをイメージできないため、開発及び保守が容易でない。例えば、図16の中央に演算順序を、右側にソースコードを示すように、処理の流れを示す情報はフラットに並ぶため、どこが条件分岐の特性を持つ部品か一見してわからないため、ソースコードの出力の正当性を判断しにくい。
・処理の流れの区間を特定する必要があるため、ソースコード出力のアルゴリズムが複雑になる。例えば、図16の右側に示すように、条件分岐の終わり(処理の流れの分岐している区間)を特定して閉じ括弧「}」をつけることが必要となる。
(3)上記の演算順序に基づき実現される演算シミュレーションにおいての問題点を説明する。
・分岐がある場合、容易にシミュレーションの流れをイメージできないため、開発及び保守が容易でない。例えば、図17の右側に演算順序を示すように、どこが処理の流れの分岐になって、どこに処理の流れが遷移するのか一見してわからないため、演算シミュレーションの正当性を判断しにくい。
・次の処理を条件により特定する必要があるため、演算シミュレーションのアルゴリズムが複雑になる。例えば、図17の右側に演算順序を示すように、線(ガード1)の条件不成立時は次に線(ガード2)を実施する必要がある、また、処理2を実施後は合流を実施する必要があり、条件分岐の終わり(処理の流れの分岐している区間)を特定して次に行う部品を決定する必要がある。
本発明の目的は、設計図中の分岐による処理の流れの認識を容易にし、この処理の流れを基にしたソースコードの出力および演算シミュレーションの実行を確実、容易にしたソフトウェアの開発支援システム、支援方法およびプログラムを提供することにある。
本発明は、前記の課題を解決するため、設計図中の分岐による処理の流れを階層構造化した分岐階層リストとして表現、生成し、この分岐階層リストに従ってソースコードを出力、または演算シミュレーションを実行するようにしたもので、以下のシステム、方法およびプログラムを特徴とする。
(システムの発明)
(1)装置に組み込んで特定の情報処理機能を実現するためのソフトウェアの開発支援システムであって、
設計図中の分岐による処理の流れを階層構造化した分岐階層リストとして生成する分岐階層リスト生成手段と、
前記分岐階層リストに従って、当該リストの各部品が持つコード片を設定/出力し、このコード片をソースコードとして出力するソースコード出力手段と、
を備えたことを特徴とする。
(2)前記ソースコード出力手段は、
前記分岐階層リストの部品が持つコード片を設定するコード片設定手段と、前記分岐階層リストの部品が持つコード片を出力するコード片出力手段とを備え、
前記分岐階層リストに子があれば、前記コード片設定手段による子の部品が持つコード片の設定処理と、前記コード片出力手段による当該コード片の出力処理を、子の部品がなくなるまで繰り返し、子の部品がなくなった後は分岐階層リストの後処理を行ない、これら処理を分岐階層リストの終わりまで再帰的に実行することを特徴とする。
(3)装置に組み込んで特定の情報処理機能を実現するためのソフトウェアの開発支援システムであって、
設計図中の分岐による処理の流れを階層構造化した分岐階層リストとして生成する分岐階層リスト生成手段と、
前記分岐階層リストに従って、当該リストの各部品が持つコード片を設定/実行し、このコード片で演算シミュレーションを実行する演算シミュレーション手段と、
を備えたことを特徴とする。
(4)前記演算シミュレーション手段は、
前記分岐階層リストの部品が持つコード片を設定するコード片設定手段と、前記分岐階層リストの部品が持つコード片を実行するコード片実行手段とを備え、
前記分岐階層リストに子があれば、前記コード片設定手段による子の部品が持つコード片の設定処理と、前記コード片実行手段による当該コード片の実行処理を繰り返し、この繰り返しは部品が持つ特性により子または次の子を実行するか否かを制御し、これら処理を分岐階層リストの終わりまで再帰的に実行することを特徴とする。
(5)前記分岐階層リスト生成手段は、
処理の開始部品を取得する開始部品取得手段と、
各部品の結線状態を取得する結線取得手段と、
結線先の部品を取得する結線先部品取得手段と、
分岐から合流区間以降の区間を統合する分岐階層リスト最適化手段と、
を備えたことを特徴とする。
(方法の発明)
(6)装置に組み込んで特定の情報処理機能を実現するためのソフトウェアの開発支援方法であって、
設計図中の分岐による処理の流れを階層構造化した分岐階層リストとして生成する分岐階層リスト生成ステップと、
前記分岐階層リストに従って、当該リストの各部品が持つコード片を設定/出力し、このコード片をソースコードとして出力するソースコード出力ステップと、
を備えたことを特徴とする。
(7)前記ソースコード出力ステップは、
前記分岐階層リストの部品が持つコード片を設定するコード片設定ステップと、前記分岐階層リストの部品が持つコード片を出力するコード片出力ステップとを備え、
前記分岐階層リストに子があれば、前記コード片設定ステップによる子の部品が持つコード片の設定処理と、前記コード片出力ステップによる当該コード片の出力処理を、子の部品がなくなるまで繰り返し、子の部品がなくなった後は分岐階層リストの後処理を行ない、これら処理を分岐階層リストの終わりまで再帰的に実行することを特徴とする。
(8)装置に組み込んで特定の情報処理機能を実現するためのソフトウェアの開発支援方法であって、
設計図中の分岐による処理の流れを階層構造化した分岐階層リストとして生成する分岐階層リスト生成ステップと、
前記分岐階層リストに従って、当該リストの各部品が持つコード片を設定/実行し、このコード片で演算シミュレーションを実行する演算シミュレーションステップと、
を備えたことを特徴とする。
(9)前記演算シミュレーションステップは、
前記分岐階層リストの部品が持つコード片を設定するコード片設定ステップと、前記分岐階層リストの部品が持つコード片を出力するコード片実行ステップとを備え、
前記分岐階層リストに子があれば、前記コード片設定ステップによる子の部品が持つコード片の設定処理と、前記コード片出力ステップによる当該コード片の実行処理を繰り返し、この繰り返しは部品が持つ特性により子または次の子を実行するか否かを制御し、これら処理を分岐階層リストの終わりまで再帰的に実行することを特徴とする。
(10)前記分岐階層リスト生成ステップは、
処理の開始部品を取得する開始部品取得ステップと、
各部品の結線状態を取得する結線取得ステップと、
結線先の部品を取得する結線先部品取得ステップと、
分岐から合流区間以降の区間を統合する分岐階層リスト最適化ステップと、
を備えたことを特徴とする。
(プログラムの発明)
(11)上記(6)〜(10)のいずれか1項に記載のソフトウェアの開発支援方法における処理ステップをコンピュータで実行可能にしたことを特徴とするプログラム。
以上のとおり、本発明によれば、設計図中の分岐による処理の流れを階層構造化した分岐階層リストとして表現、生成し、この分岐階層リストに従ってソースコードを出力、または演算シミュレーションを実行するようにしたため、設計図中の分岐による処理の流れの認識を容易にし、この処理の流れを基にしたソースコードの出力および演算シミュレーションの実行が確実、容易になる。
具体的には、以下の効果が得られる。
(1)処理の流れを表す情報(演算順序)を階層構造化した分岐階層リストによって表現するため、処理の流れを容易にイメージでき、ソフトウェアの開発保守が容易になる。
(2)階層構造化した分岐階層リストによって処理の流れを表現するため、処理の流れの区間が予め特定され、ソースコード出力のアルゴリズムが容易になる。
(3)階層構造化した分岐階層リストによって処理の流れを表現するため、処理の流れの区間が予め特定され、演算シミュレーションのアルゴリズムが容易になる。
本発明に係る開発支援システムの要部構成図(ソースコード出力)。 本発明に係る開発支援システムの要部構成図(演算シミュレーション実行)。 流れ図と分岐階層リストの構成図(実施形態)。 分岐階層リストの表現例(実施形態)。 分岐階層リスト画面例(実施形態)。 分岐階層リストによるソースコードの出力の例(実施形態)。 演算順序によるソースコードの生成例(従来)。 分岐階層リストによるソースコードの生成例(実施形態)。 分岐階層リストによる演算シミュレーションの実行の例(実施形態) 演算順序または分岐階層リストから処理部品を特定する例。 演算順序生成とソースコード出力および演算シミュレーションの例(従来)。 流れ図と演算順序とソースコードの例。 状態遷移図と演算順序とソースコードの例。 流れ図と演算要素リストの例。 流れ図と演算順序の流れ区間特定の例。 流れ図と演算順序とソースコードの区間特定の例。 流れ図と演算順序による演算シミュレーションの例。
(1)システム構成
図1は、本発明に係る開発支援システムの要部構成図であり、ソースコード出力を支援するための機能構成を示す。同様に、図2は、本発明に係る開発支援システムの要部構成図であり、演算シミュレーション実行を支援するための機能構成を示す。なお、装置に搭載する各機能は、コンピュータ資源とこれを利用して当該機能を実現するためのプログラムとして記載するソフトウェアで実現される。
図1に示すソースコード出力装置100は、特定の情報処理機能を実現するために設計された設計図(ブロック図、フローチャート、状態遷移図など)を元にソースコードを生成して出力するための処理手段として、分岐階層リスト生成機能101、コード片設定機能102およびコード片出力機能103を備える。
同様に、図2に示す演算シミュレーション装置300は、設計図(ブロック図、フローチャート、状態遷移図など)を元に生成するソースコードで演算シミュレーションを実行するための処理手段として、分岐階層リスト生成機能301、コード片設定機能302およびコード片実行機能303を備える。
上記の分岐階層リスト生成機能101、301による分岐階層リスト生成を支援する分岐階層リスト取得装置200は、開始部品取得機能201,結線取得機能202,結線先部品取得機能203,分岐階層リスト最適化機能204および分岐階層リスト表示機能205を備え、設計図から分岐階層リストを生成、取得する。
(2)分岐階層リスト生成
図1における分岐階層リスト生成機能101は、設計図に従って作成されていた従来の演算順序(演算処理の流れを表す情報)に代えて、処理の流れを分岐で階層構造化した分岐階層リストとして表現、生成する。この分岐階層リストは、設計図に分岐処理が存在する場合に当該分岐処理の流れの区間(分岐の各枝から合流手前まで)を階層構造化したものである。
例えば、図3の左側に示す流れ図の分岐階層リストは同図の右側に示すように、処理1とそれに続く分岐はルートの子になるため階層を1つ下げて表示し、当該分岐に結合される1つの分岐線1は当該分岐の子になるため階層を1つ下げて表示し、処理2は分岐線1の子になるため階層を1つ下げて表示し、分岐線2は分岐線1と同じ分岐の子になるため同じ階層で表示し、処理3は分岐線2の子になるため階層を1つ下げて表示し、合流と処理4はルートの子になるため処理1,分岐と同じ階層で表示する。
分岐階層リスト生成機能101は、開発者が分岐階層リスト生成の実行を指令操作したときに起動され、プログラム作成対象となる設計図情報と、分岐階層リスト生成処理命令を分岐階層リスト取得装置200に転送する。
分岐階層リスト取得装置200による分岐階層リスト取得は、設計図から開始部品取得機能201により取得した開始部品に繋がる線を結線取得機能202により取得し、それが分岐線であれば、分岐階層リストの階層を下げて追加する。結線取得機能202により取得した線が分岐線でなければ、分岐階層リストの階層を下げずに追加する。
結線取得機能202により取得した線に対して結線先部品取得機能203により取得した結線先部品を、結線取得機能202により取得した線が分岐線であれば、分岐階層リストの階層を下げて追加する。結線取得機能202により取得した線が分岐線でなければ、分岐階層リストの階層を下げずに追加する。結線の終わりまで(一つ下流の線がなくなるまで)、結線取得機能202と結線先取得機能203を再帰的に繰り返し、分岐階層リストを生成する。
その後、分岐階層リスト最適化機能204により、図4の中央と右側に示すとおり、分岐している線同士に繋がる部品で共通している部品の階層を分岐している部品の階層まで上げる。
最後に分岐階層リスト表示機能205により分岐階層リスト画面(図5右側)を表示する。この分岐階層リスト表示は、例えばツリー表示の場合、分岐階層リストのルート要素をツリーのルートアイテムにする。ルート要素の子要素をルートアイテムの子アイテムにする。子要素にさらに子要素があれば子アイテムのさらに子アイテムにする。アイテム名は要素名を表示する(要素名以外でもよい)。
同様に、前記の図2における分岐階層リスト生成機能301は、設計図に従って作成されていた従来の演算順序(演算処理の流れを表す情報)に代えて、処理の流れを分岐で階層構造化した分岐階層リストを生成し、演算シミュレーションの実行を支援する。
したがって、本実施形態では、処理の流れを分岐で階層構造化した分岐階層リストを生成するため、処理の流れを表す情報(演算順序)を容易にイメージでき、開発保守が容易になる。
(3)ソースコードの出力
図6に例を示すように、処理の流れを分岐で階層構造化した分岐階層リストから、階層構造に従ったソースコード出力を行う。このための処理は、図1のコード片設定機能102とコード片出力機能103による以下の処理手順S1〜S5によってソースコード出力を得る。
(S1)コード片設定機能102により、分岐階層リストの部品が持つコード片を設定する。
(S2)コード片出力機能103により、分岐階層リストの部品が持つコード片を出力する。
(S3)分岐階層リストに子があれば、子の部品が持つコード片を設定し、当該コード片を出力するという処理S1,S2を子の部品がなくなるまで繰り返す。
(S4)子の部品がなくなった後は分岐階層リストの後処理をする。例えば、区間(分岐から合流まで)を持つもの(ガード等)であれば、閉じ括弧をつける。
(S5)上記のS1〜S4を分岐階層リストの終わりまで再帰的に実行する。
このような処理により、図6に例示する分岐階層リストは、処理2および処理3の区間は階層化され、その後処理では閉じ括弧「}」を付加することができる。
したがって、階層構造化した分岐階層リストにより処理の流れの区間が予め特定されるため、ソースコード出力のアルゴリズムが容易になる。このことを以下に詳細に説明する。
従来の演算順序により処理の流れを示す場合、処理の流れの区間を表現していなかったため、ソースコード出力時に、設計図の分岐と合流の関係から処理の区間を特定し、区間の終わりの部品が対応する区間分の閉じ括弧「}」をつける必要があった。閉じ括弧の付け方の例を図7に示し、分岐処理に際して、ガード1が開き括弧を付け、処理2が括弧を付けるか判定して閉じ括弧を付け、ガード2が開き括弧を付け、処理3が括弧を付けるか判定して閉じ括弧を付ける。
本実施形態では、処理の流れの区間(分岐の各枝から合流手前まで)を階層構造化することで表現しており、ソースコード出力時には設計情報全体を判定する必要がない。閉じ括弧の付け方の例を図8に示し、分岐処理に際して、処理の流れの区間の始まりの部品(ガード)が自分の処理時に開き括弧「{」を、自分の子となる部品を処理後に閉じ括弧「}」を付けるだけなので、ソースコード出力のアルゴリズムが容易になる。
(4)演算シミュレーションの実行
図9に例を示すように、処理の流れを分岐で階層構造化した分岐階層リストに従い演算シミュレーションを行う。このための処理は、図2のコード片設定機能302とコード片実行機能303による以下の処理手順S1〜S5によって演算シミュレーションを実行する。
(S1)コード片設定機能302により、分岐階層リストの部品が持つコード片を設定する。
(S2)コード片実行機能303により、分岐階層リストの部品が持つコード片を実行する。
(S3)分岐階層リストに子があれば、子の部品が持つコード片を設定し、当該コード片を実行するという処理S1,S2を繰り返す。このとき、部品が持つ特性により子または次の子を実行するか否かを制御する。
(S4)上記のS1〜S3を分岐階層リストの終わりまで再帰的に実行する。
したがって、階層構造化した分岐階層リストにより処理の流れの区間が予め特定されるため、演算シミュレーションのアルゴリズムが容易になる。このことを以下に詳細に説明する。
従来の演算順序により処理の流れを示す場合、処理の流れの区間を表現していなかったため、演算シミュレーション時に、設計図の分岐と合流の関係から処理の区間を特定し、次に処理する部品を特定する必要があった。演算順序から処理する部品を特定する例を図10の右側に示し、線(ガード1)は条件不一致時に次に処理する部品を、処理2は次に処理する部品を特定する必要がある。
本実施形態では、処理の流れの区間(分岐の各枝から合流手前まで)を階層構造化することで表現しており、演算シミュレーション時には設計情報全体を判定する必要がない。部品の特定の例を図10の中央側に示し、分岐処理に際して、処理の流れの区間の始まりの部品(ガード)が自分の処理時に条件一致であれば、自分の子となる部品を処理することと、さらにその親の区間の開始部品(分岐)が自分の子となるガードの処理結果を受けて、対となる区間の始まり(ガード)を処理するか判定するだけなので、演算シミュレーションのアルゴリズムが容易になる。
なお、本発明は、図1,2等に示した方法の一部又は全部の処理機能をプログラムとして構成してコンピュータに実行させることができる。
100 ソースコード出力装置
200 分岐階層リスト生成装置
300 演算シミュレーション装置
101、301 分岐階層リスト生成機能
102、302 コード片設定機能
103 コード片出力機能
201 開始部品取得機能
202 結線取得機能
203 結線先部品取得機能
204 分岐階層リスト最適化機能
205 分岐階層リスト表示機能
303 コード片実行機能

Claims (11)

  1. 装置に組み込んで特定の情報処理機能を実現するためのソフトウェアの開発支援システムであって、
    設計図中の分岐による処理の流れを階層構造化した分岐階層リストとして生成する分岐階層リスト生成手段と、
    前記分岐階層リストに従って、当該リストの各部品が持つコード片を設定/出力し、このコード片をソースコードとして出力するソースコード出力手段と、
    を備えたことを特徴とするソフトウェアの開発支援システム。
  2. 前記ソースコード出力手段は、
    前記分岐階層リストの部品が持つコード片を設定するコード片設定手段と、前記分岐階層リストの部品が持つコード片を出力するコード片出力手段とを備え、
    前記分岐階層リストに子があれば、前記コード片設定手段による子の部品が持つコード片の設定処理と、前記コード片出力手段による当該コード片の出力処理を、子の部品がなくなるまで繰り返し、子の部品がなくなった後は分岐階層リストの後処理を行ない、これら処理を分岐階層リストの終わりまで再帰的に実行することを特徴とする請求項1に記載のソフトウェアの開発支援システム。
  3. 装置に組み込んで特定の情報処理機能を実現するためのソフトウェアの開発支援システムであって、
    設計図中の分岐による処理の流れを階層構造化した分岐階層リストとして生成する分岐階層リスト生成手段と、
    前記分岐階層リストに従って、当該リストの各部品が持つコード片を設定/実行し、このコード片で演算シミュレーションを実行する演算シミュレーション手段と、
    を備えたことを特徴とするソフトウェアの開発支援システム。
  4. 前記演算シミュレーション手段は、
    前記分岐階層リストの部品が持つコード片を設定するコード片設定手段と、前記分岐階層リストの部品が持つコード片を実行するコード片実行手段とを備え、
    前記分岐階層リストに子があれば、前記コード片設定手段による子の部品が持つコード片の設定処理と、前記コード片実行手段による当該コード片の実行処理を繰り返し、この繰り返しは部品が持つ特性により子または次の子を実行するか否かを制御し、これら処理を分岐階層リストの終わりまで再帰的に実行することを特徴とする請求項3に記載のソフトウェアの開発支援システム。
  5. 前記分岐階層リスト生成手段は、
    処理の開始部品を取得する開始部品取得手段と、
    各部品の結線状態を取得する結線取得手段と、
    結線先の部品を取得する結線先部品取得手段と、
    分岐から合流区間以降の区間を統合する分岐階層リスト最適化手段と、
    を備えたことを特徴とする請求項1〜4のいずれか1項に記載のソフトウェアの開発支援システム。
  6. 装置に組み込んで特定の情報処理機能を実現するためのソフトウェアの開発支援方法であって、
    設計図中の分岐による処理の流れを階層構造化した分岐階層リストとして生成する分岐階層リスト生成ステップと、
    前記分岐階層リストに従って、当該リストの各部品が持つコード片を設定/出力し、このコード片をソースコードとして出力するソースコード出力ステップと、
    を備えたことを特徴とするソフトウェアの開発支援方法。
  7. 前記ソースコード出力ステップは、
    前記分岐階層リストの部品が持つコード片を設定するコード片設定ステップと、前記分岐階層リストの部品が持つコード片を出力するコード片出力ステップとを備え、
    前記分岐階層リストに子があれば、前記コード片設定ステップによる子の部品が持つコード片の設定処理と、前記コード片出力ステップによる当該コード片の出力処理を、子の部品がなくなるまで繰り返し、子の部品がなくなった後は分岐階層リストの後処理を行ない、これら処理を分岐階層リストの終わりまで再帰的に実行することを特徴とする請求項6に記載のソフトウェアの開発支援方法。
  8. 装置に組み込んで特定の情報処理機能を実現するためのソフトウェアの開発支援方法であって、
    設計図中の分岐による処理の流れを階層構造化した分岐階層リストとして生成する分岐階層リスト生成ステップと、
    前記分岐階層リストに従って、当該リストの各部品が持つコード片を設定/実行し、このコード片で演算シミュレーションを実行する演算シミュレーションステップと、
    を備えたことを特徴とするソフトウェアの開発支援方法。
  9. 前記演算シミュレーションステップは、
    前記分岐階層リストの部品が持つコード片を設定するコード片設定ステップと、前記分岐階層リストの部品が持つコード片を出力するコード片実行ステップとを備え、
    前記分岐階層リストに子があれば、前記コード片設定ステップによる子の部品が持つコード片の設定処理と、前記コード片出力ステップによる当該コード片の実行処理を繰り返し、この繰り返しは部品が持つ特性により子または次の子を実行するか否かを制御し、これら処理を分岐階層リストの終わりまで再帰的に実行することを特徴とする請求項8に記載のソフトウェアの開発支援方法。
  10. 前記分岐階層リスト生成ステップは、
    処理の開始部品を取得する開始部品取得ステップと、
    各部品の結線状態を取得する結線取得ステップと、
    結線先の部品を取得する結線先部品取得ステップと、
    分岐から合流区間以降の区間を統合する分岐階層リスト最適化ステップと、
    を備えたことを特徴とする請求項6〜10のいずれか1項に記載のソフトウェアの開発支援方法。
  11. 請求項6〜10のいずれか1項に記載のソフトウェアの開発支援方法における処理ステップをコンピュータで実行可能にしたことを特徴とするプログラム。
JP2009184057A 2009-08-07 2009-08-07 ソフトウェアの開発支援システム、支援方法およびプログラム Expired - Fee Related JP5487789B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009184057A JP5487789B2 (ja) 2009-08-07 2009-08-07 ソフトウェアの開発支援システム、支援方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009184057A JP5487789B2 (ja) 2009-08-07 2009-08-07 ソフトウェアの開発支援システム、支援方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2011039618A true JP2011039618A (ja) 2011-02-24
JP5487789B2 JP5487789B2 (ja) 2014-05-07

Family

ID=43767348

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009184057A Expired - Fee Related JP5487789B2 (ja) 2009-08-07 2009-08-07 ソフトウェアの開発支援システム、支援方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5487789B2 (ja)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6254337A (ja) * 1985-09-02 1987-03-10 Nec Corp プログラムの階層指定表示方式
JPH02140828A (ja) * 1988-11-22 1990-05-30 Nec Corp 図式プログラムエディタにおける階層別プログラム表示方式
JPH03292532A (ja) * 1990-04-11 1991-12-24 Nissan Motor Co Ltd プログラム開発支援装置
JPH06214777A (ja) * 1993-01-20 1994-08-05 Hitachi Ltd プログラム開発方法及び装置
JPH0887406A (ja) * 1994-09-19 1996-04-02 Fuji Electric Co Ltd プログラム表示装置
JPH08106380A (ja) * 1994-10-03 1996-04-23 Toshiba Corp プログラム作成装置及び方法並びにプログラムを取り扱う制御装置
JPH09198236A (ja) * 1996-01-19 1997-07-31 Honda Motor Co Ltd 命令順序決定方法および装置
JPH09258972A (ja) * 1996-03-25 1997-10-03 Meidensha Corp エディタ
JPH1124911A (ja) * 1997-07-04 1999-01-29 Hitachi Koukiyou Syst Eng Kk ソースプログラム自動生成方法
JPH11212776A (ja) * 1998-01-27 1999-08-06 Nec Commun Syst Ltd システム仕様記述言語/プログラムコード変換方式および記録媒体
JPH11305813A (ja) * 1998-04-24 1999-11-05 Toyo Electric Mfg Co Ltd プログラマブルコントローラのプログラム編集装置
JP2005222221A (ja) * 2004-02-04 2005-08-18 Hitachi Ltd 組込コントローラ開発ツール、組込コントローラ、及び組込コントローラ開発プロセス
JP2007128345A (ja) * 2005-11-04 2007-05-24 Toshiba Corp プログラム自動生成装置、プログラム自動生成方法、およびプログラム自動生成プログラム

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6254337A (ja) * 1985-09-02 1987-03-10 Nec Corp プログラムの階層指定表示方式
JPH02140828A (ja) * 1988-11-22 1990-05-30 Nec Corp 図式プログラムエディタにおける階層別プログラム表示方式
JPH03292532A (ja) * 1990-04-11 1991-12-24 Nissan Motor Co Ltd プログラム開発支援装置
JPH06214777A (ja) * 1993-01-20 1994-08-05 Hitachi Ltd プログラム開発方法及び装置
JPH0887406A (ja) * 1994-09-19 1996-04-02 Fuji Electric Co Ltd プログラム表示装置
JPH08106380A (ja) * 1994-10-03 1996-04-23 Toshiba Corp プログラム作成装置及び方法並びにプログラムを取り扱う制御装置
JPH09198236A (ja) * 1996-01-19 1997-07-31 Honda Motor Co Ltd 命令順序決定方法および装置
JPH09258972A (ja) * 1996-03-25 1997-10-03 Meidensha Corp エディタ
JPH1124911A (ja) * 1997-07-04 1999-01-29 Hitachi Koukiyou Syst Eng Kk ソースプログラム自動生成方法
JPH11212776A (ja) * 1998-01-27 1999-08-06 Nec Commun Syst Ltd システム仕様記述言語/プログラムコード変換方式および記録媒体
JPH11305813A (ja) * 1998-04-24 1999-11-05 Toyo Electric Mfg Co Ltd プログラマブルコントローラのプログラム編集装置
JP2005222221A (ja) * 2004-02-04 2005-08-18 Hitachi Ltd 組込コントローラ開発ツール、組込コントローラ、及び組込コントローラ開発プロセス
JP2007128345A (ja) * 2005-11-04 2007-05-24 Toshiba Corp プログラム自動生成装置、プログラム自動生成方法、およびプログラム自動生成プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNH200900188005; '平成20年の技術成果 I.研究・開発:5.4 組み込み製品向け設計支援ツール' 明電時報 2009 No.1(通巻322号), 20090126, p.11, 株式会社明電舎 *
JPN6013013214; '平成20年の技術成果 I.研究・開発:5.4 組み込み製品向け設計支援ツール' 明電時報 2009 No.1(通巻322号), 20090126, p.11, 株式会社明電舎 *

Also Published As

Publication number Publication date
JP5487789B2 (ja) 2014-05-07

Similar Documents

Publication Publication Date Title
CN108920496B (zh) 一种渲染方法及装置
JP2015043198A (ja) 解析システム、解析方法および解析プログラム
Garzón et al. Umple: A framework for model driven development of object-oriented systems
WO2013161195A1 (ja) プログラム単体テスト支援装置
US10379821B1 (en) Optimization tracing
CN110554861B (zh) 具有编译和读取-评估-打印-循环操作的软件开发环境
JP2007011605A (ja) ソフトウェア動作仕様のモデル検査支援装置およびこれを備えたモデル検査システム並びにモデル検査支援プログラム
JP2008276735A (ja) プログラムコード変換装置及びプログラムコード変換方法
JP2005063136A (ja) 半導体集積回路の設計装置、設計方法、及び設計プログラム
JP5487789B2 (ja) ソフトウェアの開発支援システム、支援方法およびプログラム
Bardaro et al. AADL for robotics: a general approach for system architecture modeling and code generation
US9720690B2 (en) Software architecture by untangling undesired code level dependencies using code refactoring
JP2009211424A (ja) 最適化箇所判定装置及び最適化箇所判定システム及びコンピュータプログラム及び最適化箇所判定方法
Al-Kofahi et al. Escaping AutoHell: a vision for automated analysis and migration of autotools build systems
JP2005222221A (ja) 組込コントローラ開発ツール、組込コントローラ、及び組込コントローラ開発プロセス
JP6279750B2 (ja) ソースコード等価性検証装置
US20120227029A1 (en) Method for code transformation supporting temporal abstraction of parameters
Di Marco et al. Model-driven approach to Agilla Agent generation
JP2008269529A (ja) デバッグ支援装置
JPWO2015136607A1 (ja) ソフトウェア開発支援システム、ソフトウェア開発支援方法およびソフトウェア開発支援プログラム
Nguyen et al. Automatic construction of timing diagrams from UML/MARTE models for real-time embedded software
JP5181947B2 (ja) 組込みソフトウェア開発支援システム、支援方法およびプログラム
JP5120166B2 (ja) 組込みソフトウェア開発支援システム、支援方法およびプログラム
CN114756205B (zh) 测井应用程序集成方法及装置
US20230401043A1 (en) Dataflow-based computer program visualization and refactoring

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120523

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130524

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140210

R150 Certificate of patent or registration of utility model

Ref document number: 5487789

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees