JP7385536B2 - Software development support device and software development support method - Google Patents
Software development support device and software development support method Download PDFInfo
- Publication number
- JP7385536B2 JP7385536B2 JP2020112276A JP2020112276A JP7385536B2 JP 7385536 B2 JP7385536 B2 JP 7385536B2 JP 2020112276 A JP2020112276 A JP 2020112276A JP 2020112276 A JP2020112276 A JP 2020112276A JP 7385536 B2 JP7385536 B2 JP 7385536B2
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 58
- 238000012545 processing Methods 0.000 claims description 105
- 238000004364 calculation method Methods 0.000 claims description 82
- 238000004458 analytical method Methods 0.000 claims description 30
- 238000012360 testing method Methods 0.000 claims description 7
- 239000000284 extract Substances 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 17
- 238000011161 development Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000020169 heat generation 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
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 equipment.
特定の機能を実現するために機械や装置に組み込まれるコンピュータシステムである組み込みシステムのソフトウェア開発では、機器を制御する処理を実装した制御プログラムを実行することにより、当該機器をリアルタイムで制御する。 In software development for embedded systems, which are computer systems that are built into machines and equipment to achieve specific functions, the equipment is controlled in real time by executing a control program that implements processing to control the equipment.
近年、制御ソフトウェアの開発においては、開発者が制御ソフトウェアのソースコードを記述することに代えて、より簡易に生成でき視認性の良い「(制御)モデル」によって記述する場合がある。この開発手法をモデルベース開発と呼ぶ。 In recent years, in the development of control software, instead of writing the source code of the control software, developers sometimes write it using a "(control) model" that is easier to generate and has better visibility. This development method is called model-based development.
モデルベース開発に対応したプログラム開発環境としては、例えば、MathWorks(登録商標)社のMATLAB(登録商標)がある。開発者は、MATLAB(登録商標)の一機能であるSimulinkを用いて、モデルを記述する。モデルは、ブロックと呼ばれる機能単位及び機能単位間の入出力関係を示す結線によって記述される。 An example of a program development environment compatible with model-based development is MATLAB (registered trademark) from MathWorks (registered trademark). A developer describes a model using Simulink, which is a function of MATLAB (registered trademark). A model is described by functional units called blocks and connections indicating input/output relationships between the functional units.
Simulink(登録商標)を用いて、制御ソフトウェアが実装した機能を記述したモデルは、制御モデルと呼ばれる。この制御モデルを元に、例えばdSpace(登録商標)社のTargetLink(登録商標)を用いて、ソースコードの生成に必要なデータ型やビットレートなどの情報を付加するプロセスはスケーリングと呼ばれる。制御モデルを基に生成されたソースコードをモデルソースと呼ぶ。 A model that describes functions implemented by control software using Simulink (registered trademark) is called a control model. The process of adding information such as data type and bit rate necessary for generating source code based on this control model using, for example, dSpace (registered trademark)'s TargetLink (registered trademark) is called scaling. The source code generated based on the control model is called model source.
公知例として特許文献1には、制御モデルに対してスケーリングを実施してソースコード生成までを自動化する技術が開示されている。
As a well-known example,
また、ソフトウェア開発においてはゼロからソフトウェアを生成してプログラムを生成するよりも、ソフトウェア部品をかき集めて再利用する流用開発を行うことが効果的な手法として知られている。 Furthermore, in software development, it is known that reuse development, in which software components are collected and reused, is an effective method, rather than generating software and programs from scratch.
公知例として特許文献2には、カテゴリ情報が付与されたソフトウェア部品を用意しておき、開発要求を満たすソフトウェア部品を検索してソースコードの流用開発ができるシステムが開示されている。 As a known example, Patent Document 2 discloses a system in which software components to which category information is assigned are prepared, a software component that satisfies a development request is searched for, and source code can be used for development.
しかし、制御モデルはプログラム全体の仕様は表現されておらず、プログラム全体の制御仕様は、複数の制御モデルで構成されて制御モデル同士の情報の全制御仕様の特徴を表したモデル(以下特徴モデル)によって表現されている。 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 the information between the control models is a model (hereinafter referred to as a feature model) that expresses the characteristics of the entire control specification. ) is expressed by.
特許文献1の技術では、制御モデルのモデルソースの生成はできても、特徴モデルの仕様を満たしたプログラムを生成することはできない。
Although the technique disclosed in
特徴モデルは多数の制御モデルより構成されているため、特徴モデルの仕様を満たすプログラムを生成する毎に制御モデルよりコード生成を行うと、使用する制御モデルの数だけ生成時間を要してしまう。 Since a feature model is composed of a large number of control models, if code is generated from the control models each time a program that satisfies the specifications of the feature model is generated, it will take as much generation time 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 components, it does not manage source code units, but instead manages part of the source code as components by category, so it is difficult to understand the classification and processing dependencies. Designers themselves need to find appropriate parts and then generate source code.
そのため、実行プログラムを生成するには、特徴モデルより制御モデル間の依存関係を解析し、実行順序を定義する作業や、異なる演算周期で同一変数を使用する場合に変数の一貫性を確保する受け渡し処理(バッファリング処理)の定義や、コンパイル対象のファイルや設定を定義したコンパイル実行情報(MAKEファイル)をそれぞれ定義する必要があるが、上記特許文献1、2はいずれも上記3点を考慮していない。
Therefore, in order to generate an executable program, it is necessary to analyze the dependencies between control models from the feature model, define the execution order, and pass the variables to ensure consistency when using the same variables in different calculation cycles. Although it is necessary to define the process (buffering process) and compile execution information (MAKE file) that defines files and settings to be compiled, both
さらに、例えば自動車用電子制御ユニット(Electric Control Unit、以下ECU)の組み込みソフトウェア開発では、マイクロコンピュータ(以下、マイコン)の性能向上に伴う発熱量や消費電力の増加対策として複数のコアを含むマイコンが登場してきており、ソフトウェアを複数のコアに対応可能な構造にすることが求められている。 Furthermore, in the development of embedded software for automotive electronic control units (ECUs), for example, microcomputers containing multiple cores are required to counter the increase in heat generation and power consumption associated with improved performance of microcomputers (hereinafter referred to as microcomputers). It is now emerging, and there is a need for software to have a structure that can support multiple cores.
本発明は、上記のような課題に鑑みて、特徴モデルで定義された制御仕様からプログラムを生成し、モデルソースにカテゴリ情報を付与することなく部品をモデルソース単位で管理することができ、また、複数のコアを含むプロセッサへも対応することができるソフトウェア開発支援装置を提供することを目的とする。 In view of the above-mentioned problems, the present invention generates a program from control specifications defined in a feature model, allows parts to be managed in model source units without adding category information to model sources, and , an object of the present invention is to provide a software development support device that can also support a processor including multiple cores.
本発明は、第1のプロセッサとメモリを有するソフトウェア開発支援装置であって、制御モデルの実行順序を含んでソフトウェアの制御仕様を記述した特徴モデルを受け付けて、当該特徴モデルを構成している制御モデルを解析し、前記制御モデルの演算周期と、前記制御モデルの実行順序を解析して実行順序情報として出力する特徴モデル解析部と、前記制御モデルを受け付けて、前記制御モデルの演算周期を含んでファイル名が当該制御モデルと同一となるモデルソースを生成して、生成した前記モデルソースが前記制御モデルの仕様と一致しているかをテストした後にモデルソース記憶部へ格納するモデルソース生成部と、前記特徴モデルから分析された前記制御モデルと同名のモデルソースを前記モデルソース記憶部から収集するモデルソース収集部と、複数のコアを有して前記ソフトウェアを実行する第2のプロセッサの情報を入力するプロセッサ情報を受け付けて、前記収集されたモデルソースに対して、前記ソフトウェアを前記複数のコアの処理に最適化するために前記演算周期と実行順序情報に基づいてコア毎の処理の割り当て情報を生成する並列処理生成部と、を有する。 The present invention is a software development support device having a first processor and a memory, which receives a feature model that describes a software control specification including an execution order of the control model, and controls the feature model constituting the feature model. a feature model analysis unit that analyzes the model, analyzes the calculation cycle of the control model and the execution order of the control model, and outputs the result as execution order information; a model source generation unit that generates a model source whose file name is the same as the control model, tests whether the generated model source matches the specifications of the control model, and then stores it in a model source storage unit; , a model source collection 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 second processor that has a plurality of cores and executes the software. Receiving input processor information, and processing assignment information for each core based on the calculation cycle and execution order information in order to optimize the software for processing of the plurality of cores with respect to the collected model source. and a parallel processing generation unit that generates.
本発明によれば、複数のコアを含むプロセッサ向けに最適化されたソフトウェアを開発することができる。また、ソースコードの収集から、演算の実行順序の設定、接続情報の設定、コンパイル、コア別の処理の割り当てを自動で実施できるので、設計作業の工数削減を図ることができる。 According to the present invention, software optimized for a processor including multiple cores can be developed. Furthermore, since the collection of source code, setting of execution order of calculations, setting of connection information, compilation, and allocation of processing to each core can be automatically carried out, it is possible to reduce the number of man-hours for design work.
また、本発明は実施形態に制限されず、本発明の範囲を逸脱しなければ、ECU以外の組み込み制御機器やモデル情報を基にしたソフトウェア開発手法に対して様々な応用が可能である。よって、特徴モデルを基に特徴モデルで表現された制御仕様を満たすプログラムを自動で出力することができる。 Further, the present invention is not limited to the embodiments, and various applications can be made to embedded control devices other than ECUs and software development methods based on model information without departing from the scope of the present invention. Therefore, based on the feature model, it is possible to automatically output a program that satisfies the control specifications expressed by the feature model.
本明細書において開示される主題の、少なくとも一つの実施の詳細は、添付されている図面と以下の記述の中で述べられる。開示される主題のその他の特徴、態様、効果は、以下の開示、図面、請求項により明らかにされる。 The details of at least one implementation of the subject matter disclosed herein are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the disclosed subject matter will be apparent from the following disclosure, drawings, and claims.
以下に本発明の実施形態について図面を参照しつつ説明を行う。 Embodiments of the present invention will be described below 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 models A102-A to G102-G and the
なお、以下の説明では、制御モデルA~Gを個々に特定しない場合には「-」以降を省略した符号「制御モデル102」を用いる。また、他の構成要素の符号についても同様である。
In the following description, when the control models A to G are not individually specified, the symbol "
制御モデルA102-Aの出力は、制御モデルB102-Bと制御モデルE102-Eへ入力される。制御モデルB102-Bは制御モデルA102-Aの出力に所定の処理を行って制御モデルC102-Cへ出力する。制御モデルD102-Dは制御モデルC102-Cの出力に所定の処理を行って制御モデルG102-Gへ出力する。 The output of control model A102-A is input to control model B102-B and control model E102-E. Control model B102-B performs predetermined processing on the output of control model A102-A and outputs it to control model C102-C. The control model D102-D performs predetermined processing on the output of the control model C102-C and outputs it 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 predetermined processing on the output of the control model A102-A and outputs it to the control model F102-F. The control model F102-F performs predetermined processing on the output of the control model E102-E and outputs it 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は、周知のモデルベース開発で利用されるモデルを用いることができ、制御単位の演算処理を記述したブロック線図などで構成される。
Note that 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 functions 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が収集したモデルソースは、それぞれ単体テストを実施済のため、収集したモデルソースに対して新たにテスト等の確認作業を実施する必要はない。
Each of the model sources collected by the model
モデルソース収集部307が収集したモデルソースに対しては接続処理追加部308で制御モデル102間の接続情報を定義する(詳細な処理は後述する)。
For the model sources collected by the model
並列処理生成部309は、マルチコアプロセッサ向けの処理を追加する(詳細な処理は後述する)。並列処理生成部309では、特徴モデル解析部306と、接続処理追加部308と、プロセッサ情報310で入力された制御対象ECUのプロセッサのコア数の情報や、処理能力、コア毎のアドレスの割り当て情報を基に並列処理を生成し、モデルソースへ適用する。
The parallel
並列処理が適用されたモデルソースはコンパイルに必要な情報を満たしているため、コンパイル部311でコンパイルを実施できる。コンパイル部311では、モデルソース及び追加した接続処理を基にプロセッサ上で処理を実行可能な実行ファイルへの変換を行う。コンパイル部311でコンパイルが実行されたファイル(プログラム)はプログラム出力部312より出力される。
Since the model source to which parallel processing has been applied satisfies the information necessary for compilation, the compiling
図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 predetermined functions by executing processes according to the programs 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へ出力する。
Furthermore, the model
その後、接続処理追加部308は、異なる演算周期で同一変数を使用している制御モデル102を検索する(404)。接続処理追加部308は、検索の結果、異なる演算周期で同一変数を使用する制御モデル102が存在する場合には、変数接続処理のソースコードを生成する(405)。
After that, the connection
並列処理生成部309は、生成したソースコードを接続先の演算周期毎に割り当てる(406)。この処理については、図7で後述する。そして、接続処理追加部308は、処理が完了していない変数接続処理があるか否かを判定し(407)、全ての変数接続処理が完了するまでこの上記ステップ404~406の処理を繰り返して実行する。
The parallel
上記の処理によって、ソフトウェア開発支援装置301は、異なる演算周期で同一変数を使用している制御モデル102間で変数を受け渡す変数接続処理を自動的に追加することが可能となる。
The above process enables the software
図5は、特徴モデル解析部306の使用モデル特定処理の一例を示す図である。特徴モデル解析部306は、入力された特徴モデル101に含まれる制御モデル102の演算順序を解析し、各制御モデル102毎に予め設定されたコア割り当て情報502-1、502-2を付与する。
FIG. 5 is a diagram illustrating an example of the usage model identification process of the feature
特徴モデル解析部306は、使用する制御モデル102とコアの割り当て情報502を含む使用モデル及びコア割り当てリスト501を生成する。使用モデル及びコア割り当てリスト501には使用する制御モデル102と、制御モデルA102-A~制御モデルG102-Gのコア割り当て情報502が含まれる。
The feature
なお、コアの割り当て情報は、ソフトウェア開発支援装置301が生成したプログラムを実行する制御対象ECUのプロセッサコアの情報である。
Note that the core assignment information is information on the processor core of the controlled 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 variable
演算周期毎の変数接続処理定義701は、異なる演算周期で同一変数を使用する制御モデル102で実施する処理のソースコードを含む。
The variable
図8は、異なる演算周期で同一の変数を使用している制御モデル102間の表記の一例を示す図である。
FIG. 8 is a diagram illustrating an example of notation between
図示の例では、10msの周期で演算が行われている制御モデルA(102-A)から同じく10msの周期で演算が行われている制御モデルB(102-B)と20msで演算が行われている制御モデルE(102-E)に変数情報が受け渡されている例を示す。 In the illustrated example, calculations are performed in 20ms from control model A (102-A), which performs calculations at a cycle of 10ms, to control model B (102-B), which also performs calculations at a cycle of 10ms. An example is shown in which variable information is passed to control model E (102-E).
特徴モデルには、同じ演算周期の制御モデル102に変数情報を受け渡す処理はないが、異なる演算周期で変数情報を受け渡す際は、制御モデル102の間に接続処理804を表すブロックが挿入される。よって、異なる演算周期に変数情報を受け渡している箇所は、この接続処理804のブロックを検索すればよい。
The feature model does not include a process for 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 transfer process definition
図10は、接続処理追加部308の演算周期毎の演算実行順序定義1001の一例を示す図である。
FIG. 10 is a diagram illustrating an example of an operation
演算周期毎の演算実行順序定義1001は、演算周期毎に制御モデル102の実行順序を定義したソースコードで記述される。
The calculation
図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 used processor
並列化処理適用部1103では、特徴モデル解析部306で生成した使用モデル及びコア割り当てリスト501と、演算実行順序定義1001、使用プロセッサ情報保管部1102、の情報を基に制御モデル102毎にコア割り当て情報502を付与する。具体的にはマイコン毎に定められたアドレスの割り当て情報を基に、各コア毎に割り当てられた処理を該当コアのアドレス領域に定義する。
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 a program generated by the software
制御対象ECU50は、デュアルコアのプロセッサ51と、RAM(Random access memory)52と、ROM(Read Only memory)53と図示しないインタフェースを有する。
The controlled ECU 50 includes 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 control model A (102-A), control model B (102-B) and control model C (102-C), and the second core 52-2 is assigned the processing of control model A (102-A), control model B (102-B), and control model C (102-C). , control model E (102-E), and control model F (102-F).
このようにソフトウェア開発支援装置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 manner, in this embodiment, a program that satisfies the control specifications can be generated from the
この実施例は1つのコンピュータを用いて実行してもよいし、処理毎に異なるコンピュータを用いて実行しても構わない。あるいはインターネット等のネットワークで連携された複数のコンピュータ間で各工程の結果を送受信することでソフトウェア開発を実施するようにしてもよい。 This embodiment may be executed using one computer, or may be executed using different computers for each process. Alternatively, software development may be performed by transmitting and receiving the results of each step between multiple computers linked via 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, which receives a feature model (101) that describes software control specifications including the execution order of a control model (102). Then, the control model (102) constituting the feature model (101) is analyzed, and the calculation cycle of the control model (102) and the execution order of the control model (102) are analyzed to obtain execution order information ( A feature model analysis unit (306) that outputs a calculation execution order list 600) receives the control model (102) and specifies a file name including the calculation cycle of the control model (102). a model source generation unit (304) that generates an identical model source, tests whether the generated model source matches the specifications of the control model (102), and then stores it in a model source storage unit; A model source collection 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, a second processor (51) having a second core 52-2) and executing the software, and executes the software on the plurality of cores (51) with respect to the collected model sources. ); 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 of Support equipment.
上記構成により、ソフトウェア開発支援装置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 (1) above, the feature model analysis unit (306) extracts variable information used by the control model (102) and analyzes the feature model. A connection process that acquires execution order information (600), calculation cycle, and variable information of the control model (102) from the unit (306), and adds a connection process of variables with different calculation cycles between the control models (102). an adding unit (308); a compiling unit (311) that compiles the model source to which the processing results of the connection processing addition unit (308) and the parallel processing generation unit (309) are applied; A software development support device further comprising: a program output unit (312) for outputting a program.
上記構成により、ソフトウェア開発支援装置301は、ソースコードの収集から、演算の実行順序の設定、接続情報の設定、コンパイル、コア別の処理の割り当てを自動で実施できるので、設計作業の工数削減を図ることができる。
With the above configuration, the software
(3)上記(2)に記載のソフトウェア開発支援装置(301)であって、前記接続処理追加部(308)は、前記制御モデル(102)間で異なる演算周期で同一の変数を使用している制御モデル(102)を検出した場合に前記変数の接続処理のソースコードを生成することを特徴とするソフトウェア開発支援装置。 (3) In the software development support device (301) according to (2) above, the connection processing addition unit (308) uses the same variable at different calculation cycles between the control models (102). A software development support device characterized in that when a control model (102) is detected, a source code for the variable connection process is generated.
上記構成により、ソフトウェア開発支援装置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) stores the execution order information and calculation cycle analyzed by the feature model analysis unit (306), and the connection process addition unit (308). Based on the variable connection process searched by the process addition unit (308) and the model source collected by the model source collection unit (307), an execution order definition file for each calculation cycle and variable information for each calculation cycle are created. A software development support device characterized by generating a transfer processing definition file and a MAKE file used during compilation and adding them to the collected model sources.
上記構成により、ソフトウェア開発支援装置301は、ソースコードの収集から、演算の実行順序の設定、接続情報の設定、コンパイル、コア別の処理の割り当てを自動で実施できるので、設計作業の工数削減を図ることができる。
With the above configuration, the software
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。 Note that the present invention is not limited to the above-described embodiments, and includes various modifications. For example, the embodiments described above are described in detail to explain the present invention in an easy-to-understand manner, and the present invention is not necessarily limited to having all the configurations described. Furthermore, 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. Furthermore, addition, deletion, or replacement of other configurations to some of the configurations of each embodiment may be applied singly or in combination.
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、又は、ICカード、SDカード、DVD等の記録媒体に置くことができる。 Further, each of the above-mentioned configurations, functions, processing units, processing means, etc. may be partially or entirely realized in hardware by designing, for example, an integrated circuit. Moreover, each of the above-mentioned configurations, functions, etc. may be realized by software by a processor interpreting and executing a program that realizes each function. Information such as programs, tables, files, etc. that implement each function can be stored in a memory, a recording device such as a hard disk, an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。 Further, the control lines and information lines are shown to be necessary for explanation purposes, and not all control lines and information lines are necessarily shown in the product. In reality, almost all components may be considered to be 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 models 102-A to 102-
Claims (8)
制御モデルの実行順序を含んでソフトウェアの制御仕様を記述した特徴モデルを受け付けて、当該特徴モデルを構成している制御モデルを解析し、前記制御モデルの演算周期と、前記制御モデルの実行順序を解析して実行順序情報として出力する特徴モデル解析部と、
前記制御モデルを受け付けて、前記制御モデルの演算周期を含んでファイル名が当該制御モデルと同一となるモデルソースを生成して、生成した前記モデルソースが前記制御モデルの仕様と一致しているかをテストした後にモデルソース記憶部へ格納するモデルソース生成部と、
前記特徴モデルから分析された前記制御モデルと同名のモデルソースを前記モデルソース記憶部から収集するモデルソース収集部と、
複数のコアを有して前記ソフトウェアを実行する第2のプロセッサの情報を受け付けて、前記収集されたモデルソースに対して、前記ソフトウェアを前記複数のコアの処理に最適化するために前記演算周期と実行順序情報に基づいてコア毎の処理の割り当て情報を生成する並列処理生成部と、
を有することを特徴とするソフトウェア開発支援装置。 A software development support device having a first processor and a memory,
A feature model that describes the control specifications of the software including the execution order of the control model is received, the control models that make up the feature model are analyzed, and the calculation cycle of the control model and the execution order of the control model are determined. a feature model analysis unit that analyzes and outputs it as execution order information;
Accepting the control model, generating a model source that includes the calculation cycle of the control model and having the same file name as the control model, and checking whether the generated model source matches the specifications of the control model. a model source generation unit that stores the model source in the model source storage unit after testing;
a model source collection 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;
receiving information about a second processor having a plurality of cores and executing the software, and calculating the calculation cycle for optimizing the software for processing of the plurality of cores with respect to the collected model sources; and a parallel processing generation unit that generates processing allocation information for each core based on the 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,
a connection process 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 of variables with 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;
a program output unit that outputs the compiled program;
A software development support device further comprising:
前記接続処理追加部は、
前記制御モデル間で異なる演算周期で同一の変数を使用している制御モデルを検出した場合に前記変数の接続処理のソースコードを生成することを特徴とするソフトウェア開発支援装置。 The software development support device according to claim 2,
The connection processing addition unit includes:
A software development support device characterized in that when a control model using the same variable in different calculation cycles is detected between the control models, a source code for the variable connection process is generated.
前記接続処理追加部は、前記特徴モデル解析部で解析された実行順序情報と演算周期と、前記接続処理追加部で追加された変数の接続処理と、前記モデルソース収集部で収集されたモデルソースに基づいて、演算周期毎の実行順序定義ファイルと、演算周期毎の変数情報受け渡し処理定義ファイルと、コンパイル時に使用するMAKEファイルと、を生成して、前記収集されたモデルソースへ追加することを特徴とするソフトウェア開発支援装置。 The software development support device according to claim 2,
The connection processing addition unit performs execution order information and calculation cycles analyzed by the feature model analysis unit, connection processing of variables added by the connection processing addition unit, and model sources collected by the model source collection unit. Based on this, an execution order definition file for each calculation cycle, a variable information passing process definition file for each calculation cycle, and a MAKE file used during compilation are generated and added to the collected model sources. Features of software development support equipment.
前記計算機が、制御モデルの実行順序を含んでソフトウェアの制御仕様を記述した特徴モデルを受け付けて、当該特徴モデルを構成している制御モデルを解析し、前記制御モデルの演算周期と、前記制御モデルの実行順序を解析して実行順序情報として出力する特徴モデル解析ステップと、
前記計算機が、前記制御モデルを受け付けて、前記制御モデルの演算周期を含んでファイル名が当該制御モデルと同一となるモデルソースを生成して、生成した前記モデルソースが前記制御モデルの仕様と一致しているかをテストした後にモデルソース記憶部へ格納するモデルソース生成ステップと、
前記計算機が、前記特徴モデルから分析された前記制御モデルと同名のモデルソースを前記モデルソース記憶部から収集するモデルソース収集ステップと、
前記計算機が、複数のコアを有して前記ソフトウェアを実行する第2のプロセッサの情報を受け付けて、前記収集されたモデルソースに対して、前記ソフトウェアを前記複数のコアの処理に最適化するために前記演算周期と実行順序情報に基づいてコア毎の処理の割り当て情報を生成する並列処理生成ステップと、
を含むことを特徴とするソフトウェア開発支援方法。 A software development support method for supporting software development on a computer having a first processor and a memory, the method comprising:
The computer receives a feature model that describes the control specifications of the software including the execution order of the control model, analyzes the control models that make up the feature model, and determines the calculation cycle of the control model and the control model. a feature model analysis step for analyzing the execution order of and outputting it as execution order information;
The computer receives the control model, generates a model source that includes the calculation cycle of the control model and has the same file name as the control model, and specifies that the generated model source matches the specifications of the control model. a model source generation step in which the model source is stored in the model source storage unit after testing whether the
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;
The computer receives information about a second processor that has a plurality of cores and executes the software, and optimizes the software for processing of the plurality of cores with respect to the collected model sources. a parallel processing generation step of generating processing allocation information for each core based on the calculation cycle and execution order information;
A software development support method characterized by comprising:
前記特徴モデル解析ステップは、前記制御モデルが使用する変数情報を抽出し、
前記計算機が、前記制御モデルの実行順序情報と演算周期と変数情報を取得して、前記制御モデル間で演算周期が異なる変数の接続処理を追加する接続処理追加ステップと、
前記計算機が、前記接続処理追加ステップ及び前記並列処理生成ステップの処理結果が適用された前記モデルソースをコンパイルするコンパイルステップと、
前記計算機が、前記コンパイルされたプログラムを出力するプログラム出力ステップと、
をさらに含むことを特徴とするソフトウェア開発支援方法。 The software development support method according to claim 5,
The feature model analysis step extracts variable information used by the control model,
a connection process addition step in which the computer acquires execution order information, calculation period, and variable information of the control model, and adds connection processing of variables having different calculation periods between the control models;
a compiling 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 computer outputs the compiled program;
A software development support method further comprising:
前記接続処理追加ステップは、
前記制御モデル間で異なる演算周期で同一の変数を使用している制御モデルを検出した場合に前記変数の接続処理のソースコードを生成することを特徴とするソフトウェア開発支援方法。 7. 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 the variable connection process when a control model using the same variable in different calculation cycles is detected between the control models.
前記接続処理追加ステップは、前記特徴モデル解析ステップで解析された実行順序情報と演算周期と、前記接続処理追加ステップで追加された変数の接続処理と、前記モデルソース収集ステップで収集されたモデルソースに基づいて、演算周期毎の実行順序定義ファイルと、演算周期毎の変数情報受け渡し処理定義ファイルと、コンパイル時に使用するMAKEファイルと、を生成して、前記収集されたモデルソースへ追加することを特徴とするソフトウェア開発支援方法。 7. The software development support method according to claim 6,
The connection processing addition step includes the execution order information and 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 this, an execution order definition file for each calculation cycle, a variable information passing process definition file for each calculation cycle, and a MAKE file used during compilation are generated and added to the collected model sources. 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 JP2022011264A (en) | 2022-01-17 |
JP7385536B2 true 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) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012208843A (en) | 2011-03-30 | 2012-10-25 | Keihin Corp | Development support device |
WO2017009895A1 (en) | 2015-07-10 | 2017-01-19 | 三菱電機株式会社 | Program generation device and method therefor |
-
2020
- 2020-06-30 JP JP2020112276A patent/JP7385536B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012208843A (en) | 2011-03-30 | 2012-10-25 | Keihin Corp | Development support device |
WO2017009895A1 (en) | 2015-07-10 | 2017-01-19 | 三菱電機株式会社 | Program generation device and method therefor |
Also Published As
Publication number | Publication date |
---|---|
JP2022011264A (en) | 2022-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4629768B2 (en) | Parallelization processing method, system, and program | |
Manotas et al. | Seeds: A software engineer's energy-optimization decision support framework | |
US10338956B2 (en) | Application profiling job management system, program, and method | |
US11221834B2 (en) | Method and system of intelligent iterative compiler optimizations based on static and dynamic feedback | |
JP4886838B2 (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 | |
US10078500B2 (en) | Method and system for automatic code generation | |
JP2013164657A (en) | Parallelization method, system and program | |
Bruce et al. | Enabling reproducible and agile full-system simulation | |
US10592703B1 (en) | Method and system for processing verification tests for testing a design under test | |
Panadero et al. | A tool for selecting the right target machine for parallel scientific applications | |
Welton et al. | Exposing hidden performance opportunities in high performance GPU applications | |
JP7385536B2 (en) | Software development support device and software development support method | |
JPH05101141A (en) | High-level composition device | |
US10528691B1 (en) | Method and system for automated selection of a subset of plurality of validation tests | |
Skinner et al. | LiveSim: A fast hot reload simulator for HDLs | |
JP4870956B2 (en) | Embedded program generation method, embedded program development system, and information table section | |
JP7410269B2 (en) | Automated verification of high-level construct optimization using test vectors | |
US20230048929A1 (en) | Parallel simulation qualification with performance prediction | |
Voss et al. | On predictable reconfigurable system design | |
Hauck et al. | Deriving performance-relevant infrastructure properties through model-based experiments with Ginpex | |
Hu et al. | A performance prototyping approach to designing concurrent software architectures | |
Vysocký et al. | Application instrumentation for performance analysis and tuning with focus on energy efficiency | |
JP5056493B2 (en) | Virtual software generator |
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 |