Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7554022B2 - Development environment construction system and development environment construction method - Google Patents
[go: Go Back, main page]

JP7554022B2 - Development environment construction system and development environment construction method - Google Patents

Development environment construction system and development environment construction method Download PDF

Info

Publication number
JP7554022B2
JP7554022B2 JP2022052430A JP2022052430A JP7554022B2 JP 7554022 B2 JP7554022 B2 JP 7554022B2 JP 2022052430 A JP2022052430 A JP 2022052430A JP 2022052430 A JP2022052430 A JP 2022052430A JP 7554022 B2 JP7554022 B2 JP 7554022B2
Authority
JP
Japan
Prior art keywords
development environment
construction
information
virtual device
virtual
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
Application number
JP2022052430A
Other languages
Japanese (ja)
Other versions
JP2023145128A (en
Inventor
宏和 玉野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Automotive Systems Co Ltd
Original Assignee
Panasonic Automotive Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Automotive Systems Co Ltd filed Critical Panasonic Automotive Systems Co Ltd
Priority to JP2022052430A priority Critical patent/JP7554022B2/en
Priority to DE102023107473.3A priority patent/DE102023107473A1/en
Publication of JP2023145128A publication Critical patent/JP2023145128A/en
Application granted granted Critical
Publication of JP7554022B2 publication Critical patent/JP7554022B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; 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)

Description

本開示は、ハードウェアで構成された対象デバイスを制御するソフトウェアの開発環境を構築する開発環境構築システム、開発環境構築方法およびプログラムに関する。 This 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 that uses virtual devices in which hardware devices (physical devices) are emulated as software. For example, hypervisor (HV), virtual machine (VM), container technology, etc. make it easy to build and replicate in-vehicle software development environments. Furthermore, by emulating physical devices with software, it is possible to verify devices in a cloud environment without physical hardware. Based on this premise, technologies such as those shown in Patent Document 1 and Patent Document 2 have been disclosed.

特許文献1には、所望の故障注入を含む所望の制御を、テストプログラムから、所望のタイミングで、仮想デバイスモデルへ与えることが可能な演算装置および仮想開発環境装置が開示されている。 Patent document 1 discloses a computing device and a virtual development environment device that can provide desired control, including desired fault injection, to a virtual device model from a test program at a desired timing.

特許文献2には、仮想デバイスを仮想コンピューティング環境に動的に追加する手段について開示されている。 Patent document 2 discloses a means for dynamically adding virtual devices to a virtual computing environment.

特許第6692278号公報Patent No. 6692278 特開2006-18814号公報JP 2006-18814 A

ハードウェアで構成されたデバイスがソフトウェアとしてエミュレーションされることで、仮想的に構成された仮想デバイスを複数含む開発環境がクラウド環境上などに構築され、デバイスを制御するソフトウェアの開発が進められている。これに対して、複数の仮想デバイスのうち特定のデバイスをハードウェアで構成された物理デバイスとした、物理デバイスと仮想デバイスとが混在する開発環境を利用して、開発効率の向上を図りたいという要望がある。 By emulating hardware devices as software, development environments that include multiple virtually configured virtual devices are being built in cloud environments, etc., and software to control the devices is being developed. In response to this, there is a demand for improving development efficiency by using a development environment that combines physical and virtual devices, in which certain devices out of the multiple virtual devices are treated as physical devices configured as hardware.

しかしながら、上記特許文献1および2では、物理デバイスと仮想デバイスとが混在する開発環境の実現については考慮されていない。 However, the above-mentioned patent documents 1 and 2 do not take into consideration 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 that mixes physical devices and virtual devices, thereby improving development efficiency.

本開示の一態様に係る開発環境構築システムは、ハードウェアで構成された対象デバイスを制御するソフトウェアの開発環境を構築する開発環境構築システムであって、前記開発環境には、仮想的に構成された仮想デバイスが含まれており、前記開発環境の仕様を示す開発環境仕様情報、前記仮想デバイスに関する仮想デバイス情報、および、前記開発環境の構築先の候補における前記開発環境の構築能力を示す構築能力情報を取得する取得部と、前記開発環境仕様情報、前記仮想デバイス情報および前記構築能力情報に基づいて、前記開発環境の構築先を決定する決定部と、を備える。 A development environment construction system according to one 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, the development environment including a virtually configured virtual device, and includes an acquisition unit that acquires 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 destination for the construction of the development environment, and a determination unit that determines the 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 one 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 including a virtually configured virtual device, and includes 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 destination for the development environment, and a determination step of determining the 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 above-mentioned development environment construction method.

本開示の一態様に係る開発環境構築システムなどによれば、物理デバイスと仮想デバイスとが混在する開発環境を構築でき、開発効率の向上を図ることができる。 According to a development environment creation system according to one aspect of the present disclosure, a development environment that combines physical devices and virtual devices can be created, thereby improving development efficiency.

実施の形態に係る開発環境構築システムを含むクラウド環境およびローカル環境の一例を示す構成図である。FIG. 1 is a configuration diagram showing an example of a cloud environment and a local environment including a development environment creation system according to an embodiment. 実施の形態に係る開発環境構築システムの動作の一例を示すフローチャートである。4 is a flowchart showing an example of an operation of the development environment creation system according to the embodiment. ローカル環境に構築された開発環境の一例を示す構成図である。FIG. 1 is a configuration diagram illustrating an example of a development environment constructed in a local environment. クラウド環境に構築された開発環境の一例を示す構成図である。FIG. 1 is a configuration diagram illustrating an example of a development environment built in a cloud environment.

(実施の形態)
以下、実施の形態に係る開発環境構築システムについて、図面を用いて説明する。
(Embodiment)
Hereinafter, a development environment creation system according to an embodiment will be described with reference to the drawings.

図1は、実施の形態に係る開発環境構築システム(構築処理サーバ10)を含むクラウド環境100およびローカル環境200の一例を示す構成図である。例えば、クラウド環境100とローカル環境200とは、インターネットなどを介して通信可能に接続されている。 FIG. 1 is a configuration diagram showing an example of a cloud environment 100 and a local environment 200 including a development environment construction system (construction processing server 10) according to an embodiment. For example, the cloud environment 100 and the local environment 200 are connected to each other so as to be able to communicate with each other via the Internet or the like.

構築処理サーバ10は、ハードウェアで構成された対象デバイスを制御するソフトウェアの開発環境を構築する開発環境構築システムの一例である。構築処理サーバ10によって構築される開発環境には、仮想的に構成された仮想デバイスが含まれている。図1では、対象デバイスとして、実デバイスA300を示している。実デバイスA300は、ハードウェアで構成されたデバイス(物理デバイス)であり、例えば、車両に搭載されるデバイスである。車両に搭載されるデバイスとしては、CAN(Controller Area Network)またはイーサネット(登録商標)などを介して、車載装置によって制御されるECU(Electronic Control Unit)、または、IVI(In Vehicle Infotainment)用のタッチスクリーンディスプレイなどがある。 The construction processing server 10 is an example of a development environment construction system that constructs a development environment for software that controls a target device constructed by hardware. The development environment constructed by the construction processing server 10 includes a virtual device that is virtually constructed. In FIG. 1, a real device A300 is shown as the target device. The real device A300 is a device (physical device) constructed by hardware, and is, for example, a device mounted on a vehicle. Examples of devices mounted on a vehicle include an ECU (Electronic Control Unit) controlled by an in-vehicle device via a CAN (Controller Area Network) or Ethernet (registered trademark), or a touch screen display for an IVI (In Vehicle Infotainment).

例えば、実デバイスA300は、ユーザ400が実デバイスA300などの検証を行うローカル環境200に配置される。例えば、ローカル環境200には、クライアント210および220が設けられる。クライアント210および220は、ローカル環境200に設置されたPC(Personal Computer)などのコンピュータである。 For example, real device A300 is placed in a local environment 200 where a user 400 verifies real device A300 and the like. For example, clients 210 and 220 are provided in the local environment 200. Clients 210 and 220 are computers such as PCs (Personal Computers) installed in the local environment 200.

例えば、クラウド環境100には、実デバイスA300を含む複数の物理デバイスが、ソフトウェアとしてエミュレーションされることで、仮想的に構成された複数の仮想デバイスについての開発環境がすでに構築されているとする。これに対して、複数の仮想デバイスのうちの特定のデバイスを物理デバイスとした開発環境を利用したいという要望がある。構築処理サーバ10は、このような要望に対応するためのものであり、物理デバイスと仮想デバイスとが混在する開発環境を構築できる。 For example, assume that a development environment for multiple virtual devices that are virtually configured by emulating multiple physical devices, including real device A300, in the cloud environment 100 has already been created. However, there is a demand for a development environment in which a specific device out of the multiple virtual devices is used as a physical device. The construction processing server 10 is intended to meet such demands, and can create a development environment in which physical devices and virtual devices coexist.

例えば、構築処理サーバ10は、クラウド環境100に設けられる。ただし、構築処理サーバ10は、クラウド環境100に設けられなくてもよく、クラウド環境100およびローカル環境200と通信可能な環境に設けられていてもよい。 For example, the construction processing server 10 is provided in the cloud environment 100. However, the construction processing server 10 does not have to be provided in the cloud environment 100, and may be provided in an environment capable of communicating with the cloud environment 100 and the local environment 200.

構築処理サーバ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 construction processing server 10 includes an acquisition unit 11, a determination unit 12, a construction unit 13, a trial unit 14, and a presentation unit 15. The construction processing server 10 is a computer including a processor and a memory. The memory is a ROM (Read Only Memory) and a RAM (Random Access Memory), and can store a program executed by the processor. The acquisition unit 11, the determination unit 12, the construction unit 13, the trial unit 14, and the presentation unit 15 are realized by a processor that executes a program stored in the memory. The acquisition unit 11, the determination unit 12, the construction unit 13, the trial unit 14, and the presentation unit 15 may be arranged in one server (one housing), or may be distributed across multiple servers (multiple housings).

取得部11は、開発環境仕様情報、仮想デバイス情報、および、構築能力情報を取得する。取得部11の動作および各情報の詳細については後述する。 The acquisition unit 11 acquires development environment specification information, virtual device information, and construction capability information. The operation of the acquisition unit 11 and each piece of information will be described in detail later.

決定部12は、開発環境の構築先を決定する。決定部12の動作の詳細については後述する。 The determination unit 12 determines where the development environment will be built. The operation of the determination unit 12 will be described in detail later.

構築部13は、決定された構築先に開発環境を構築する。構築部13の動作の詳細については後述する。 The construction unit 13 constructs a development environment in the determined construction destination. The operation of the construction unit 13 will be described in detail later.

試行部14は、構築された開発環境において対象デバイスを制御するソフトウェアを、開発可能か否かを試行する。試行部14の動作の詳細については後述する。 The trial unit 14 attempts to determine whether software that controls the target device can be developed in the constructed development environment. The operation of the trial unit 14 will be described in detail later.

提示部15は、試行部14による試行の結果を提示する。提示部15の動作の詳細については後述する。 The presentation unit 15 presents the results of the trial performed by the trial unit 14. Details of the operation of the presentation unit 15 will be described later.

クラウド環境100には、クラウド環境100に構築された開発環境に含まれる複数の仮想デバイスに関する複数の仮想デバイス情報が記憶される。仮想デバイス情報は、仮想デバイスを利用する場合などに必要となるパラメータを含み、当該パラメータは、テーブルなどで管理される。ここでは複数の仮想デバイス情報の一例として、実デバイスA300がソフトウェアとしてエミュレーションされることで仮想的に構成された仮想デバイスAに関する仮想デバイスA情報30a、および、図示していない実デバイスBがソフトウェアとしてエミュレーションされることで仮想的に構成された仮想デバイスBに関する仮想デバイスB情報30bを示している。 In the cloud environment 100, multiple pieces of virtual device information related to multiple virtual devices included in the development environment built in the cloud environment 100 are stored. The virtual device information includes parameters that are required when using the virtual device, and the parameters are managed in a table or the like. As an example of multiple pieces of virtual device information, virtual device A information 30a related to virtual device A configured virtually by emulating real device A300 as software, and virtual device B information 30b related to virtual device B configured virtually by emulating real device B (not shown) as software are shown here.

仮想デバイスA情報30aは、仮想デバイスAについての、デバイス制御ソフト指定情報31、仮想IF設定情報32、仮想デバイスソフト指定情報33、応答性能要求情報34および仮想デバイス設定情報35を含む。ここでは、実デバイスA300に対する仮想デバイスAに着目して説明するが、実デバイスごとにこれらの情報が存在する。つまり、クラウド環境100には、この他にも、様々な実デバイスに対応した仮想デバイス情報が記憶され得る。 Virtual device A information 30a includes device control software specification information 31, virtual IF setting information 32, virtual device software specification information 33, response performance requirement information 34, and virtual device setting information 35 for virtual device A. Here, the description focuses on virtual device A for real device A300, but this information exists for each real device. In other words, in addition to this, virtual device information corresponding to various real devices may be stored in the cloud environment 100.

デバイス制御ソフト指定情報31は、クラウド環境100に構築された開発環境に含まれる仮想デバイスAを制御するソフトウェア(デバイス制御ソフトウェア)の内容または取得先を示す情報である。例えば、デバイス制御ソフト指定情報31は、gitリポジトリのアクセス情報またはリポジトリ内のどのコード状態かを示す情報を含む。デバイス制御ソフト指定情報31を用いることで、仮想デバイスAを制御するソフトウェアを利用することができる。 The device control software specification information 31 is information that indicates the content or acquisition source of the software (device control software) that controls the virtual device A included in the development environment built in the cloud environment 100. For example, the device control software specification information 31 includes access information for a git repository or information that indicates which code state in the repository. By using the device control software specification information 31, it is possible to use the software that controls the virtual device A.

仮想IF設定情報32は、上記ソフトウェア(デバイス制御ソフトウェア)から仮想デバイスAを制御する際の仮想デバイスAに対する入出力インタフェースである仮想インタフェースの設定に関する設定情報である。例えば、仮想IF設定情報32は、仮想デバイスAへのアクセス先情報を含む。なお、仮想IF設定情報32を変更することで、アクセス先を実デバイスA300に変更することができ、デバイス制御ソフトウェアから実デバイスA300を制御することができる。 The virtual IF setting information 32 is setting information related to the setting of the virtual interface, which is an input/output interface for virtual device A when controlling virtual device A from the above software (device control software). For example, the virtual IF setting information 32 includes access destination information for virtual device A. Note that by changing the virtual IF setting information 32, the access destination can be changed to real device A300, and real device A300 can be controlled from the device control software.

仮想デバイスソフト指定情報33は、仮想デバイスAを示すソフトウェアの内容または取得先を示す情報である。例えば、仮想デバイスソフト指定情報33は、gitリポジトリのアクセス情報またはリポジトリ内のどのコード状態かを示す情報を含む。仮想デバイスソフト指定情報33を用いることで、仮想デバイスAを利用することができる。 The virtual device software specification information 33 is information indicating the contents or acquisition source of the software indicating the virtual device A. For example, the virtual device software specification information 33 includes access information for a git repository or information indicating which code state in the repository. By using the virtual device software specification information 33, the virtual device A can be used.

応答性能要求情報34は、仮想デバイスAを制御する際に要求される応答性を示す情報である。例えば、応答性能要求情報34は、仮想デバイスAを制御する際に要求されるレスポンス時間などを含む。 The response performance requirement information 34 is information that indicates the responsiveness required when controlling virtual device A. For example, the response performance requirement information 34 includes the response time required when controlling virtual device A.

仮想デバイス設定情報35は、仮想デバイスAを制御する際に要求される計算リソースを示すリソース情報を含む。例えば、リソース情報は、仮想デバイスAをHVなどで実現する場合に、要求されるCPUコア数およびメモリ量などの計算リソースを含む。 Virtual device setting information 35 includes resource information indicating the computational resources required to control virtual device A. For example, when virtual device A is realized by an HV or the like, the resource information includes computational resources such as the number of CPU cores and memory amount required.

仮想デバイスB情報30bについても、仮想デバイスBに関して、仮想デバイスA情報30aと同様の情報を含む。例えば、上記の説明において、仮想デバイスAとしているところを仮想デバイスBに置き換えることで、仮想デバイスB情報30bの説明となる。その他の仮想デバイス情報についても同様である。 Virtual device B information 30b also includes information about virtual device B similar to that of virtual device A information 30a. For example, by replacing virtual device A with virtual device B in the above explanation, the explanation of virtual device B information 30b is obtained. The same applies to the other virtual device information.

例えば、ユーザ400は、物理デバイスと仮想デバイスとが混在する開発環境の仕様を示す開発環境仕様情報20を、例えば、クラウド環境100またはローカル環境200と通信可能に接続された機器(PCまたは携帯端末など)に入力する。あるいは、開発環境仕様情報20は、クラウド環境100またはローカル環境200における機器に記憶されていてもよい。例えば、開発環境仕様情報20は、どの物理デバイスを指定するかを示す情報(ここでは実デバイスAを指定することを示す情報)および実デバイスA300の所在を示す情報を含む。実デバイスA300の所在を示す情報は、例えば、実デバイスA300が存在する場所(ここではローカル環境200)や接続されている機器(ここではクライアント210)などを含む。 For example, the user 400 inputs development environment specification information 20 indicating the specifications of a development environment in which physical devices and virtual devices are mixed into, for example, a device (such as a PC or a mobile terminal) communicatively connected to the cloud environment 100 or the local environment 200. Alternatively, the development environment specification information 20 may be stored in a device in the cloud environment 100 or the local environment 200. For example, the development environment specification information 20 includes information indicating which physical device is to be specified (here, information indicating that real device A is to be specified) and information indicating the location of real device A300. The information indicating the location of real device A300 includes, for example, the location where real device A300 exists (here, the local environment 200) and the connected device (here, the client 210).

また、開発環境の構築先の候補となる機器などには、開発環境の構築能力を示す構築能力情報が記憶される。例えば、クライアント210には構築能力情報40aが記憶され、クライアント220には構築能力情報40bが記憶され、クラウド環境100には構築能力情報40cが記憶される。 In addition, devices that are candidates for building a development environment store construction capability information indicating the construction capability of the development environment. For example, client 210 stores construction capability information 40a, client 220 stores construction capability information 40b, and cloud environment 100 stores construction capability information 40c.

例えば、構築能力情報40aは、クライアント210における開発環境の構築の可否を示す情報、または、クライアント210が有するストレージのストレージ容量を示す情報を含む。開発環境の構築の可否を示す情報は、クライアント210がHVを含むか否かを示す情報であってもよく、クライアント210がHVを含まない場合、クライアント210での開発環境の構築が不可であってもよい。また、開発環境の構築の可否を示す情報は、クライアント210が開発環境の構築を許可されているか否かを示す情報であってもよく、クライアント210が開発環境の構築を許可されていない場合、クライアント210での開発環境の構築が不可であってもよい。ストレージ容量を示す情報は、クライアント210が有するストレージのストレージ残容量を示す情報であってもよい。 For example, the construction capability information 40a includes information indicating whether a development environment can be constructed in the client 210, or information indicating the storage capacity of the storage owned by the client 210. The information indicating whether a development environment can be constructed may be information indicating whether the client 210 includes an HV, and if the client 210 does not include an HV, construction of a development environment may be impossible in the client 210. Furthermore, the information indicating whether a development environment can be constructed may be information indicating whether the client 210 is permitted to construct a development environment, and if the client 210 is not permitted to construct a development environment, construction of a development environment may be impossible in the client 210. The information indicating the storage capacity may be information indicating the remaining storage capacity of the storage owned by the client 210.

例えば、構築能力情報40bは、クライアント220における開発環境の構築の可否を示す情報、または、クライアント220が有するストレージのストレージ容量を示す情報を含む。開発環境の構築の可否を示す情報は、クライアント220がHVを含むか否かを示す情報であってもよく、クライアント220がHVを含まない場合、クライアント220での開発環境の構築が不可であってもよい。また、開発環境の構築の可否を示す情報は、クライアント220が開発環境の構築を許可されているか否かを示す情報であってもよく、クライアント220が開発環境の構築を許可されていない場合、クライアント220での開発環境の構築が不可であってもよい。ストレージ容量を示す情報は、クライアント220が有するストレージのストレージ残容量を示す情報であってもよい。 For example, the construction capability information 40b includes information indicating whether a development environment can be constructed in the client 220, or information indicating the storage capacity of the storage owned by the client 220. The information indicating whether a development environment can be constructed may be information indicating whether the client 220 includes an HV, and if the client 220 does not include an HV, construction of a development environment in the client 220 may be impossible. The information indicating whether a development environment can be constructed may be information indicating whether the client 220 is permitted to construct a development environment, and if the client 220 is not permitted to construct a development environment, construction of a development environment in the client 220 may be impossible. The information indicating the storage capacity may be information indicating the remaining storage capacity of the storage owned by the client 220.

例えば、構築能力情報40cは、クラウド環境100における開発環境の構築の可否を示す情報、または、クラウド環境100が有するストレージのストレージ容量を示す情報を含む。開発環境の構築の可否を示す情報は、クラウド環境100が開発環境の構築を許可されているか否かを示す情報であってもよく、クラウド環境100が開発環境の構築を許可されていない場合、クラウド環境100での開発環境の構築が不可であってもよい。ストレージ容量を示す情報は、クラウド環境100が有するストレージのストレージ残容量を示す情報であってもよい。 For example, the construction capability information 40c includes information indicating whether a development environment can be constructed in the cloud environment 100, or information indicating the storage capacity of the storage that the cloud environment 100 has. The information indicating whether a development environment can be constructed may be information indicating whether the cloud environment 100 is permitted to construct a development environment, and if the cloud environment 100 is not permitted to construct a development environment, it may be impossible to construct a development environment in the cloud environment 100. The information indicating the storage capacity may be information indicating the remaining storage capacity of the storage that the cloud environment 100 has.

次に、構築処理サーバ10の動作の詳細について、図2を用いて説明する。 Next, the details of the operation of the construction processing server 10 will be explained using Figure 2.

図2は、実施の形態に係る開発環境構築システム(構築処理サーバ10)の動作の一例を示すフローチャートである。 Figure 2 is a flowchart showing an example of the operation of a development environment construction system (construction processing server 10) according to an embodiment.

まず、取得部11は、開発環境の仕様を示す開発環境仕様情報20、仮想デバイスに関する仮想デバイス情報(例えば仮想デバイスA情報30aおよび仮想デバイスB情報30bなど)、および、開発環境の構築先の候補における開発環境の構築能力を示す構築能力情報(例えば構築能力情報40a~40cなど)を取得する(ステップS11)。取得部11は、クラウド環境100またはローカル環境200からこれらの情報を取得するが、これらの情報の取得先はクラウド環境100またはローカル環境200に限らない。例えば、これらの情報は、クラウド環境100またはローカル環境200に記憶されていなくてもよく、取得部11は、クラウド環境100またはローカル環境200以外の環境からこれらの情報を取得してもよい。 First, the acquisition unit 11 acquires development environment specification information 20 indicating the specifications of the development environment, virtual device information regarding virtual devices (e.g., virtual device A information 30a and virtual device B information 30b, etc.), and construction capability information indicating the construction capability of the development environment in the candidate construction destination of the development environment (e.g., construction capability information 40a to 40c, etc.) (step S11). The acquisition unit 11 acquires this information from the cloud environment 100 or the local environment 200, but the source from which this information is acquired is not limited to the cloud environment 100 or the local environment 200. For example, this information does not have to be stored in the cloud environment 100 or the local environment 200, and the acquisition unit 11 may acquire this information from an environment other than the cloud environment 100 or the local environment 200.

次に、決定部12は、開発環境仕様情報20、仮想デバイス情報および構築能力情報に基づいて、開発環境の構築先を決定する(ステップS12)。例えば、決定部12は、開発環境の構築先として、クラウド環境100またはローカル環境200のいずれかを決定してもよく、さらに、開発環境の構築先として、ローカル環境200に設けられた具体的な機器を決定してもよい。 Next, the determination unit 12 determines the construction destination of the development environment based on the development environment specification information 20, the virtual device information, and the construction capability information (step S12). For example, the determination unit 12 may determine either the cloud environment 100 or the local environment 200 as the construction destination of the development environment, and may further determine a specific device provided in the local environment 200 as the construction destination of the development environment.

例えば、決定部12は、開発環境仕様情報20、仮想デバイス情報および構築能力情報に関する条件に基づいて、構築先を決定してもよい。例えば、決定部12は、開発環境仕様情報20に関する条件として、対象デバイスの所在の条件、各仮想デバイス(仮想デバイスA、B、・・・)を制御する際に要求される応答性および計算リソースの条件、開発環境の構築先の候補における開発環境の構築の可否の条件、および、開発環境の構築先の候補におけるストレージ容量の条件などに基づいて、構築先を決定してもよい。 For example, the determination unit 12 may determine the construction destination based on conditions related to the development environment specification information 20, the virtual device information, and the construction capability information. For example, the determination unit 12 may determine the construction destination based on conditions related to the development environment specification information 20, such as the location of the target device, the responsiveness and computational resource conditions required when controlling each virtual device (virtual device A, B, ...), the conditions for whether or not the development environment can be constructed in the candidate construction destination for the development environment, and the storage capacity conditions in the candidate construction destination for the development environment.

具体的には、対象デバイスの所在の条件については、対象デバイスが接続されている機器、または、当該機器が接続されたLAN(Local Area Network)内の機器が構築先に決定されやすくなる。各仮想デバイス(仮想デバイスA、B、・・・)を制御する際に要求される応答性の条件については、当該応答性を実現できる性能を有する機器が構築先に決定されやすくなる。各仮想デバイスを制御する際に要求される計算リソースの条件については、当該計算リソースを満たす性能(CPUコア数および残ストレージ容量など)を有する機器が構築先に決定されやすくなる。開発環境の構築先の候補における開発環境の構築の可否の条件については、開発環境の構築が可能な機器が構築先に決定されやすくなる。開発環境の構築先の候補におけるストレージ容量の条件については、要求されるストレージ容量を有する機器が構築先に決定されやすくなる。 Specifically, for the condition of the location of the target device, the equipment to which the target device is connected, or the equipment in the LAN (Local Area Network) to which the equipment is connected, is likely to be selected as the construction destination. For the condition of responsiveness required when controlling each virtual device (virtual device A, B, ...), the equipment having the performance to realize the responsiveness is likely to be selected as the construction destination. For the condition of the computational resources required when controlling each virtual device, the equipment having the performance (number of CPU cores, remaining storage capacity, etc.) to satisfy the computational resources is likely to be selected as the construction destination. For the condition of whether the development environment can be constructed in the candidate construction destination of the development environment, the equipment capable of constructing the development environment is likely to be selected as the construction destination. For the condition of the storage capacity in the candidate construction destination of the development environment, the equipment having the required storage capacity is likely to be selected as the construction destination.

なお、ユーザ400は、開発環境の構築先を指定してもよく、決定部12は、開発環境の構築先をユーザ400に指定された構築先に決定してもよい。 The user 400 may specify the destination where the development environment is to be built, and the determination unit 12 may determine that the development environment is to be built at the destination specified by the user 400.

また、構築処理サーバ10は、決定された構築先を示す情報を出力する出力部(図示せず)を備えていてもよい。これにより、ユーザ400は、決定された構築先を確認することができる。 The construction processing server 10 may also be provided with an output unit (not shown) that outputs information indicating the determined construction destination. This allows the user 400 to confirm the determined construction destination.

次に、構築部13は、仮想IF設定情報32を変更することで、決定された構築先に開発環境を構築する(ステップS13)。例えば、仮想IF設定情報32が、仮想デバイス(例えば仮想デバイスA)に対する仮想インタフェースの設定から対象デバイス(例えば実デバイスA300)に対する仮想インタフェースの設定に変更される。これにより、仮想デバイスを制御するソフトウェアによって、対象デバイスを制御できるようになる。仮想IF設定情報32が変更されることで、決定された構築先に開発環境が構築された場合に、対象デバイスを制御可能な状態となっているため、決定された構築先に自動的に開発環境を構築することができる。言い換えると、決定された構築先に開発環境を構築する際に、手動での仮想IF設定情報32の変更が不要となる。 Next, the construction unit 13 constructs a development environment in the determined construction destination by changing the virtual IF setting information 32 (step S13). For example, the virtual IF setting information 32 is changed from a virtual interface setting for a virtual device (e.g., virtual device A) to a virtual interface setting for a target device (e.g., real device A300). This makes it possible to control the target device by software that controls the virtual device. By changing the virtual IF setting information 32, when a development environment is constructed in the determined construction destination, the target device is in a controllable state, so that a development environment can be automatically constructed in the determined construction destination. In other words, when a development environment is constructed in the determined construction destination, manual change of the virtual IF setting information 32 is not required.

そして、試行部14は、構築された開発環境において対象デバイスを制御するソフトウェアを、開発可能か否かを試行し(ステップS14)、提示部15は、試行の結果を提示する(ステップS15)。例えば、提示部15は、試行の結果として、開発可能か否か、言い換えると、開発環境の構築に成功したか否かを提示し、また、成功した場合には、構築先を提示してもよい。例えば、失敗した場合には、成功するまでステップS12からステップS15までの処理が繰り返し行われてもよい。 Then, the trial unit 14 tries whether or not software that controls the target device can be developed in the constructed development environment (step S14), and the presentation unit 15 presents the result of the trial (step S15). For example, the presentation unit 15 presents, as the result of the trial, whether or not development is possible, in other words, whether or not the construction of the development environment was successful, and may also present the construction destination if successful. For example, if unsuccessful, the processes from step S12 to step S15 may be repeated until success is achieved.

なお、ステップS12において、複数の構築先が決定された場合には、いずれの構築先で開発環境を構築するかがユーザ400に選択されてもよい。 Note that, if multiple construction destinations are determined in step S12, the user 400 may select which construction destination the development environment will be built in.

また、開発環境の構築先の候補には、優先順位が決められていてもよく、ステップS12からステップS15において、優先順位の高い順に構築先が決定され、開発環境の構築、試行、試行の結果の提示が行われてもよい。例えば、優先順位の高い構築先での開発環境の構築に失敗した場合には、次に優先順位の高い構築先が決定され、開発環境の構築、試行、試行の結果の提示が行われてもよい。 In addition, a priority order may be assigned to the candidate construction destinations for the development environment, and in steps S12 to S15, the construction destinations may be determined in order of priority, and the development environment may be constructed, attempted, and the results of the trials may be presented. For example, if construction of the development environment at a construction destination with a high priority fails, the construction destination with the next highest priority may be determined, and the development environment may be constructed, attempted, and the results of the trials may be presented.

ここで、開発環境の構築先としてクライアント210が提示される場合およびクラウド環境100が提示される場合の、開発環境仕様情報20、仮想デバイス情報および構築能力情報に含まれる情報の例、ならびに、構築処理サーバ10の動作の例について説明する。 Here, we will explain examples of information contained in the development environment specification information 20, virtual device information, and construction capability information, as well as examples of the operation of the construction processing server 10, when a client 210 is presented as the destination for constructing the development environment and when a cloud environment 100 is presented.

まず、開発環境の構築先としてクライアント210が提示される場合について説明する。 First, we will explain the case where client 210 is presented as the destination for building the development environment.

例えば、開発環境仕様情報20には、実デバイスA300が存在する場所の情報として、ローカル環境200のグローバルIPアドレス、ならびに、ローカル環境200に紐づけられたクライアントの情報として、クライアント210のローカルIPアドレスおよびクライアント220のローカルIPアドレスが含まれている。なお、開発環境仕様情報20には、図示しないローカル環境についても、ローカル環境200と同様の情報が含まれる。 For example, the development environment specification information 20 includes the global IP address of the local environment 200 as information on the location where the actual device A300 exists, and the local IP address of the client 210 and the local IP address of the client 220 as information on the client linked to the local environment 200. Note that the development environment specification information 20 also includes information similar to that of the local environment 200 for local environments not shown.

また、例えば、開発環境仕様情報20には、物理デバイス(実デバイス)に関する情報として、実デバイスA300の種類を示す情報(例えばストレージ)と接続されているクライアント(例えばクライアント210)を示す情報との組み合わせが含まれている。 In addition, for example, the development environment specification information 20 includes, as information about a physical device (actual device), a combination of information indicating the type of actual device A300 (e.g., storage) and information indicating the connected client (e.g., client 210).

例えば、仮想デバイスA情報30aには、デバイスの種類を示す情報(例えばストレージ)と、仮想デバイス設定情報35(例えば必要ストレージ容量が10GB以上)と、応答性能要求情報34(例えば100ms以内)との組み合わせが含まれる。 For example, virtual device A information 30a includes a combination of information indicating the type of device (e.g., storage), virtual device setting information 35 (e.g., required storage capacity is 10 GB or more), and response performance requirement information 34 (e.g., within 100 ms).

例えば、構築能力情報40aには、クライアント210が開発環境を構築可能であることを示す情報(HVがあることを示す情報)、および、ストレージ残容量が100GBであることを示す情報が含まれる。例えば、構築能力情報40bには、クライアント220が開発環境を構築不可であることを示す情報(HVがないことを示す情報)、および、ストレージ残容量が100GBであることを示す情報が含まれる。例えば、構築能力情報40cには、クライド環境100が開発環境を構築可能であることを示す情報(HVがあることを示す情報)、および、ストレージ残容量が1TBであることを示す情報が含まれる。 For example, the construction capability information 40a includes information indicating that the client 210 can construct a development environment (information indicating that there is an HV) and information indicating that the remaining storage capacity is 100 GB. For example, the construction capability information 40b includes information indicating that the client 220 cannot construct a development environment (information indicating that there is no HV) and information indicating that the remaining storage capacity is 100 GB. For example, the construction capability information 40c includes information indicating that the client environment 100 can construct a development environment (information indicating that there is an HV) and information indicating that the remaining storage capacity is 1 TB.

開発環境仕様情報20、仮想デバイス情報および構築能力情報に上記の情報が含まれている場合に、構築処理サーバ10は、以下のように動作する。 When the development environment specification information 20, virtual device information, and construction capability information contain the above information, the construction processing server 10 operates as follows.

決定部12は、物理デバイス(実デバイス)に関する情報で指定された実デバイスA300の種類を示す情報に基づいて、実デバイスA300に対応する仮想デバイスA情報30aを確認し、必要なストレージ容量が10GB以上であり、要求される応答性が100ms以内であることを確認する。決定部12は、構築能力情報40bに基づいて、クライアント220が構築先として不適切と判断する。決定部12は、構築能力情報40aおよび40cに基づいて、クライアント210およびクラウド環境100が共にストレージ残容量が十分であると判断する。 The determination unit 12 checks the virtual device A information 30a corresponding to the real device A300 based on information indicating the type of the real device A300 specified in the information on the physical device (real device), and confirms that the required storage capacity is 10 GB or more and the required responsiveness is within 100 ms. The determination unit 12 determines that the client 220 is inappropriate as a construction destination based on the construction capability information 40b. The determination unit 12 determines that both the client 210 and the cloud environment 100 have sufficient remaining storage capacity based on the construction capability information 40a and 40c.

構築部13は、クライアント210およびクラウド環境100のそれぞれが存在する場所の情報に基づいて、クライアント210およびクラウド環境100に開発環境を構築する。例えば、構築部13がIPアドレスにアクセスして構築指示を出してもよいし、クラウドと通信してデータを取得するソフトが、クライアント210およびクラウド環境100のそれぞれが存在する場所ごとにあってもよい。 The construction unit 13 constructs a development environment in the client 210 and the cloud environment 100 based on information on the locations where the client 210 and the cloud environment 100 are located. For example, the construction unit 13 may access an IP address and issue a construction instruction, or software that communicates with the cloud to obtain data may be provided for each location where the client 210 and the cloud environment 100 are located.

試行部14は、クライアント210およびクラウド環境100のそれぞれに構築された開発環境においてソフトウェアを、開発可能か否かを試行する。具体的には、試行部14は、クライアント210およびクラウド環境100のそれぞれで開発環境を動作させて、仮想デバイス設定情報35および応答性能要求情報34が示す要求を満たすかを確認する。例えば、クラウド環境100は応答性が100msを超えたとする。これにより、クラウド環境100は開発環境の構築先として不適切と判断され、提示部15は、試行の結果として、クライアント210を提示する。 The trial unit 14 tries whether or not software can be developed in the development environments constructed in each of the client 210 and the cloud environment 100. Specifically, the trial unit 14 runs the development environments in each of the client 210 and the cloud environment 100, and checks whether the requirements indicated by the virtual device setting information 35 and the response performance requirement information 34 are satisfied. For example, assume that the response of the cloud environment 100 exceeds 100 ms. As a result, the cloud environment 100 is determined to be inappropriate as a location for constructing a development environment, and the presentation unit 15 presents the client 210 as a result of the trial.

次に、開発環境の構築先としてクラウド環境100が提示される場合について説明する。 Next, we will explain the case where the cloud environment 100 is presented as the destination for building the development environment.

例えば、開発環境仕様情報20には、実デバイスA300が存在する場所の情報として、ローカル環境200のグローバルIPアドレス、ならびに、ローカル環境200に紐づけられたクライアントの情報として、クライアント210のローカルIPアドレスおよびクライアント220のローカルIPアドレスが含まれている。なお、開発環境仕様情報20には、図示しないローカル環境についても、ローカル環境200と同様の情報が含まれる。 For example, the development environment specification information 20 includes the global IP address of the local environment 200 as information on the location where the actual device A300 exists, and the local IP address of the client 210 and the local IP address of the client 220 as information on the client linked to the local environment 200. Note that the development environment specification information 20 also includes information similar to that of the local environment 200 for local environments not shown.

また、例えば、開発環境仕様情報20には、物理デバイス(実デバイス)に関する情報として、実デバイスA300の種類を示す情報(例えばディスプレイ)と接続されているクライアント(例えばクライアント210)を示す情報との組み合わせが含まれている。 For example, the development environment specification information 20 includes, as information about a physical device (actual device), a combination of information indicating the type of actual device A300 (e.g., a display) and information indicating the connected client (e.g., client 210).

例えば、仮想デバイスA情報30aには、デバイスの種類を示す情報(例えばディスプレイ)と、仮想デバイス設定情報35(例えば割当CPUコア数が4以上)と、応答性能要求情報34(例えば1s以内)との組み合わせが含まれる。 For example, virtual device A information 30a includes a combination of information indicating the type of device (e.g., a display), virtual device setting information 35 (e.g., the number of allocated CPU cores is 4 or more), and response performance requirement information 34 (e.g., within 1 second).

例えば、構築能力情報40aには、クライアント210が開発環境を構築可能であることを示す情報(HVがあることを示す情報)、および、ストレージ残容量が100GBであることを示す情報が含まれる。例えば、構築能力情報40bには、クライアント220が開発環境を構築不可であることを示す情報(HVがないことを示す情報)、および、ストレージ残容量が100GBであることを示す情報が含まれる。例えば、構築能力情報40cには、クライド環境100が開発環境を構築可能であることを示す情報(HVがあることを示す情報)、および、ストレージ残容量が1TBであることを示す情報が含まれる。 For example, the construction capability information 40a includes information indicating that the client 210 can construct a development environment (information indicating that there is an HV) and information indicating that the remaining storage capacity is 100 GB. For example, the construction capability information 40b includes information indicating that the client 220 cannot construct a development environment (information indicating that there is no HV) and information indicating that the remaining storage capacity is 100 GB. For example, the construction capability information 40c includes information indicating that the client environment 100 can construct a development environment (information indicating that there is an HV) and information indicating that the remaining storage capacity is 1 TB.

開発環境仕様情報20、仮想デバイス情報および構築能力情報に上記の情報が含まれている場合に、構築処理サーバ10は、以下のように動作する。 When the development environment specification information 20, virtual device information, and construction capability information contain the above information, the construction processing server 10 operates as follows.

決定部12は、物理デバイス(実デバイス)に関する情報で指定された実デバイスA300の種類を示す情報に基づいて、実デバイスA300に対応する仮想デバイスA情報30aを確認し、割当CPUコア数が4以上であり、要求される応答性が1s以内であることを確認する。決定部12は、構築能力情報40bに基づいて、クライアント220が構築先として不適切と判断する。 The determination unit 12 checks the virtual device A information 30a corresponding to the real device A300 based on the information indicating the type of the real device A300 specified in the information on the physical device (real device), and confirms that the number of assigned CPU cores is 4 or more and that the required responsiveness is within 1 second. Based on the construction capability information 40b, the determination unit 12 determines that the client 220 is inappropriate as a construction destination.

構築部13は、クライアント210およびクラウド環境100のそれぞれが存在する場所の情報に基づいて、クライアント210およびクラウド環境100に開発環境を構築する。例えば、構築部13がIPアドレスにアクセスして構築指示を出してもよいし、クラウドと通信してデータを取得するソフトが、クライアント210およびクラウド環境100のそれぞれが存在する場所ごとにあってもよい。 The construction unit 13 constructs a development environment in the client 210 and the cloud environment 100 based on information on the locations where the client 210 and the cloud environment 100 are located. For example, the construction unit 13 may access an IP address and issue a construction instruction, or software that communicates with the cloud to obtain data may be provided for each location where the client 210 and the cloud environment 100 are located.

試行部14は、クライアント210およびクラウド環境100のそれぞれに構築された開発環境においてソフトウェアを、開発可能か否かを試行する。具体的には、試行部14は、クライアント210およびクラウド環境100のそれぞれで開発環境を動作させて、仮想デバイス設定情報35および応答性能要求情報34が示す要求を満たすかを確認する。例えば、クライアント210は2つしかCPUコアの割当ができなかったとする。これにより、クライアント210は開発環境の構築先として不適切と判断され、提示部15は、試行の結果として、クラウド環境100を提示する。 The trial unit 14 tries whether or not software can be developed in the development environments constructed in each of the client 210 and the cloud environment 100. Specifically, the trial unit 14 runs the development environments in each of the client 210 and the cloud environment 100, and checks whether the requirements indicated by the virtual device setting information 35 and the response performance requirement information 34 are satisfied. For example, assume that the client 210 is only able to be assigned two CPU cores. As a result, the client 210 is determined to be inappropriate as a location for constructing a development environment, and the presentation unit 15 presents the cloud environment 100 as a result of the trial.

次に、開発環境がローカル環境200に構築された場合について図3を用いて説明し、開発環境がクラウド環境100に構築された場合について図4を用いて説明する。 Next, the case where the development environment is built in the local environment 200 will be explained using FIG. 3, and the case where the development environment is built in the cloud environment 100 will be explained using FIG. 4.

図3は、ローカル環境200に構築された開発環境500の一例を示す構成図である。例えば、ローカル環境200におけるクライアント210に開発環境500が構築されたとする。図3には、デバイスA向けの開発環境510およびデバイスB向けの開発環境520を示している。 Figure 3 is a configuration diagram showing an example of a development environment 500 built in the local environment 200. For example, assume that the development environment 500 is built in the client 210 in the local environment 200. Figure 3 shows a development environment 510 for device A and a development environment 520 for device B.

開発環境510には、デバイスA制御ソフト511、実デバイスA向け仮想IF設定情報512、仮想デバイスA513および仮想デバイス設定情報515が含まれる。 The development environment 510 includes device A control software 511, virtual IF setting information for actual device A 512, virtual device A 513, and virtual device setting information 515.

デバイスA制御ソフト511は、図1に示される仮想デバイスA情報30aに含まれるデバイス制御ソフト指定情報31が示すソフトウェアであり、実デバイスA300を制御するためのソフトウェアである。ただし、デバイスA制御ソフト511は、仮想デバイスA513向けに開発されたソフトであるため、例えば、ユーザ400は、開発環境500を利用してデバイスA制御ソフト511を実デバイスA300に応じて改良していく。 The device A control software 511 is software indicated by the device control software specification information 31 included in the virtual device A information 30a shown in FIG. 1, and is software for controlling the real device A300. However, since the device A control software 511 is software developed for the virtual device A513, for example, the user 400 uses the development environment 500 to improve the device A control software 511 in accordance with the real device A300.

実デバイスA向け仮想IF設定情報512は、実デバイスA300に対する仮想インタフェースの設定に変更された、図1に示される仮想デバイスA情報30aに含まれる仮想IF設定情報32である。実デバイスA向け仮想IF設定情報512は、実デバイスA300に対する仮想インタフェースの設定となっているため、デバイスA制御ソフト511によって実デバイスA300を制御可能となっている。 The virtual IF setting information 512 for real device A is the virtual IF setting information 32 included in the virtual device A information 30a shown in FIG. 1, which has been changed to the setting of a virtual interface for real device A300. Since the virtual IF setting information 512 for real device A is the setting of a virtual interface for real device A300, it is possible to control real device A300 by device A control software 511.

仮想デバイスA513は、図1に示される仮想デバイスA情報30aに含まれる仮想デバイスソフト指定情報33が示す仮想デバイスである。開発環境510は、実デバイスA300を制御するソフトウェアの開発環境であるため、仮想デバイスA513は用いられなくてもよい。あるいは、状況に応じて、開発環境510においても仮想デバイスA513が用いられてもよい。 Virtual device A513 is a virtual device indicated by virtual device software specification information 33 included in virtual device A information 30a shown in FIG. 1. Because development environment 510 is a development environment for software that controls real device A300, virtual device A513 does not need to be used. Alternatively, virtual device A513 may also be used in development environment 510 depending on the situation.

仮想デバイス設定情報515は、図1に示される仮想デバイスA情報30aに含まれる仮想デバイス設定情報35である。 The virtual device setting information 515 is the virtual device setting information 35 included in the virtual device A information 30a shown in FIG. 1.

開発環境520には、デバイスB制御ソフト521、仮想デバイスB向け仮想IF設定情報522、仮想デバイスB523および仮想デバイス設定情報525が含まれる。 The development environment 520 includes device B control software 521, virtual IF setting information for virtual device B 522, virtual device B 523, and virtual device setting information 525.

デバイスB制御ソフト521は、図1に示される仮想デバイスB情報30bに含まれるデバイス制御ソフト指定情報31が示すソフトウェアであり、仮想デバイスB523を制御するためのソフトウェアである。 The device B control software 521 is software indicated by the device control software specification information 31 included in the virtual device B information 30b shown in FIG. 1, and is software for controlling the virtual device B 523.

仮想デバイスB向け仮想IF設定情報522は、仮想デバイスB523に対する仮想インタフェースの設定となっている、図1に示される仮想デバイスB情報30bに含まれる仮想IF設定情報32である。仮想デバイスB向け仮想IF設定情報522は、仮想デバイスB523に対する仮想インタフェースの設定となっているため、デバイスB制御ソフト521によって仮想デバイスB523を制御可能となっている。 The virtual IF setting information 522 for virtual device B is the virtual IF setting information 32 included in the virtual device B information 30b shown in FIG. 1, which is the setting of the virtual interface for virtual device B 523. Since the virtual IF setting information 522 for virtual device B is the setting of the virtual interface for virtual device B 523, the virtual device B 523 can be controlled by the device B control software 521.

仮想デバイスB523は、図1に示される仮想デバイスB情報30bに含まれる仮想デバイスソフト指定情報33が示す仮想デバイスである。開発環境520は、仮想デバイスB523を制御するソフトウェアの開発環境であるため、仮想デバイスB523が用いられる。このように、開発環境500には、実デバイスA300に関する開発環境510と仮想デバイスB523に関する開発環境520とが混在している。 Virtual device B523 is a virtual device indicated by virtual device software specification information 33 included in virtual device B information 30b shown in FIG. 1. Since development environment 520 is a development environment for software that controls virtual device B523, virtual device B523 is used. In this way, development environment 500 includes a mixture of development environment 510 related to real device A300 and development environment 520 related to virtual device B523.

仮想デバイス設定情報525は、図1に示される仮想デバイスB情報30bに含まれる仮想デバイス設定情報35である。例えば、クライアント210は、HVを含み、このHVは、仮想デバイス設定情報525に応じて、開発環境520に対するCPUコアの割当数を決定している。しかし、このCPUコアの割当数では、CPU性能が低いということが、開発環境500を構築してからわかることがある。そのような場合には、CPU性能が十分となるように仮想デバイス設定情報525が変更されてもよい、つまり、仮想デバイス設定情報525におけるCPUコアの割当数が増やされてもよい。例えば、次回の開発環境の構築時(例えば実デバイスAについての開発環境の構築時であってもよいし、他の実デバイスについての開発環境の構築時であってもよい)に、仮想デバイス設定情報525(仮想デバイス設定情報35)の変更内容が、ユーザ400などに提示されて、適用されてもよい。 The virtual device setting information 525 is the virtual device setting information 35 included in the virtual device B information 30b shown in FIG. 1. For example, the client 210 includes an HV, which determines the number of CPU cores allocated to the development environment 520 according to the virtual device setting information 525. However, it may be found after the development environment 500 is constructed that the CPU performance is low with this number of CPU cores allocated. In such a case, the virtual device setting information 525 may be changed so that the CPU performance is sufficient, that is, the number of CPU cores allocated in the virtual device setting information 525 may be increased. For example, when the next development environment is constructed (for example, when the development environment for the real device A is constructed, or when the development environment for another real device is constructed), the changes in the virtual device setting information 525 (virtual device setting information 35) may be presented to the user 400 and applied.

図4は、クラウド環境100に構築された開発環境600の一例を示す構成図である。図4には、デバイスA向けの開発環境610およびデバイスB向けの開発環境620を示している。 Figure 4 is a configuration diagram showing an example of a development environment 600 built in the cloud environment 100. Figure 4 shows a development environment 610 for device A and a development environment 620 for device B.

開発環境610には、デバイスA制御ソフト611、実デバイスA向け仮想IF設定情報612、仮想デバイスA613および仮想デバイス設定情報615が含まれる。 The development environment 610 includes device A control software 611, virtual IF setting information for actual device A 612, virtual device A 613, and virtual device setting information 615.

デバイスA制御ソフト611は、図1に示される仮想デバイスA情報30aに含まれるデバイス制御ソフト指定情報31が示すソフトウェアであり、実デバイスA300を制御するためのソフトウェアである。ただし、デバイスA制御ソフト611は、仮想デバイスA613向けに開発されたソフトであるため、例えば、ユーザ400は、開発環境600を利用してデバイスA制御ソフト611を実デバイスA300に応じて改良していく。 The device A control software 611 is software indicated by the device control software specification information 31 included in the virtual device A information 30a shown in FIG. 1, and is software for controlling the actual device A300. However, since the device A control software 611 is software developed for the virtual device A613, for example, the user 400 uses the development environment 600 to improve the device A control software 611 in accordance with the actual device A300.

実デバイス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 information 612 for real device A is the virtual IF setting information 32 included in the virtual device A information 30a shown in FIG. 1, which has been changed to the setting of the virtual interface for the real device A300. Since the virtual IF setting information 612 for real device A is the setting of the virtual interface for the real device A300, the real device A300 can be controlled by the device A control software 611. For example, the virtual IF setting information 612 for real device A includes access information to the real device A300 provided in the local environment 200 (for example, access information to the real device A300 connected to the client 210 provided in the local environment 200 connected to the cloud environment 100 via the Internet, etc.).

仮想デバイスA613は、図1に示される仮想デバイスA情報30aに含まれる仮想デバイスソフト指定情報33が示す仮想デバイスである。開発環境610は、実デバイスA300を制御するソフトウェアの開発環境であるため、仮想デバイスA613は用いられなくてもよい。あるいは、状況に応じて、開発環境610においても仮想デバイスA613が用いられてもよい。 Virtual device A613 is a virtual device indicated by virtual device software specification information 33 included in virtual device A information 30a shown in FIG. 1. Since development environment 610 is a development environment for software that controls real device A300, virtual device A613 does not need to be used. Alternatively, virtual device A613 may also be used in development environment 610 depending on the situation.

仮想デバイス設定情報615は、図1に示される仮想デバイスA情報30aに含まれる仮想デバイス設定情報35である。 The virtual device setting information 615 is the virtual device setting information 35 included in the virtual device A information 30a shown in FIG. 1.

開発環境620には、デバイスB制御ソフト621、仮想デバイスB向け仮想IF設定情報622、仮想デバイスB623および仮想デバイス設定情報625が含まれる。 The development environment 620 includes device B control software 621, virtual IF setting information for virtual device B 622, virtual device B 623, and virtual device setting information 625.

デバイスB制御ソフト621は、図1に示される仮想デバイスB情報30bに含まれるデバイス制御ソフト指定情報31が示すソフトウェアであり、仮想デバイスB623を制御するためのソフトウェアである。 The device B control software 621 is software indicated by the device control software specification information 31 included in the virtual device B information 30b shown in FIG. 1, and is software for controlling the virtual device B 623.

仮想デバイス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 information 32 included in the virtual device B information 30b shown in FIG. 1, which is the setting of the virtual interface for virtual device B 623. Since the virtual IF setting information 622 for virtual device B is the setting of the virtual interface for virtual device B 623, the virtual device B 623 can be controlled by the device B control software 621.

仮想デバイスB623は、図1に示される仮想デバイスB情報30bに含まれる仮想デバイスソフト指定情報33が示す仮想デバイスである。開発環境620は、仮想デバイスB623を制御するソフトウェアの開発環境であるため、仮想デバイスB623が用いられる。このように、開発環境600には、実デバイスA300に関する開発環境610と仮想デバイスB623に関する開発環境620とが混在している。 Virtual device B623 is a virtual device indicated by virtual device software specification information 33 included in virtual device B information 30b shown in FIG. 1. Since development environment 620 is a development environment for software that controls virtual device B623, virtual device B623 is used. In this way, development environment 600 includes a mixture of development environment 610 related to real device A300 and development environment 620 related to virtual device B623.

仮想デバイス設定情報625は、図1に示される仮想デバイスB情報30bに含まれる仮想デバイス設定情報35である。例えば、クラウド環境100は、HVを含み、このHVは、仮想デバイス設定情報625に応じて、開発環境620に対するCPUコアの割当数を決定している。しかし、このCPUコアの割当数では、CPU性能が低いということが、開発環境600を構築してからわかることがある。そのような場合には、CPU性能が十分となるように仮想デバイス設定情報625が変更されてもよい、つまり、仮想デバイス設定情報625におけるCPUコアの割当数が増やされてもよい。例えば、次回の開発環境の構築時(例えば実デバイスAについての開発環境の構築時であってもよいし、他の実デバイスについての開発環境の構築時であってもよい)に、仮想デバイス設定情報625(仮想デバイス設定情報35)の変更内容が、ユーザ400などに提示されて、適用されてもよい。 The virtual device setting information 625 is the virtual device setting information 35 included in the virtual device B information 30b shown in FIG. 1. For example, the cloud environment 100 includes an HV, which determines the number of CPU cores allocated to the development environment 620 according to the virtual device setting information 625. However, it may be found after the development environment 600 is constructed that the CPU performance is low with this number of CPU cores allocated. In such a case, the virtual device setting information 625 may be changed so that the CPU performance is sufficient, that is, the number of CPU cores allocated in the virtual device setting information 625 may be increased. For example, when the next development environment is constructed (for example, when the development environment for the real device A is constructed, or when the development environment for another real device is constructed), the changes in the virtual device setting information 625 (virtual device setting information 35) may be presented to the user 400 and applied.

(まとめ)
構築処理サーバ10は、ハードウェアで構成された対象デバイス(実デバイスA300)を制御するソフトウェアの開発環境を構築する開発環境構築システムであって、開発環境には、仮想的に構成された仮想デバイスが含まれており、構築処理サーバ10は、開発環境の仕様を示す開発環境仕様情報20、仮想デバイスに関する仮想デバイス情報、および、開発環境の構築先の候補における開発環境の構築能力を示す構築能力情報を取得する取得部11と、開発環境仕様情報20、仮想デバイス情報および構築能力情報に基づいて、開発環境の構築先を決定する決定部12と、を備える。
(summary)
The construction processing server 10 is a development environment construction system that constructs a development environment for software that controls a target device (actual device A300) configured in hardware, and the development environment includes a virtually constructed virtual device. The construction processing server 10 includes an acquisition unit 11 that acquires development environment specification information 20 indicating the specifications of the development environment, virtual device information related to the virtual device, and construction capability information indicating the construction capability of the development environment in a candidate destination for the construction of the development environment, and a determination unit 12 that determines the destination for the development environment based on the development environment specification information 20, the virtual device information, and the construction capability information.

これによれば、対象デバイス(物理デバイス)と仮想デバイスとが混在する開発環境の仕様、当該開発環境に含まれる仮想デバイスに関する情報、当該開発環境の構築先の候補における開発環境の構築能力に応じて、最適な構築先を決定することができる。したがって、決定された構築先に、物理デバイスと仮想デバイスとが混在する開発環境を構築でき、開発効率の向上を図ることができる。例えば、開発環境の構築には時間を要するが、本開示により構築先の決定が自動化されて、開発効率の向上を図ることができる。 This makes it possible to determine the optimal construction destination based on the specifications of the development environment in which the target device (physical device) and virtual devices coexist, information about the virtual devices included in the development environment, and the construction capabilities of the development environment candidate construction destinations for the development environment. Therefore, a development environment in which physical devices and virtual devices coexist can be constructed in the determined construction destination, improving development efficiency. For example, while construction of a development environment takes time, the present disclosure automates the determination of the construction destination, improving development efficiency.

例えば、決定部12は、開発環境仕様情報20、仮想デバイス情報および構築能力情報に関する条件に基づいて、構築先を決定してもよい。 For example, the determination unit 12 may determine the construction destination based on conditions related to the development environment specification information 20, virtual device information, and construction capability information.

例えば、開発環境仕様情報20は、対象デバイスの所在を示す情報を含んでいてもよい。 For example, the development environment specification information 20 may include information indicating the location of the target device.

これによれば、対象デバイスが存在する場所や接続されている機器などの情報に応じて、最適な構築先を決定することができる。 This makes it possible to determine the optimal location to build the device based on information such as the location of the target device and the connected equipment.

例えば、仮想デバイス情報は、仮想デバイスを制御する際に要求される応答性を示す応答性能要求情報34、または、仮想デバイスを制御する際に要求される計算リソースを示すリソース情報を含んでいてもよい。 For example, the virtual device information may include response performance requirement information 34 indicating the responsiveness required when controlling the virtual device, or resource information indicating the computing resources required when controlling the virtual device.

これによれば、仮想デバイスを制御する際に要求される応答性、または、仮想デバイスを制御する際に要求される計算リソースに応じて、これらの条件を満たす最適な構築先を決定することができる。 This makes it possible to determine the optimal construction location that satisfies the conditions, depending on the responsiveness required when controlling the virtual device or the computing resources required when controlling the virtual device.

例えば、構築能力情報は、開発環境の構築の可否を示す情報、または、ストレージ容量を示す情報を含んでいてもよい。 For example, the construction capability information may include information indicating whether a development environment can be constructed or information indicating storage capacity.

これによれば、開発環境の構築先の候補における開発環境の構築の可否、または、ストレージ容量に応じて、開発環境(例えば開発環境に含まれる仮想デバイス)が正しく機能することができる構築先を決定することができる。 This makes it possible to determine a construction destination where the development environment (e.g., a virtual device included in the development environment) can function properly, depending on whether the development environment can be constructed at the candidate construction destinations or on the storage capacity.

例えば、仮想デバイス情報は、仮想デバイスに対する入出力インタフェースである仮想インタフェースの設定に関する仮想IF設定情報32を含み、構築処理サーバ10は、さらに、仮想IF設定情報32を変更することで、決定された構築先に開発環境を構築する構築部13を備えていてもよい。 For example, the virtual device information may include virtual IF setting information 32 regarding the settings of a virtual interface, which is an input/output interface for the virtual device, and the construction processing server 10 may further include a construction unit 13 that constructs a development environment at the determined construction destination by changing the virtual IF setting information 32.

これによれば、仮想デバイスに対する入出力インタフェースの設定を対象デバイスに対する入出力インタフェースに変更することで、決定された構築先に開発環境を自動的に構築することができる。 This allows the development environment to be automatically built in the determined build destination by changing the input/output interface settings for the virtual device to the input/output interface for the target device.

例えば、構築処理サーバ10は、さらに、構築された開発環境において対象デバイスを制御するソフトウェアを、開発可能か否かを試行する試行部14と、試行の結果を提示する提示部15と、を備えていてもよい。 For example, the construction processing server 10 may further include a trial unit 14 that attempts to determine whether software that controls the target device can be developed in the constructed development environment, and a presentation unit 15 that presents the results of the trial.

これによれば、決定された構築先に構築された開発環境が正しく機能しているか否かを確認することができる。 This allows you to check whether the development environment built at the selected location is functioning correctly.

例えば、開発環境の構築先の候補は、HVを含んでいてもよい。 For example, candidates for building a development environment may include HV.

これによれば、HVによって開発環境の構築や複製が容易となる。 This means that HV makes it easier to build and replicate development environments.

(その他の実施の形態)
以上のように、本開示に係る技術の例示として実施の形態を説明した。しかしながら、本開示に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。例えば、以下のような変形例も本開示の一実施の形態に含まれる。
(Other embodiments)
As described above, the embodiment has been described as an example of the technology according to the present disclosure. However, the technology according to the present disclosure is not limited to this, and can be applied to an embodiment in which appropriate changes, substitutions, additions, omissions, etc. are made. For example, the following modified examples are also included in one embodiment of the present disclosure.

例えば、対象デバイスの開発初期段階では、対象デバイスの全ての機能が完成していない場合があるため、提示部15は、対象デバイスがサポートしている機能と、仮想デバイスがサポートしている機能との差を提示してもよい。 For example, in the early stages of development of the target device, all functions of the target device may not be complete, so the presentation unit 15 may present the differences between the functions supported by the target device and the functions supported by the virtual device.

例えば、対象デバイスおよび仮想デバイスが混在した開発環境を構築できない場合には、ユーザ400の承諾を得たうえで、対象デバイスに対応する仮想デバイスを含む開発環境が構築されてもよい。 For example, if it is not possible to create a development environment that includes a mixture of target devices and virtual devices, a development environment that includes a virtual device that corresponds to the target device may be created with the consent of user 400.

例えば、決定された構築先に開発環境が構築される前に、ユーザ400に、決定された構築先に開発環境を構築してもよいかの問い合わせが行われてもよい。 For example, before a development environment is built in the determined build destination, the user 400 may be asked whether it is OK to build a development environment in the determined build destination.

なお、本開示は、開発環境構築システムとして実現できるだけでなく、開発環境構築システムを構成する各構成要素が行うステップ(処理)を含む開発環境構築方法として実現できる。 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 that constitutes the development environment construction system.

開発環境構築方法は、ハードウェアで構成された対象デバイスを制御するソフトウェアの開発環境を構築する開発環境構築システムにより実行される開発環境構築方法であって、開発環境には、仮想的に構成された仮想デバイスが含まれており、開発環境構築方法は、図2に示されるように、開発環境の仕様を示す開発環境仕様情報、仮想デバイスに関する仮想デバイス情報、および、開発環境の構築先の候補における開発環境の構築能力を示す構築能力情報を取得する取得ステップ(ステップS11)と、開発環境仕様情報、仮想デバイス情報および構築能力情報に基づいて、開発環境の構築先を決定する決定ステップ(ステップS12)と、を含む。 The development environment construction method is executed by 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 a virtually configured virtual device. As shown in FIG. 2, the development environment construction method includes an acquisition step (step S11) 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 destination for the development environment, and a determination step (step S12) of determining the destination for the development environment based on the development environment specification information, virtual device information, and construction capability information.

例えば、開発環境構築方法におけるステップは、コンピュータ(コンピュータシステム)によって実行されてもよい。そして、本開示は、開発環境構築方法に含まれるステップを、コンピュータに実行させるためのプログラムとして実現できる。 For example, the steps in the development environment construction method may be executed by a computer (computer system). The present disclosure can be realized 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 realized 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 realized as a program (software), each step is performed by executing the program using hardware resources such as a computer's CPU, memory, and input/output circuits. In other words, each step is performed by the CPU acquiring data from memory or input/output circuits, etc., performing calculations, and outputting the results of the calculations to memory or input/output circuits, etc.

また、上記実施の形態の開発環境構築システムに含まれる各構成要素は、専用または汎用の回路として実現されてもよい。 Furthermore, 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)として実現されてもよい。 In addition, each component included in the development environment construction system of the above embodiment may be realized as an LSI (Large Scale Integration), which is an integrated circuit (IC).

また、集積回路はLSIに限られず、専用回路または汎用プロセッサで実現されてもよい。プログラム可能なFPGA(Field Programmable Gate Array)、または、LSI内部の回路セルの接続および設定が再構成可能なリコンフィギュラブル・プロセッサが、利用されてもよい。 In addition, 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 the connections and settings of circuit cells inside the LSI can be reconfigured may be used.

さらに、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて、開発環境構築システムに含まれる各構成要素の集積回路化が行われてもよい。 Furthermore, if an integrated circuit technology that can replace LSIs emerges due to advances in semiconductor technology or other derived technologies, that technology may of course be used to integrate the various components included in the development environment construction system.

その他、実施の形態に対して当業者が思いつく各種変形を施して得られる形態、本開示の趣旨を逸脱しない範囲で各実施の形態における構成要素および機能を任意に組み合わせることで実現される形態も本開示に含まれる。 In addition, this disclosure also includes forms obtained by applying various modifications to the embodiments that would come to mind by a person skilled in the art, and forms realized by arbitrarily combining the components and functions of each embodiment within the scope of the spirit of this disclosure.

本開示は、例えば、車両に搭載されるデバイスを制御するソフトウェアの開発環境を構築するためのシステムなどに適用できる。 This disclosure can be applied, for example, to a system for building a development environment for software that controls 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
REFERENCE SIGNS LIST 10 Construction processing server 11 Acquisition unit 12 Decision unit 13 Construction unit 14 Trial unit 15 Presentation unit 20 Development environment specification information 30a Virtual device A information 30b Virtual device B information 31 Device control software specification information 32 Virtual IF setting information 33 Virtual device software specification information 34 Response performance requirement information 35 Virtual device setting information 40, 40b, 40c Construction capability information 100 Cloud environment 200 Local environment 210, 220 Client 300 Actual device A
400 User 500, 510, 520, 600, 610, 620 Development environment 511, 611 Device A control software 512, 612 Virtual IF setting information for real device A 513, 613 Virtual device A
515, 525, 615, 625 Virtual device setting information 521, 621 Device B control software 522, 622 Virtual IF setting information for virtual device B 523, 623 Virtual device B

Claims (10)

ハードウェアで構成された対象デバイスを制御するソフトウェアの開発環境を構築する開発環境構築システムであって、
前記開発環境には、仮想的に構成された仮想デバイスが含まれており、
前記開発環境の仕様を示す開発環境仕様情報、前記仮想デバイスに関する仮想デバイス情報、および、前記開発環境の構築先の候補における前記開発環境の構築能力を示す構築能力情報を取得する取得部と、
前記開発環境仕様情報、前記仮想デバイス情報および前記構築能力情報に基づいて、前記開発環境の構築先を決定する決定部と、を備え、
前記仮想デバイス情報は、前記仮想デバイスに対する入出力インタフェースである仮想インタフェースの設定に関する仮想IF設定情報を含み、
前記開発環境構築システムは、さらに、前記仮想IF設定情報を変更することで、決定された前記構築先に前記開発環境を構築する構築部を備える、
開発環境構築システム。
A development environment construction system for constructing a development environment for software that controls 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 a specification 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 a construction destination of the development environment;
a determination unit that determines a construction destination of the development environment based on the development environment specification information, the virtual device information, and the construction capability information ;
the virtual device information includes virtual IF setting information regarding settings of a virtual interface which is an input/output interface for the virtual device,
The development environment construction system further includes a construction unit that constructs the development environment in the determined construction destination by changing the virtual IF setting information.
Development environment construction system.
ハードウェアで構成された対象デバイスを制御するソフトウェアの開発環境を構築する開発環境構築システムであって、A development environment construction system for constructing a development environment for software that controls 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 a specification 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 a construction destination of the development environment;
前記開発環境仕様情報、前記仮想デバイス情報および前記構築能力情報に基づいて、前記開発環境の構築先を決定する決定部と、a determination unit that determines a construction destination of the development environment based on the development environment specification information, the virtual device information, and the construction capability information;
構築された前記開発環境において前記対象デバイスを制御するソフトウェアを、開発可能か否かを試行する試行部と、a trial unit that tests whether or not software for controlling the target device can be developed in the constructed development environment;
前記試行の結果を提示する提示部と、を備える、A presentation unit that presents the result of the trial.
開発環境構築システム。Development environment construction system.
ハードウェアで構成された対象デバイスを制御するソフトウェアの開発環境を構築する開発環境構築システムであって、A development environment construction system for constructing a development environment for software that controls 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 a specification 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 a construction destination of the development environment;
前記開発環境仕様情報、前記仮想デバイス情報および前記構築能力情報に基づいて、前記開発環境の構築先を決定する決定部と、を備え、a determination unit that determines a construction destination of the development environment based on the development environment specification information, the virtual device information, and the construction capability information;
前記開発環境仕様情報は、前記対象デバイスの種類を示す情報および前記対象デバイスの所在を示す情報を含む、the development environment specification information includes information indicating a type of the target device and information indicating a location of the target device;
開発環境構築システム。Development environment construction system.
前記決定部は、前記開発環境仕様情報、前記仮想デバイス情報および前記構築能力情報に関する条件に基づいて、前記構築先を決定する、
請求項1~3のいずれか1項に記載の開発環境構築システム。
the determination unit determines the construction destination based on conditions related to the development environment specification information, the virtual device information, and the construction capability information.
The development environment construction system according to any one of claims 1 to 3 .
前記仮想デバイス情報は、前記仮想デバイスを制御する際に要求される応答性を示す応答性能要求情報、または、前記仮想デバイスを制御する際に要求される計算リソースを示すリソース情報を含む、
請求項1~のいずれか1項に記載の開発環境構築システム。
The virtual device information includes response performance requirement information indicating a response required when controlling the virtual device, or resource information indicating a computation resource required when controlling the virtual device.
The development environment construction system according to any one of claims 1 to 4 .
前記構築能力情報は、前記開発環境の構築の可否を示す情報、または、ストレージ容量を示す情報を含む、
請求項1~のいずれか1項に記載の開発環境構築システム。
The construction capability information includes information indicating whether the development environment can be constructed or information indicating a storage capacity.
The development environment construction system according to any one of claims 1 to 5 .
前記開発環境の構築先の候補は、ハイパーバイザを含む、
請求項1~のいずれか1項に記載の開発環境構築システム。
The candidates for the development environment include a hypervisor.
The development environment construction system according to any one of claims 1 to 6 .
ハードウェアで構成された対象デバイスを制御するソフトウェアの開発環境を構築する開発環境構築システムにより実行される開発環境構築方法であって、
前記開発環境には、仮想的に構成された仮想デバイスが含まれており、
前記開発環境の仕様を示す開発環境仕様情報、前記仮想デバイスに関する仮想デバイス情報、および、前記開発環境の構築先の候補における前記開発環境の構築能力を示す構築能力情報を取得する取得ステップと、
前記開発環境仕様情報、前記仮想デバイス情報および前記構築能力情報に基づいて、前記開発環境の構築先を決定する決定ステップと、を含
前記仮想デバイス情報は、前記仮想デバイスに対する入出力インタフェースである仮想インタフェースの設定に関する仮想IF設定情報を含み、
前記開発環境構築方法は、さらに、前記仮想IF設定情報を変更することで、決定された前記構築先に前記開発環境を構築する構築ステップを含む、
開発環境構築方法。
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, comprising:
The development environment includes a virtually configured virtual device;
an acquisition step of acquiring development environment specification information indicating a specification 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 a construction destination of the development environment;
a determination step of determining a destination for constructing the development environment based on the development environment specification information, the virtual device information, and the construction capability information;
the virtual device information includes virtual IF setting information regarding settings of a virtual interface which is an input/output interface for the virtual device,
The development environment construction method further includes a construction step of constructing the development environment in the determined construction destination by changing the virtual IF setting information.
How to build a development environment.
ハードウェアで構成された対象デバイスを制御するソフトウェアの開発環境を構築する開発環境構築システムにより実行される開発環境構築方法であって、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, comprising:
前記開発環境には、仮想的に構成された仮想デバイスが含まれており、The development environment includes a virtually configured virtual device;
前記開発環境の仕様を示す開発環境仕様情報、前記仮想デバイスに関する仮想デバイス情報、および、前記開発環境の構築先の候補における前記開発環境の構築能力を示す構築能力情報を取得する取得ステップと、an acquisition step of acquiring development environment specification information indicating a specification 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 a construction destination of the development environment;
前記開発環境仕様情報、前記仮想デバイス情報および前記構築能力情報に基づいて、前記開発環境の構築先を決定する決定ステップと、a determination step of determining a destination for constructing the development environment based on the development environment specification information, the virtual device information, and the construction capability information;
構築された前記開発環境において前記対象デバイスを制御するソフトウェアを、開発可能か否かを試行する試行ステップと、a trial step of testing whether software for controlling the target device can be developed in the constructed development environment;
前記試行の結果を提示する提示ステップと、を含む、and presenting a result of the trial.
開発環境構築方法。How to build a development environment.
ハードウェアで構成された対象デバイスを制御するソフトウェアの開発環境を構築する開発環境構築システムにより実行される開発環境構築方法であって、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, comprising:
前記開発環境には、仮想的に構成された仮想デバイスが含まれており、The development environment includes a virtually configured virtual device;
前記開発環境の仕様を示す開発環境仕様情報、前記仮想デバイスに関する仮想デバイス情報、および、前記開発環境の構築先の候補における前記開発環境の構築能力を示す構築能力情報を取得する取得ステップと、an acquisition step of acquiring development environment specification information indicating a specification 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 a construction destination of the development environment;
前記開発環境仕様情報、前記仮想デバイス情報および前記構築能力情報に基づいて、前記開発環境の構築先を決定する決定ステップと、を含み、a determination step of determining a destination for constructing the development environment based on the development environment specification information, the virtual device information, and the construction capability information;
前記開発環境仕様情報は、前記対象デバイスの種類を示す情報および前記対象デバイスの所在を示す情報を含む、the development environment specification information includes information indicating a type of the target device and information indicating a location of the target device;
開発環境構築方法。How to build a development environment.
JP2022052430A 2022-03-28 2022-03-28 Development environment construction system and development environment construction method Active JP7554022B2 (en)

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 JP2023145128A (en) 2023-10-11
JP7554022B2 true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2026062766A1 (en) * 2024-09-18 2026-03-26 Astemo株式会社 Development environment construction device and development environment construction method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014085773A (en) 2012-10-22 2014-05-12 Fujitsu Ltd Resource management system, resource management method and resource management program
US20180285134A1 (en) 2017-03-31 2018-10-04 The Boeing Company Emulation of hardware components
JP2020071870A (en) 2018-10-31 2020-05-07 ザ・ボーイング・カンパニーThe Boeing Company Generalized virtualization platform for systems using hardware abstraction software layers

Family Cites Families (2)

* Cited by examiner, † Cited by third party
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
JP6692278B2 (en) 2016-11-15 2020-05-13 ルネサスエレクトロニクス株式会社 Arithmetic device and virtual development environment device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014085773A (en) 2012-10-22 2014-05-12 Fujitsu Ltd Resource management system, resource management method and resource management program
US20180285134A1 (en) 2017-03-31 2018-10-04 The Boeing Company Emulation of hardware components
JP2020071870A (en) 2018-10-31 2020-05-07 ザ・ボーイング・カンパニーThe Boeing Company Generalized virtualization platform for systems using hardware abstraction software layers

Also Published As

Publication number Publication date
JP2023145128A (en) 2023-10-11
DE102023107473A1 (en) 2023-09-28

Similar Documents

Publication Publication Date Title
CN113312037B (en) Data processing methods, devices, equipment and storage media applied to microservices
US9104454B2 (en) Virtual image overloading for solution deployment
US20210158131A1 (en) Hierarchical partitioning of operators
JP2022091301A (en) Control system and control method
US20210288885A1 (en) Simulation and testing of infrastucture as a service scale using a container orchestration engine
US20220214928A1 (en) Workload Configuration Extractor
CN105653338B (en) Application update method and device
US20200117576A1 (en) Assessing the container-readiness of software applications
US9959136B2 (en) Optimizations and enhancements of application virtualization layers
CN108228444A (en) A kind of test method and device
US20200064977A1 (en) Detecting software user interface issues in multiple language environments
CN114168255A (en) Method and device for running heterogeneous instruction set container in container cloud platform
US9658933B2 (en) Automatically modifying a test for a program on multiple electronic devices
US20060107194A1 (en) System and method for virtual router enabled electronic documents
US10146674B2 (en) Plugin-based software verification system
US10445201B2 (en) System and method for automated integration and stress testing of hardware and software service in management controller using containerized toolbox
CN115934244A (en) Generate a test cluster for testing the container orchestration system
CN114860272A (en) Operating system installation method, computing device and storage medium
JP7554022B2 (en) Development environment construction system and development environment construction method
CN113127361B (en) Application development method and device, electronic equipment and storage medium
JP2018156294A (en) Software verification apparatus and software verification program
JP6920501B1 (en) Information processing systems, programs, and information processing methods
CN114676034B (en) Test method and device and computer equipment
Wenzel et al. Getting started with CAPI SNAP: Hardware development for software engineers
JP7336775B2 (en) Verification system, verification method and program

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