JP2023145128A - Development environment construction system, development environment construction method and program - Google Patents

Development environment construction system, development environment construction method and program Download PDF

Info

Publication number
JP2023145128A
JP2023145128A JP2022052430A JP2022052430A JP2023145128A JP 2023145128 A JP2023145128 A JP 2023145128A JP 2022052430 A JP2022052430 A JP 2022052430A JP 2022052430 A JP2022052430 A JP 2022052430A JP 2023145128 A JP2023145128 A JP 2023145128A
Authority
JP
Japan
Prior art keywords
development environment
construction
information
virtual
virtual device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2022052430A
Other languages
Japanese (ja)
Other versions
JP7554022B2 (en
Inventor
宏和 玉野
Hirokazu Tamano
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 Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management 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 Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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)

Abstract

To provide a development environment construction system that can construct a development environment in which physical devices and virtual devices coexist and can improve development efficiency.SOLUTION: A construction processing server 10 is a development environment construction system for constructing a development environment for software that controls a target device configured with hardware, wherein the development environment includes virtually configured virtual devices, and the system comprises: an acquisition unit 11 which acquires development environment specifications information 20 indicating specifications of the development environment, virtual device information relating to the virtual devices, and construction capability information indicating a construction capability of the development environment at a construction destination candidate of the development environment; and a determination unit 12 which determines the construction destination of the development environment based on the development environment specifications information, the virtual device information, and the construction capability information.SELECTED DRAWING: Figure 1

Description

本開示は、ハードウェアで構成された対象デバイスを制御するソフトウェアの開発環境を構築する開発環境構築システム、開発環境構築方法およびプログラムに関する。 The present disclosure relates to a development environment construction system, a development environment construction method, and a program for constructing a development environment for software that controls a target device configured with hardware.

ハードウェアで構成されたデバイス(物理デバイス)がソフトウェアとしてエミュレーションされている仮想デバイスを用いた開発環境による、デバイス制御ソフトウェアの開発が行われている。例えば、ハイパーバイザ(HV)、バーチャルマシン(VM)、コンテナ技術などにより、車載向けソフトウェア開発環境の構築および複製が容易となっている。また、物理デバイスをソフトウェアでエミュレーションすることで、クラウド環境上で物理ハードウェアなしでデバイスの検証などを行うことができる。このような前提において、特許文献1および特許文献2に示されるような技術が開示されている。 Device control software is being developed in a development environment using a virtual device in which a device (physical device) configured with hardware is emulated as software. For example, hypervisors (HVs), virtual machines (VMs), container technologies, and the like have made it easy to construct and replicate in-vehicle software development environments. Additionally, by emulating a physical device with software, it is possible to verify the device in a cloud environment without the need for physical hardware. On such a premise, techniques as shown in Patent Document 1 and Patent Document 2 are disclosed.

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

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

特許第6692278号公報Patent No. 6692278 特開2006-18814号公報Japanese Patent Application Publication No. 2006-18814

ハードウェアで構成されたデバイスがソフトウェアとしてエミュレーションされることで、仮想的に構成された仮想デバイスを複数含む開発環境がクラウド環境上などに構築され、デバイスを制御するソフトウェアの開発が進められている。これに対して、複数の仮想デバイスのうち特定のデバイスをハードウェアで構成された物理デバイスとした、物理デバイスと仮想デバイスとが混在する開発環境を利用して、開発効率の向上を図りたいという要望がある。 By emulating devices configured with hardware as software, development environments containing multiple virtual devices configured virtually are being built on cloud environments, and the development of software to control devices is progressing. . In response to this, we would like to improve development efficiency by using a development environment where physical devices and virtual devices coexist, where a specific device among multiple virtual devices is a physical device configured with hardware. I have a request.

しかしながら、上記特許文献1および2では、物理デバイスと仮想デバイスとが混在する開発環境の実現については考慮されていない。 However, Patent Documents 1 and 2 do not consider the realization of a development environment in which physical devices and virtual devices coexist.

そこで、本開示は、物理デバイスと仮想デバイスとが混在する開発環境を構築でき、開発効率の向上を図ることができる開発環境構築システムなどを提供する。 Therefore, the present disclosure provides a development environment construction system that can construct a development environment in which physical devices and virtual devices coexist, and can improve development efficiency.

本開示の一態様に係る開発環境構築システムは、ハードウェアで構成された対象デバイスを制御するソフトウェアの開発環境を構築する開発環境構築システムであって、前記開発環境には、仮想的に構成された仮想デバイスが含まれており、前記開発環境の仕様を示す開発環境仕様情報、前記仮想デバイスに関する仮想デバイス情報、および、前記開発環境の構築先の候補における前記開発環境の構築能力を示す構築能力情報を取得する取得部と、前記開発環境仕様情報、前記仮想デバイス情報および前記構築能力情報に基づいて、前記開発環境の構築先を決定する決定部と、を備える。 A development environment construction system according to an aspect of the present disclosure is a development environment construction system that constructs a development environment for software that controls a target device configured with hardware, and the development environment includes virtual configurations. development environment specification information indicating the specifications of the development environment, virtual device information regarding the virtual device, and construction capability indicating the construction capability of the development environment in the candidate of the construction destination of the development environment. The apparatus includes an acquisition unit that acquires information, and a determination unit that determines a construction destination for the development environment based on the development environment specification information, the virtual device information, and the construction capability information.

本開示の一態様に係る開発環境構築方法は、ハードウェアで構成された対象デバイスを制御するソフトウェアの開発環境を構築する開発環境構築システムにより実行される開発環境構築方法であって、前記開発環境には、仮想的に構成された仮想デバイスが含まれており、前記開発環境の仕様を示す開発環境仕様情報、前記仮想デバイスに関する仮想デバイス情報、および、前記開発環境の構築先の候補における前記開発環境の構築能力を示す構築能力情報を取得する取得ステップと、前記開発環境仕様情報、前記仮想デバイス情報および前記構築能力情報に基づいて、前記開発環境の構築先を決定する決定ステップと、を含む。 A development environment construction method according to an aspect of the present disclosure is a development environment construction method executed by a development environment construction system that constructs a development environment for software that controls a target device configured with hardware, the development environment construction method comprising: includes a virtually configured virtual device, development environment specification information indicating the specifications of the development environment, virtual device information regarding the virtual device, and the development environment in the candidate construction destination of the development environment. an acquisition step of acquiring construction capability information indicating an environment construction capability; and a determining step of determining a construction destination for the development environment based on the development environment specification information, the virtual device information, and the construction capability information. .

本開示の一態様に係るプログラムは、上記の開発環境構築方法をコンピュータに実行させるためのプログラムである。 A program according to one aspect of the present disclosure is a program for causing a computer to execute the development environment construction method described above.

本開示の一態様に係る開発環境構築システムなどによれば、物理デバイスと仮想デバイスとが混在する開発環境を構築でき、開発効率の向上を図ることができる。 According to the development environment construction system and the like according to one aspect of the present disclosure, it is possible to construct a development environment in which physical devices and virtual devices coexist, and it is possible to improve development efficiency.

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

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

図1は、実施の形態に係る開発環境構築システム(構築処理サーバ10)を含むクラウド環境100およびローカル環境200の一例を示す構成図である。例えば、クラウド環境100とローカル環境200とは、インターネットなどを介して通信可能に接続されている。 FIG. 1 is a configuration diagram showing an example of a 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 communicably connected 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 configured with hardware. The development environment constructed by the construction processing server 10 includes virtual devices configured virtually. In FIG. 1, a real device A300 is shown as the target device. The real device A300 is a device (physical device) configured with hardware, and is, for example, a device mounted on a vehicle. Devices installed in 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 panel for IVI (In Vehicle Infotainment). There are screen displays, etc.

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

例えば、クラウド環境100には、実デバイスA300を含む複数の物理デバイスが、ソフトウェアとしてエミュレーションされることで、仮想的に構成された複数の仮想デバイスについての開発環境がすでに構築されているとする。これに対して、複数の仮想デバイスのうちの特定のデバイスを物理デバイスとした開発環境を利用したいという要望がある。構築処理サーバ10は、このような要望に対応するためのものであり、物理デバイスと仮想デバイスとが混在する開発環境を構築できる。 For example, it is assumed that a development environment for a plurality of virtually configured virtual devices has already been constructed in the cloud environment 100 by emulating a plurality of physical devices including the real device A 300 as software. In contrast, there is a desire to use a development environment in which a specific device among a plurality of virtual devices is a physical device. The construction processing server 10 is intended to meet such demands, and is capable of constructing 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 a cloud environment 100. However, the construction processing server 10 does not need to be provided in the cloud environment 100, and may be provided in an environment that can communicate 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 section 11 , a determination section 12 , a construction section 13 , a trial section 14 , and a presentation section 15 . The construction processing server 10 is a computer including a processor, memory, and the like. The memory includes ROM (Read Only Memory), RAM (Random Access Memory), and the like, and can store programs executed by a processor. The acquisition section 11, the determination section 12, the construction section 13, the trial section 14, and the presentation section 15 are realized by a processor that executes a program stored in a memory, or the like. Note that 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 in multiple servers (multiple housings). They may be distributed and arranged.

取得部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 details of each piece of information will be described later.

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

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

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

提示部15は、試行部14による試行の結果を提示する。提示部15の動作の詳細については後述する。 The presentation unit 15 presents the results of the trial 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を示している。 The cloud environment 100 stores a plurality of virtual device information regarding a plurality of virtual devices included in a development environment built in the cloud environment 100. The virtual device information includes parameters required when using a virtual device, and the parameters are managed in a table or the like. Here, as an example of multiple pieces of virtual device information, virtual device A information 30a regarding virtual device A that is virtually configured by emulating real device A 300 as software, and virtual device A information 30a regarding virtual device A that is configured virtually by emulating real device A 300 as software, and real device B (not shown) as software. Virtual device B information 30b regarding virtual device B that is virtually configured through emulation is shown.

仮想デバイスA情報30aは、仮想デバイスAについての、デバイス制御ソフト指定情報31、仮想IF設定情報32、仮想デバイスソフト指定情報33、応答性能要求情報34および仮想デバイス設定情報35を含む。ここでは、実デバイスA300に対する仮想デバイスAに着目して説明するが、実デバイスごとにこれらの情報が存在する。つまり、クラウド環境100には、この他にも、様々な実デバイスに対応した仮想デバイス情報が記憶され得る。 The 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 request information 34, and virtual device setting information 35 regarding the virtual device A. Here, the explanation will focus on the virtual device A for the real device A300, but this information exists for each real device. In other words, the cloud environment 100 may store virtual device information corresponding to various other real devices.

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

仮想IF設定情報32は、上記ソフトウェア(デバイス制御ソフトウェア)から仮想デバイスAを制御する際の仮想デバイスAに対する入出力インタフェースである仮想インタフェースの設定に関する設定情報である。例えば、仮想IF設定情報32は、仮想デバイスAへのアクセス先情報を含む。なお、仮想IF設定情報32を変更することで、アクセス先を実デバイスA300に変更することができ、デバイス制御ソフトウェアから実デバイスA300を制御することができる。 The virtual IF setting information 32 is setting information regarding settings of a virtual interface that is an input/output interface for virtual device A when controlling virtual device A from the 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 the real device A300, and the 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 content or acquisition source of the software indicating the virtual device A. For example, the virtual device software specification information 33 includes git repository access information 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 request information 34 is information indicating the responsiveness required when controlling the virtual device A. For example, the response performance request information 34 includes the response time required when controlling the virtual device A, and the like.

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

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

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

また、開発環境の構築先の候補となる機器などには、開発環境の構築能力を示す構築能力情報が記憶される。例えば、クライアント210には構築能力情報40aが記憶され、クライアント220には構築能力情報40bが記憶され、クラウド環境100には構築能力情報40cが記憶される。 In addition, construction capability information indicating the development environment construction capability is stored in devices that are candidates for construction destinations of the development environment. For example, the client 210 stores construction capability information 40a, the client 220 stores construction capability information 40b, and the 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 or not a development environment can be constructed in the client 210, or information indicating the storage capacity of the storage that the client 210 has. The information indicating whether or not the development environment can be constructed may be information indicating whether the client 210 includes an HV. If the client 210 does not include an HV, it is not possible to construct the development environment on the client 210. It's okay. Further, the information indicating whether or not the development environment can be constructed may be information indicating whether the client 210 is permitted to construct the development environment, and if the client 210 is not permitted to construct the development environment, It may not be possible to construct a development environment on the client 210. The information indicating the storage capacity may be information indicating the remaining storage capacity of the storage that the client 210 has.

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

例えば、構築能力情報40cは、クラウド環境100における開発環境の構築の可否を示す情報、または、クラウド環境100が有するストレージのストレージ容量を示す情報を含む。開発環境の構築の可否を示す情報は、クラウド環境100が開発環境の構築を許可されているか否かを示す情報であってもよく、クラウド環境100が開発環境の構築を許可されていない場合、クラウド環境100での開発環境の構築が不可であってもよい。ストレージ容量を示す情報は、クラウド環境100が有するストレージのストレージ残容量を示す情報であってもよい。 For example, the construction capability information 40c includes information indicating whether or not 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 or not it is possible to construct a development environment 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 not be possible 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, details of the operation of the construction processing server 10 will be explained using FIG. 2.

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

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

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

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

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

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

また、構築処理サーバ10は、決定された構築先を示す情報を出力する出力部(図示せず)を備えていてもよい。これにより、ユーザ400は、決定された構築先を確認することができる。 Furthermore, the construction processing server 10 may include an output unit (not shown) that outputs information indicating the determined construction destination. Thereby, the user 400 can 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 at 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 (for example, virtual device A) to a virtual interface setting for a target device (for example, real device A 300). This allows the software that controls the virtual device to control the target device. By changing the virtual IF setting information 32, when the development environment is built at the determined construction destination, the target device can be controlled, so development will automatically start at the determined construction destination. You can build an environment. In other words, when constructing the development environment at the determined construction destination, there is no need to manually change the virtual IF setting information 32.

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

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

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

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

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

例えば、開発環境仕様情報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 real device A 300 exists, and the local IP address of the client 210 as information on the client linked to the local environment 200. and the local IP address of client 220. Note that the development environment specification information 20 includes information similar to the local environment 200 regarding a local environment (not shown).

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

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

例えば、構築能力情報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 is capable of constructing 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 is unable to 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 Clyde environment 100 is capable of constructing 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 above information is included in the development environment specification information 20, virtual device information, and construction capability 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 determining 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 regarding the physical device (real device), and determines that the required storage capacity is 10 GB. This is the above, and it is confirmed that the required response is within 100ms. The determining unit 12 determines that the client 220 is inappropriate as a construction destination based on the construction capability information 40b. The determining unit 12 determines that the remaining storage capacity of both the client 210 and the cloud environment 100 is sufficient based on the construction capacity information 40a and 40c.

構築部13は、クライアント210およびクラウド環境100のそれぞれが存在する場所の情報に基づいて、クライアント210およびクラウド環境100に開発環境を構築する。例えば、構築部13がIPアドレスにアクセスして構築指示を出してもよいし、クラウドと通信してデータを取得するソフトが、クライアント210およびクラウド環境100のそれぞれが存在する場所ごとにあってもよい。 The construction unit 13 constructs a development environment for 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 the IP address and issue construction instructions, or the software that communicates with the cloud and acquires data may be located at each location where the client 210 and the cloud environment 100 exist. good.

試行部14は、クライアント210およびクラウド環境100のそれぞれに構築された開発環境においてソフトウェアを、開発可能か否かを試行する。具体的には、試行部14は、クライアント210およびクラウド環境100のそれぞれで開発環境を動作させて、仮想デバイス設定情報35および応答性能要求情報34が示す要求を満たすかを確認する。例えば、クラウド環境100は応答性が100msを超えたとする。これにより、クラウド環境100は開発環境の構築先として不適切と判断され、提示部15は、試行の結果として、クライアント210を提示する。 The trial unit 14 tests whether software can be developed in the development environments built for the client 210 and the cloud environment 100, respectively. Specifically, the trial unit 14 operates the development environment on 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 request information 34 are satisfied. For example, assume that the responsiveness of the cloud environment 100 exceeds 100 ms. As a result, the cloud environment 100 is determined to be inappropriate as a construction site for a development environment, and the presentation unit 15 presents the client 210 as a result of the trial.

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

例えば、開発環境仕様情報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 real device A 300 exists, and the local IP address of the client 210 as information on the client linked to the local environment 200. and the local IP address of client 220. Note that the development environment specification information 20 includes information similar to the local environment 200 regarding a local environment (not shown).

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

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

例えば、構築能力情報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 is capable of constructing 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 is unable to 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 Clyde environment 100 is capable of constructing 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 above information is included in the development environment specification information 20, virtual device information, and construction capability information, the construction processing server 10 operates as follows.

決定部12は、物理デバイス(実デバイス)に関する情報で指定された実デバイスA300の種類を示す情報に基づいて、実デバイスA300に対応する仮想デバイスA情報30aを確認し、割当CPUコア数が4以上であり、要求される応答性が1s以内であることを確認する。決定部12は、構築能力情報40bに基づいて、クライアント220が構築先として不適切と判断する。 The determining 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 regarding the physical device (real device), and determines that the number of allocated CPU cores is 4. This is the above, and it is confirmed that the required response is within 1 s. The determining unit 12 determines that the client 220 is inappropriate as a construction destination based on the construction capability information 40b.

構築部13は、クライアント210およびクラウド環境100のそれぞれが存在する場所の情報に基づいて、クライアント210およびクラウド環境100に開発環境を構築する。例えば、構築部13がIPアドレスにアクセスして構築指示を出してもよいし、クラウドと通信してデータを取得するソフトが、クライアント210およびクラウド環境100のそれぞれが存在する場所ごとにあってもよい。 The construction unit 13 constructs a development environment for 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 the IP address and issue construction instructions, or the software that communicates with the cloud and acquires data may be located at each location where the client 210 and the cloud environment 100 exist. good.

試行部14は、クライアント210およびクラウド環境100のそれぞれに構築された開発環境においてソフトウェアを、開発可能か否かを試行する。具体的には、試行部14は、クライアント210およびクラウド環境100のそれぞれで開発環境を動作させて、仮想デバイス設定情報35および応答性能要求情報34が示す要求を満たすかを確認する。例えば、クライアント210は2つしかCPUコアの割当ができなかったとする。これにより、クライアント210は開発環境の構築先として不適切と判断され、提示部15は、試行の結果として、クラウド環境100を提示する。 The trial unit 14 tests whether software can be developed in the development environments built for the client 210 and the cloud environment 100, respectively. Specifically, the trial unit 14 operates the development environment on 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 request information 34 are satisfied. For example, assume that the client 210 is able to allocate only two CPU cores. As a result, the client 210 is determined to be inappropriate as a destination for building a development environment, and the presentation unit 15 presents the cloud environment 100 as a result of the trial.

次に、開発環境がローカル環境200に構築された場合について図3を用いて説明し、開発環境がクラウド環境100に構築された場合について図4を用いて説明する。 Next, a case where the development environment is built in the local environment 200 will be explained using FIG. 3, and a 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を示している。 FIG. 3 is a configuration diagram showing an example of a development environment 500 built in the local environment 200. For example, assume that a development environment 500 is built on the client 210 in the local environment 200. FIG. 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 512 for real device A, 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 designation 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, the user 400, for example, uses the development environment 500 to improve the device A control software 511 according to the real device A300. go.

実デバイス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 virtual interface setting for the real device A300. The virtual IF setting information 512 for the real device A is a virtual interface setting for the real device A300, so that the real device A300 can be controlled by the device A control software 511.

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

開発環境520には、デバイスB制御ソフト521、仮想デバイスB向け仮想IF設定情報522、仮想デバイスB523および仮想デバイス設定情報525が含まれる。 The development environment 520 includes device B control software 521, virtual IF setting information 522 for virtual device B, 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 designation 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 virtual interface setting for the virtual device B 523. Since the virtual IF setting information 522 for virtual device B is a virtual interface setting for virtual device B 523, virtual device B 523 can be controlled by device B control software 521.

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

仮想デバイス設定情報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. For example, client 210 includes an HV, and this HV determines the number of CPU cores to be allocated to development environment 520 according to virtual device setting information 525. However, it may be discovered after the development environment 500 is constructed that the CPU performance is low with this allocated number of CPU cores. 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 building the next development environment (for example, it may be when building the development environment for real device A, or when building the development environment for other real devices), the virtual device settings The changes to the information 525 (virtual device setting information 35) may be presented to the user 400 or the like and applied.

図4は、クラウド環境100に構築された開発環境600の一例を示す構成図である。図4には、デバイスA向けの開発環境610およびデバイスB向けの開発環境620を示している。 FIG. 4 is a configuration diagram showing an example of a development environment 600 built in the cloud environment 100. FIG. 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 612 for real device A, 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 designation 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 611 is software developed for the virtual device A 613, the user 400, for example, uses the development environment 600 to improve the device A control software 611 according to the real device A 300. go.

実デバイス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 virtual interface setting for the real device A300. The virtual IF setting information 612 for the real device A is a virtual interface setting for the real device A300, so that 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 A 300 provided in the local environment 200 (for example, access information provided in the local environment 200 connected to the cloud environment 100 via the Internet, etc.) (Access information up to the real device A300 connected to the client 210) is included.

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

開発環境620には、デバイスB制御ソフト621、仮想デバイスB向け仮想IF設定情報622、仮想デバイスB623および仮想デバイス設定情報625が含まれる。 The development environment 620 includes device B control software 621, virtual IF setting information 622 for virtual device B, 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 designation 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 a virtual interface for virtual device B 623. Since the virtual IF setting information 622 for virtual device B is a virtual interface setting for virtual device B 623, virtual device B 623 can be controlled by device B control software 621.

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

仮想デバイス設定情報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. For example, cloud environment 100 includes an HV, and this HV determines the number of CPU cores to be allocated to development environment 620 according to virtual device setting information 625. However, it may be discovered after the development environment 600 is constructed that the CPU performance is low with this allocated number of CPU cores. 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 building the next development environment (for example, it may be when building the development environment for real device A, or when building the development environment for other real devices), the virtual device settings The changes to the information 625 (virtual device setting information 35) may be presented to the user 400 or the like 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 (real device A300) configured with hardware, and the development environment includes a virtual device configured virtually. The construction processing server 10 includes development environment specification information 20 indicating the specifications of the development environment, virtual device information regarding virtual devices, and construction capability indicating the development environment construction capability of the development environment construction destination candidate. It includes an acquisition unit 11 that acquires information, and a determination unit 12 that determines where the development environment will be constructed based on development environment specification information 20, virtual device information, and construction capability information.

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

例えば、決定部12は、開発環境仕様情報20、仮想デバイス情報および構築能力情報に関する条件に基づいて、構築先を決定してもよい。 For example, the determining unit 12 may determine the construction destination based on conditions regarding 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.

これによれば、対象デバイスが存在する場所や接続されている機器などの情報に応じて、最適な構築先を決定することができる。 According to this, it is possible to determine the optimal construction destination according to information such as the location where the target device exists and the devices connected to it.

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

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

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

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

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

これによれば、仮想デバイスに対する入出力インタフェースの設定を対象デバイスに対する入出力インタフェースに変更することで、決定された構築先に開発環境を自動的に構築することができる。 According to this, by changing the setting of the input/output interface for the virtual device to the input/output interface for the target device, it is possible to automatically construct the development environment at the determined construction destination.

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

これによれば、決定された構築先に構築された開発環境が正しく機能しているか否かを確認することができる。 According to this, it is possible to confirm whether the development environment constructed at the determined construction destination is functioning correctly.

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

これによれば、HVによって開発環境の構築や複製が容易となる。 According to this, the HV facilitates the construction and replication of a development environment.

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

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

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

例えば、決定された構築先に開発環境が構築される前に、ユーザ400に、決定された構築先に開発環境を構築してもよいかの問い合わせが行われてもよい。 For example, before the development environment is constructed at the determined construction destination, an inquiry may be made to the user 400 as to whether the development environment may be constructed at the determined construction destination.

なお、本開示は、開発環境構築システムとして実現できるだけでなく、開発環境構築システムを構成する各構成要素が行うステップ(処理)を含む開発環境構築方法として実現できる。 Note that the present disclosure can be realized not only as a development environment construction system but also as a development environment construction method including steps (processing) performed by each component configuring the development environment construction system.

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

例えば、開発環境構築方法におけるステップは、コンピュータ(コンピュータシステム)によって実行されてもよい。そして、本開示は、開発環境構築方法に含まれるステップを、コンピュータに実行させるためのプログラムとして実現できる。 For example, the steps in the development environment construction method may be executed by a computer (computer system). The present disclosure can be implemented as a program for causing a computer to execute the steps included in the development environment construction method.

さらに、本開示は、そのプログラムを記録したCD-ROMなどである非一時的なコンピュータ読み取り可能な記録媒体として実現できる。 Furthermore, the present disclosure can be implemented as a non-transitory computer-readable recording medium such as a CD-ROM on which the program is recorded.

例えば、本開示が、プログラム(ソフトウェア)で実現される場合には、コンピュータのCPU、メモリおよび入出力回路などのハードウェア資源を利用してプログラムが実行されることによって、各ステップが実行される。つまり、CPUがデータをメモリまたは入出力回路などから取得して演算したり、演算結果をメモリまたは入出力回路などに出力したりすることによって、各ステップが実行される。 For example, when the present disclosure is implemented as a program (software), each step is executed by executing the program using hardware resources such as a computer's CPU, memory, and input/output circuits. . That is, each step is executed by the CPU acquiring data from a memory or input/output circuit, etc., and performing calculations, and outputting the calculation results to the memory, input/output circuit, etc.

また、上記実施の形態の開発環境構築システムに含まれる各構成要素は、専用または汎用の回路として実現されてもよい。 Further, each component included in the development environment construction system of the above embodiment may be realized as a dedicated or general-purpose circuit.

また、上記実施の形態の開発環境構築システムに含まれる各構成要素は、集積回路(IC:Integrated Circuit)であるLSI(Large Scale Integration)として実現されてもよい。 Further, each component included in the development environment construction system of the above embodiment may be realized as an LSI (Large Scale Integration) that is an integrated circuit (IC).

また、集積回路はLSIに限られず、専用回路または汎用プロセッサで実現されてもよい。プログラム可能なFPGA(Field Programmable Gate Array)、または、LSI内部の回路セルの接続および設定が再構成可能なリコンフィギュラブル・プロセッサが、利用されてもよい。 Further, the integrated circuit is not limited to an LSI, and may be realized by a dedicated circuit or a general-purpose processor. A programmable FPGA (Field Programmable Gate Array) or a reconfigurable processor in which connections and settings of circuit cells inside the LSI can be reconfigured may be used.

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

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

本開示は、例えば、車両に搭載されるデバイスを制御するソフトウェアの開発環境を構築するためのシステムなどに適用できる。 The present disclosure can be applied, for example, to a system for constructing a software development environment for controlling devices installed in a vehicle.

10 構築処理サーバ
11 取得部
12 決定部
13 構築部
14 試行部
15 提示部
20 開発環境仕様情報
30a 仮想デバイスA情報
30b 仮想デバイスB情報
31 デバイス制御ソフト指定情報
32 仮想IF設定情報
33 仮想デバイスソフト指定情報
34 応答性能要求情報
35 仮想デバイス設定情報
40、40b、40c 構築能力情報
100 クラウド環境
200 ローカル環境
210、220 クライアント
300 実デバイスA
400 ユーザ
500、510、520、600、610、620 開発環境
511、611 デバイスA制御ソフト
512、612 実デバイスA向け仮想IF設定情報
513、613 仮想デバイスA
515、525、615、625 仮想デバイス設定情報
521、621 デバイスB制御ソフト
522、622 仮想デバイスB向け仮想IF設定情報
523、623 仮想デバイスB
10 Construction processing server 11 Acquisition unit 12 Determination 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 request information 35 Virtual device setting information 40, 40b, 40c Construction capability information 100 Cloud environment 200 Local environment 210, 220 Client 300 Real 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)

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

Family

ID=87930506

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022052430A Active JP7554022B2 (en) 2022-03-28 2022-03-28 Development environment construction system and development environment construction method

Country Status (2)

Country Link
JP (1) JP7554022B2 (en)
DE (1) DE102023107473A1 (en)

Family Cites Families (5)

* 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
JP5892031B2 (en) 2012-10-22 2016-03-23 富士通株式会社 Resource management system, resource management method, and resource management program
JP6692278B2 (en) 2016-11-15 2020-05-13 ルネサスエレクトロニクス株式会社 Arithmetic device and virtual development environment device
US10409632B2 (en) 2017-03-31 2019-09-10 The Boeing Company Emulation of hardware components based on interrupt design
US11347531B2 (en) 2018-10-31 2022-05-31 The Boeing Company Generalized virtualization platform for systems using hardware abstraction software layers

Also Published As

Publication number Publication date
JP7554022B2 (en) 2024-09-19
DE102023107473A1 (en) 2023-09-28

Similar Documents

Publication Publication Date Title
US9910765B2 (en) Providing testing environments for software applications using virtualization and a native hardware layer
CN113312037B (en) Data processing method, device, equipment and storage medium applied to micro-service
CN107534571B (en) Method, system and computer readable medium for managing virtual network functions
CN108667859A (en) A kind of method and device for realizing scheduling of resource
KR20180033569A (en) Virtualization of device management services on multi-session platforms
US11894983B2 (en) Simulation and testing of infrastructure as a service scale using a container orchestration engine
JP2013536518A (en) How to enable hypervisor control in a cloud computing environment
US10394971B2 (en) Hybrid simulation of a computing solution in a cloud computing environment with a simplified computing solution and a simulation model
US10146674B2 (en) Plugin-based software verification system
CN109656646B (en) Remote desktop control method, device, equipment and virtualization chip
CN105653338B (en) A kind of update method and device of application
US20200117576A1 (en) Assessing the container-readiness of software applications
US9753759B2 (en) Optimizations and enhancements of application virtualization layers
CN113657069B (en) SOC simulation verification method and device, verification server and storage medium
JP2022091301A (en) Control system and control method
US20200153888A1 (en) Message broker configuration
AU2019439694A1 (en) Web page duplication
US20220214928A1 (en) Workload Configuration Extractor
JP2018156294A (en) Software verification apparatus and software verification program
JP2018077697A (en) Verification system and verification method
JP7554022B2 (en) Development environment construction system and development environment construction method
US10445201B2 (en) System and method for automated integration and stress testing of hardware and software service in management controller using containerized toolbox
JP7336775B2 (en) Verification system, verification method and program
US20230409306A1 (en) Systems and methods for independent application design and deployment to platform host
JP6920501B1 (en) Information processing systems, programs, and information processing methods

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230327

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20240304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240718

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240820

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240903

R150 Certificate of patent or registration of utility model

Ref document number: 7554022

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150