JP2022011264A - Software development support device and software development support method - Google Patents
Software development support device and software development support method Download PDFInfo
- Publication number
- JP2022011264A JP2022011264A JP2020112276A JP2020112276A JP2022011264A JP 2022011264 A JP2022011264 A JP 2022011264A JP 2020112276 A JP2020112276 A JP 2020112276A JP 2020112276 A JP2020112276 A JP 2020112276A JP 2022011264 A JP2022011264 A JP 2022011264A
- Authority
- JP
- Japan
- Prior art keywords
- model
- control
- source
- software development
- development support
- 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
Links
- 238000000034 method Methods 0.000 title claims description 53
- 238000012545 processing Methods 0.000 claims abstract description 113
- 238000004458 analytical method Methods 0.000 claims abstract description 31
- 238000004364 calculation method Methods 0.000 claims description 67
- 238000012360 testing method Methods 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 5
- 239000000284 extract Substances 0.000 claims description 3
- 230000008569 process Effects 0.000 description 38
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 17
- 238000011161 development Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000020169 heat generation Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Abstract
Description
本発明は、機器を制御するモデルベース開発において、制御ソフトウェアの開発を行うソフトウェア開発支援装置及びソフトウェア開発支援方法に関する。 The present invention relates to a software development support device and a software development support method for developing control software in model-based development for controlling a device.
特定の機能を実現するために機械や装置に組み込まれるコンピュータシステムである組み込みシステムのソフトウェア開発では、機器を制御する処理を実装した制御プログラムを実行することにより、当該機器をリアルタイムで制御する。 In software development of an embedded system, which is a computer system embedded in a machine or device to realize a specific function, the device is controlled in real time by executing a control program that implements a process for controlling the device.
近年、制御ソフトウェアの開発においては、開発者が制御ソフトウェアのソースコードを記述することに代えて、より簡易に生成でき視認性の良い「(制御)モデル」によって記述する場合がある。この開発手法をモデルベース開発と呼ぶ。 In recent years, in the development of control software, instead of describing the source code of the control software, the developer may describe it by a "(control) model" that can be generated more easily and has good visibility. This development method is called model-based development.
モデルベース開発に対応したプログラム開発環境としては、例えば、MathWorks(登録商標)社のMATLAB(登録商標)がある。開発者は、MATLAB(登録商標)の一機能であるSimulinkを用いて、モデルを記述する。モデルは、ブロックと呼ばれる機能単位及び機能単位間の入出力関係を示す結線によって記述される。 As a program development environment corresponding to model-based development, for example, there is MATLAB (registered trademark) of MathWorks (registered trademark). The developer describes the model using Simulink, which is a function of MATLAB (registered trademark). The model is described by a functional unit called a block and a connection showing an input / output relationship between the functional units.
Simulink(登録商標)を用いて、制御ソフトウェアが実装した機能を記述したモデルは、制御モデルと呼ばれる。この制御モデルを元に、例えばdSpace(登録商標)社のTargetLink(登録商標)を用いて、ソースコードの生成に必要なデータ型やビットレートなどの情報を付加するプロセスはスケーリングと呼ばれる。制御モデルを基に生成されたソースコードをモデルソースと呼ぶ。 A model that describes the functions implemented by the control software using Simulink® is called a control model. Based on this control model, for example, using TargetLink (registered trademark) of dSpace (registered trademark), the process of adding information such as data type and bit rate necessary for generating source code is called scaling. The source code generated based on the control model is called a model source.
公知例として特許文献1には、制御モデルに対してスケーリングを実施してソースコード生成までを自動化する技術が開示されている。
As a known example,
また、ソフトウェア開発においてはゼロからソフトウェアを生成してプログラムを生成するよりも、ソフトウェア部品をかき集めて再利用する流用開発を行うことが効果的な手法として知られている。 Further, in software development, it is known as an effective method to carry out diversion development in which software parts are collected and reused, rather than generating software from scratch to generate a program.
公知例として特許文献2には、カテゴリ情報が付与されたソフトウェア部品を用意しておき、開発要求を満たすソフトウェア部品を検索してソースコードの流用開発ができるシステムが開示されている。 As a known example, Patent Document 2 discloses a system in which software components to which category information is added are prepared, software components satisfying development requirements can be searched for, and source code can be diverted and developed.
しかし、制御モデルはプログラム全体の仕様は表現されておらず、プログラム全体の制御仕様は、複数の制御モデルで構成されて制御モデル同士の情報の全制御仕様の特徴を表したモデル(以下特徴モデル)によって表現されている。 However, the control model does not express the specifications of the entire program, and the control specifications of the entire program are composed of multiple control models and represent the characteristics of all the control specifications of the information between the control models (hereinafter referred to as the feature model). ).
特許文献1の技術では、制御モデルのモデルソースの生成はできても、特徴モデルの仕様を満たしたプログラムを生成することはできない。
In the technique of
特徴モデルは多数の制御モデルより構成されているため、特徴モデルの仕様を満たすプログラムを生成する毎に制御モデルよりコード生成を行うと、使用する制御モデルの数だけ生成時間を要してしまう。 Since the feature model is composed of a large number of control models, if code generation is performed from the control model each time a program satisfying the specifications of the feature model is generated, it takes as many generation times as the number of control models to be used.
特許文献2に記載の技術はソフトウェア部品の検索は容易にできるものの、ソースコード単位の管理ではなく、あくまでもソースコードの一部を部品としてカテゴリ別に管理しているため、分類や処理の依存関係から設計者自身が適切な部品を見つけ出した上でソースコードを生成する必要がある。 Although the technology described in Patent Document 2 makes it easy to search for software parts, it does not manage each source code, but manages a part of the source code as parts by category, so it depends on the classification and processing. It is necessary for the designer himself to find the appropriate part and then generate the source code.
そのため、実行プログラムを生成するには、特徴モデルより制御モデル間の依存関係を解析し、実行順序を定義する作業や、異なる演算周期で同一変数を使用する場合に変数の一貫性を確保する受け渡し処理(バッファリング処理)の定義や、コンパイル対象のファイルや設定を定義したコンパイル実行情報(MAKEファイル)をそれぞれ定義する必要があるが、上記特許文献1、2はいずれも上記3点を考慮していない。
Therefore, in order to generate an execution program, the work of analyzing the dependency between control models from the feature model and defining the execution order, and the passing to ensure the consistency of variables when the same variable is used in different calculation cycles. It is necessary to define the processing (buffering processing) and the compilation execution information (MAKE file) that defines the files to be compiled and the settings, but
さらに、例えば自動車用電子制御ユニット(Electric Control Unit、以下ECU)の組み込みソフトウェア開発では、マイクロコンピュータ(以下、マイコン)の性能向上に伴う発熱量や消費電力の増加対策として複数のコアを含むマイコンが登場してきており、ソフトウェアを複数のコアに対応可能な構造にすることが求められている。 Furthermore, for example, in the development of embedded software for an electronic control unit for automobiles (Electronic Control Unit, hereinafter referred to as ECU), a microcomputer including multiple cores is used as a countermeasure against an increase in heat generation and power consumption due to performance improvement of a microcomputer (hereinafter referred to as a microcomputer). With the advent, it is required that the software be structured so that it can support multiple cores.
本発明は、上記のような課題に鑑みて、特徴モデルで定義された制御仕様からプログラムを生成し、モデルソースにカテゴリ情報を付与することなく部品をモデルソース単位で管理することができ、また、複数のコアを含むプロセッサへも対応することができるソフトウェア開発支援装置を提供することを目的とする。 In view of the above problems, the present invention can generate a program from the control specifications defined in the feature model and manage the parts in the model source unit without adding the category information to the model source. The purpose is to provide a software development support device that can support processors including multiple cores.
本発明は、第1のプロセッサとメモリを有するソフトウェア開発支援装置であって、制御モデルの実行順序を含んでソフトウェアの制御仕様を記述した特徴モデルを受け付けて、当該特徴モデルを構成している制御モデルを解析し、前記制御モデルの演算周期と、前記制御モデルの実行順序を解析して実行順序情報として出力する特徴モデル解析部と、前記制御モデルを受け付けて、前記制御モデルの演算周期を含んでファイル名が当該制御モデルと同一となるモデルソースを生成して、生成した前記モデルソースが前記制御モデルの仕様と一致しているかをテストした後にモデルソース記憶部へ格納するモデルソース生成部と、前記特徴モデルから分析された前記制御モデルと同名のモデルソースを前記モデルソース記憶部から収集するモデルソース収集部と、複数のコアを有して前記ソフトウェアを実行する第2のプロセッサの情報を入力するプロセッサ情報を受け付けて、前記収集されたモデルソースに対して、前記ソフトウェアを前記複数のコアの処理に最適化するために前記演算周期と実行順序情報に基づいてコア毎の処理の割り当て情報を生成する並列処理生成部と、を有する。 The present invention is a software development support device having a first processor and a memory, and accepts a feature model that describes software control specifications including an execution order of the control model, and controls constituting the feature model. Includes a feature model analysis unit that analyzes the model, analyzes the calculation cycle of the control model, analyzes the execution order of the control model, and outputs it as execution order information, and accepts the control model and includes the calculation cycle of the control model. Generates a model source whose file name is the same as that of the control model, tests whether the generated model source matches the specifications of the control model, and then stores it in the model source storage unit. Information on a model source collector that collects a model source with the same name as the control model analyzed from the feature model from the model source storage and a second processor that has a plurality of cores and executes the software. Processing allocation information for each core based on the calculation cycle and execution order information in order to optimize the software for the processing of the plurality of cores for the collected model source by receiving the input processor information. It has a parallel processing generation unit and a parallel processing generation unit.
本発明によれば、複数のコアを含むプロセッサ向けに最適化されたソフトウェアを開発することができる。また、ソースコードの収集から、演算の実行順序の設定、接続情報の設定、コンパイル、コア別の処理の割り当てを自動で実施できるので、設計作業の工数削減を図ることができる。 According to the present invention, it is possible to develop software optimized for a processor including a plurality of cores. In addition, since it is possible to automatically perform the collection of source code, the setting of the execution order of operations, the setting of connection information, the compilation, and the allocation of processing for each core, the man-hours for design work can be reduced.
また、本発明は実施形態に制限されず、本発明の範囲を逸脱しなければ、ECU以外の組み込み制御機器やモデル情報を基にしたソフトウェア開発手法に対して様々な応用が可能である。よって、特徴モデルを基に特徴モデルで表現された制御仕様を満たすプログラムを自動で出力することができる。 Further, the present invention is not limited to the embodiment, and various applications can be applied to embedded control devices other than the ECU and software development methods based on model information as long as they do not deviate from the scope of the present invention. Therefore, it is possible to automatically output a program that satisfies the control specifications expressed by the feature model based on the feature model.
本明細書において開示される主題の、少なくとも一つの実施の詳細は、添付されている図面と以下の記述の中で述べられる。開示される主題のその他の特徴、態様、効果は、以下の開示、図面、請求項により明らかにされる。 Details of at least one practice of the subject matter disclosed herein are set forth in the accompanying drawings and in the description below. Other features, embodiments, and effects of the disclosed subject matter are manifested in the following disclosures, drawings, and claims.
以下に本発明の実施形態について図面を参照しつつ説明を行う。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図1は、制御モデルA102-A~制御モデルG102-Gと特徴モデル101の関係を示した図である。特徴モデル101は複数の制御モデルA102-A2~制御モデルG102-Gによって構成されており、それぞれの制御モデル同士は共通変数の算出と、参照タイミングによって実行順序が決められる。そして、特徴モデル101は、生成するソフトウェア全体の制御仕様及び制御モデルの処理順序が記述されている。
FIG. 1 is a diagram showing the relationship between the control model A102-A to the control model G102-G and the
なお、以下の説明では、制御モデルA~Gを個々に特定しない場合には「-」以降を省略した符号「制御モデル102」を用いる。また、他の構成要素の符号についても同様である。
In the following description, when the control models A to G are not individually specified, the reference numeral “
制御モデルA102-Aの出力は、制御モデルB102-Bと制御モデルE102-Eへ入力される。制御モデルB102-Bは制御モデルA102-Aの出力に所定の処理を行って制御モデルC102-Cへ出力する。制御モデルD102-Dは制御モデルC102-Cの出力に所定の処理を行って制御モデルG102-Gへ出力する。 The output of the control model A102-A is input to the control model B102-B and the control model E102-E. The control model B102-B performs a predetermined process on the output of the control model A102-A and outputs the output to the control model C102-C. The control model D102-D performs a predetermined process on the output of the control model C102-C and outputs the output to the control model G102-G.
制御モデルE102-Eは制御モデルA102-Aの出力に所定の処理を行って制御モデルF102-Fへ出力する。制御モデルF102-Fは制御モデルE102-Eの出力に所定の処理を行って制御モデルG102-Gへ出力する。制御モデルG102-Gは、制御モデルD102-Dと制御モデルF102-Fの出力に所定の処理を行った結果を出力する。 The control model E102-E performs a predetermined process on the output of the control model A102-A and outputs the output to the control model F102-F. The control model F102-F performs a predetermined process on the output of the control model E102-E and outputs the output to the control model G102-G. The control model G102-G outputs the result of performing predetermined processing on the outputs of the control model D102-D and the control model F102-F.
なお、本実施例の制御モデル102は、周知のモデルベース開発で利用されるモデルを用いることができ、制御単位の演算処理を記述したブロック線図などで構成される。
The
図2は、制御モデル102の内部処理の一例を示した図である。制御モデル102の内部では図に示したように一つ以上の入力値X(201)に対して一つ以上の処理A(211)~処理C(213)を行って一つ以上の出力値(本実施例ではY、Zの2つ)202、203を算出している。また、出力値Y、Z(202、203)はマルチコアのプロセッサで演算を行う場合の演算コアを指定する情報も含む。
FIG. 2 is a diagram showing an example of internal processing of the
図3Aは、ソフトウェア開発支援装置301の機能の一例を示すブロック図である。
FIG. 3A is a block diagram showing an example of the function of the software
ソフトウェア開発支援装置301は入力として、制御モデル102及び特徴モデル303の情報を必要とする。モデルソース生成部304では、入力された制御モデル102をTargetLink(登録商標)等のオートコーディング機能を使用してC言語で記述されたソースコードを生成する。
The software
この制御モデル102を基に出力されたソースコードはモデルソースと呼ばれる。この際に制御モデル102と、生成されたモデルソースとでは拡張子を除いたファイル名が同一であり、モデルソースには実行される演算周期の情報が含まれている。
The source code output based on this
本実施例のモデルソース生成部304では、制御モデル102から出力されるモデルソースは1制御モデルから1モデルソースとしているが、制御モデル102内で行われている1つの演算を1つのモデルソースとして出力してもよい。
In the model
モデルソース生成部304は、生成したソースコードと、入力された制御モデル102とで等価性を検証し、モデルソースに対しての変数の入出力値が仕様通りとなっているか単体テストを実施する。
The model
制御モデル102は流用変更等で内容が変更された場合は、更新毎にファイル名の末尾に更新回数の数字を付与する等して、名前を変えることで同名ファイルが重複することを防ぐ。
When the content of the
モデルソース生成部304で生成されたモデルソースは、モデルソース記憶部305に記憶され、モデルソース記憶部305には特徴モデル101で使用される全ての制御モデル102を予め記憶しておく。特徴モデル解析部306は、入力された特徴モデル101を解析する。(詳細な処理は後述する。)
The model source generated by the model
モデルソース収集部307では、特徴モデル解析部306で特定した制御モデル情報を基に同じ制御モデル102から生成されたモデルソースをモデルソース記憶部305より収集して収集モデルソースリスト901(図9参照)を生成する。
The model
モデルソース収集部307が収集したモデルソースは、それぞれ単体テストを実施済のため、収集したモデルソースに対して新たにテスト等の確認作業を実施する必要はない。
Since each model source collected by the model
モデルソース収集部307が収集したモデルソースに対しては接続処理追加部308で制御モデル102間の接続情報を定義する(詳細な処理は後述する)。
For the model source collected by the model
並列処理生成部309は、マルチコアプロセッサ向けの処理を追加する(詳細な処理は後述する)。並列処理生成部309では、特徴モデル解析部306と、接続処理追加部308と、プロセッサ情報310で入力された制御対象ECUのプロセッサのコア数の情報や、処理能力、コア毎のアドレスの割り当て情報を基に並列処理を生成し、モデルソースへ適用する。
The parallel
並列処理が適用されたモデルソースはコンパイルに必要な情報を満たしているため、コンパイル部311でコンパイルを実施できる。コンパイル部311では、モデルソース及び追加した接続処理を基にプロセッサ上で処理を実行可能な実行ファイルへの変換を行う。コンパイル部311でコンパイルが実行されたファイル(プログラム)はプログラム出力部312より出力される。
Since the model source to which parallel processing is applied satisfies the information required for compilation, compilation can be performed by the
図3Bは、ソフトウェア開発支援装置301の構成の一例を示すブロック図である。ソフトウェア開発支援装置301はプロセッサ11と、メモリ12と、ストレージ装置13と、入出力装置14と、ネットワーク装置15を含む計算機である。
FIG. 3B is a block diagram showing an example of the configuration of the software
入出力装置14は、キーボードやマウスあるいはタッチパネル等の入力装置と、ディスプレイ等の出力装置で構成される。ネットワーク装置15は、ネットワーク16に接続されて、他の装置と通信を行うことができる。
The input /
メモリ12には、モデルソース生成部304と、特徴モデル解析部306と、モデルソース収集部307と、接続処理追加部308と、並列処理生成部309と、コンパイル部311と、プログラム出力部312がプログラムとしてロードされてプロセッサ11によって実行される。また、メモリ12には、各プログラムが用するデータとしてモデルソース記憶部305が格納される。
The
プロセッサ11は、各機能部のプログラムに従って処理を実行することによって、所定の機能を提供する機能部として稼働する。例えば、プロセッサ11は、モデルソース生成プログラムに従って処理を実行することでモデルソース生成部304として機能する。他のプログラムについても同様である。さらに、プロセッサ11は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
The processor 11 operates as a functional unit that provides a predetermined function by executing a process according to a program of each functional unit. For example, the processor 11 functions as the model
ソフトウェア開発支援装置301で行われる処理の一例を図4のフローチャートに示す。ソフトウェア開発支援装置301の特徴モデル解析部306は、特徴モデル303で使用されている制御モデル102の特定と、制御モデル102のリストの生成を行う(401)。この処理については、図5で後述する。
An example of the processing performed by the software
次に、特徴モデル解析部306は、制御モデル102の処理を行うコアの割り当て情報を抽出する(402)。なお、コアの割り当て情報は、例えば、制御モデル102から抽出することができる。そして、特徴モデル解析部306は、各制御モデル102の演算周期と演算順序を解析して演算実行順序リストを生成する(403)。この処理については、図6で詳述する。
Next, the feature
また、モデルソース生成部304は制御モデルを入力してモデルソースを生成してモデルソース記憶部305に格納する。モデルソース収集部307は、演算実行順序リストに対応するモデルソースを収集して接続処理追加部308へ出力する。
Further, the model
その後、接続処理追加部308は、異なる演算周期で同一変数を使用している制御モデル102を検索する(404)。接続処理追加部308は、検索の結果、異なる演算周期で同一変数を使用する制御モデル102が存在する場合には、変数接続処理のソースコードを生成する(405)。
After that, the connection
並列処理生成部309は、生成したソースコードを接続先の演算周期毎に割り当てる(406)。この処理については、図7で後述する。そして、接続処理追加部308は、処理が完了していない変数接続処理があるか否かを判定し(407)、全ての変数接続処理が完了するまでこの上記ステップ404~406の処理を繰り返して実行する。
The parallel
上記の処理によって、ソフトウェア開発支援装置301は、異なる演算周期で同一変数を使用している制御モデル102間で変数を受け渡す変数接続処理を自動的に追加することが可能となる。
Through the above processing, the software
図5は、特徴モデル解析部306の使用モデル特定処理の一例を示す図である。特徴モデル解析部306は、入力された特徴モデル101に含まれる制御モデル102の演算順序を解析し、各制御モデル102毎に予め設定されたコア割り当て情報502-1、502-2を付与する。
FIG. 5 is a diagram showing an example of the use model specifying process of the feature
特徴モデル解析部306は、使用する制御モデル102とコアの割り当て情報502を含む使用モデル及びコア割り当てリスト501を生成する。使用モデル及びコア割り当てリスト501には使用する制御モデル102と、制御モデルA102-A~制御モデルG102-Gのコア割り当て情報502が含まれる。
The feature
なお、コアの割り当て情報は、ソフトウェア開発支援装置301が生成したプログラムを実行する制御対象ECUのプロセッサコアの情報である。
The core allocation information is information on the processor core of the controlled object ECU that executes the program generated by the software
図6は、特徴モデル解析部306が生成する演算周期毎の演算実行順序リスト600の一例を示す図である。特徴モデル解析部306は、特徴モデル101から抽出した制御モデル102のそれぞれについて制御周期と実行順序を解析して、演算実行順序リスト600を生成する。
FIG. 6 is a diagram showing an example of a calculation
演算実行順序リスト600は、例えば、10msの演算周期で実行する制御モデル102のリスト601と、20msの演算周期で実行する制御モデル102のリスト602と、100msの演算周期で実行する制御モデル102のリスト603が含まれる。各リスト601~603内では演算の実行順序で制御モデル102が列記される。
The calculation
図7は、特徴モデル解析部306の演算周期毎の変数接続処理定義701の一例を示す図である。
FIG. 7 is a diagram showing an example of the variable
演算周期毎の変数接続処理定義701は、異なる演算周期で同一変数を使用する制御モデル102で実施する処理のソースコードを含む。
The variable
図8は、異なる演算周期で同一の変数を使用している制御モデル102間の表記の一例を示す図である。
FIG. 8 is a diagram showing an example of notation between
図示の例では、10msの周期で演算が行われている制御モデルA(102-A)から同じく10msの周期で演算が行われている制御モデルB(102-B)と20msで演算が行われている制御モデルE(102-E)に変数情報が受け渡されている例を示す。 In the illustrated example, the calculation is performed in 20 ms from the control model A (102-A) in which the calculation is performed in a cycle of 10 ms to the control model B (102-B) in which the calculation is also performed in a cycle of 10 ms. An example is shown in which variable information is passed to the control model E (102-E).
特徴モデルには、同じ演算周期の制御モデル102に変数情報を受け渡す処理はないが、異なる演算周期で変数情報を受け渡す際は、制御モデル102の間に接続処理804を表すブロックが挿入される。よって、異なる演算周期に変数情報を受け渡している箇所は、この接続処理804のブロックを検索すればよい。
In the feature model, there is no process of passing variable information to the
図9は、接続処理追加部308の構成の一例を示すブロック図である。図3Aで示したモデルソース収集部307で収集された収集モデルソースリスト901に、特徴モデル解析部306で抽出された演算実行順序リスト600と、変数接続処理定義701を適用することで特徴モデル101とモデルソースの振る舞いを一致させる接続処理追加済モデルソース1101を生成する。
FIG. 9 is a block diagram showing an example of the configuration of the connection
具体的には、接続処理追加部308は収集モデルソースリスト901から、モデルソースのファイル名及びモデルソースの演算周期の情報を取得する。次に、MAKEファイル生成部904はモデルソースのファイル名の情報を用いてコンパイルの際に対象となるソースファイルを定義するMAKEファイルの生成を行う。
Specifically, the connection
関数実行順序定義ファイル生成部905は、モデルソースの演算周期の情報と演算周期毎の演算実行順序リスト600を基に、演算周期毎の関数実行順序定義ファイルを生成する(図10参照)。
The function execution order definition
また、変数情報受け渡し処理定義ファイル生成部906は、変数接続処理定義701を基に変数情報受け渡し処理定義ファイルを生成する。そして、接続処理適用部907は、上記の処理で生成されたMAKEファイルと、関数実行順序定義ファイルと、変数情報受け渡し処理定義ファイルを収集モデルソースリスト901に追加して接続処理追加済モデルソース1101として出力し、モデルソースが格納されているフォルダに保存する。
Further, the variable information passing process definition
図10は、接続処理追加部308の演算周期毎の演算実行順序定義1001の一例を示す図である。
FIG. 10 is a diagram showing an example of a calculation
演算周期毎の演算実行順序定義1001は、演算周期毎に制御モデル102の実行順序を定義したソースコードで記述される。
The operation
図11は、並列処理生成部309の構成の一例を示すブロック図である。並列処理生成部309は、接続処理追加部308から出力された接続処理追加済モデルソース1101に対して、使用プロセッサ情報保管部1102の情報を基に、制御対象ECUのプロセッサのコア毎に制御モデル102の処理を割り当てる。
FIG. 11 is a block diagram showing an example of the configuration of the parallel
使用プロセッサ情報保管部1102は、特徴モデル101の入力時又は予め、ソフトウェアの書き込み先の電子基板(制御対象ECU)で使用されているプロセッサのコア数や、各コアの処理能力、コア毎のアドレス割り当て情報をプロセッサ情報310として入力する。また、設定するコア数は2コアに限定されず、シングルコアや2より多いコア数に設定することも可能である。
The processor
並列化処理適用部1103では、特徴モデル解析部306で生成した使用モデル及びコア割り当てリスト501と、演算実行順序定義1001、使用プロセッサ情報保管部1102、の情報を基に制御モデル102毎にコア割り当て情報502を付与する。具体的にはマイコン毎に定められたアドレスの割り当て情報を基に、各コア毎に割り当てられた処理を該当コアのアドレス領域に定義する。
In the parallel
図12は、2コアのプロセッサに並列化した処理を割り当てた例を示す。図示の例は、ソフトウェア開発支援装置301で生成したプログラムを制御対象ECU50で実施する例を示す。
FIG. 12 shows an example in which parallel processing is assigned to a two-core processor. The illustrated example shows an example in which the program generated by the software
制御対象ECU50は、デュアルコアのプロセッサ51と、RAM(Random access memory)52と、ROM(Read Only memory)53と図示しないインタフェースを有する。
The controlled ECU 50 has a dual-
ソフトウェア開発支援装置301で生成したプログラムはROM53に書き込まれ、RAM52にロードされてからプロセッサ51の第1コア52-1又は第2コア52-2で実行される。
The program generated by the software
第1コア52-1には、制御モデルA(102-A)と、制御モデルB(102-B)及び制御モデルC(102-C)の処理が割り当てられ、 第2コア52-2には、制御モデルE(102-E)及び制御モデルF(102-F)の処理が割り当てられる。 The first core 52-1 is assigned the processing of the control model A (102-A), the control model B (102-B), and the control model C (102-C), and the second core 52-2 is assigned. , Control model E (102-E) and control model F (102-F) are assigned.
このようにソフトウェア開発支援装置301は、制御モデル102の単位で第1コア52-1と第2コア52-2に処理を分割して割り当てを行う。本実施例のソフトウェア開発支援装置301を用いれば、特徴モデル101で表現された演算処理の依存関係を反映した並列化処理を自動的に生成することができる。
In this way, the software
以上、本開示の好ましい実施形態について説明した。 The preferred embodiments of the present disclosure have been described above.
こうして、本実施例では、ソフトウェア開発支援装置301へ入力された特徴モデル101から制御仕様を満たすプログラムを生成することができる。さらに、マルチコアプロセッサ向けの処理を生成することも可能となる。
In this way, in this embodiment, it is possible to generate a program satisfying the control specifications from the
この実施例は1つのコンピュータを用いて実行してもよいし、処理毎に異なるコンピュータを用いて実行しても構わない。あるいはインターネット等のネットワークで連携された複数のコンピュータ間で各工程の結果を送受信することでソフトウェア開発を実施するようにしてもよい。 This embodiment may be executed using one computer, or may be executed using a different computer for each process. Alternatively, software development may be carried out by transmitting and receiving the results of each process between a plurality of computers linked by a network such as the Internet.
<結び>
以上のように、上記実施例のソフトウェア開発支援装置301は、以下のような構成とすることができる。
<Conclusion>
As described above, the software
(1)第1のプロセッサ(11)とメモリを有するソフトウェア開発支援装置(301)であって、制御モデル(102)の実行順序を含んでソフトウェアの制御仕様を記述した特徴モデル(101)を受け付けて、当該特徴モデル(101)を構成している制御モデル(102)を解析し、前記制御モデル(102)の演算周期と、前記制御モデル(102)の実行順序を解析して実行順序情報(演算実行順序リスト600)として出力する特徴モデル解析部(306)と、前記制御モデル(102)を受け付けて、前記制御モデル(102)の演算周期を含んでファイル名が当該制御モデル(102)と同一となるモデルソースを生成して、生成した前記モデルソースが前記制御モデル(102)の仕様と一致しているかをテストした後にモデルソース記憶部へ格納するモデルソース生成部(304)と、前記特徴モデル(101)から分析された前記制御モデル(102)と同名のモデルソースを前記モデルソース記憶部(305)から収集するモデルソース収集部(307)と、複数のコア(第1コア52-1、第2コア52-2)を有して前記ソフトウェアを実行する第2のプロセッサ(51)の情報を受け付けて、前記収集されたモデルソースに対して、前記ソフトウェアを前記複数のコア(51)の処理に最適化するために前記演算周期と実行順序情報(600)に基づいてコア毎の処理の割り当て情報を生成する並列処理生成部(309)と、を有することを特徴とするソフトウェア開発支援装置。 (1) A software development support device (301) having a first processor (11) and a memory, and accepts a feature model (101) that describes software control specifications including the execution order of the control model (102). Then, the control model (102) constituting the feature model (101) is analyzed, the calculation cycle of the control model (102) and the execution order of the control model (102) are analyzed, and the execution order information (execution order information ( The feature model analysis unit (306) that outputs as the calculation execution order list 600) and the control model (102) are received, and the file name includes the calculation cycle of the control model (102) and the file name is the control model (102). A model source generation unit (304) that generates the same model source, tests whether the generated model source matches the specifications of the control model (102), and then stores the model source in the model source storage unit, and the above. A model source collecting unit (307) that collects a model source having the same name as the control model (102) analyzed from the feature model (101) from the model source storage unit (305), and a plurality of cores (first core 52-). 1. The software is applied to the plurality of cores (51) with respect to the collected model source by receiving the information of the second processor (51) having the second core 52-2) and executing the software. ), A software development characterized by having a parallel processing generation unit (309) that generates processing allocation information for each core based on the calculation cycle and execution order information (600) in order to optimize the processing. Support device.
上記構成により、ソフトウェア開発支援装置301は、複数のコアを含むプロセッサ向けに最適化されたソフトウェアを開発することができる。
With the above configuration, the software
(2)上記(1)に記載のソフトウェア開発支援装置(301)であって、前記特徴モデル解析部(306)は、前記制御モデル(102)が使用する変数情報を抽出し、前記特徴モデル解析部(306)から前記制御モデル(102)の実行順序情報(600)と演算周期と変数情報を取得して、前記制御モデル(102)間で演算周期が異なる変数の接続処理を追加する接続処理追加部(308)と、前記接続処理追加部(308)及び前記並列処理生成部(309)の処理結果を適用された前記モデルソースをコンパイルするコンパイル部(311)と、前記コンパイルされたプログラムを出力するプログラム出力部(312)と、をさらに有することを特徴とするソフトウェア開発支援装置。 (2) In the software development support device (301) according to the above (1), the feature model analysis unit (306) extracts variable information used by the control model (102) and analyzes the feature model. Connection processing that acquires execution order information (600), calculation cycle, and variable information of the control model (102) from the unit (306), and adds connection processing of variables having different calculation cycles between the control models (102). An additional unit (308), a compile unit (311) that compiles the model source to which the processing results of the connection processing additional unit (308) and the parallel processing generation unit (309) are applied, and the compiled program. A software development support device further comprising a program output unit (312) for output.
上記構成により、ソフトウェア開発支援装置301は、ソースコードの収集から、演算の実行順序の設定、接続情報の設定、コンパイル、コア別の処理の割り当てを自動で実施できるので、設計作業の工数削減を図ることができる。
With the above configuration, the software
(3)上記(2)に記載のソフトウェア開発支援装置(301)であって、前記接続処理追加部(308)は、前記制御モデル(102)間で異なる演算周期で同一の変数を使用している制御モデル(102)を検出した場合に前記変数の接続処理のソースコードを生成することを特徴とするソフトウェア開発支援装置。 (3) In the software development support device (301) according to the above (2), the connection processing addition unit (308) uses the same variable in different calculation cycles between the control models (102). A software development support device characterized in that a source code for connection processing of the variable is generated when an existing control model (102) is detected.
上記構成により、ソフトウェア開発支援装置301は、異なる演算周期で同一変数を使用している制御モデル102間で変数を受け渡す接続処理を自動的に追加することが可能となる。
With the above configuration, the software
(4)上記(2)に記載のソフトウェア開発支援装置であって、前記接続処理追加部(308)は、前記特徴モデル解析部(306)で解析された実行順序情報と演算周期と、前記接続処理追加部(308)で検索された変数の接続処理と、前記モデルソース収集部(307)で収集されたモデルソースに基づいて、演算周期毎の実行順序定義ファイルと、演算周期毎の変数情報受け渡し処理定義ファイルと、コンパイル時に使用するMAKEファイルと、を生成して、前記収集されたモデルソースへ追加することを特徴とするソフトウェア開発支援装置。 (4) In the software development support device according to (2) above, the connection processing addition unit (308) has the execution order information and the calculation cycle analyzed by the feature model analysis unit (306), and the connection. Based on the connection processing of the variables searched by the processing addition unit (308) and the model source collected by the model source collection unit (307), the execution order definition file for each operation cycle and the variable information for each operation cycle. A software development support device characterized in that a transfer process definition file and a MAKE file used at compile time are generated and added to the collected model source.
上記構成により、ソフトウェア開発支援装置301は、ソースコードの収集から、演算の実行順序の設定、接続情報の設定、コンパイル、コア別の処理の割り当てを自動で実施できるので、設計作業の工数削減を図ることができる。
With the above configuration, the software
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。 The present invention is not limited to the above-described embodiment, and includes various modifications. For example, the above-described embodiment is described in detail in order to explain the present invention in an easy-to-understand manner, and is not necessarily limited to the one including all the configurations described. Further, it is possible to replace a part of the configuration of one embodiment with the configuration of another embodiment, and it is also possible to add the configuration of another embodiment to the configuration of one embodiment. Further, for a part of the configuration of each embodiment, any of addition, deletion, or replacement of other configurations can be applied alone or in combination.
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、又は、ICカード、SDカード、DVD等の記録媒体に置くことができる。 Further, each of the above configurations, functions, processing units, processing means and the like may be realized by hardware by designing a part or all of them by, for example, an integrated circuit. Further, each of the above configurations and functions may be realized by software by the processor interpreting and executing a program that realizes each function. Information such as programs, tables, and files that realize each function can be placed in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。 In addition, the control lines and information lines indicate those that are considered necessary for explanation, and do not necessarily indicate all the control lines and information lines in the product. In practice, it can be considered that almost all configurations are interconnected.
101 特徴モデル
102-A~102-G 制御モデル
301 ソフトウェア開発支援装置
304 モデルソース生成部
305 モデルソース記憶部
306 特徴モデル解析部
307 モデルソース収集部
308 接続処理追加部
309 並列処理生成部
310 プロセッサ情報入力部
311 コンパイル部
312 プログラム出力部
501 使用モデル及びコア割り当てリスト
502 コア割り当て情報
600 演算実行順序リスト
701 変数接続処理定義
901 収集モデルソース一覧
904 MAKEファイル生成部
905 関数実行順序定義ファイル生成部
906 変数情報受け渡し処理定義ファイル生成部
907 接続処理適用部
1102使用プロセッサ情報保管部
1103並列化処理適用部
101 Feature model 102-A to 102-
Claims (8)
制御モデルの実行順序を含んでソフトウェアの制御仕様を記述した特徴モデルを受け付けて、当該特徴モデルを構成している制御モデルを解析し、前記制御モデルの演算周期と、前記制御モデルの実行順序を解析して実行順序情報として出力する特徴モデル解析部と、
前記制御モデルを受け付けて、前記制御モデルの演算周期を含んでファイル名が当該制御モデルと同一となるモデルソースを生成して、生成した前記モデルソースが前記制御モデルの仕様と一致しているかをテストした後にモデルソース記憶部へ格納するモデルソース生成部と、
前記特徴モデルから分析された前記制御モデルと同名のモデルソースを前記モデルソース記憶部から収集するモデルソース収集部と、
複数のコアを有して前記ソフトウェアを実行する第2のプロセッサの情報を受け付けて、前記収集されたモデルソースに対して、前記ソフトウェアを前記複数のコアの処理に最適化するために前記演算周期と実行順序情報に基づいてコア毎の処理の割り当て情報を生成する並列処理生成部と、
を有することを特徴とするソフトウェア開発支援装置。 A software development support device with a first processor and memory,
It accepts a feature model that describes software control specifications, including the execution order of the control model, analyzes the control model that constitutes the feature model, and determines the calculation cycle of the control model and the execution order of the control model. A feature model analysis unit that analyzes and outputs as execution order information,
The control model is accepted, a model source having the same file name as the control model including the calculation cycle of the control model is generated, and whether the generated model source matches the specifications of the control model. A model source generator that is stored in the model source storage after testing, and a model source generator
A model source collecting unit that collects a model source having the same name as the control model analyzed from the feature model from the model source storage unit, and a model source collecting unit.
The calculation cycle for optimizing the software for processing of the plurality of cores with respect to the collected model source by receiving the information of the second processor having the plurality of cores and executing the software. And a parallel processing generator that generates processing allocation information for each core based on execution order information,
A software development support device characterized by having.
前記特徴モデル解析部は、前記制御モデルが使用する変数情報を抽出し、
前記特徴モデル解析部から前記制御モデルの実行順序情報と演算周期と変数情報を取得して、前記制御モデル間で演算周期が異なる変数の接続処理を追加する接続処理追加部と、
前記接続処理追加部及び前記並列処理生成部の処理結果を適用された前記モデルソースをコンパイルするコンパイル部と、
前記コンパイルされたプログラムを出力するプログラム出力部と、
をさらに有することを特徴とするソフトウェア開発支援装置。 The software development support device according to claim 1.
The feature model analysis unit extracts variable information used by the control model and obtains it.
A connection processing addition unit that acquires execution order information, calculation cycle, and variable information of the control model from the feature model analysis unit and adds connection processing for variables having different calculation cycles between the control models.
A compiling unit that compiles the model source to which the processing results of the connection processing addition unit and the parallel processing generation unit are applied.
The program output section that outputs the compiled program and
A software development support device characterized by having more.
前記接続処理追加部は、
前記制御モデル間で異なる演算周期で同一の変数を使用している制御モデルを検出した場合に前記変数の接続処理のソースコードを生成することを特徴とするソフトウェア開発支援装置。 The software development support device according to claim 2.
The connection processing addition part is
A software development support device characterized in that a source code for connection processing of the variables is generated when a control model using the same variable is detected in different calculation cycles between the control models.
前記接続処理追加部は、前記特徴モデル解析部で解析された実行順序情報と演算周期と、前記接続処理追加部で追加された変数の接続処理と、前記モデルソース収集部で収集されたモデルソースに基づいて、演算周期毎の実行順序定義ファイルと、演算周期毎の変数情報受け渡し処理定義ファイルと、コンパイル時に使用するMAKEファイルと、を生成して、前記収集されたモデルソースへ追加することを特徴とするソフトウェア開発支援装置。 The software development support device according to claim 2.
The connection processing addition unit includes the execution order information and the calculation cycle analyzed by the feature model analysis unit, the connection processing of the variables added by the connection processing addition unit, and the model source collected by the model source collection unit. Based on, the execution order definition file for each calculation cycle, the variable information transfer processing definition file for each calculation cycle, and the MAKE file used at compile time are generated and added to the collected model source. Characterized software development support device.
前記計算機が、制御モデルの実行順序を含んでソフトウェアの制御仕様を記述した特徴モデルを受け付けて、当該特徴モデルを構成している制御モデルを解析し、前記制御モデルの演算周期と、前記制御モデルの実行順序を解析して実行順序情報として出力する特徴モデル解析ステップと、
前記計算機が、前記制御モデルを受け付けて、前記制御モデルの演算周期を含んでファイル名が当該制御モデルと同一となるモデルソースを生成して、生成した前記モデルソースが前記制御モデルの仕様と一致しているかをテストした後にモデルソース記憶部へ格納するモデルソース生成ステップと、
前記計算機が、前記特徴モデルから分析された前記制御モデルと同名のモデルソースを前記モデルソース記憶部から収集するモデルソース収集ステップと、
前記計算機が、複数のコアを有して前記ソフトウェアを実行する第2のプロセッサの情報を受け付けて、前記収集されたモデルソースに対して、前記ソフトウェアを前記複数のコアの処理に最適化するために前記演算周期と実行順序情報に基づいてコア毎の処理の割り当て情報を生成する並列処理生成ステップと、
を含むことを特徴とするソフトウェア開発支援方法。 It is a software development support method that supports software development with a computer having a first processor and memory.
The computer accepts a feature model that describes software control specifications including the execution order of the control model, analyzes the control model that constitutes the feature model, and analyzes the calculation cycle of the control model and the control model. Feature model analysis step that analyzes the execution order of and outputs it as execution order information,
The computer accepts the control model, generates a model source having the same file name as the control model including the calculation cycle of the control model, and the generated model source is one with the specifications of the control model. A model source generation step to store in the model source storage after testing whether it is done,
A model source collection step in which the computer collects a model source having the same name as the control model analyzed from the feature model from the model source storage unit.
In order for the computer to receive information from a second processor having a plurality of cores and executing the software, and optimizing the software for processing of the plurality of cores for the collected model source. A parallel processing generation step that generates processing allocation information for each core based on the calculation cycle and execution order information,
A software development support method characterized by including.
前記特徴モデル解析ステップは、前記制御モデルが使用する変数情報を抽出し、
前記計算機が、前記制御モデルの実行順序情報と演算周期と変数情報を取得して、前記制御モデル間で演算周期が異なる変数の接続処理を追加する接続処理追加ステップと、
前記計算機が、前記接続処理追加ステップ及び前記並列処理生成ステップの処理結果が適用された前記モデルソースをコンパイルするコンパイルステップと、
前記計算機が、前記コンパイルされたプログラムを出力するプログラム出力ステップと、
をさらに含むことを特徴とするソフトウェア開発支援方法。 The software development support method according to claim 5.
In the feature model analysis step, the variable information used by the control model is extracted.
A connection processing addition step in which the computer acquires execution order information, calculation cycle, and variable information of the control model and adds connection processing of variables having different calculation cycles between the control models.
A compile step in which the computer compiles the model source to which the processing results of the connection processing addition step and the parallel processing generation step are applied.
A program output step in which the calculator outputs the compiled program,
A software development support method characterized by further including.
前記接続処理追加ステップは、
前記制御モデル間で異なる演算周期で同一の変数を使用している制御モデルを検出した場合に前記変数の接続処理のソースコードを生成することを特徴とするソフトウェア開発支援方法。 The software development support method according to claim 6.
The connection processing addition step is
A software development support method comprising generating a source code for connection processing of the variables when a control model using the same variable is detected between the control models in different operation cycles.
前記接続処理追加ステップは、前記特徴モデル解析ステップで解析された実行順序情報と演算周期と、前記接続処理追加ステップで追加された変数の接続処理と、前記モデルソース収集ステップで収集されたモデルソースに基づいて、演算周期毎の実行順序定義ファイルと、演算周期毎の変数情報受け渡し処理定義ファイルと、コンパイル時に使用するMAKEファイルと、を生成して、前記収集されたモデルソースへ追加することを特徴とするソフトウェア開発支援方法。 The software development support method according to claim 6.
The connection processing addition step includes the execution order information and the calculation cycle analyzed in the feature model analysis step, the connection processing of the variables added in the connection processing addition step, and the model source collected in the model source collection step. Based on, the execution order definition file for each calculation cycle, the variable information transfer processing definition file for each calculation cycle, and the MAKE file used at compile time are generated and added to the collected model source. Characteristic software development support method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020112276A JP7385536B2 (en) | 2020-06-30 | 2020-06-30 | Software development support device and software development support method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020112276A JP7385536B2 (en) | 2020-06-30 | 2020-06-30 | Software development support device and software development support method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022011264A true JP2022011264A (en) | 2022-01-17 |
JP7385536B2 JP7385536B2 (en) | 2023-11-22 |
Family
ID=80148059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020112276A Active JP7385536B2 (en) | 2020-06-30 | 2020-06-30 | Software development support device and software development support method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7385536B2 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012208843A (en) | 2011-03-30 | 2012-10-25 | Keihin Corp | Development support device |
JP5911044B1 (en) | 2015-07-10 | 2016-04-27 | 三菱電機株式会社 | Program generating apparatus and method thereof |
-
2020
- 2020-06-30 JP JP2020112276A patent/JP7385536B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP7385536B2 (en) | 2023-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4629768B2 (en) | Parallelization processing method, system, and program | |
US11221834B2 (en) | Method and system of intelligent iterative compiler optimizations based on static and dynamic feedback | |
JP4931978B2 (en) | Parallelization processing method, system, and program | |
JP5209059B2 (en) | Source code processing method, system, and program | |
JP4886838B2 (en) | Parallelization method, system, and program | |
CN111796831B (en) | Compiling method and device for multi-chip compatibility | |
JP2007528059A (en) | Systems and methods for software modeling, abstraction, and analysis | |
JP6021342B2 (en) | Parallelization method, system, and program | |
JP5479942B2 (en) | Parallelization method, system, and program | |
Siracusa et al. | A cad-based methodology to optimize hls code via the roofline model | |
US10380313B1 (en) | Implementation and evaluation of designs for heterogeneous computing platforms with hardware acceleration | |
Banerjee et al. | A highly configurable hardware/Software stack for DNN inference acceleration | |
Panadero et al. | A tool for selecting the right target machine for parallel scientific applications | |
US10528691B1 (en) | Method and system for automated selection of a subset of plurality of validation tests | |
CN116228515A (en) | Hardware acceleration system, method and related device | |
JP7385536B2 (en) | Software development support device and software development support method | |
JP4870956B2 (en) | Embedded program generation method, embedded program development system, and information table section | |
US11514219B1 (en) | System and method for assertion-based formal verification using cached metadata | |
JP7410269B2 (en) | Automated verification of high-level construct optimization using test vectors | |
Harrison et al. | Tools for multiple-CPU environments | |
JP5056493B2 (en) | Virtual software generator | |
Bartsch et al. | Efficient SAT/simulation-based model generation for low-level embedded software. | |
Ittershagen et al. | A workload extraction framework for software performance model generation | |
JP2018147114A (en) | Test case generation method, computer, and program | |
JP2024011231A (en) | Software creation system, and software creation method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221121 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231012 |
|
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: 20231017 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231110 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7385536 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |