JP6398456B2 - ソフトウェア生成装置 - Google Patents
ソフトウェア生成装置 Download PDFInfo
- Publication number
- JP6398456B2 JP6398456B2 JP2014164893A JP2014164893A JP6398456B2 JP 6398456 B2 JP6398456 B2 JP 6398456B2 JP 2014164893 A JP2014164893 A JP 2014164893A JP 2014164893 A JP2014164893 A JP 2014164893A JP 6398456 B2 JP6398456 B2 JP 6398456B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- reception
- transmission
- processing
- simulator
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
特許文献1の発明では、ハードウェアをシミュレーションするためのソフトウェアを生成するソフトウェア生成装置であって、以下の各構成を有する。
・ハードウェアの処理開始が指示されてから終了するまでの時間を示すタイミング仕様データ(603)を記憶する記憶手段;
・上記タイミング仕様データを基に、上記ハードウェアの処理開始が指示されると上記ハードウェアの処理を行わずにスケジューラに対して時間情報を設定し、上記時間経過後のスケジューラからの通知により割り込み又はコマンド実行の処理を行うソフトウェア(104)を生成するプロセッサ(604)。
・前記各送受信データ毎の各送信処理/受信処理に係わる仕様情報であるタイミング仕様情報が予め記憶されたタイミング仕様情報記憶手段;
少なくとも前記送受信データ仕様情報と前記タイミング仕様情報とに基づいて、前記各シミュレータ間のデータ送受信プログラムを生成するデータ送受信プログラム生成手段:
図1は、本例のソフトウェア生成装置の概略構成図である。
本例のソフトウェア生成装置は、複数種類のシミュレータより成るシミュレーション装置に係わる各シミュレータ間のデータ送受信プログラムを生成する装置である。
ソフトウェア生成装置10には、その不図示の記憶部(メモリ等)に予め図示のデータ仕様12、タイミング仕様13、前処理仕様14、後処理仕様15の各種データが記憶されている。尚、これら各種データを記憶する記憶部を、それぞれ、データ仕様記憶部、タイミング仕様記憶部、前処理仕様記憶部、後処理仕様記憶部等と呼ぶものとする。
また、上記データ仕様12、タイミング仕様13、前処理仕様14、後処理仕様15の各種データは、例えば一例としては、開発者等が上記入力操作部により任意のデータを入力する作業を行うことで、作成されるものであってもよい。
上記ソフトウェア生成メイン処理部11は、上記のように予め記憶された各種データを用いて、図示のデータ送受信ソフトウェア16を生成する。このデータ送受信ソフトウェア16は、例えば図2に示す2つのシミュレータ20−30間のデータ送受信に係わるプログラムである。この例では、データ送受信ソフトウェア16は、シミュレータ20用とシミュレータ30用の2つが生成されることになる。
図2には、上記背景技術の説明に応じた、主回路のシミュレータ20と、制御基板のシミュレータ30とから成るシミュレーション装置を示す。
図3(a)には、上記データ仕様12の具体例を示す。
データ仕様12は、上記シミュレータ20−30間で送受信されるデータの名前や識別番号やサイズ等が、上記名称312、ID311、サイズ313(バイト単位)等に登録されたものである。図示の例では、名称312が“UARTData”、“PWMOutput”、“ADCInput”の3つの送受信データが、登録されている。尚、ID311は、単に各レコードの識別番号等を意味するものであっても構わない。
図示の例のタイミング仕様13は、タイミング仕様ID321、データ仕様ID322、「受信または送信」323、タイミング324等のデータ項目から成り、これらが上記タイミング仕様情報の一例である。
図4(a)に示す具体例では、前処理仕様14は、前処理仕様ID331、タイミング仕様ID332、前処理333等の各データ項目より成る。
図4(b)に示す具体例では、後処理仕様15は、後処理仕様ID341、タイミング仕様ID342、後処理343等の各データ項目より成る。
以下、図5、図6、図7、図8を参照して、制御基板のシミュレータのデータ送受信ソフトウェア生成処理について、説明する。
また、図5、図6の図上右側に示す各ソースコードには、説明の都合上、5020、5030、5040の番号を付してあり、以下の説明ではこの番号を用いて説明する場合があるものとする。これら3つのソースコード5020,5030,5040を合わせたものが、本例で生成されるデータ送受信ソフトウェア16である。尚、図示の番号5010が付されたものは、ソースコードではなく、本処理中に得られるデータ(グラフ)である。
まず、本例では、予め、各ソースコードの雛形が、開発者等によって任意に作成されて、メモリ等に記憶されているものとする。雛形には、定型表現等が記述されている。例えば、メイン関数を呼び出す処理であるソースコード5020の場合、図示の1行目と2行目の記述は、図7に示すように定型表現であり、予め「メイン関数を呼び出す処理」の雛形に、記述されているものである。すなわち、ソースコード5020における“class Main”や“public static void main()”は、予め雛形に記述されている定型表現である。
そして、ステップS12の処理では、“new”と“start()”との間に任意のスレッド名を記述する。図示の一例では、上記固定文字列“Thread”とタイミング仕様ID(ノード番号)を用いたスレッド名としている。つまり、上記タイミング仕様ID(ノード番号)=‘1’の処理に対応するスレッド名はThread1としている。同様に、上記タイミング仕様ID(ノード番号)=‘2’と‘3’の処理に対応するスレッド名はThread2_3としている。勿論、これは一例であり、この例に限るものではない。
次に、データ送受信ソフトウェア16におけるデータ型定義部分を生成する(ステップS13)。図示の例では、ステップS13の処理は、データ仕様12の名称312とサイズ313の情報を使用して、上記データ型定義部分を、図示のソースコード5030として生成・出力する。図示のようにソースコード5030には、上記データ仕様12に登録された3つのデータについて、それぞれ、データ型が定義されている。
そして、続いて、ステップS14において、上記ソースコード5020で呼び出す各スレッドの記述を生成する。例えば、依存関係の先頭(グラフ5010においてエッジの始点側のノードに対応するもの)から順に、下記の各処理(i)〜(iv)を実行するソースコードを順に作成のうえ、対応するスレッドのメイン関数中に出力する。
(ii) 前処理作成(前処理仕様14の前処理333をもとに作成)
(iii) 受信処理または送信処理作成(タイミング仕様13の「受信または送信」323やデータ仕様ID322等に基づいて作成)
(iv) 後処理作成(後処理仕様15の後処理343をもとに作成)
但し、定周期処理ではない場合、上記(i)の処理は行われない。
まず、図6に示すソースコード5040において、下記の記述は、予め雛形に記述されている定型表現である。
void run() {
while (true) 』
上記定型表現における“スレッド名”として、上記ソースコード5020で作成した各スレッド名を記述する。これより、例えば、図示の“class Thread1 extends Thread”等が記述される。
図4(b)に示す例では、タイミング仕様ID=‘1’に対応する後処理は無いので、以上でThread1の処理を生成完了となる。
この場合、上記のことから、まず、タイミング仕様ID=‘2’に係わる処理を生成し、続いて、タイミング仕様ID=‘3’に係わる処理を生成する。
続いて、タイミング仕様ID=‘3’に係わる処理生成を行う。まず、上記(ii)前処理作成を行う。これは、まず、図4(a)の例ではタイミング仕様ID332=‘3’に対応する前処理333は、“#sendData=uart.getDataToBeSent()”であり、これを取得する。更に、図3(b)の例では対応するデータ仕様ID322=‘1’であるので図3(a)のデータ仕様12よりデータ名称は“UARTData”であるので、これを取得する。そして、これら取得データを用いて、図6のソースコード5040に下記の記述を行う。
次に、上記(iii)では、タイミング仕様ID321=‘3’に対応する「受信または送信」323は、“送信”であることから、データ送信時の呼出の定型表現である“send(sendData)”を、図6のソースコード5040に記述する。
例えば、この様にして、図6のソースコード5040が生成される。
図9に、図5、図6に示したデータ送受信ソフトウェア16(ソースコード5020,5030,5040)の動作を示す処理フローチャート図を示す。尚、本装置で作成されたデータ送受信ソフトウェア16は、例えば制御基板のシミュレータ30に転送されて記憶され、このシミュレータ30において実行されることで、例えば図9の処理が実行されるものである。尚、制御基板のシミュレータ30の上記シミュレーション処理部31が、例えば図9の処理を実行するものである。
この処理は、100ms経過する毎に(ステップS21)、ステップS22、S23の処理を実行するものである。ステップS22では、上記関数“pwm.getValue()”を実行する。ここでは、この関数は、PWMデータをPWM処理オブジェクト(pwm)から取得する処理を実行するものとする。そして、ステップS23では、上記“sendData(data)”を実行することで、上記取得したPWMデータを、主回路のシミュレータ20へ送信する。
この処理では、まず上記関数“uart.clearRecvDataArea()”を実行する。ここでは、この関数は、上記“UARTData”の受信データ領域をクリアする処理であるものとする(ステップS31)。そして、主回路のシミュレータ20から送信された“UARTData”を受信したら(ステップS32)、この受信データをUART処理オブジェクト(uart)に設定する(上記“uart.setRecvData(recvData)”を実行する)(ステップS33)。
以上、本装置で自動的に生成されて制御基板のシミュレータ30で実行されるデータ送受信処理の一例について説明した。
まず、図10の図上左側に示すように、メイン関数が実行され、2つのスレッド(Thread1,Thread2_3)を起動する。そして、これでメイン関数は終了する。尚、上記の通り、これらThread1,Thread2_3は、図9の2つのスレッドと同一名称であるが、処理内容は異なるものである。
Thread1の処理は、図示の例では、上記ステップS23で制御基板のシミュレータ30から送信されてくる上記PWMデータを受信すると(ステップS41)、この受信データをPWM処理オブジェクト(pwm)に設定する処理である(ステップS42)。
尚、上記ステップS32、S41、S55の処理は、所定のデータを受信したら次処理に移行するもの(ブロッキングコール)である。
11 ソフトウェア生成メイン処理部
12 データ仕様
13 タイミング仕様
14 前処理仕様
15 後処理仕様
16 データ送受信ソフトウェア
20 主回路のシミュレータ
21 シミュレーション処理部
22 各種データ格納領域
30 制御基板のシミュレータ
31 シミュレーション処理部
32 各種データ格納領域
311 ID
312 名称
313 サイズ
321 タイミング仕様ID
322 データ仕様ID
323 「受信または送信」
324 タイミング
331 前処理仕様ID
332 タイミング仕様ID
333 前処理
341 後処理仕様ID
342 タイミング仕様ID
343 前処理
5010 グラフ
5020 ソースコード
5030 ソースコード
5040 ソースコード
Claims (5)
- 複数種類のシミュレータより成るシミュレーション装置に係わる各シミュレータ間のデータ送受信プログラムを生成する装置であって、
前記各シミュレータ間で送受信されるデータの仕様情報である送受信データ仕様情報が予め記憶された送受信データ仕様情報記憶手段と、
前記各送受信データ毎の各送信処理/受信処理に係わる仕様情報であるタイミング仕様情報が予め記憶されたタイミング仕様情報記憶手段と、
少なくとも前記送受信データ仕様情報と前記タイミング仕様情報とに基づいて、前記各シミュレータ間のデータ送受信プログラムを生成するデータ送受信プログラム生成手段と、
を有することを特徴とするソフトウェア生成装置。 - 前記各送受信データの送信/受信に係わる前処理が、予め登録された前処理記憶手段と、
前記各送受信データの送信/受信に係わる後処理が、予め登録された後処理記憶手段とを更に有し、
前記データ送受信プログラム生成手段は、前記送受信データ仕様情報と前記タイミング仕様情報と、前記前処理または/及び後処理とに基づいて、前記各シミュレータ間のデータ送受信プログラムを生成することを特徴とする請求項1記載のソフトウェア生成装置。 - 前記タイミング仕様情報には、前記各送信処理/受信処理の実行条件が含まれていることを特徴とする請求項1記載のソフトウェア生成装置。
- 前記送受信データ仕様情報は、前記複数のシミュレータに共通の情報であり、
前記タイミング仕様情報、前記前処理、前記後処理は、各シミュレータ毎に個別に設けられた情報であることを特徴とする請求項2記載のソフトウェア生成装置。 - 前記実行条件は、実行周期あるいは他の送信処理/受信処理の実行完了を起動条件とするものであることを特徴とする請求項3記載のソフトウェア生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014164893A JP6398456B2 (ja) | 2014-08-13 | 2014-08-13 | ソフトウェア生成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014164893A JP6398456B2 (ja) | 2014-08-13 | 2014-08-13 | ソフトウェア生成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016040702A JP2016040702A (ja) | 2016-03-24 |
JP6398456B2 true JP6398456B2 (ja) | 2018-10-03 |
Family
ID=55541017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014164893A Expired - Fee Related JP6398456B2 (ja) | 2014-08-13 | 2014-08-13 | ソフトウェア生成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6398456B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101833839B1 (ko) * | 2016-10-14 | 2018-03-05 | 주식회사 샵캐스트 | 모바일 디바이스 기반의 저작권 기술에 대한 운영 전력 감소 개발 장치 및 방법 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06332828A (ja) * | 1993-05-19 | 1994-12-02 | Hitachi Ltd | 通信処理プログラム開発支援システム |
JP3126848B2 (ja) * | 1993-05-21 | 2001-01-22 | 株式会社エフ・エフ・シー | 計算機 |
-
2014
- 2014-08-13 JP JP2014164893A patent/JP6398456B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2016040702A (ja) | 2016-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI581188B (zh) | The way to load the driver and the embedded device | |
JP2017062767A5 (ja) | ||
JP5350428B2 (ja) | 自動プログラム生成装置、方法及びコンピュータプログラム | |
US9372683B2 (en) | Automatic generation of class identifiers from source code annotations | |
WO2021057252A1 (zh) | 一种业务处理流程配置方法、业务请求处理方法及装置 | |
US8868976B2 (en) | System-level testcase generation | |
JP6673355B2 (ja) | 配備装置、配備方法、及び、プログラム | |
CN108920496B (zh) | 一种渲染方法及装置 | |
JP6673359B2 (ja) | システム構築支援システム、方法およびプログラム | |
US20160062871A1 (en) | Program information generating system, method, and computer program product | |
JP5176478B2 (ja) | データフロー解析装置、データフロー解析方法およびデータフロー解析プログラム | |
US20150006736A1 (en) | Method and System for Deploying and Modifying a Service-Oriented Architecture Deployment Environment | |
CN112559143A (zh) | 任务调度方法、***及计算设备 | |
US9026997B2 (en) | Systems and methods for executing object-oriented programming code invoking pre-existing objects | |
JP7113765B2 (ja) | コード管理システムおよびコード管理方法 | |
TWI694377B (zh) | 行動原生應用程式開發平台 | |
JP6398456B2 (ja) | ソフトウェア生成装置 | |
JP2017522639A5 (ja) | ||
JP2008165342A (ja) | ソースコード生成方法及び装置並びにプログラム | |
US20210271458A1 (en) | Managing an app method and system | |
US9405514B1 (en) | Process fragment management | |
JP2013235508A (ja) | オブジェクト指向プログラム生成装置、その方法、プログラム | |
JP2012048329A (ja) | オブジェクト指向プログラム生成装置、その方法、プログラム | |
JP6981124B2 (ja) | システム構築支援装置、システム構築支援方法、及びプログラム | |
JP2011165051A (ja) | 開発支援装置及び方法並びにプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170713 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180306 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180326 |
|
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: 20180807 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180820 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6398456 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |