JP2023145128A - Development environment construction system, development environment construction method and program - Google Patents
Development environment construction system, development environment construction method and program Download PDFInfo
- Publication number
- JP2023145128A JP2023145128A JP2022052430A JP2022052430A JP2023145128A JP 2023145128 A JP2023145128 A JP 2023145128A JP 2022052430 A JP2022052430 A JP 2022052430A JP 2022052430 A JP2022052430 A JP 2022052430A JP 2023145128 A JP2023145128 A JP 2023145128A
- Authority
- JP
- Japan
- Prior art keywords
- development environment
- construction
- information
- virtual
- virtual device
- 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
- 238000011161 development Methods 0.000 title claims abstract description 284
- 238000010276 construction Methods 0.000 title claims abstract description 205
- 230000004044 response Effects 0.000 claims description 14
- 230000004043 responsiveness Effects 0.000 claims description 8
- 238000012360 testing method Methods 0.000 claims description 6
- 238000000034 method Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 abstract description 21
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Description
本開示は、ハードウェアで構成された対象デバイスを制御するソフトウェアの開発環境を構築する開発環境構築システム、開発環境構築方法およびプログラムに関する。 The present disclosure relates to a development environment construction system, a development environment construction method, and a program for constructing a development environment for software that controls a target device configured with hardware.
ハードウェアで構成されたデバイス(物理デバイス)がソフトウェアとしてエミュレーションされている仮想デバイスを用いた開発環境による、デバイス制御ソフトウェアの開発が行われている。例えば、ハイパーバイザ(HV)、バーチャルマシン(VM)、コンテナ技術などにより、車載向けソフトウェア開発環境の構築および複製が容易となっている。また、物理デバイスをソフトウェアでエミュレーションすることで、クラウド環境上で物理ハードウェアなしでデバイスの検証などを行うことができる。このような前提において、特許文献1および特許文献2に示されるような技術が開示されている。 Device control software is being developed in a development environment using a virtual device in which a device (physical device) configured with hardware is emulated as software. For example, hypervisors (HVs), virtual machines (VMs), container technologies, and the like have made it easy to construct and replicate in-vehicle software development environments. Additionally, by emulating a physical device with software, it is possible to verify the device in a cloud environment without the need for physical hardware. On such a premise, techniques as shown in Patent Document 1 and Patent Document 2 are disclosed.
特許文献1には、所望の故障注入を含む所望の制御を、テストプログラムから、所望のタイミングで、仮想デバイスモデルへ与えることが可能な演算装置および仮想開発環境装置が開示されている。 Patent Document 1 discloses an arithmetic device and a virtual development environment device that can provide desired control including desired fault injection from a test program to a virtual device model at a desired timing.
特許文献2には、仮想デバイスを仮想コンピューティング環境に動的に追加する手段について開示されている。 Patent Document 2 discloses a means for dynamically adding a virtual device to a virtual computing environment.
ハードウェアで構成されたデバイスがソフトウェアとしてエミュレーションされることで、仮想的に構成された仮想デバイスを複数含む開発環境がクラウド環境上などに構築され、デバイスを制御するソフトウェアの開発が進められている。これに対して、複数の仮想デバイスのうち特定のデバイスをハードウェアで構成された物理デバイスとした、物理デバイスと仮想デバイスとが混在する開発環境を利用して、開発効率の向上を図りたいという要望がある。 By emulating devices configured with hardware as software, development environments containing multiple virtual devices configured virtually are being built on cloud environments, and the development of software to control devices is progressing. . In response to this, we would like to improve development efficiency by using a development environment where physical devices and virtual devices coexist, where a specific device among multiple virtual devices is a physical device configured with hardware. I have a request.
しかしながら、上記特許文献1および2では、物理デバイスと仮想デバイスとが混在する開発環境の実現については考慮されていない。 However, Patent Documents 1 and 2 do not consider the realization of a development environment in which physical devices and virtual devices coexist.
そこで、本開示は、物理デバイスと仮想デバイスとが混在する開発環境を構築でき、開発効率の向上を図ることができる開発環境構築システムなどを提供する。 Therefore, the present disclosure provides a development environment construction system that can construct a development environment in which physical devices and virtual devices coexist, and can improve development efficiency.
本開示の一態様に係る開発環境構築システムは、ハードウェアで構成された対象デバイスを制御するソフトウェアの開発環境を構築する開発環境構築システムであって、前記開発環境には、仮想的に構成された仮想デバイスが含まれており、前記開発環境の仕様を示す開発環境仕様情報、前記仮想デバイスに関する仮想デバイス情報、および、前記開発環境の構築先の候補における前記開発環境の構築能力を示す構築能力情報を取得する取得部と、前記開発環境仕様情報、前記仮想デバイス情報および前記構築能力情報に基づいて、前記開発環境の構築先を決定する決定部と、を備える。 A development environment construction system according to an aspect of the present disclosure is a development environment construction system that constructs a development environment for software that controls a target device configured with hardware, and the development environment includes virtual configurations. development environment specification information indicating the specifications of the development environment, virtual device information regarding the virtual device, and construction capability indicating the construction capability of the development environment in the candidate of the construction destination of the development environment. The apparatus includes an acquisition unit that acquires information, and a determination unit that determines a construction destination for the development environment based on the development environment specification information, the virtual device information, and the construction capability information.
本開示の一態様に係る開発環境構築方法は、ハードウェアで構成された対象デバイスを制御するソフトウェアの開発環境を構築する開発環境構築システムにより実行される開発環境構築方法であって、前記開発環境には、仮想的に構成された仮想デバイスが含まれており、前記開発環境の仕様を示す開発環境仕様情報、前記仮想デバイスに関する仮想デバイス情報、および、前記開発環境の構築先の候補における前記開発環境の構築能力を示す構築能力情報を取得する取得ステップと、前記開発環境仕様情報、前記仮想デバイス情報および前記構築能力情報に基づいて、前記開発環境の構築先を決定する決定ステップと、を含む。 A development environment construction method according to an aspect of the present disclosure is a development environment construction method executed by a development environment construction system that constructs a development environment for software that controls a target device configured with hardware, the development environment construction method comprising: includes a virtually configured virtual device, development environment specification information indicating the specifications of the development environment, virtual device information regarding the virtual device, and the development environment in the candidate construction destination of the development environment. an acquisition step of acquiring construction capability information indicating an environment construction capability; and a determining step of determining a construction destination for the development environment based on the development environment specification information, the virtual device information, and the construction capability information. .
本開示の一態様に係るプログラムは、上記の開発環境構築方法をコンピュータに実行させるためのプログラムである。 A program according to one aspect of the present disclosure is a program for causing a computer to execute the development environment construction method described above.
本開示の一態様に係る開発環境構築システムなどによれば、物理デバイスと仮想デバイスとが混在する開発環境を構築でき、開発効率の向上を図ることができる。 According to the development environment construction system and the like according to one aspect of the present disclosure, it is possible to construct a development environment in which physical devices and virtual devices coexist, and it is possible to improve development efficiency.
(実施の形態)
以下、実施の形態に係る開発環境構築システムについて、図面を用いて説明する。
(Embodiment)
Hereinafter, a development environment construction system according to an embodiment will be described using drawings.
図1は、実施の形態に係る開発環境構築システム(構築処理サーバ10)を含むクラウド環境100およびローカル環境200の一例を示す構成図である。例えば、クラウド環境100とローカル環境200とは、インターネットなどを介して通信可能に接続されている。
FIG. 1 is a configuration diagram showing an example of a
構築処理サーバ10は、ハードウェアで構成された対象デバイスを制御するソフトウェアの開発環境を構築する開発環境構築システムの一例である。構築処理サーバ10によって構築される開発環境には、仮想的に構成された仮想デバイスが含まれている。図1では、対象デバイスとして、実デバイスA300を示している。実デバイスA300は、ハードウェアで構成されたデバイス(物理デバイス)であり、例えば、車両に搭載されるデバイスである。車両に搭載されるデバイスとしては、CAN(Controller Area Network)またはイーサネット(登録商標)などを介して、車載装置によって制御されるECU(Electronic Control Unit)、または、IVI(In Vehicle Infotainment)用のタッチスクリーンディスプレイなどがある。
The
例えば、実デバイスA300は、ユーザ400が実デバイスA300などの検証を行うローカル環境200に配置される。例えば、ローカル環境200には、クライアント210および220が設けられる。クライアント210および220は、ローカル環境200に設置されたPC(Personal Computer)などのコンピュータである。
For example, the real device A300 is placed in the
例えば、クラウド環境100には、実デバイスA300を含む複数の物理デバイスが、ソフトウェアとしてエミュレーションされることで、仮想的に構成された複数の仮想デバイスについての開発環境がすでに構築されているとする。これに対して、複数の仮想デバイスのうちの特定のデバイスを物理デバイスとした開発環境を利用したいという要望がある。構築処理サーバ10は、このような要望に対応するためのものであり、物理デバイスと仮想デバイスとが混在する開発環境を構築できる。
For example, it is assumed that a development environment for a plurality of virtually configured virtual devices has already been constructed in the
例えば、構築処理サーバ10は、クラウド環境100に設けられる。ただし、構築処理サーバ10は、クラウド環境100に設けられなくてもよく、クラウド環境100およびローカル環境200と通信可能な環境に設けられていてもよい。
For example, the
構築処理サーバ10は、取得部11、決定部12、構築部13、試行部14および提示部15を備える。構築処理サーバ10は、プロセッサおよびメモリなどを含むコンピュータである。メモリは、ROM(Read Only Memory)およびRAM(Random Access Memory)などであり、プロセッサにより実行されるプログラムを記憶することができる。取得部11、決定部12、構築部13、試行部14および提示部15は、メモリに格納されたプログラムを実行するプロセッサなどによって実現される。なお、取得部11、決定部12、構築部13、試行部14および提示部15は、1つのサーバ(1つの筐体)に配置されてもよいし、複数のサーバ(複数の筐体)に分散して配置されてもよい。
The
取得部11は、開発環境仕様情報、仮想デバイス情報、および、構築能力情報を取得する。取得部11の動作および各情報の詳細については後述する。
The
決定部12は、開発環境の構築先を決定する。決定部12の動作の詳細については後述する。
The determining
構築部13は、決定された構築先に開発環境を構築する。構築部13の動作の詳細については後述する。
The
試行部14は、構築された開発環境において対象デバイスを制御するソフトウェアを、開発可能か否かを試行する。試行部14の動作の詳細については後述する。
The
提示部15は、試行部14による試行の結果を提示する。提示部15の動作の詳細については後述する。
The
クラウド環境100には、クラウド環境100に構築された開発環境に含まれる複数の仮想デバイスに関する複数の仮想デバイス情報が記憶される。仮想デバイス情報は、仮想デバイスを利用する場合などに必要となるパラメータを含み、当該パラメータは、テーブルなどで管理される。ここでは複数の仮想デバイス情報の一例として、実デバイスA300がソフトウェアとしてエミュレーションされることで仮想的に構成された仮想デバイスAに関する仮想デバイスA情報30a、および、図示していない実デバイスBがソフトウェアとしてエミュレーションされることで仮想的に構成された仮想デバイスBに関する仮想デバイスB情報30bを示している。
The
仮想デバイスA情報30aは、仮想デバイスAについての、デバイス制御ソフト指定情報31、仮想IF設定情報32、仮想デバイスソフト指定情報33、応答性能要求情報34および仮想デバイス設定情報35を含む。ここでは、実デバイスA300に対する仮想デバイスAに着目して説明するが、実デバイスごとにこれらの情報が存在する。つまり、クラウド環境100には、この他にも、様々な実デバイスに対応した仮想デバイス情報が記憶され得る。
The virtual device A
デバイス制御ソフト指定情報31は、クラウド環境100に構築された開発環境に含まれる仮想デバイスAを制御するソフトウェア(デバイス制御ソフトウェア)の内容または取得先を示す情報である。例えば、デバイス制御ソフト指定情報31は、gitリポジトリのアクセス情報またはリポジトリ内のどのコード状態かを示す情報を含む。デバイス制御ソフト指定情報31を用いることで、仮想デバイスAを制御するソフトウェアを利用することができる。
The device control software specification information 31 is information indicating the content or acquisition source of software (device control software) that controls the virtual device A included in the development environment built in the
仮想IF設定情報32は、上記ソフトウェア(デバイス制御ソフトウェア)から仮想デバイスAを制御する際の仮想デバイスAに対する入出力インタフェースである仮想インタフェースの設定に関する設定情報である。例えば、仮想IF設定情報32は、仮想デバイスAへのアクセス先情報を含む。なお、仮想IF設定情報32を変更することで、アクセス先を実デバイスA300に変更することができ、デバイス制御ソフトウェアから実デバイスA300を制御することができる。
The virtual IF setting
仮想デバイスソフト指定情報33は、仮想デバイスAを示すソフトウェアの内容または取得先を示す情報である。例えば、仮想デバイスソフト指定情報33は、gitリポジトリのアクセス情報またはリポジトリ内のどのコード状態かを示す情報を含む。仮想デバイスソフト指定情報33を用いることで、仮想デバイスAを利用することができる。
The virtual device
応答性能要求情報34は、仮想デバイスAを制御する際に要求される応答性を示す情報である。例えば、応答性能要求情報34は、仮想デバイスAを制御する際に要求されるレスポンス時間などを含む。
The response
仮想デバイス設定情報35は、仮想デバイスAを制御する際に要求される計算リソースを示すリソース情報を含む。例えば、リソース情報は、仮想デバイスAをHVなどで実現する場合に、要求されるCPUコア数およびメモリ量などの計算リソースを含む。
The virtual
仮想デバイスB情報30bについても、仮想デバイスBに関して、仮想デバイスA情報30aと同様の情報を含む。例えば、上記の説明において、仮想デバイスAとしているところを仮想デバイスBに置き換えることで、仮想デバイスB情報30bの説明となる。その他の仮想デバイス情報についても同様である。
The virtual
例えば、ユーザ400は、物理デバイスと仮想デバイスとが混在する開発環境の仕様を示す開発環境仕様情報20を、例えば、クラウド環境100またはローカル環境200と通信可能に接続された機器(PCまたは携帯端末など)に入力する。あるいは、開発環境仕様情報20は、クラウド環境100またはローカル環境200における機器に記憶されていてもよい。例えば、開発環境仕様情報20は、どの物理デバイスを指定するかを示す情報(ここでは実デバイスAを指定することを示す情報)および実デバイスA300の所在を示す情報を含む。実デバイスA300の所在を示す情報は、例えば、実デバイスA300が存在する場所(ここではローカル環境200)や接続されている機器(ここではクライアント210)などを含む。
For example, the
また、開発環境の構築先の候補となる機器などには、開発環境の構築能力を示す構築能力情報が記憶される。例えば、クライアント210には構築能力情報40aが記憶され、クライアント220には構築能力情報40bが記憶され、クラウド環境100には構築能力情報40cが記憶される。
In addition, construction capability information indicating the development environment construction capability is stored in devices that are candidates for construction destinations of the development environment. For example, the
例えば、構築能力情報40aは、クライアント210における開発環境の構築の可否を示す情報、または、クライアント210が有するストレージのストレージ容量を示す情報を含む。開発環境の構築の可否を示す情報は、クライアント210がHVを含むか否かを示す情報であってもよく、クライアント210がHVを含まない場合、クライアント210での開発環境の構築が不可であってもよい。また、開発環境の構築の可否を示す情報は、クライアント210が開発環境の構築を許可されているか否かを示す情報であってもよく、クライアント210が開発環境の構築を許可されていない場合、クライアント210での開発環境の構築が不可であってもよい。ストレージ容量を示す情報は、クライアント210が有するストレージのストレージ残容量を示す情報であってもよい。
For example, the
例えば、構築能力情報40bは、クライアント220における開発環境の構築の可否を示す情報、または、クライアント220が有するストレージのストレージ容量を示す情報を含む。開発環境の構築の可否を示す情報は、クライアント220がHVを含むか否かを示す情報であってもよく、クライアント220がHVを含まない場合、クライアント220での開発環境の構築が不可であってもよい。また、開発環境の構築の可否を示す情報は、クライアント220が開発環境の構築を許可されているか否かを示す情報であってもよく、クライアント220が開発環境の構築を許可されていない場合、クライアント220での開発環境の構築が不可であってもよい。ストレージ容量を示す情報は、クライアント220が有するストレージのストレージ残容量を示す情報であってもよい。
For example, the
例えば、構築能力情報40cは、クラウド環境100における開発環境の構築の可否を示す情報、または、クラウド環境100が有するストレージのストレージ容量を示す情報を含む。開発環境の構築の可否を示す情報は、クラウド環境100が開発環境の構築を許可されているか否かを示す情報であってもよく、クラウド環境100が開発環境の構築を許可されていない場合、クラウド環境100での開発環境の構築が不可であってもよい。ストレージ容量を示す情報は、クラウド環境100が有するストレージのストレージ残容量を示す情報であってもよい。
For example, the
次に、構築処理サーバ10の動作の詳細について、図2を用いて説明する。
Next, details of the operation of the
図2は、実施の形態に係る開発環境構築システム(構築処理サーバ10)の動作の一例を示すフローチャートである。 FIG. 2 is a flowchart showing an example of the operation of the development environment construction system (construction processing server 10) according to the embodiment.
まず、取得部11は、開発環境の仕様を示す開発環境仕様情報20、仮想デバイスに関する仮想デバイス情報(例えば仮想デバイスA情報30aおよび仮想デバイスB情報30bなど)、および、開発環境の構築先の候補における開発環境の構築能力を示す構築能力情報(例えば構築能力情報40a~40cなど)を取得する(ステップS11)。取得部11は、クラウド環境100またはローカル環境200からこれらの情報を取得するが、これらの情報の取得先はクラウド環境100またはローカル環境200に限らない。例えば、これらの情報は、クラウド環境100またはローカル環境200に記憶されていなくてもよく、取得部11は、クラウド環境100またはローカル環境200以外の環境からこれらの情報を取得してもよい。
First, the
次に、決定部12は、開発環境仕様情報20、仮想デバイス情報および構築能力情報に基づいて、開発環境の構築先を決定する(ステップS12)。例えば、決定部12は、開発環境の構築先として、クラウド環境100またはローカル環境200のいずれかを決定してもよく、さらに、開発環境の構築先として、ローカル環境200に設けられた具体的な機器を決定してもよい。
Next, the determining
例えば、決定部12は、開発環境仕様情報20、仮想デバイス情報および構築能力情報に関する条件に基づいて、構築先を決定してもよい。例えば、決定部12は、開発環境仕様情報20に関する条件として、対象デバイスの所在の条件、各仮想デバイス(仮想デバイスA、B、・・・)を制御する際に要求される応答性および計算リソースの条件、開発環境の構築先の候補における開発環境の構築の可否の条件、および、開発環境の構築先の候補におけるストレージ容量の条件などに基づいて、構築先を決定してもよい。
For example, the determining
具体的には、対象デバイスの所在の条件については、対象デバイスが接続されている機器、または、当該機器が接続されたLAN(Local Area Network)内の機器が構築先に決定されやすくなる。各仮想デバイス(仮想デバイスA、B、・・・)を制御する際に要求される応答性の条件については、当該応答性を実現できる性能を有する機器が構築先に決定されやすくなる。各仮想デバイスを制御する際に要求される計算リソースの条件については、当該計算リソースを満たす性能(CPUコア数および残ストレージ容量など)を有する機器が構築先に決定されやすくなる。開発環境の構築先の候補における開発環境の構築の可否の条件については、開発環境の構築が可能な機器が構築先に決定されやすくなる。開発環境の構築先の候補におけるストレージ容量の条件については、要求されるストレージ容量を有する機器が構築先に決定されやすくなる。 Specifically, regarding the location condition of the target device, a device to which the target device is connected or a device in a LAN (Local Area Network) to which the device is connected is likely to be determined as the construction destination. Regarding the responsiveness conditions required when controlling each virtual device (virtual devices A, B, . . . ), it becomes easier to determine a device to be constructed that has the performance to realize the responsiveness. With respect to the computational resource conditions required when controlling each virtual device, a device having performance (such as the number of CPU cores and remaining storage capacity) that satisfies the computational resources is likely to be determined as the construction destination. Regarding the conditions for determining whether or not a development environment can be constructed among candidates for a development environment construction destination, devices that are capable of constructing a development environment are more likely to be determined as the construction destination. Regarding the storage capacity conditions for candidates for the construction destination of the development environment, it is easier to determine the device having the required storage capacity as the construction destination.
なお、ユーザ400は、開発環境の構築先を指定してもよく、決定部12は、開発環境の構築先をユーザ400に指定された構築先に決定してもよい。
Note that the
また、構築処理サーバ10は、決定された構築先を示す情報を出力する出力部(図示せず)を備えていてもよい。これにより、ユーザ400は、決定された構築先を確認することができる。
Furthermore, the
次に、構築部13は、仮想IF設定情報32を変更することで、決定された構築先に開発環境を構築する(ステップS13)。例えば、仮想IF設定情報32が、仮想デバイス(例えば仮想デバイスA)に対する仮想インタフェースの設定から対象デバイス(例えば実デバイスA300)に対する仮想インタフェースの設定に変更される。これにより、仮想デバイスを制御するソフトウェアによって、対象デバイスを制御できるようになる。仮想IF設定情報32が変更されることで、決定された構築先に開発環境が構築された場合に、対象デバイスを制御可能な状態となっているため、決定された構築先に自動的に開発環境を構築することができる。言い換えると、決定された構築先に開発環境を構築する際に、手動での仮想IF設定情報32の変更が不要となる。
Next, the
そして、試行部14は、構築された開発環境において対象デバイスを制御するソフトウェアを、開発可能か否かを試行し(ステップS14)、提示部15は、試行の結果を提示する(ステップS15)。例えば、提示部15は、試行の結果として、開発可能か否か、言い換えると、開発環境の構築に成功したか否かを提示し、また、成功した場合には、構築先を提示してもよい。例えば、失敗した場合には、成功するまでステップS12からステップS15までの処理が繰り返し行われてもよい。
The
なお、ステップS12において、複数の構築先が決定された場合には、いずれの構築先で開発環境を構築するかがユーザ400に選択されてもよい。
Note that if a plurality of construction destinations are determined in step S12, the
また、開発環境の構築先の候補には、優先順位が決められていてもよく、ステップS12からステップS15において、優先順位の高い順に構築先が決定され、開発環境の構築、試行、試行の結果の提示が行われてもよい。例えば、優先順位の高い構築先での開発環境の構築に失敗した場合には、次に優先順位の高い構築先が決定され、開発環境の構築、試行、試行の結果の提示が行われてもよい。 Further, priorities may be determined for candidates for development environment construction destinations, and in steps S12 to S15, construction destinations are determined in descending order of priority, and the results of development environment construction, trials, and trials are determined. may be presented. For example, if the construction of a development environment fails in a construction destination with a high priority, the next highest priority construction destination is determined, and even if the development environment is constructed, a trial is performed, and the results of the trial are presented. good.
ここで、開発環境の構築先としてクライアント210が提示される場合およびクラウド環境100が提示される場合の、開発環境仕様情報20、仮想デバイス情報および構築能力情報に含まれる情報の例、ならびに、構築処理サーバ10の動作の例について説明する。
Here, examples of information included in the development
まず、開発環境の構築先としてクライアント210が提示される場合について説明する。
First, a case where the
例えば、開発環境仕様情報20には、実デバイスA300が存在する場所の情報として、ローカル環境200のグローバルIPアドレス、ならびに、ローカル環境200に紐づけられたクライアントの情報として、クライアント210のローカルIPアドレスおよびクライアント220のローカルIPアドレスが含まれている。なお、開発環境仕様情報20には、図示しないローカル環境についても、ローカル環境200と同様の情報が含まれる。
For example, the development
また、例えば、開発環境仕様情報20には、物理デバイス(実デバイス)に関する情報として、実デバイスA300の種類を示す情報(例えばストレージ)と接続されているクライアント(例えばクライアント210)を示す情報との組み合わせが含まれている。
For example, the development
例えば、仮想デバイスA情報30aには、デバイスの種類を示す情報(例えばストレージ)と、仮想デバイス設定情報35(例えば必要ストレージ容量が10GB以上)と、応答性能要求情報34(例えば100ms以内)との組み合わせが含まれる。
For example, the virtual device A
例えば、構築能力情報40aには、クライアント210が開発環境を構築可能であることを示す情報(HVがあることを示す情報)、および、ストレージ残容量が100GBであることを示す情報が含まれる。例えば、構築能力情報40bには、クライアント220が開発環境を構築不可であることを示す情報(HVがないことを示す情報)、および、ストレージ残容量が100GBであることを示す情報が含まれる。例えば、構築能力情報40cには、クライド環境100が開発環境を構築可能であることを示す情報(HVがあることを示す情報)、および、ストレージ残容量が1TBであることを示す情報が含まれる。
For example, the
開発環境仕様情報20、仮想デバイス情報および構築能力情報に上記の情報が含まれている場合に、構築処理サーバ10は、以下のように動作する。
When the above information is included in the development
決定部12は、物理デバイス(実デバイス)に関する情報で指定された実デバイスA300の種類を示す情報に基づいて、実デバイスA300に対応する仮想デバイスA情報30aを確認し、必要なストレージ容量が10GB以上であり、要求される応答性が100ms以内であることを確認する。決定部12は、構築能力情報40bに基づいて、クライアント220が構築先として不適切と判断する。決定部12は、構築能力情報40aおよび40cに基づいて、クライアント210およびクラウド環境100が共にストレージ残容量が十分であると判断する。
The determining
構築部13は、クライアント210およびクラウド環境100のそれぞれが存在する場所の情報に基づいて、クライアント210およびクラウド環境100に開発環境を構築する。例えば、構築部13がIPアドレスにアクセスして構築指示を出してもよいし、クラウドと通信してデータを取得するソフトが、クライアント210およびクラウド環境100のそれぞれが存在する場所ごとにあってもよい。
The
試行部14は、クライアント210およびクラウド環境100のそれぞれに構築された開発環境においてソフトウェアを、開発可能か否かを試行する。具体的には、試行部14は、クライアント210およびクラウド環境100のそれぞれで開発環境を動作させて、仮想デバイス設定情報35および応答性能要求情報34が示す要求を満たすかを確認する。例えば、クラウド環境100は応答性が100msを超えたとする。これにより、クラウド環境100は開発環境の構築先として不適切と判断され、提示部15は、試行の結果として、クライアント210を提示する。
The
次に、開発環境の構築先としてクラウド環境100が提示される場合について説明する。
Next, a case where the
例えば、開発環境仕様情報20には、実デバイスA300が存在する場所の情報として、ローカル環境200のグローバルIPアドレス、ならびに、ローカル環境200に紐づけられたクライアントの情報として、クライアント210のローカルIPアドレスおよびクライアント220のローカルIPアドレスが含まれている。なお、開発環境仕様情報20には、図示しないローカル環境についても、ローカル環境200と同様の情報が含まれる。
For example, the development
また、例えば、開発環境仕様情報20には、物理デバイス(実デバイス)に関する情報として、実デバイスA300の種類を示す情報(例えばディスプレイ)と接続されているクライアント(例えばクライアント210)を示す情報との組み合わせが含まれている。
For example, the development
例えば、仮想デバイスA情報30aには、デバイスの種類を示す情報(例えばディスプレイ)と、仮想デバイス設定情報35(例えば割当CPUコア数が4以上)と、応答性能要求情報34(例えば1s以内)との組み合わせが含まれる。
For example, the virtual device A
例えば、構築能力情報40aには、クライアント210が開発環境を構築可能であることを示す情報(HVがあることを示す情報)、および、ストレージ残容量が100GBであることを示す情報が含まれる。例えば、構築能力情報40bには、クライアント220が開発環境を構築不可であることを示す情報(HVがないことを示す情報)、および、ストレージ残容量が100GBであることを示す情報が含まれる。例えば、構築能力情報40cには、クライド環境100が開発環境を構築可能であることを示す情報(HVがあることを示す情報)、および、ストレージ残容量が1TBであることを示す情報が含まれる。
For example, the
開発環境仕様情報20、仮想デバイス情報および構築能力情報に上記の情報が含まれている場合に、構築処理サーバ10は、以下のように動作する。
When the above information is included in the development
決定部12は、物理デバイス(実デバイス)に関する情報で指定された実デバイスA300の種類を示す情報に基づいて、実デバイスA300に対応する仮想デバイスA情報30aを確認し、割当CPUコア数が4以上であり、要求される応答性が1s以内であることを確認する。決定部12は、構築能力情報40bに基づいて、クライアント220が構築先として不適切と判断する。
The determining
構築部13は、クライアント210およびクラウド環境100のそれぞれが存在する場所の情報に基づいて、クライアント210およびクラウド環境100に開発環境を構築する。例えば、構築部13がIPアドレスにアクセスして構築指示を出してもよいし、クラウドと通信してデータを取得するソフトが、クライアント210およびクラウド環境100のそれぞれが存在する場所ごとにあってもよい。
The
試行部14は、クライアント210およびクラウド環境100のそれぞれに構築された開発環境においてソフトウェアを、開発可能か否かを試行する。具体的には、試行部14は、クライアント210およびクラウド環境100のそれぞれで開発環境を動作させて、仮想デバイス設定情報35および応答性能要求情報34が示す要求を満たすかを確認する。例えば、クライアント210は2つしかCPUコアの割当ができなかったとする。これにより、クライアント210は開発環境の構築先として不適切と判断され、提示部15は、試行の結果として、クラウド環境100を提示する。
The
次に、開発環境がローカル環境200に構築された場合について図3を用いて説明し、開発環境がクラウド環境100に構築された場合について図4を用いて説明する。
Next, a case where the development environment is built in the
図3は、ローカル環境200に構築された開発環境500の一例を示す構成図である。例えば、ローカル環境200におけるクライアント210に開発環境500が構築されたとする。図3には、デバイスA向けの開発環境510およびデバイスB向けの開発環境520を示している。
FIG. 3 is a configuration diagram showing an example of a
開発環境510には、デバイスA制御ソフト511、実デバイスA向け仮想IF設定情報512、仮想デバイスA513および仮想デバイス設定情報515が含まれる。
The
デバイスA制御ソフト511は、図1に示される仮想デバイスA情報30aに含まれるデバイス制御ソフト指定情報31が示すソフトウェアであり、実デバイスA300を制御するためのソフトウェアである。ただし、デバイスA制御ソフト511は、仮想デバイスA513向けに開発されたソフトであるため、例えば、ユーザ400は、開発環境500を利用してデバイスA制御ソフト511を実デバイスA300に応じて改良していく。
The device
実デバイスA向け仮想IF設定情報512は、実デバイスA300に対する仮想インタフェースの設定に変更された、図1に示される仮想デバイスA情報30aに含まれる仮想IF設定情報32である。実デバイスA向け仮想IF設定情報512は、実デバイスA300に対する仮想インタフェースの設定となっているため、デバイスA制御ソフト511によって実デバイスA300を制御可能となっている。
The virtual IF setting
仮想デバイスA513は、図1に示される仮想デバイスA情報30aに含まれる仮想デバイスソフト指定情報33が示す仮想デバイスである。開発環境510は、実デバイスA300を制御するソフトウェアの開発環境であるため、仮想デバイスA513は用いられなくてもよい。あるいは、状況に応じて、開発環境510においても仮想デバイスA513が用いられてもよい。
The
仮想デバイス設定情報515は、図1に示される仮想デバイスA情報30aに含まれる仮想デバイス設定情報35である。
The virtual
開発環境520には、デバイスB制御ソフト521、仮想デバイスB向け仮想IF設定情報522、仮想デバイスB523および仮想デバイス設定情報525が含まれる。
The
デバイスB制御ソフト521は、図1に示される仮想デバイスB情報30bに含まれるデバイス制御ソフト指定情報31が示すソフトウェアであり、仮想デバイスB523を制御するためのソフトウェアである。
The device
仮想デバイスB向け仮想IF設定情報522は、仮想デバイスB523に対する仮想インタフェースの設定となっている、図1に示される仮想デバイスB情報30bに含まれる仮想IF設定情報32である。仮想デバイスB向け仮想IF設定情報522は、仮想デバイスB523に対する仮想インタフェースの設定となっているため、デバイスB制御ソフト521によって仮想デバイスB523を制御可能となっている。
The virtual IF setting
仮想デバイスB523は、図1に示される仮想デバイスB情報30bに含まれる仮想デバイスソフト指定情報33が示す仮想デバイスである。開発環境520は、仮想デバイスB523を制御するソフトウェアの開発環境であるため、仮想デバイスB523が用いられる。このように、開発環境500には、実デバイスA300に関する開発環境510と仮想デバイスB523に関する開発環境520とが混在している。
The
仮想デバイス設定情報525は、図1に示される仮想デバイスB情報30bに含まれる仮想デバイス設定情報35である。例えば、クライアント210は、HVを含み、このHVは、仮想デバイス設定情報525に応じて、開発環境520に対するCPUコアの割当数を決定している。しかし、このCPUコアの割当数では、CPU性能が低いということが、開発環境500を構築してからわかることがある。そのような場合には、CPU性能が十分となるように仮想デバイス設定情報525が変更されてもよい、つまり、仮想デバイス設定情報525におけるCPUコアの割当数が増やされてもよい。例えば、次回の開発環境の構築時(例えば実デバイスAについての開発環境の構築時であってもよいし、他の実デバイスについての開発環境の構築時であってもよい)に、仮想デバイス設定情報525(仮想デバイス設定情報35)の変更内容が、ユーザ400などに提示されて、適用されてもよい。
The virtual
図4は、クラウド環境100に構築された開発環境600の一例を示す構成図である。図4には、デバイスA向けの開発環境610およびデバイスB向けの開発環境620を示している。
FIG. 4 is a configuration diagram showing an example of a
開発環境610には、デバイスA制御ソフト611、実デバイスA向け仮想IF設定情報612、仮想デバイスA613および仮想デバイス設定情報615が含まれる。
The
デバイスA制御ソフト611は、図1に示される仮想デバイスA情報30aに含まれるデバイス制御ソフト指定情報31が示すソフトウェアであり、実デバイスA300を制御するためのソフトウェアである。ただし、デバイスA制御ソフト611は、仮想デバイスA613向けに開発されたソフトであるため、例えば、ユーザ400は、開発環境600を利用してデバイスA制御ソフト611を実デバイスA300に応じて改良していく。
The device
実デバイスA向け仮想IF設定情報612は、実デバイスA300に対する仮想インタフェースの設定に変更された、図1に示される仮想デバイスA情報30aに含まれる仮想IF設定情報32である。実デバイスA向け仮想IF設定情報612は、実デバイスA300に対する仮想インタフェースの設定となっているため、デバイスA制御ソフト611によって実デバイスA300を制御可能となっている。例えば、実デバイスA向け仮想IF設定情報612には、ローカル環境200に設けられた実デバイスA300までのアクセス情報(例えばクラウド環境100とインターネットなどを介して接続されたローカル環境200に設けられた、クライアント210に接続された実デバイスA300までのアクセス情報)が含まれる。
The virtual IF setting
仮想デバイスA613は、図1に示される仮想デバイスA情報30aに含まれる仮想デバイスソフト指定情報33が示す仮想デバイスである。開発環境610は、実デバイスA300を制御するソフトウェアの開発環境であるため、仮想デバイスA613は用いられなくてもよい。あるいは、状況に応じて、開発環境610においても仮想デバイスA613が用いられてもよい。
The
仮想デバイス設定情報615は、図1に示される仮想デバイスA情報30aに含まれる仮想デバイス設定情報35である。
The virtual
開発環境620には、デバイスB制御ソフト621、仮想デバイスB向け仮想IF設定情報622、仮想デバイスB623および仮想デバイス設定情報625が含まれる。
The
デバイスB制御ソフト621は、図1に示される仮想デバイスB情報30bに含まれるデバイス制御ソフト指定情報31が示すソフトウェアであり、仮想デバイスB623を制御するためのソフトウェアである。
The device
仮想デバイスB向け仮想IF設定情報622は、仮想デバイスB623に対する仮想インタフェースの設定となっている、図1に示される仮想デバイスB情報30bに含まれる仮想IF設定情報32である。仮想デバイスB向け仮想IF設定情報622は、仮想デバイスB623に対する仮想インタフェースの設定となっているため、デバイスB制御ソフト621によって仮想デバイスB623を制御可能となっている。
The virtual IF setting information 622 for virtual device B is the virtual IF setting
仮想デバイスB623は、図1に示される仮想デバイスB情報30bに含まれる仮想デバイスソフト指定情報33が示す仮想デバイスである。開発環境620は、仮想デバイスB623を制御するソフトウェアの開発環境であるため、仮想デバイスB623が用いられる。このように、開発環境600には、実デバイスA300に関する開発環境610と仮想デバイスB623に関する開発環境620とが混在している。
The
仮想デバイス設定情報625は、図1に示される仮想デバイスB情報30bに含まれる仮想デバイス設定情報35である。例えば、クラウド環境100は、HVを含み、このHVは、仮想デバイス設定情報625に応じて、開発環境620に対するCPUコアの割当数を決定している。しかし、このCPUコアの割当数では、CPU性能が低いということが、開発環境600を構築してからわかることがある。そのような場合には、CPU性能が十分となるように仮想デバイス設定情報625が変更されてもよい、つまり、仮想デバイス設定情報625におけるCPUコアの割当数が増やされてもよい。例えば、次回の開発環境の構築時(例えば実デバイスAについての開発環境の構築時であってもよいし、他の実デバイスについての開発環境の構築時であってもよい)に、仮想デバイス設定情報625(仮想デバイス設定情報35)の変更内容が、ユーザ400などに提示されて、適用されてもよい。
The virtual
(まとめ)
構築処理サーバ10は、ハードウェアで構成された対象デバイス(実デバイスA300)を制御するソフトウェアの開発環境を構築する開発環境構築システムであって、開発環境には、仮想的に構成された仮想デバイスが含まれており、構築処理サーバ10は、開発環境の仕様を示す開発環境仕様情報20、仮想デバイスに関する仮想デバイス情報、および、開発環境の構築先の候補における開発環境の構築能力を示す構築能力情報を取得する取得部11と、開発環境仕様情報20、仮想デバイス情報および構築能力情報に基づいて、開発環境の構築先を決定する決定部12と、を備える。
(summary)
The
これによれば、対象デバイス(物理デバイス)と仮想デバイスとが混在する開発環境の仕様、当該開発環境に含まれる仮想デバイスに関する情報、当該開発環境の構築先の候補における開発環境の構築能力に応じて、最適な構築先を決定することができる。したがって、決定された構築先に、物理デバイスと仮想デバイスとが混在する開発環境を構築でき、開発効率の向上を図ることができる。例えば、開発環境の構築には時間を要するが、本開示により構築先の決定が自動化されて、開発効率の向上を図ることができる。 According to this, depending on the specifications of the development environment in which target devices (physical devices) and virtual devices coexist, information regarding the virtual devices included in the development environment, and the development environment construction ability of the candidate for the construction destination of the development environment, The most suitable location can be determined. Therefore, a development environment in which physical devices and virtual devices coexist can be constructed at the determined construction destination, and development efficiency can be improved. For example, although it takes time to construct a development environment, the present disclosure automates the determination of a construction destination, making it possible to improve development efficiency.
例えば、決定部12は、開発環境仕様情報20、仮想デバイス情報および構築能力情報に関する条件に基づいて、構築先を決定してもよい。
For example, the determining
例えば、開発環境仕様情報20は、対象デバイスの所在を示す情報を含んでいてもよい。
For example, the development
これによれば、対象デバイスが存在する場所や接続されている機器などの情報に応じて、最適な構築先を決定することができる。 According to this, it is possible to determine the optimal construction destination according to information such as the location where the target device exists and the devices connected to it.
例えば、仮想デバイス情報は、仮想デバイスを制御する際に要求される応答性を示す応答性能要求情報34、または、仮想デバイスを制御する際に要求される計算リソースを示すリソース情報を含んでいてもよい。
For example, the virtual device information may include response
これによれば、仮想デバイスを制御する際に要求される応答性、または、仮想デバイスを制御する際に要求される計算リソースに応じて、これらの条件を満たす最適な構築先を決定することができる。 According to this, it is possible to determine the optimal construction destination that satisfies these conditions depending on the responsiveness required when controlling a virtual device or the computational resources required when controlling a virtual device. can.
例えば、構築能力情報は、開発環境の構築の可否を示す情報、または、ストレージ容量を示す情報を含んでいてもよい。 For example, the construction capability information may include information indicating whether the development environment can be constructed or information indicating storage capacity.
これによれば、開発環境の構築先の候補における開発環境の構築の可否、または、ストレージ容量に応じて、開発環境(例えば開発環境に含まれる仮想デバイス)が正しく機能することができる構築先を決定することができる。 According to this, depending on whether or not it is possible to construct a development environment in a candidate development environment construction destination, or the storage capacity, a construction destination where the development environment (for example, a virtual device included in the development environment) can function properly is determined. can be determined.
例えば、仮想デバイス情報は、仮想デバイスに対する入出力インタフェースである仮想インタフェースの設定に関する仮想IF設定情報32を含み、構築処理サーバ10は、さらに、仮想IF設定情報32を変更することで、決定された構築先に開発環境を構築する構築部13を備えていてもよい。
For example, the virtual device information includes virtual IF setting
これによれば、仮想デバイスに対する入出力インタフェースの設定を対象デバイスに対する入出力インタフェースに変更することで、決定された構築先に開発環境を自動的に構築することができる。 According to this, by changing the setting of the input/output interface for the virtual device to the input/output interface for the target device, it is possible to automatically construct the development environment at the determined construction destination.
例えば、構築処理サーバ10は、さらに、構築された開発環境において対象デバイスを制御するソフトウェアを、開発可能か否かを試行する試行部14と、試行の結果を提示する提示部15と、を備えていてもよい。
For example, the
これによれば、決定された構築先に構築された開発環境が正しく機能しているか否かを確認することができる。 According to this, it is possible to confirm whether the development environment constructed at the determined construction destination is functioning correctly.
例えば、開発環境の構築先の候補は、HVを含んでいてもよい。 For example, candidates for the construction destination of the development environment may include an HV.
これによれば、HVによって開発環境の構築や複製が容易となる。 According to this, the HV facilitates the construction and replication of a development environment.
(その他の実施の形態)
以上のように、本開示に係る技術の例示として実施の形態を説明した。しかしながら、本開示に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。例えば、以下のような変形例も本開示の一実施の形態に含まれる。
(Other embodiments)
As described above, the embodiments have been described as examples of the technology according to the present disclosure. However, the technology according to the present disclosure is not limited to this, and can also be applied to embodiments in which changes, replacements, additions, omissions, etc. are made as appropriate. For example, the following modifications are also included in the embodiment of the present disclosure.
例えば、対象デバイスの開発初期段階では、対象デバイスの全ての機能が完成していない場合があるため、提示部15は、対象デバイスがサポートしている機能と、仮想デバイスがサポートしている機能との差を提示してもよい。
For example, in the initial stage of development of a target device, all the functions of the target device may not be completed, so the
例えば、対象デバイスおよび仮想デバイスが混在した開発環境を構築できない場合には、ユーザ400の承諾を得たうえで、対象デバイスに対応する仮想デバイスを含む開発環境が構築されてもよい。
For example, if it is not possible to construct a development environment in which a target device and a virtual device coexist, a development environment including a virtual device corresponding to the target device may be constructed after obtaining consent from the
例えば、決定された構築先に開発環境が構築される前に、ユーザ400に、決定された構築先に開発環境を構築してもよいかの問い合わせが行われてもよい。
For example, before the development environment is constructed at the determined construction destination, an inquiry may be made to the
なお、本開示は、開発環境構築システムとして実現できるだけでなく、開発環境構築システムを構成する各構成要素が行うステップ(処理)を含む開発環境構築方法として実現できる。 Note that the present disclosure can be realized not only as a development environment construction system but also as a development environment construction method including steps (processing) performed by each component configuring the development environment construction system.
開発環境構築方法は、ハードウェアで構成された対象デバイスを制御するソフトウェアの開発環境を構築する開発環境構築システムにより実行される開発環境構築方法であって、開発環境には、仮想的に構成された仮想デバイスが含まれており、開発環境構築方法は、図2に示されるように、開発環境の仕様を示す開発環境仕様情報、仮想デバイスに関する仮想デバイス情報、および、開発環境の構築先の候補における開発環境の構築能力を示す構築能力情報を取得する取得ステップ(ステップS11)と、開発環境仕様情報、仮想デバイス情報および構築能力情報に基づいて、開発環境の構築先を決定する決定ステップ(ステップS12)と、を含む。 The development environment construction method is a development environment construction method executed by a development environment construction system that constructs a development environment for software that controls a target device configured with hardware. As shown in Figure 2, the development environment construction method includes development environment specification information indicating the specifications of the development environment, virtual device information regarding the virtual device, and candidates for the construction destination of the development environment. an acquisition step (step S11) of acquiring construction capability information indicating the construction capability of the development environment in , and a determination step (step S11) of determining the construction destination of the development environment based on the development environment specification information, virtual device information, and construction capability information. S12).
例えば、開発環境構築方法におけるステップは、コンピュータ(コンピュータシステム)によって実行されてもよい。そして、本開示は、開発環境構築方法に含まれるステップを、コンピュータに実行させるためのプログラムとして実現できる。 For example, the steps in the development environment construction method may be executed by a computer (computer system). The present disclosure can be implemented as a program for causing a computer to execute the steps included in the development environment construction method.
さらに、本開示は、そのプログラムを記録したCD-ROMなどである非一時的なコンピュータ読み取り可能な記録媒体として実現できる。 Furthermore, the present disclosure can be implemented as a non-transitory computer-readable recording medium such as a CD-ROM on which the program is recorded.
例えば、本開示が、プログラム(ソフトウェア)で実現される場合には、コンピュータのCPU、メモリおよび入出力回路などのハードウェア資源を利用してプログラムが実行されることによって、各ステップが実行される。つまり、CPUがデータをメモリまたは入出力回路などから取得して演算したり、演算結果をメモリまたは入出力回路などに出力したりすることによって、各ステップが実行される。 For example, when the present disclosure is implemented as a program (software), each step is executed by executing the program using hardware resources such as a computer's CPU, memory, and input/output circuits. . That is, each step is executed by the CPU acquiring data from a memory or input/output circuit, etc., and performing calculations, and outputting the calculation results to the memory, input/output circuit, etc.
また、上記実施の形態の開発環境構築システムに含まれる各構成要素は、専用または汎用の回路として実現されてもよい。 Further, each component included in the development environment construction system of the above embodiment may be realized as a dedicated or general-purpose circuit.
また、上記実施の形態の開発環境構築システムに含まれる各構成要素は、集積回路(IC:Integrated Circuit)であるLSI(Large Scale Integration)として実現されてもよい。 Further, each component included in the development environment construction system of the above embodiment may be realized as an LSI (Large Scale Integration) that is an integrated circuit (IC).
また、集積回路はLSIに限られず、専用回路または汎用プロセッサで実現されてもよい。プログラム可能なFPGA(Field Programmable Gate Array)、または、LSI内部の回路セルの接続および設定が再構成可能なリコンフィギュラブル・プロセッサが、利用されてもよい。 Further, the integrated circuit is not limited to an LSI, and may be realized by a dedicated circuit or a general-purpose processor. A programmable FPGA (Field Programmable Gate Array) or a reconfigurable processor in which connections and settings of circuit cells inside the LSI can be reconfigured may be used.
さらに、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて、開発環境構築システムに含まれる各構成要素の集積回路化が行われてもよい。 Furthermore, if an integrated circuit technology that replaces LSI emerges due to advances in semiconductor technology or other derivative technologies, that technology will naturally be used to integrate each component included in the development environment construction system. It's okay.
その他、実施の形態に対して当業者が思いつく各種変形を施して得られる形態、本開示の趣旨を逸脱しない範囲で各実施の形態における構成要素および機能を任意に組み合わせることで実現される形態も本開示に含まれる。 In addition, there are also forms obtained by making various modifications to the embodiments that those skilled in the art can think of, and forms realized by arbitrarily combining the components and functions of each embodiment without departing from the spirit of the present disclosure. Included in this disclosure.
本開示は、例えば、車両に搭載されるデバイスを制御するソフトウェアの開発環境を構築するためのシステムなどに適用できる。 The present disclosure can be applied, for example, to a system for constructing a software development environment for controlling devices installed in a vehicle.
10 構築処理サーバ
11 取得部
12 決定部
13 構築部
14 試行部
15 提示部
20 開発環境仕様情報
30a 仮想デバイスA情報
30b 仮想デバイスB情報
31 デバイス制御ソフト指定情報
32 仮想IF設定情報
33 仮想デバイスソフト指定情報
34 応答性能要求情報
35 仮想デバイス設定情報
40、40b、40c 構築能力情報
100 クラウド環境
200 ローカル環境
210、220 クライアント
300 実デバイスA
400 ユーザ
500、510、520、600、610、620 開発環境
511、611 デバイスA制御ソフト
512、612 実デバイスA向け仮想IF設定情報
513、613 仮想デバイスA
515、525、615、625 仮想デバイス設定情報
521、621 デバイスB制御ソフト
522、622 仮想デバイスB向け仮想IF設定情報
523、623 仮想デバイスB
10
400
515, 525, 615, 625 Virtual
Claims (10)
前記開発環境には、仮想的に構成された仮想デバイスが含まれており、
前記開発環境の仕様を示す開発環境仕様情報、前記仮想デバイスに関する仮想デバイス情報、および、前記開発環境の構築先の候補における前記開発環境の構築能力を示す構築能力情報を取得する取得部と、
前記開発環境仕様情報、前記仮想デバイス情報および前記構築能力情報に基づいて、前記開発環境の構築先を決定する決定部と、を備える、
開発環境構築システム。 A development environment construction system for constructing a software development environment for controlling a target device configured with hardware,
The development environment includes a virtually configured virtual device,
an acquisition unit that acquires development environment specification information indicating specifications of the development environment, virtual device information regarding the virtual device, and construction capability information indicating a construction capability of the development environment in a candidate for construction destination of the development environment;
a determining unit that determines a construction destination for the development environment based on the development environment specification information, the virtual device information, and the construction capability information;
Development environment construction system.
請求項1に記載の開発環境構築システム。 The determining unit determines the construction destination based on conditions regarding the development environment specification information, the virtual device information, and the construction capability information.
The development environment construction system according to claim 1.
請求項1または2に記載の開発環境構築システム。 The development environment specification information includes information indicating the location of the target device.
A development environment construction system according to claim 1 or 2.
請求項1~3のいずれか1項に記載の開発環境構築システム。 The virtual device information includes response performance request information indicating responsiveness required when controlling the virtual device, or resource information indicating computational resources required when controlling the virtual device.
A development environment construction system according to any one of claims 1 to 3.
請求項1~4のいずれか1項に記載の開発環境構築システム。 The construction capability information includes information indicating whether or not the development environment can be constructed, or information indicating storage capacity.
A development environment construction system according to any one of claims 1 to 4.
前記開発環境構築システムは、さらに、前記仮想IF設定情報を変更することで、決定された前記構築先に前記開発環境を構築する構築部を備える、
請求項1~5のいずれか1項に記載の開発環境構築システム。 The virtual device information includes virtual IF setting information regarding settings of a virtual interface that is an input/output interface for the virtual device,
The development environment construction system further includes a construction unit that constructs the development environment at the determined construction destination by changing the virtual IF setting information.
A development environment construction system according to any one of claims 1 to 5.
構築された前記開発環境において前記対象デバイスを制御するソフトウェアを、開発可能か否かを試行する試行部と、
前記試行の結果を提示する提示部と、を備える、
請求項1~6のいずれか1項に記載の開発環境構築システム。 The development environment construction system further includes:
a trial unit that tests whether it is possible to develop software that controls the target device in the constructed development environment;
a presentation unit that presents the results of the trial;
A development environment construction system according to any one of claims 1 to 6.
請求項1~7のいずれか1項に記載の開発環境構築システム。 The candidates for the construction destination of the development environment include a hypervisor;
A development environment construction system according to any one of claims 1 to 7.
前記開発環境には、仮想的に構成された仮想デバイスが含まれており、
前記開発環境の仕様を示す開発環境仕様情報、前記仮想デバイスに関する仮想デバイス情報、および、前記開発環境の構築先の候補における前記開発環境の構築能力を示す構築能力情報を取得する取得ステップと、
前記開発環境仕様情報、前記仮想デバイス情報および前記構築能力情報に基づいて、前記開発環境の構築先を決定する決定ステップと、を含む、
開発環境構築方法。 A development environment construction method executed by a development environment construction system that constructs a development environment for software that controls a target device configured with hardware, the method comprising:
The development environment includes a virtually configured virtual device,
an acquisition step of acquiring development environment specification information indicating the specifications of the development environment, virtual device information regarding the virtual device, and construction capability information indicating the construction capability of the development environment in a candidate for the construction destination of the development environment;
a determining step of determining a construction destination for the development environment based on the development environment specification information, the virtual device information, and the construction capability information;
How to build a development environment.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022052430A JP7554022B2 (en) | 2022-03-28 | 2022-03-28 | Development environment construction system and development environment construction method |
DE102023107473.3A DE102023107473A1 (en) | 2022-03-28 | 2023-03-24 | SYSTEM FOR CREATING A DEVELOPMENT ENVIRONMENT, METHOD FOR CREATING A DEVELOPMENT ENVIRONMENT AND PROGRAM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022052430A JP7554022B2 (en) | 2022-03-28 | 2022-03-28 | Development environment construction system and development environment construction method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023145128A true JP2023145128A (en) | 2023-10-11 |
JP7554022B2 JP7554022B2 (en) | 2024-09-19 |
Family
ID=87930506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022052430A Active JP7554022B2 (en) | 2022-03-28 | 2022-03-28 | Development environment construction system and development environment construction method |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7554022B2 (en) |
DE (1) | DE102023107473A1 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7580826B2 (en) | 2004-06-30 | 2009-08-25 | Microsoft Corporation | Systems and methods for development of emulated devices in a virtual machine environment |
JP5892031B2 (en) | 2012-10-22 | 2016-03-23 | 富士通株式会社 | Resource management system, resource management method, and resource management program |
JP6692278B2 (en) | 2016-11-15 | 2020-05-13 | ルネサスエレクトロニクス株式会社 | Arithmetic device and virtual development environment device |
US10409632B2 (en) | 2017-03-31 | 2019-09-10 | The Boeing Company | Emulation of hardware components based on interrupt design |
US11347531B2 (en) | 2018-10-31 | 2022-05-31 | The Boeing Company | Generalized virtualization platform for systems using hardware abstraction software layers |
-
2022
- 2022-03-28 JP JP2022052430A patent/JP7554022B2/en active Active
-
2023
- 2023-03-24 DE DE102023107473.3A patent/DE102023107473A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JP7554022B2 (en) | 2024-09-19 |
DE102023107473A1 (en) | 2023-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9910765B2 (en) | Providing testing environments for software applications using virtualization and a native hardware layer | |
CN113312037B (en) | Data processing method, device, equipment and storage medium applied to micro-service | |
CN107534571B (en) | Method, system and computer readable medium for managing virtual network functions | |
CN108667859A (en) | A kind of method and device for realizing scheduling of resource | |
KR20180033569A (en) | Virtualization of device management services on multi-session platforms | |
US11894983B2 (en) | Simulation and testing of infrastructure as a service scale using a container orchestration engine | |
JP2013536518A (en) | How to enable hypervisor control in a cloud computing environment | |
US10394971B2 (en) | Hybrid simulation of a computing solution in a cloud computing environment with a simplified computing solution and a simulation model | |
US10146674B2 (en) | Plugin-based software verification system | |
CN109656646B (en) | Remote desktop control method, device, equipment and virtualization chip | |
CN105653338B (en) | A kind of update method and device of application | |
US20200117576A1 (en) | Assessing the container-readiness of software applications | |
US9753759B2 (en) | Optimizations and enhancements of application virtualization layers | |
CN113657069B (en) | SOC simulation verification method and device, verification server and storage medium | |
JP2022091301A (en) | Control system and control method | |
US20200153888A1 (en) | Message broker configuration | |
AU2019439694A1 (en) | Web page duplication | |
US20220214928A1 (en) | Workload Configuration Extractor | |
JP2018156294A (en) | Software verification apparatus and software verification program | |
JP2018077697A (en) | Verification system and verification method | |
JP7554022B2 (en) | Development environment construction system and development environment construction method | |
US10445201B2 (en) | System and method for automated integration and stress testing of hardware and software service in management controller using containerized toolbox | |
JP7336775B2 (en) | Verification system, verification method and program | |
US20230409306A1 (en) | Systems and methods for independent application design and deployment to platform host | |
JP6920501B1 (en) | Information processing systems, programs, and information processing methods |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230327 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20240304 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240521 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240718 |
|
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: 20240820 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240903 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7554022 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |