JP7017766B1 - Information processing device and software generation support method - Google Patents

Information processing device and software generation support method Download PDF

Info

Publication number
JP7017766B1
JP7017766B1 JP2021093237A JP2021093237A JP7017766B1 JP 7017766 B1 JP7017766 B1 JP 7017766B1 JP 2021093237 A JP2021093237 A JP 2021093237A JP 2021093237 A JP2021093237 A JP 2021093237A JP 7017766 B1 JP7017766 B1 JP 7017766B1
Authority
JP
Japan
Prior art keywords
module
icon
modules
line
data
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
JP2021093237A
Other languages
Japanese (ja)
Other versions
JP2022185500A (en
Inventor
保次 瀬古
正吾 沼倉
Original Assignee
シンメトリー・ディメンションズ・インク
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 シンメトリー・ディメンションズ・インク filed Critical シンメトリー・ディメンションズ・インク
Priority to JP2021093237A priority Critical patent/JP7017766B1/en
Application granted granted Critical
Publication of JP7017766B1 publication Critical patent/JP7017766B1/en
Publication of JP2022185500A publication Critical patent/JP2022185500A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Digital Computer Display Output (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】様々なデータや情報を組合せて様々な機能を実現する情報処理装置及びソフトウェア生成支援方法を提供する。【解決手段】情報処理装置は、表示デバイス、操作デバイスをプロセッサ及び備える。表示デバイスは、ソフトウェアの連結状態の一部を示す複数のモジュールに対応する複数のアイコンを、ソフトウェアの連結状態を示すラインで接続して、画面に表示する。プロセッサは、操作デバイスを介して、第1のモジュールに対応する第1のアイコンの入力部又は出力部にラインを接続するよう指示し、複数のモジュールの夫々の間での入出力関係を加味した接続可否を示す接続可否情報に基づいて、モジュール間接続が可能であるか否かを判定し、モジュール間接続が可能である場合、第1のアイコンの入力部又は出力部にラインを接続し、各アイコンがラインで接続された順序に従って、各アイコンに対応する各モジュールを連携させて、ソフトウェア生成を支援する。【選択図】図1PROBLEM TO BE SOLVED: To provide an information processing apparatus and a software generation support method for realizing various functions by combining various data and information. An information processing device includes a display device, an operation device, and a processor. The display device connects a plurality of icons corresponding to a plurality of modules indicating a part of the software connection state with a line indicating the software connection state and displays them on the screen. The processor instructed the input section or output section of the first icon corresponding to the first module to connect a line via the operating device, and added the input / output relationship between each of the plurality of modules. Based on the connection availability information indicating whether or not the connection is possible, it is determined whether or not the connection between modules is possible, and if the connection between modules is possible, a line is connected to the input unit or output unit of the first icon. According to the order in which each icon is connected by a line, each module corresponding to each icon is linked to support software generation. [Selection diagram] Fig. 1

Description

本開示は、ソフトウェアの生成を支援する情報処理装置及びソフトウェア生成支援方法に関する。 The present disclosure relates to an information processing apparatus that supports software generation and a software generation support method.

従来、ソフトウェアの部品化を行うソフトウェア部品作成方法が知られている。このソフトウェア部品作成方法では、オブジェクトに相当するデータ部品の一覧を、GUI画面のデータ部品一覧領域に、複数のオブジェクト間を連結する連結部分が部品化されたリンク部品の一覧を、リンク部品一覧領域に、それぞれ表示する。部品エディタは、利用者の操作に応じて各部品一覧領域から選択された部品を要素部品として、部品定義領域内の利用者指定の位置に配置する。また、部品エディタは、部品定義領域内に配置された各要素部品の端子の群と作成するソフトウェア部品に定義される当該部品の端子の群とのうちの、所望の端子間を連結させるための利用者の操作に応じて、その端子間をデータの伝達方向を表す矢印で結ぶことが記載されている(特許文献1参照)。 Conventionally, a method for creating software components for converting software into components has been known. In this software component creation method, a list of data components corresponding to objects is displayed in the data component list area of the GUI screen, and a list of linked components in which a connecting part connecting multiple objects is made into components is displayed in the link component list area. To display each. The parts editor arranges the parts selected from each parts list area as element parts in the position specified by the user in the parts definition area according to the operation of the user. Further, the component editor is for connecting the desired terminals of the group of terminals of each element component arranged in the component definition area and the group of terminals of the component defined in the software component to be created. It is described that the terminals are connected by an arrow indicating a data transmission direction according to a user's operation (see Patent Document 1).

特開2003-223321号公報Japanese Patent Application Laid-Open No. 2003-223321

特許文献1のソフトウェア部品作成方法では、ソフトウェアの部品としてのデータ部品やリンク部品を選択して自動的にデータや情報の入出力をできるようになる。しかし、例えばソフトウェアの生成に馴染みのない一般的なユーザにとっては、特定の機能を実現するためには、どのようなデータや情報を選択すべきか、また、選択されたデータや情報をどのように連携させるべきであるか、を認識することは困難である。したがって、一般的なユーザであってもソフトウェア部品を用いて容易にソフトウェアを生成可能となることが望ましい。 In the software component creation method of Patent Document 1, data and information can be automatically input / output by selecting a data component or a link component as a software component. However, for example, for a general user who is not familiar with software generation, what kind of data or information should be selected in order to realize a specific function, and how the selected data or information should be selected. It is difficult to recognize whether they should work together. Therefore, it is desirable that even a general user can easily generate software by using software components.

本開示は、上記事情に鑑みてなされたものであり、一般的なユーザであっても様々なデータや情報を組合せて様々な機能を実現するソフトウェアを容易に構築できる情報処理装置及びソフトウェア生成支援方法を提供する。 This disclosure has been made in view of the above circumstances, and is an information processing device and software generation support that allows even a general user to easily construct software that realizes various functions by combining various data and information. Provide a method.

本開示の一態様は、ソフトウェアの生成を支援する情報処理装置であって、プロセッサと、表示デバイスと、操作デバイスと、を備え、前記表示デバイスは、前記ソフトウェアの連結状態の一部を示す複数のモジュールに対応する複数のアイコンを、前記ソフトウェアの連結状態を示すラインで接続して、画面に表示し、前記複数のモジュールは、前記ソフトウェアが実行する少なくとも1つの処理を示す処理モジュールと、前記処理に用いられる少なくとも1つのデータを示すデータモジュールと、前記データの供給源であるデバイスを示すデバイスモジュールと、を含み、前記アイコンは、前記アイコンに対応するモジュールの属性を示す情報を表示する属性部と、前記モジュールが前記連結状態において1つ前段のモジュールからデータ又は処理結果を入力する入力部と、前記モジュールが前記連結状態において1つ後段のモジュールへデータ又は処理結果を出力する出力部と、を有し、各アイコンの前記入力部は、前記ラインを介して他のアイコンの少なくとも1つの前記出力部と接続可能であり、各アイコンの前記出力部は、前記ラインを介して他のアイコンの少なくとも1つの前記入力部と接続可能であり、前記画面における前記アイコン及び前記ラインの位置は、移動可能であり、前記画面における前記ラインの形状は、変形可能であり、前記プロセッサは、前記操作デバイスを介して、第1のモジュールに対応する第1のアイコンの前記入力部又は前記出力部に前記ラインを接続するよう指示し、前記複数のモジュールのそれぞれの間での入出力関係を加味した接続可否を示す接続可否情報を取得し、前記接続可否情報に基づいて、前記ラインを介して、第2のモジュールに対応する第2のアイコンの前記出力部又は前記入力部に、前記第1のアイコンの指示された前記入力部又は前記出力部を接続するモジュール間接続が可能であるか否かを判定し、前記モジュール間接続が可能である場合、前記第1のアイコンの前記入力部又は前記出力部に前記ラインを接続し、前記モジュール間接続が不可である場合、前記接続可否情報に基づいて、前記第1のモジュールと前記第2のモジュールとの間を介在可能な1つ以上の第3のモジュールが存在するか否かを判定し、前記第3のモジュールが存在しない場合、前記第1のアイコンの前記入力部又は前記出力部に前記ラインを接続しないで前記第1のアイコン及び前記ラインを表示し、又は、前記第1のアイコンの前記入力部又は前記出力部と前記ラインとを接続不可であることを示すマーカを表示し、各アイコンが前記ラインで接続された状態に従って、各アイコンに対応する各モジュールを連携させて、前記ソフトウェアを生成する、情報処理装置である。 One aspect of the present disclosure is an information processing apparatus that supports the generation of software, comprising a processor, a display device, and an operation device, wherein the display device indicates a part of a connected state of the software. A plurality of icons corresponding to the modules are connected by a line indicating the connection state of the software and displayed on the screen, and the plurality of modules are a processing module indicating at least one process executed by the software and the processing module. The icon includes a data module indicating at least one data used for processing and a device module indicating a device that is a source of the data, and the icon is an attribute that displays information indicating an attribute of the module corresponding to the icon. A unit, an input unit in which the module inputs data or processing results from one previous-stage module in the connected state, and an output unit in which the module outputs data or processing results to one subsequent-stage module in the connected state. The input unit of each icon can be connected to at least one output unit of another icon via the line, and the output unit of each icon can be connected to another icon via the line. The icon and the line position on the screen are movable, the shape of the line on the screen is deformable, and the processor is the operation. The line was instructed to be connected to the input unit or the output unit of the first icon corresponding to the first module via the device, and the input / output relationship between each of the plurality of modules was added. The connection possibility information indicating the connection possibility is acquired, and based on the connection possibility information, the first output unit or the input unit of the second icon corresponding to the second module is connected to the first unit via the line. It is determined whether or not the inter-module connection connecting the input unit or the output unit indicated by the icon is possible, and if the inter-module connection is possible, the input unit or the output unit of the first icon is used. When the line is connected to the output unit and the connection between the modules is not possible, one or more second modules that can intervene between the first module and the second module based on the connection availability information. It is determined whether or not the third module exists, and if the third module does not exist, the first icon is not connected to the input unit or the output unit of the first icon. And the line is displayed, or a marker indicating that the input unit or the output unit of the first icon and the line cannot be connected is displayed, and each icon is connected according to the state of being connected by the line. , An information processing device that generates the software by linking each module corresponding to each icon.

本開示の一態様は、ソフトウェアの生成を支援するソフトウェア生成支援方法であって、プロセッサが、前記ソフトウェアの連結状態の一部を示す複数のモジュールに対応する複数のアイコンを、前記ソフトウェアの連結状態を示すラインで接続して、画面に表示するステップ、を有し、前記複数のモジュールは、前記ソフトウェアが実行する少なくとも1つの処理を示す処理モジュールと、前記処理に用いられる少なくとも1つのデータを示すデータモジュールと、前記データの供給源であるデバイスを示すデバイスモジュールと、を含み、前記アイコンは、前記アイコンに対応するモジュールの属性を示す情報を表示する属性部と、前記モジュールが前記連結状態において1つ前段のモジュールからデータ又は処理結果を入力する入力部と、前記モジュールが前記連結状態において1つ後段のモジュールへデータ又は処理結果を出力する出力部と、を有し、各アイコンの前記入力部は、前記ラインを介して他のアイコンの少なくとも1つの前記出力部と接続可能であり、各アイコンの前記出力部は、前記ラインを介して他のアイコンの少なくとも1つの前記入力部と接続可能であり、前記画面における前記アイコン及び前記ラインの位置は、移動可能であり、前記画面における前記ラインの形状は、変形可能であり、前記ソフトウェア生成支援方法は、前記プロセッサが、第1のモジュールに対応する第1のアイコンの前記入力部又は前記出力部に前記ラインを接続するよう指示するステップと、前記複数のモジュールのそれぞれの間での入出力関係を加味した接続可否を示す接続可否情報を取得するステップと、前記接続可否情報に基づいて、前記ラインを介して、第2のモジュールに対応する第2のアイコンの前記出力部又は前記入力部に、前記第1のアイコンの指示された前記入力部又は前記出力部を接続するモジュール間接続が可能であるか否かを判定するステップと、前記モジュール間接続が可能である場合、前記第1のアイコンの前記入力部又は前記出力部に前記ラインを接続するステップと、前記モジュール間接続が不可である場合、前記接続可否情報に基づいて、前記第1のモジュールと前記第2のモジュールとの間を介在可能な1つ以上の第3のモジュールが存在するか否かを判定し、前記第3のモジュールが存在しない場合、前記第1のアイコンの前記入力部又は前記出力部に前記ラインを接続しないで前記第1のアイコン及び前記ラインを表示し、又は、前記第1のアイコンの前記入力部又は前記出力部と前記ラインとを接続不可であることを示すマーカを表示するステップと、各アイコンが前記ラインで接続された状態に従って、各アイコンに対応する各モジュールを連携させて、前記ソフトウェアを生成するステップと、を有する、ソフトウェア生成支援方法である。 One aspect of the present disclosure is a software generation support method for supporting data generation, in which a processor displays a plurality of icons corresponding to a plurality of modules indicating a part of the software connection state by displaying the software connection state. The plurality of modules have a processing module indicating at least one process executed by the software and at least one data used for the process. The icon includes a data module and a device module indicating a device that is a source of the data, and the icon includes an attribute unit that displays information indicating the attributes of the module corresponding to the icon, and the module is in the connected state. It has an input unit for inputting data or processing results from one previous-stage module, and an output unit for outputting data or processing results to one subsequent-stage module in the connected state, and the input of each icon. The unit can be connected to at least one output unit of another icon via the line, and the output unit of each icon can be connected to at least one input unit of another icon via the line. The icon and the position of the line on the screen are movable, the shape of the line on the screen is deformable, and the software generation support method is such that the processor makes the first module. The step of instructing the input unit or the output unit of the corresponding first icon to connect the line, and the connection availability information indicating the connection availability in consideration of the input / output relationship between each of the plurality of modules. Based on the acquisition step and the connection availability information, the output unit or the input unit of the second icon corresponding to the second module is instructed by the first icon via the line. The step of determining whether or not the inter-module connection connecting the input unit or the output unit is possible, and when the inter-module connection is possible, the input unit or the output unit of the first icon is described. One or more third steps that can intervene between the first module and the second module based on the step of connecting the lines and the connection availability information when the connection between the modules is not possible. It is determined whether or not a module exists, and if the third module does not exist, the line is connected to the input unit or the output unit of the first icon. A step of displaying the first icon and the line, or displaying a marker indicating that the input unit or the output unit of the first icon cannot be connected to the line, and each icon. Is a software generation support method having a step of linking each module corresponding to each icon to generate the software according to the state of being connected by the line.

本開示によれば、一般的なユーザであっても様々なデータや情報を組合せて様々な機能を実現するソフトウェアを容易に構築できる。 According to the present disclosure, even a general user can easily construct software that realizes various functions by combining various data and information.

第1の実施形態におけるソフトウェア生成支援装置のハードウェア構成例を示すブロック図A block diagram showing a hardware configuration example of the software generation support device according to the first embodiment. ソフトウェア生成支援画面の一例を示す図Diagram showing an example of software generation support screen モジュールアイコンの構成例を示す図Diagram showing a configuration example of a module icon カテゴリ一覧情報の一例を示す図Diagram showing an example of category list information モジュール一覧情報の一例を示す図Diagram showing an example of module list information 接続可否情報の一例を示す図Diagram showing an example of connection availability information 商店街の通行人の数を計測する場合のモジュールの選択例を示す図Diagram showing an example of module selection when measuring the number of passersby in a shopping district 商店街の日時、天候、気温、又は行事等のデータを収集する場合のモジュールの選択例を示す図A diagram showing an example of module selection when collecting data such as the date and time, weather, temperature, or event of a shopping street. ソフトウェア生成支援装置によるデータ収集及び保存を行うソフトウェア生成時の画面表示例を示す図The figure which shows the screen display example at the time of software generation which collects and saves data by a software generation support device ソフトウェア生成支援装置によるAIによる学習と未来予測を行う場合の画面表示例を示す図A diagram showing an example of screen display when learning by AI and predicting the future with a software generation support device. ソフトウェア生成支援装置による動作例を示すフローチャートFlow chart showing an operation example by software generation support device ソフトウェア生成支援装置によるモジュールの決定処理時の動作例を示すフローチャートFlow chart showing an operation example during module determination processing by the software generation support device ソフトウェア生成支援装置によるモジュール間の接続処理時の動作例を示すフローチャートFlow chart showing an operation example during connection processing between modules by the software generation support device ソフトウェア生成支援装置によるモジュール間の接続処理時の他の動作例を示すフローチャートFlow chart showing other operation examples during connection processing between modules by software generation support device ソフトウェア生成支援装置によるモジュール間の接続処理時の他の動作例を示すフローチャートFlow chart showing other operation examples during connection processing between modules by software generation support device ソフトウェア生成支援装置による接続済みのモジュールの変更処理の一例を示すフローチャートFlow chart showing an example of change processing of connected modules by software generation support device ソフトウェア生成支援装置によるモジュール間の接続処理時の他の動作例を示すフローチャートFlow chart showing other operation examples during connection processing between modules by software generation support device ソフトウェア生成支援装置によるモジュール決定処理時の他の動作例を示すフローチャートFlow chart showing other operation examples during module determination processing by software generation support device マーカの表示例を示す図Diagram showing a display example of a marker マーカの他の表示例を示す図Diagram showing other display examples of markers

以下、適宜図面を参照しながら、実施形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になることを避け、当業者の理解を容易にするためである。尚、添付図面及び以下の説明は、当業者が本開示を十分に理解するために提供されるものであり、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。 Hereinafter, embodiments will be described in detail with reference to the drawings as appropriate. However, more detailed explanation than necessary may be omitted. For example, detailed explanations of already well-known matters and duplicate explanations for substantially the same configuration may be omitted. This is to avoid unnecessary redundancy of the following description and to facilitate the understanding of those skilled in the art. It should be noted that the accompanying drawings and the following description are provided for those skilled in the art to fully understand the present disclosure, and are not intended to limit the subject matter described in the claims.

例えば、実施形態でいう「部」又は「装置」とは単にハードウェアによって実現される物理的構成に限らず、その構成が有する機能をプログラムなどのソフトウェアにより実現されるものも含む。また、1つの構成が有する機能が2つ以上の物理的構成により実現されても、又は2つ以上の構成の機能が例えば1つの物理的構成によって実現されていても構わない。 For example, the "part" or "device" in the embodiment is not limited to a physical configuration realized by hardware, but also includes a function realized by software such as a program. Further, the function of one configuration may be realized by two or more physical configurations, or the function of two or more configurations may be realized by, for example, one physical configuration.

(第1の実施形態)
(ソフトウェア生成支援装置の構成)
図1は、第1の実施形態におけるソフトウェア生成支援装置100のハードウェア構成例を示す図である。ソフトウェア生成支援装置100は、プロセッサ110、通信デバイス120、メモリ130、操作デバイス140、及び表示デバイス150を備える。ソフトウェア生成支援装置100は、例えば、PC(Personal Computer)、サーバ装置、タブレット端末、又は携帯端末等であってよい。
(First Embodiment)
(Configuration of software generation support device)
FIG. 1 is a diagram showing a hardware configuration example of the software generation support device 100 according to the first embodiment. The software generation support device 100 includes a processor 110, a communication device 120, a memory 130, an operation device 140, and a display device 150. The software generation support device 100 may be, for example, a PC (Personal Computer), a server device, a tablet terminal, a mobile terminal, or the like.

プロセッサ110は、MPU(Micro processing Unit)、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、等を含んでよい。プロセッサ110は、メモリ130に保持されたプログラムを実行することで、ソフトウェア生成支援装置100の各種機能(例えばソフトウェアの生成の支援に係る機能)を実現する。プロセッサ110は、ソフトウェア生成支援装置100の各部を統括的に制御し、各種処理を行う。 The processor 110 may include an MPU (Micro processing Unit), a CPU (Central Processing Unit), a DSP (Digital Signal Processor), and the like. The processor 110 realizes various functions of the software generation support device 100 (for example, a function related to support for software generation) by executing a program held in the memory 130. The processor 110 comprehensively controls each part of the software generation support device 100 and performs various processes.

通信デバイス120は、各種データ、情報を通信する。通信デバイス120による通信方式は、無線通信又は有線通信の方式でよく、例えば、WAN(Wide Area Network)、LAN(Local Area Network)、赤外線通信、携帯電話用のセルラー通信(例えば5G、LTE(Long Term Evolution))、電力線通信、等の通信方式を含んでよい。 The communication device 120 communicates various data and information. The communication method by the communication device 120 may be a wireless communication or a wired communication method, for example, WAN (Wide Area Network), LAN (Local Area Network), infrared communication, cellular communication for mobile phones (for example, 5G, LTE (Long)). It may include communication methods such as Term Evolution)) and power line communication.

メモリ130は、例えばRAM(Random Access Memory)やROM(Read Only Memory)を含む。メモリ130は、一次記憶装置(例えばRAMやROM)を含む。メモリ130は、二次記憶装置(例えばHDD(Hard Disk Drive)やSSD(Solid State Drive))や三次記憶装置(例えば光ディスク、SDカード)を含んでよい。メモリ130は、その他の記憶装置を含んでよい。メモリ130は、各種データ、情報、プログラム等を記憶する。 The memory 130 includes, for example, a RAM (Random Access Memory) and a ROM (Read Only Memory). The memory 130 includes a primary storage device (eg, RAM or ROM). The memory 130 may include a secondary storage device (for example, HDD (Hard Disk Drive) or SSD (Solid State Drive)) or a tertiary storage device (for example, an optical disk or SD card). The memory 130 may include other storage devices. The memory 130 stores various data, information, programs, and the like.

操作デバイス140は、各種ボタン、キー、スイッチ、キーボード、タッチパッド、タッチパネル、マイクロホン、又はその他の操作デバイスを含んでよい。操作デバイス140は、各種データや情報の入力を受け付ける。 The operating device 140 may include various buttons, keys, switches, keyboards, touchpads, touch panels, microphones, or other operating devices. The operation device 140 accepts input of various data and information.

表示デバイス150は、液晶表示デバイス、有機ELデバイス、又はその他の表示デバイスを含んでよい。表示デバイス170は、各種データや情報を表示する。 The display device 150 may include a liquid crystal display device, an organic EL device, or other display device. The display device 170 displays various data and information.

次に、本実施形態のソフトウェアの生成の支援の概要について説明する。 Next, the outline of the support for generating the software of the present embodiment will be described.

プロセッサ110は、ソフトウェアの生成の支援に関する処理を行う。プロセッサ110は、ソフトウェアを構成する複数のソフトウェア部品(ソフトウェアモジュール、単に「モジュール」とも称する)を生成し、複数のソフトウェア部品(モジュール)を連結(連携)させて1つのソフトウェアを生成する。 The processor 110 performs processing related to supporting the generation of software. The processor 110 generates a plurality of software components (software modules, also simply referred to as "modules") constituting the software, and connects (coordinates) the plurality of software components (modules) to generate one software.

つまり複数のモジュールのそれぞれは、生成対象のソフトウェアの連結状態の一部を示すものであり、ソフトウェアの生成過程の一部を示すものである。モジュールは、例えば、ソフトウェアに関する各種データや各種処理そのものであったり、各種データの入力元又は出力先であったり、各種処理の入力元又は出力先であったりしてよい。複数のモジュールは、例えば、ソフトウェアが実行する少なくとも1つの処理を示す処理モジュールと、この処理に用いられる少なくとも1つのデータを示すデータモジュールと、データの供給源であるデバイスを示すデバイスモジュールと、を含んでよい。 That is, each of the plurality of modules shows a part of the connection state of the software to be generated, and shows a part of the software generation process. The module may be, for example, various data related to software, various processes themselves, an input source or output destination of various data, or an input source or output destination of various processes. The plurality of modules include, for example, a processing module indicating at least one process executed by the software, a data module indicating at least one data used for this process, and a device module indicating a device that is a source of data. May include.

図2は、ソフトウェア生成支援画面の一例を示す図である。 FIG. 2 is a diagram showing an example of a software generation support screen.

プロセッサ110は、複数のモジュールに対応するモジュールアイコンMAを、ソフトウェアの生成順序に従ってラインLNで接続して、画面G1に表示させる。この画面G1は、ソフトウェアの生成を支援するソフトウェア生成支援画面である。 The processor 110 connects the module icons MA corresponding to the plurality of modules by the line LN according to the software generation order, and displays them on the screen G1. This screen G1 is a software generation support screen that supports software generation.

画面G1には、ソフトウェアを生成するためのモジュールに対応するモジュールアイコンMAが配置される。各モジュールアイコンMAは、ソフトウェアに係る処理の順番に応じて順番に配列される。例えば、所定の処理に用いられるデータや所定の処理の前に実施される処理のモジュールに対応するモジュールアイコンMAは、所定の処理のモジュールに対応するモジュールアイコンMAの入力側に配置される。例えば、所定の処理により得られるデータや所定の処理の後に実施される処理のモジュールに対応するモジュールアイコンMAは、所定の処理のモジュールに対応するモジュールアイコンMAの出力側に配置される。 A module icon MA corresponding to a module for generating software is arranged on the screen G1. The module icons MA are arranged in order according to the order of processing related to the software. For example, the module icon MA corresponding to the data used for the predetermined process or the module of the process executed before the predetermined process is arranged on the input side of the module icon MA corresponding to the module of the predetermined process. For example, the module icon MA corresponding to the data obtained by the predetermined process or the module of the process executed after the predetermined process is arranged on the output side of the module icon MA corresponding to the module of the predetermined process.

画面G1に表示された2つのモジュールアイコンMA(例えば隣り合うモジュールアイコンMA)は、ラインLNによって接続される。つまり、ラインLNによって、ラインの両端部に接続された2つのモジュールアイコンMAに対応するモジュールの入出力関係が規定される。なお、ラインLNの接続によってソフトウェアの連結状態(生成過程)において前段側に配置されたモジュールアイコンMAに対応するモジュールを、前段モジュールとも称する。ラインLNの接続によってソフトウェアの連結状態(生成過程)において後段側に配置されたモジュールアイコンMAに対応するモジュールを、後段モジュールとも称する。なお、画面領域MA2は、出力の処理を行うモジュールによる処理結果を、プレビュー画像として表示している。 The two module icons MA (for example, adjacent module icons MA) displayed on the screen G1 are connected by a line LN. That is, the line LN defines the input / output relationship of the modules corresponding to the two module icons MA connected to both ends of the line. The module corresponding to the module icon MA arranged on the front stage side in the software connection state (generation process) by connecting the line LN is also referred to as a front stage module. A module corresponding to the module icon MA arranged on the rear stage side in the software connection state (generation process) by connecting the line LN is also referred to as a rear stage module. The screen area MA2 displays the processing result of the module that processes the output as a preview image.

図3は、モジュールアイコンMAの構成例を示す図である。モジュールアイコンMAは、属性部11と、入力部12と、出力部13と、を含む。なお、ソフトウェアの連結状態における最前段のモジュール(例えばデバイスモジュール)は、入力部12が不在でもよい。また、ソフトウェアの連結状態における最後段のモジュール(例えば表示モジュール、目的モジュール)には、出力部13が不在でもよい。 FIG. 3 is a diagram showing a configuration example of the module icon MA. The module icon MA includes an attribute unit 11, an input unit 12, and an output unit 13. The input unit 12 may be absent from the frontmost module (for example, a device module) in the connected state of the software. Further, the output unit 13 may not be present in the last module (for example, display module, target module) in the connected state of the software.

属性部11は、この属性部11を有するモジュールアイコンMAに対応するモジュールの属性に関する情報を表示する。ここでのモジュールの属性とは、モジュールが行う処理の内容やモジュールが扱うデータの内容を含んでよい。属性部11は、例えば、データに関する情報を表示する場合、データの内容を示す文字、図形、記号、又は形状等によって表示してもよいし、データが格納されたファイルを表示してもよいし、データを一覧表示するテーブルを表示してもよいし、その他のデータに関する情報を表示してもよい。属性部11は、処理に関する情報を表示する場合、処理を行う関数やプログラムやアプリケーションの情報を表示してもよいし、処理を示すイメージ図やイラストを表示してもよいし、その他の処理に関する情報を表示してもよい。 The attribute unit 11 displays information about the attributes of the module corresponding to the module icon MA having the attribute unit 11. The attribute of the module here may include the content of the process performed by the module and the content of the data handled by the module. For example, when displaying information related to data, the attribute unit 11 may display by characters, figures, symbols, shapes, etc. indicating the contents of the data, or may display a file in which the data is stored. , A table listing the data may be displayed, or information about other data may be displayed. When displaying information related to processing, the attribute unit 11 may display information on a function, program, or application that performs processing, may display an image diagram or illustration showing processing, or information on other processing. May be displayed.

入力部12は、他のモジュールアイコンMAとの間でラインLNを介して接続される。入力部12は、例えば、この他のモジュールアイコンMAに対応する他のモジュールから、モジュールアイコンMAに対応するモジュールへ、データを入力する仮想的な入力端子である。モジュールアイコンMAに対応するモジュールは、入力部12に接続された他のモジュールアイコンMAに対応する他のモジュールから出力されるデータを、入力データとして入力したり、他のモジュールアイコンMAに対応する他のモジュールに対応する処理である前処理の処理結果を、入力データとして入力したりする。また、モジュールアイコンMAに対応するモジュールは、このモジュールの機能やデータを供給する供給源の情報を、入力データとして入力してよい。入力データは、例えば、モジュールが実行するアルゴリズムの引数や処理の一部として用いられてよい。 The input unit 12 is connected to another module icon MA via a line LN. The input unit 12 is, for example, a virtual input terminal for inputting data from another module corresponding to the other module icon MA to the module corresponding to the module icon MA. The module corresponding to the module icon MA can input data output from another module corresponding to the other module icon MA connected to the input unit 12 as input data, or can correspond to the other module icon MA. The processing result of the pre-processing, which is the processing corresponding to the module of, is input as input data. Further, the module corresponding to the module icon MA may input the function of this module and the information of the supply source to which the data is supplied as input data. The input data may be used, for example, as an argument of an algorithm executed by the module or as a part of processing.

出力部13は、他のモジュールアイコンMAとの間でラインLNを介して接続される。出力部13は、例えば、モジュールアイコンMAに対応するモジュールから、他のモジュールアイコンMAに対応する他のモジュールへ、データを出力する仮想的な出力端子である。モジュールアイコンMAに対応するモジュールは、出力部13に接続された他のモジュールアイコンMAに対応する他のモジュールが使用するデータを、出力データとして出力したり、他のモジュールアイコンMAに対応する他のモジュールに対応する処理である後処理に用いるデータを、出力データとして出力したりする。また、モジュールアイコンMAに対応するモジュールは、このモジュールが示す供給源の情報を、出力データとして出力してよい。出力データは、例えば、他のモジュールが実行するアルゴリズムの引数や処理の一部として用いられてよい。 The output unit 13 is connected to another module icon MA via a line LN. The output unit 13 is, for example, a virtual output terminal that outputs data from a module corresponding to the module icon MA to another module corresponding to another module icon MA. The module corresponding to the module icon MA outputs the data used by another module corresponding to the other module icon MA connected to the output unit 13 as output data, or another module corresponding to the other module icon MA. Data used for post-processing, which is the processing corresponding to the module, is output as output data. Further, the module corresponding to the module icon MA may output the information of the supply source indicated by this module as output data. The output data may be used, for example, as an argument or processing of an algorithm executed by another module.

モジュールアイコンMAは、例えば矩形の形状を有する。属性部11は、例えば、モジュールアイコンMAの中心部に位置する。入力部12は、例えば、矩形の形状の一端側(例えば図3のモジュールアイコンMAの左半分の周端)に沿って属性部11の一部(例えば半分程)を囲むように、逆コの字形状(又はコの字形状)に形成されてよい。出力部13は、例えば、矩形の形状の他端側(例えば図3のモジュールアイコンMAの右半分の周端)に沿って属性部11の一部(例えば半分程)を囲むように、コの字形状(又は逆コの字形状)に形成されてよい。 The module icon MA has, for example, a rectangular shape. The attribute unit 11 is located at the center of the module icon MA, for example. The input unit 12 is inverted so as to surround a part (for example, about half) of the attribute unit 11 along one end side of the rectangular shape (for example, the peripheral end of the left half of the module icon MA in FIG. 3). It may be formed in a U-shape (or U-shape). The output unit 13 surrounds a part (for example, about half) of the attribute unit 11 along the other end side of the rectangular shape (for example, the peripheral end of the right half of the module icon MA in FIG. 3). It may be formed in a U shape (or an inverted U shape).

これにより、ソフトウェア生成支援装置100は、モジュールアイコンMAの入力部12及び出力部13が、半分ずつ全体で属性部11を包囲するように形成されるので、一般的な端子よりも入力部12及び出力部13となる面積が大きく、どの方向からでも入力部12及び出力部13にラインLNを接続し易くできる。 As a result, in the software generation support device 100, the input unit 12 and the output unit 13 of the module icon MA are formed so as to surround the attribute unit 11 in half as a whole, so that the input unit 12 and the output unit 12 are more than general terminals. The area of the output unit 13 is large, and the line LN can be easily connected to the input unit 12 and the output unit 13 from any direction.

具体的には、モジュールアイコンMA(アイコンの一例)の形状は、X方向(第1方向の一例)に沿う一対の辺と、X方向に垂直なY方向(第2方向の一例)に沿う一対の辺と、で構成される矩形形状を有してよい。モジュールアイコンMAの入力部12は、X方向に沿う一対の辺のそれぞれにおける一端側(例えば図3の左側)と、Y方向に沿う一対の辺のうち一端側に接続された辺と、を含んでよい。モジュールアイコンMAの出力部13は、X方向に沿う一対の辺のそれぞれにおける他端側(例えば図3の右側)と、Y方向に沿う一対の辺のうち他端側に接続された辺と、を含んでよい。 Specifically, the shape of the module icon MA (an example of an icon) is a pair of sides along the X direction (an example of the first direction) and a pair along the Y direction perpendicular to the X direction (an example of the second direction). It may have a rectangular shape composed of the sides of. The input unit 12 of the module icon MA includes one end side of each of the pair of sides along the X direction (for example, the left side of FIG. 3) and a side connected to one end side of the pair of sides along the Y direction. It's fine. The output unit 13 of the module icon MA includes the other end side of each of the pair of sides along the X direction (for example, the right side in FIG. 3), the side connected to the other end side of the pair of sides along the Y direction, and the other side. May include.

これにより、矩形のモジュールアイコンMAの周端部に沿ってコの字形状及び逆コの字形状で入力部12及び出力部13が形成される。よって、ソフトウェア生成支援装置100は、どの方向(例えば図3では入力側である左側又は上下方向、出力側である右側又は上下方向)からでも入力部12及び出力部13にラインLNを接続し易くできる。 As a result, the input unit 12 and the output unit 13 are formed in a U-shape and an inverted U-shape along the peripheral end of the rectangular module icon MA. Therefore, the software generation support device 100 can easily connect the line LN to the input unit 12 and the output unit 13 from any direction (for example, the left side or the vertical direction on the input side in FIG. 3 and the right side or the vertical direction on the output side). can.

また、モジュールアイコンMAの入力部12と出力部13とは、図3に示すように、異なる表示態様で示されてよい。これにより、ユーザは、画面G1を一見して、複数のモジュールアイコンMAの接続関係(例えばソフトウェアの生成過程における上流、下流)を確認できる。つまり、ユーザは、操作デバイス140を介してラインLNをモジュールアイコンMAの入力部12又は出力部13に接続しようとする際に、モジュールアイコンMAの入力部12であるか出力部13であるかを判別し易くなる。よって、ユーザは、容易にモジュールアイコンMAにラインLNを接続でき、かつ接続誤りを低減できる。 Further, the input unit 12 and the output unit 13 of the module icon MA may be shown in different display modes as shown in FIG. As a result, the user can see the screen G1 at a glance and confirm the connection relationship of the plurality of module icons MA (for example, upstream and downstream in the software generation process). That is, when the user tries to connect the line LN to the input unit 12 or the output unit 13 of the module icon MA via the operation device 140, the user determines whether the line LN is the input unit 12 or the output unit 13 of the module icon MA. It becomes easy to distinguish. Therefore, the user can easily connect the line LN to the module icon MA and reduce connection errors.

次に、ソフトウェアのカテゴリ及びモジュールについて詳細に説明する。 Next, the software categories and modules will be described in detail.

複数のモジュールのそれぞれは、ソフトウェアを生成するためのカテゴリ別に分類される。カテゴリは、ソフトウェアの連結状態(生成過程)を複数に分類したものである。複数のモジュールのそれぞれは、いずれかのカテゴリに属しており、所定のソフトウェアの連結状態の一部を具体的に示すものである。 Each of the modules is categorized into categories for generating software. The category is a classification of software connection states (generation processes) into multiple categories. Each of the plurality of modules belongs to one of the categories and specifically shows a part of the connection state of the predetermined software.

図2に示した画面G1には、メニューボタンB1が配置される。プロセッサ110は、操作デバイス140を介してメニューボタンB1を押下すると、メニューとしてカテゴリの一覧を表示する。 A menu button B1 is arranged on the screen G1 shown in FIG. When the menu button B1 is pressed via the operating device 140, the processor 110 displays a list of categories as a menu.

図4は、カテゴリ一覧情報I1の一例を示す図である。カテゴリは、例えば、デバイスカテゴリ、データソースカテゴリ、データカテゴリ、データフィルタカテゴリ、処理カテゴリ、表示フォーマットカテゴリ、表示カテゴリ、又は目的カテゴリを含む。カテゴリは、その他のカテゴリ(例えば後述するAIカテゴリ)を含んでもよい。どのようなカテゴリが存在するかを示す情報は、カテゴリ一覧情報I1に含まれてメモリ130に保持されていてよい。 FIG. 4 is a diagram showing an example of category list information I1. The category includes, for example, a device category, a data source category, a data category, a data filter category, a processing category, a display format category, a display category, or a target category. The category may include other categories (for example, the AI category described later). Information indicating what kind of category exists may be included in the category list information I1 and held in the memory 130.

各カテゴリには、1つ以上のモジュールが属する。プロセッサ110は、操作デバイス140を介して、カテゴリ情報からモジュールを選択してよい。各カテゴリにどのようなモジュールが存在するかを示す情報は、モジュール一覧情報I2に含まれてメモリ130に保持されていてよい。モジュール一覧情報I2は、カテゴリ毎に設けられてもよい。図5は、モジュール一覧情報I2の一例を示す図である。 Each category has one or more modules. The processor 110 may select a module from the category information via the operating device 140. Information indicating what kind of module exists in each category may be included in the module list information I2 and held in the memory 130. Module list information I2 may be provided for each category. FIG. 5 is a diagram showing an example of module list information I2.

デバイスカテゴリは、ソフトウェアの処理に用いるデータを取得するためのハードウェア等のカテゴリである。デバイスカテゴリに属するモジュールを、デバイスモジュールとも称する。デバイスモジュールは、データを提供するPC(Personal Computer)、スマートフォン、又はセンサ等のデバイスを含む。 The device category is a category such as hardware for acquiring data used for software processing. Modules belonging to the device category are also referred to as device modules. The device module includes a device such as a PC (Personal Computer), a smartphone, or a sensor that provides data.

データソースカテゴリは、ソフトウェアの処理に用いるデータを取得するためのソフトウェア又は各種機能等のカテゴリである。データソースカテゴリに属するモジュールを、データソースモジュールとも称する。データソースモジュールは、デバイスとデータとを連結するモジュールである。例えば、デバイスモジュールがノートPCであり、データソースモジュールがカメラであり得る。 The data source category is a category of software or various functions for acquiring data used for software processing. Modules that belong to the data source category are also referred to as data source modules. A data source module is a module that connects a device and data. For example, the device module can be a notebook PC and the data source module can be a camera.

データソースには、様々なデータソースが考えられる。例えば、デバイスに付随するデータソースがある。例えば、ノートPCのデバイスにおけるカメラ機能、レーザスキャナ機能、位置取得機能、マイク機能(音声情報取得機能)がある。また、上記以外であっても、外部サーバ等からデータを取得可能な各機能がある。例えば、メール機能、SNS機能、WEB関連機能、等がある。 Various data sources can be considered as data sources. For example, there is a data source that accompanies the device. For example, there are a camera function, a laser scanner function, a position acquisition function, and a microphone function (voice information acquisition function) in a notebook PC device. In addition to the above, there are functions that can acquire data from an external server or the like. For example, there are a mail function, an SNS function, a WEB-related function, and the like.

データカテゴリは、デバイス又はデータソースからのデータを示すカテゴリである。データカテゴリに属するモジュールを、データモジュールとも称する。データモジュールは、デバイスモジュール又はデータソースモジュール(データ収集モジュールとも称する)からの各種データを入力する。なお、デバイスモジュール又はデータソースモジュールのいずれか一方が設けられる場合には、デバイスモジュール又はデータソースモジュールのいずれか他方が設けられなくてもよい。 A data category is a category that indicates data from a device or data source. Modules that belong to the data category are also referred to as data modules. The data module inputs various data from the device module or the data source module (also referred to as a data collection module). When either the device module or the data source module is provided, either the device module or the data source module may not be provided.

例えば、データモジュールは、メール、紙・PDFデータの形式の様々なデータを取得したり、アプリケーション、各種システム、又は各種クラウド等から様々なデータを取得したりする。 For example, the data module acquires various data in the form of mail, paper / PDF data, and various data from an application, various systems, various clouds, and the like.

データフィルタカテゴリは、取得されたデータを処理するためにデータのフォーマットを変更したりデータを調整したりするカテゴリである。データフィルタカテゴリに属するモジュールを、データフィルタモジュールとも称する。 The data filter category is a category for changing the format of data or adjusting data in order to process the acquired data. Modules that belong to the data filter category are also referred to as data filter modules.

データフィルタモジュールは、収集されたデータを、処理モジュールに対応したフォーマットに変換したりフィルタリングしたり、メモリ130等に保存したりする。データフィルタモジュールは、保存された複数のデータを統合して処理モジュールに出力可能である。データフィルタモジュールは、収集又は統合等されたデータを、メモリ130等に保存してもよいし、通信デバイス120を介してクラウド上に蓄積してよい。データフィルタモジュールは、フィルタリングやフォーマット変換により、例えばフォーマットを合わせることができ、それぞれのモジュールで授受されたデータや情報を取り扱い可能となる。 The data filter module converts the collected data into a format corresponding to the processing module, filters the collected data, and stores the collected data in the memory 130 or the like. The data filter module can integrate a plurality of stored data and output it to the processing module. The data filter module may store the collected or integrated data in the memory 130 or the like, or may store the collected or integrated data on the cloud via the communication device 120. The data filter module can match the format, for example, by filtering or format conversion, and can handle the data and information exchanged by each module.

処理カテゴリは、ソフトウェアの処理を実行するカテゴリである。処理カテゴリに属するモジュールを、処理モジュールとも称する。 The processing category is a category that executes software processing. Modules belonging to the processing category are also referred to as processing modules.

表示フォーマットカテゴリは、処理により得られたデータを表示するために、データのフォーマットを変更したりフィルタリングしたりデータを加工したりするカテゴリである。表示フォーマットカテゴリに属するモジュールを、表示フォーマットモジュールとも称する。表示フォーマットカテゴリは、フィルタリングやフォーマット変換により、例えばフォーマットを合わせることができ、それぞれのモジュールで授受されたデータや情報を取り扱い可能となる。 The display format category is a category in which the format of the data is changed, filtered, or the data is processed in order to display the data obtained by the processing. Modules that belong to the display format category are also referred to as display format modules. The display format category can be, for example, matched in format by filtering or format conversion, and can handle data and information exchanged in each module.

表示カテゴリは、処理により得られたデータの表示フォーマットの調整後のデータを表示するカテゴリである。表示カテゴリに属するモジュールを、表示モジュールとも称する。表示モジュールは、表示の形式(例えば3D(3次元)表示、2D(2次元)表示、又はグラフ表示)、どのデバイスに表示させるか、等を指定可能である。表示では、例えば、3次元位置情報を含む3Dデータ、点群データ、地図、分析エンジン、等に基づいて、2次元情報又は3次元情報が可視化されてよい。 The display category is a category for displaying the adjusted data of the display format of the data obtained by the processing. Modules that belong to the display category are also referred to as display modules. The display module can specify the display format (for example, 3D (three-dimensional) display, 2D (two-dimensional) display, or graph display), which device to display, and the like. In the display, for example, 2D information or 3D information may be visualized based on 3D data including 3D position information, point cloud data, a map, an analysis engine, and the like.

目的カテゴリは、ソフトウェアの処理が行われる目的を示すカテゴリであり、つまりソフトウェアを実行する情報処理装置を動作させる目的を示すカテゴリである。目的カテゴリに属するモジュールを、目的モジュールとも称する。 The purpose category is a category indicating the purpose for which the processing of the software is performed, that is, a category indicating the purpose for operating the information processing apparatus that executes the software. Modules that belong to the target category are also referred to as target modules.

目的カテゴリにおける目的とは、例えば、経営課題の解決や収益構造の最適化から単純な統計処理に至るまで幅広い目的を表す。目的には、ビジネスで重要な指標となる、一定期間(例えば毎月又は毎日)の売上推移、顧客のリピート率、ホームページの閲覧頻度、ホームページの発注率、又は顧客属性等が含まれてよい。 Objectives in the objective category represent, for example, a wide range of objectives, from solving management issues and optimizing profit structures to simple statistical processing. The object may include sales transitions for a certain period (for example, monthly or daily), customer repeat rate, homepage browsing frequency, homepage ordering rate, customer attributes, etc., which are important indicators in business.

プロセッサ110は、目的モジュールの目的を実現するための各カテゴリにおける各モジュールを自動で選定又はリスト表示させる機能を有する。例えば、プロセッサ110は、目的モジュールを決定し、目的モジュールに合うデータに係るデータモジュールを決定し、決定された目的モジュールに対応するモジュールアイコンMAと、データモジュールに対応するモジュールアイコンMAとを、画面G1上に配置して表示させる。この場合、プロセッサ110は、決定されたデータに基づいて決定された目的を実現するために、代表的な一連の各カテゴリのモジュールに対応するモジュールアイコンMAを画面G1に表示させ、一連のモジュールにおける処理順で(生成過程で)隣接する2つのモジュールアイコンMA間のそれぞれをラインLNで接続して、画面G1に表示させてよい。この場合、プロセッサ110は、2つのモジュールアイコンMAが接続可能であるか否かを、つまり、2つのモジュールを接続可能であるか否かは、例えばメモリ130に保持された後述する接続可否情報(図6参照)に基づいて判別してよい。 The processor 110 has a function of automatically selecting or displaying a list of each module in each category for realizing the purpose of the target module. For example, the processor 110 determines a target module, determines a data module related to data suitable for the target module, and displays a module icon MA corresponding to the determined target module and a module icon MA corresponding to the data module on the screen. Place it on G1 and display it. In this case, the processor 110 displays the module icon MA corresponding to the representative series of modules of each category on the screen G1 in order to realize the determined purpose based on the determined data, and the module 110 is in the series of modules. Each of two adjacent module icons MA in the processing order (in the generation process) may be connected by a line LN and displayed on the screen G1. In this case, the processor 110 determines whether or not the two module icons MA can be connected, that is, whether or not the two modules can be connected, for example, the connection possibility information (which will be described later) held in the memory 130. It may be determined based on (see FIG. 6).

つまり、ソフトウェア生成支援装置100は、データカテゴリから表示カテゴリに至るまでの一連のモジュールを目的モジュールの目的と関連付けでき、目的に関連づけられた一連のモジュールに対応するモジュールアイコンMAを、画面G1に表示させることができる。 That is, the software generation support device 100 can associate a series of modules from the data category to the display category with the purpose of the target module, and displays the module icon MA corresponding to the series of modules associated with the purpose on the screen G1. Can be made to.

プロセッサ110は、例えば操作デバイス140を介して、示された一連のモジュールをソフトウェア部品とすることを決定することで、各モジュールが実現するデータの取得、処理、表示、及びその他の必要な処理を実行するソフトウェアを生成する。このソフトウェアは、決定された目的を達成することができるソフトウェアである。ソフトウェア生成支援装置100又はその他の情報処理装置は、生成されたソフトウェアを実行することで、目的モジュールの目的を達成できる。 The processor 110 performs the acquisition, processing, display, and other necessary processing of the data realized by each module by deciding to make the indicated set of modules a software component, for example via the operating device 140. Generate software to run. This software is software that can achieve a determined purpose. The software generation support device 100 or other information processing device can achieve the purpose of the target module by executing the generated software.

次に、ソフトウェア生成支援装置100によるソフトウェアの生成の支援の特徴について例示する。 Next, the features of the software generation support by the software generation support device 100 will be illustrated.

プロセッサ110は、操作デバイス140を介して画面G1を操作し、例えばメニュー、カテゴリ、モジュールの順に選択することで、特定のカテゴリの特定のモジュールを選択してよい。具体的には、プロセッサ110は、操作デバイス140を介して画面G1上のメニューボタンB1をクリックすると、複数のカテゴリ(例えばカテゴリ一覧リスト)を表示させる。プロセッサ110は、操作デバイス140を介して複数のカテゴリから1つのカテゴリを選択すると、選択されたカテゴリに属する複数のモジュール(例えばモジュール一覧リスト)を表示させる。プロセッサ110は、操作デバイス140を介して複数のモジュールから1つのモジュールを選択することで、特定のカテゴリの特定のモジュールを選択可能であり、特定のモジュールに対応するモジュールアイコンMAを画面G1に表示可能である。 The processor 110 may select a specific module in a specific category by operating the screen G1 via the operation device 140 and selecting, for example, a menu, a category, and a module in this order. Specifically, when the processor 110 clicks the menu button B1 on the screen G1 via the operation device 140, a plurality of categories (for example, a category list) are displayed. When one category is selected from a plurality of categories via the operation device 140, the processor 110 displays a plurality of modules (for example, a module list) belonging to the selected category. The processor 110 can select a specific module in a specific category by selecting one module from a plurality of modules via the operation device 140, and displays the module icon MA corresponding to the specific module on the screen G1. It is possible.

また、プロセッサ110は、メニューから選択されたカテゴリに属するモジュールが複数存在する場合、具体的なモジュールに対応するモジュールアイコンMAではなく、選択されたカテゴリに対応するカテゴリアイコンCA(不図示)を、画面G1に表示させてよい。カテゴリアイコンCAは、カテゴリにおけるいずれかのモジュールが配置されることを示すアイコンであり、具体的なモジュールアイコンMAが未定であることを示す。選択されたカテゴリに属するモジュールが複数存在するか否かは、モジュール一覧情報I2を基に判別されてよい。プロセッサ110は、画面G1上で操作デバイス140を介してカテゴリアイコンCAが指示されたことを検出すると、表示デバイス150を介して選択カテゴリに属するモジュールの一覧のリストを表示する。カテゴリアイコンCAが指示されたことには、例えば、カーソルが置かれたこと又はカテゴリアイコンCAがクリックされたことが含まれてよい。プロセッサ110は、選択カテゴリのモジュールの一覧のリストの中から、操作デバイス140を介して所望のモジュールを選択して決定し、決定されたモジュールに対応するモジュールアイコンMAを画面G1に表示させてよい。 Further, when a plurality of modules belonging to the category selected from the menu exist, the processor 110 uses the category icon CA (not shown) corresponding to the selected category instead of the module icon MA corresponding to the specific module. It may be displayed on the screen G1. The category icon CA is an icon indicating that any module in the category is arranged, and indicates that a specific module icon MA is undecided. Whether or not there are a plurality of modules belonging to the selected category may be determined based on the module list information I2. When the processor 110 detects that the category icon CA is instructed via the operating device 140 on the screen G1, the processor 110 displays a list of modules belonging to the selected category via the display device 150. The indication of the category icon CA may include, for example, the cursor being placed or the category icon CA being clicked. The processor 110 may select and determine a desired module from the list of modules in the selection category via the operating device 140, and display the module icon MA corresponding to the determined module on the screen G1. ..

また、プロセッサ110は、選択カテゴリに属するモジュールが1つであり、選択カテゴリに属するモジュールを選択の余地無く一義的に決定可能である場合、選択カテゴリのモジュールを決定し、決定されたモジュールに対応するモジュールアイコンMAを、画面G1に表示させる。 Further, when the processor 110 has one module belonging to the selection category and the module belonging to the selection category can be uniquely determined without any room for selection, the processor 110 determines the module of the selection category and corresponds to the determined module. The module icon MA to be displayed is displayed on the screen G1.

また、プロセッサ110は、表示されたモジュールアイコンMAの入力部12又は出力部13が指示されたこと(例えばモジュールアイコンMAにカーソルが置かれること、クリックされたこと)を検出すると、このモジュールアイコンMAに接続可能な前段又は後段のモジュールアイコンMAに対応する前段モジュール又は後段モジュールの候補を、例えば選択リストの形式(例えばモジュール一覧リスト)で表示させてよい。 Further, when the processor 110 detects that the input unit 12 or the output unit 13 of the displayed module icon MA is instructed (for example, the cursor is placed or clicked on the module icon MA), the module icon MA Candidates for the front-stage module or the rear-stage module corresponding to the module icon MA of the front-stage or the rear-stage that can be connected to the are displayed in the form of a selection list (for example, a module list).

また、プロセッサ110は、メモリ130に保持された接続可否情報に基づいて、所定の2つのモジュール(生成過程で隣り合う2つの工程に対応するモジュール)に対応する2つのモジュールアイコンMAの間を接続可能であるか否かと判定する。ここでの接続可能か否かとは、例えば、あるモジュールアイコンMAの入力部12に対してラインLNを介してその前段のモジュールアイコンMAの出力部13が接続可能であるか否かを示してよい。また、ここでの接続可能か否かとは、あるモジュールアイコンMAの出力部13に対してラインLNを介してその後段のモジュールアイコンMAの入力部12が接続可能であるか否かを示してよい。接続可能であるか否かは、接続可否情報に基づいて、つまり各モジュールアイコンMAに対応する各モジュールのデータや処理の入出力関係が加味されて、判定されてよい。この所定の2つのモジュールアイコンMAが接続可能である場合、接続するラインLNを画面G1に表示させる。ラインLNによる接続は、ラインLNで接続された2つのモジュールアイコンMAに対応する2つのモジュールが、接続された入出力順序を加味して動作可能であることを示している。なお、2つのモジュールアイコンMAが接続可能である場合、2つのモジュールアイコンMAに対応する2つのモジュールの処理やデータを連結(連携)可能である。 Further, the processor 110 connects between two module icons MA corresponding to two predetermined modules (modules corresponding to two adjacent processes in the generation process) based on the connection availability information held in the memory 130. Judge whether it is possible or not. Whether or not the connection is possible here may indicate, for example, whether or not the output unit 13 of the module icon MA in the previous stage can be connected to the input unit 12 of a certain module icon MA via the line LN. .. Further, whether or not the connection is possible here may indicate whether or not the input unit 12 of the module icon MA in the subsequent stage can be connected to the output unit 13 of a certain module icon MA via the line LN. .. Whether or not connection is possible may be determined based on the connection availability information, that is, taking into account the input / output relationship of the data and processing of each module corresponding to each module icon MA. When the predetermined two module icons MA can be connected, the line LN to be connected is displayed on the screen G1. The connection by the line LN indicates that the two modules corresponding to the two module icons MA connected by the line LN can operate in consideration of the connected input / output order. When the two module icon MAs can be connected, the processing and data of the two modules corresponding to the two module icon MAs can be linked (coordinated).

また、プロセッサ110は、画面G1に表示されたモジュールアイコンMAの入力部12又は出力部13にラインLNが接続されていない状態で、この入力部12又は出力部13をクリックすると、クリックされた入力部12又は出力部13に新たなラインLNの一端を接続して画面G1に表示させてよい。プロセッサ110は、操作デバイス140を介して、このラインLNの他端を例えばカーソルを用いて移動可能であり、このラインLNの他端を他のモジュールアイコンMAと接続させてよい。この場合、メモリ130に保持された接続可否情報に基づいて、つまりラインLNの一端及び他端に接続された2つのモジュールアイコンMAに対応する2つのモジュールの入出力関係を加味して、ラインLNの両端に接続された2つのモジュールアイコンMA間で接続可能である場合に限り、クリックされたモジュールアイコンMAと他のモジュールアイコンMAとが接続可能であってよい。 Further, when the line LN is not connected to the input unit 12 or the output unit 13 of the module icon MA displayed on the screen G1, the processor 110 clicks the input unit 12 or the output unit 13 to click the input. One end of the new line LN may be connected to the unit 12 or the output unit 13 and displayed on the screen G1. The processor 110 can move the other end of the line LN via the operating device 140, for example using a cursor, and may connect the other end of the line LN to another module icon MA. In this case, the line LN is based on the connection availability information held in the memory 130, that is, the input / output relationship of the two modules corresponding to the two module icon MAs connected to one end and the other end of the line LN is taken into consideration. Only when it is possible to connect between two module icons MA connected to both ends of the above, the clicked module icon MA and another module icon MA may be connectable.

また、プロセッサ110は、操作デバイス140を介して、接続されている2つのモジュールアイコンMA間のラインLNをクリックすると、クリック位置に近い方のラインLNの端部(一端又は他端)が、入力部12又は出力部13に接続中のモジュールアイコンMAから離され、接続が解除されてよい。この場合、接続が解除されたラインLNの端部は、接続可能な他のモジュールアイコンMAと接続可能となる。 Further, when the processor 110 clicks the line LN between the two connected module icons MA via the operation device 140, the end portion (one end or the other end) of the line LN closer to the click position is input. The module icon MA connected to the unit 12 or the output unit 13 may be separated from the module icon MA, and the connection may be disconnected. In this case, the end of the disconnected line LN can be connected to another connectable module icon MA.

なお、プロセッサ110は、メモリ130に保持された接続可否情報に基づいて、ラインLNを介した任意の2つのモジュールアイコンMA同士が接続不可であると判定したとする。2つのモジュールアイコンMA同士が接続不可であるとは、第1のモジュールの入力部12にラインLNを介して第2のモジュールアイコンMAの出力部13を接続不可であり、且つ、第1のモジュールアイコンMAの入力部12にラインLNを介して第2のモジュールアイコンMAの出力部13を接続不可であることを示す。この場合、プロセッサ110は、ラインLNを介したこの2つのモジュール同士を接続することを禁止する。つまり、ラインLNの一端と他端とを接続不可な2つのモジュールアイコンMA同士が接続されようとした場合でも、接続されないようになっている。 It is assumed that the processor 110 determines that any two module icon MAs via the line LN cannot be connected to each other based on the connection availability information held in the memory 130. The fact that the two module icons MA cannot be connected to each other means that the output unit 13 of the second module icon MA cannot be connected to the input unit 12 of the first module via the line LN, and the first module. It is shown that the output unit 13 of the second module icon MA cannot be connected to the input unit 12 of the icon MA via the line LN. In this case, the processor 110 prohibits connecting the two modules via the line LN. That is, even if two module icon MAs that cannot connect one end and the other end of the line LN are to be connected to each other, they are not connected.

代わりに、プロセッサ110は、接続不可な2つのモジュールアイコンMA間をラインLNで接続しようとした場合、接続不可であるモジュールアイコンMAに対応するモジュールが属するカテゴリのカテゴリアイコンCAを画面G1に表示させてもよいし、又はこのカテゴリに属する他のモジュールに対応する他のモジュールアイコンMAを表示させてもよい。プロセッサ110は、表示された他のモジュールアイコンMAの入力部12又は出力部13に、上記のラインLNの端部と接続してよい。なお、カテゴリアイコンCAが表示された場合の動作は、上述と同様であり、操作デバイス140を介してカテゴリアイコンCAが指示されると、モジュール一覧リストが表示され、モジュール一覧リストの中から1つの他のモジュールが選択されてよい。また、プロセッサ110は、代替して連結可能なモジュールが同じカテゴリ内に複数存在する場合、接続可否情報に基づいて、入出力関係を加味して連結可能なモジュールの一覧のリストを表示させ、操作デバイス140を介して1つのモジュールを選択してよい。プロセッサ110は、選択されたモジュールに対応するモジュールアイコンMAを、接続不可であったラインLNの端部と接続してよい。 Instead, when the processor 110 tries to connect two unconnectable module icons MA with a line LN, the processor 110 displays the category icon CA of the category to which the module corresponding to the unconnectable module icon MA belongs on the screen G1. Alternatively, other module icons MA corresponding to other modules belonging to this category may be displayed. The processor 110 may be connected to the input unit 12 or the output unit 13 of the other displayed module icon MA with the end portion of the above line LN. The operation when the category icon CA is displayed is the same as described above. When the category icon CA is instructed via the operation device 140, the module list is displayed and one of the module list is displayed. Other modules may be selected. Further, when a plurality of modules that can be connected instead exist in the same category, the processor 110 displays a list of modules that can be connected in consideration of the input / output relationship based on the connection availability information, and operates. One module may be selected via device 140. Processor 110 may connect the module icon MA corresponding to the selected module to the end of the line LN that was not connectable.

次に、連結可能なモジュールの検出例について説明する。 Next, an example of detecting modules that can be connected will be described.

図6は、接続可否情報I3の一例を示す図である。接続可否情報I3は、メモリ130に保持されている。図6では、デバイスカテゴリに属する各デバイスモジュールと、データソースカテゴリに属する各データソースモジュールと、データカテゴリに属する各データモジュールと、を示している。そして、異なるカテゴリのモジュールに対応するモジュールアイコンMA間で接続可能であるか、つまり、各モジュールに入力又は出力されるデータ又は処理が連結可能であるか否かを、矢印付きの直線で示している。なお、矢印はデータ又は処理の流れを示しており、矢印の根本側から出力されたデータや処理が、矢印の先端側のモジュールに入力可能であることを示している。 FIG. 6 is a diagram showing an example of connection availability information I3. The connection availability information I3 is held in the memory 130. FIG. 6 shows each device module belonging to the device category, each data source module belonging to the data source category, and each data module belonging to the data category. Then, whether or not the module icons MA corresponding to the modules of different categories can be connected, that is, whether or not the data or processing input or output to each module can be connected is indicated by a straight line with an arrow. There is. The arrow indicates the flow of data or processing, and indicates that the data or processing output from the root side of the arrow can be input to the module on the tip side of the arrow.

これにより、ソフトウェアの生成過程において接続可能な各モジュールが順番にデータの入出力や処理を繰り返すことで、ソフトウェアを生成可能となる。つまり、複数のカテゴリ間で連結可能なモジュールは、予め定められている。接続可否情報I3によって、各カテゴリの各モジュールはそれぞれ、どのカテゴリのどのモジュールと連結できるかという情報を含んでいる。2つのモジュール間での接続可否は、例えば、入出力するためのフォーマットが互いに適合しているか否かが加味されてもよい。なお、同じカテゴリの2つのモジュール(例えば処理モジュール)が、ソフトウェアの生成過程において前後関係(入出力関係)にあり、連結されてもよい。 As a result, software can be generated by each connectable module repeating data input / output and processing in order in the software generation process. That is, the modules that can be linked between a plurality of categories are predetermined. The connection availability information I3 includes information on which module in which category can be connected to each module in each category. Whether or not the two modules can be connected may take into account, for example, whether or not the formats for input / output match each other. Two modules (for example, processing modules) in the same category have a context (input / output relationship) in the software generation process and may be connected.

図6では、デバイスモジュールとして、例えば、スマートフォン(単にスマホとも記載する)、ノートPC、パソコン、サーバ、カメラ(店頭)、レーザスキャナ、センサ(例えばスマートフォンが備える各種センサ)、リモコン、又は音声認識装置等が含まれている。カメラ(店頭)は、店頭に設置されたカメラを示す。データソースモジュールには、カメラ機能、レーザスキャナ機能、位置取得機能、マイク機能、音声テキスト機能、方角取得機能、傾斜角度取得機能、メール機能、SNS(Social Networking Service)機能、WEB情報取得機能、WEB閲覧履歴取得機能、購入履歴取得機能、通信履歴取得機能、又は連絡先取得機能、等が含まれている。つまり、データモジュールとデータソースモジュールとの入出力関係では、デバイスが有する機能がデータソースとなっている。また、データモジュールには、画像、映像、3D点群、緯度経度、水深、標高、速度、加速度、メール、住所、又は電話番号等が含まれる。 In FIG. 6, as the device module, for example, a smartphone (also referred to simply as a smartphone), a notebook PC, a personal computer, a server, a camera (storefront), a laser scanner, a sensor (for example, various sensors provided in the smartphone), a remote control, or a voice recognition device. Etc. are included. The camera (storefront) indicates a camera installed in the storefront. The data source module includes camera function, laser scanner function, position acquisition function, microphone function, voice text function, direction acquisition function, tilt angle acquisition function, mail function, SNS (Social Networking Service) function, WEB information acquisition function, and WEB. It includes a browsing history acquisition function, a purchase history acquisition function, a communication history acquisition function, a contact acquisition function, and the like. That is, in the input / output relationship between the data module and the data source module, the function of the device is the data source. The data module also includes an image, video, 3D point cloud, latitude / longitude, water depth, altitude, velocity, acceleration, mail, address, telephone number, and the like.

例えば、デバイスモジュールとしてのノートPCは、データソースモジュールとしてのカメラ機能、マイク機能、音声テキスト機能、方角取得機能、傾斜角度取得機能、メール機能、SNS機能、WEB情報取得機能、WEB閲覧履歴取得機能、又は購入履歴取得機能と矢印付きの直線で接続されており、入出力関係を加味して両モジュールを連結可能であることを示している。また、デバイスモジュールとしてのレーザスキャナは、データモジュールとしての3D点群と連結可能である。また、データソースモジュールとしてのカメラ機能は、データモジュールとしての画像及び映像と連結可能である。また、データソースモジュールとしてのレーザスキャナ機能は、データモジュールとしての3D点群と連結可能である。また、デバイスモジュールとしてのノートPCは、データモジュールとしてのメール、住所、及び電話番号と連結可能である。このように、デバイスとしての各種装置が直接的にデータを取得可能である場合には、データソースモジュールの介在を省略可能である。 For example, a notebook PC as a device module has a camera function as a data source module, a microphone function, a voice text function, a direction acquisition function, an inclination angle acquisition function, a mail function, an SNS function, a WEB information acquisition function, and a WEB browsing history acquisition function. Or, it is connected to the purchase history acquisition function by a straight line with an angle, indicating that both modules can be connected in consideration of the input / output relationship. Further, the laser scanner as a device module can be connected to a 3D point cloud as a data module. Further, the camera function as a data source module can be linked with an image and a video as a data module. Further, the laser scanner function as a data source module can be connected to a 3D point cloud as a data module. Further, the notebook PC as a device module can be linked with an email, an address, and a telephone number as a data module. In this way, when various devices as devices can directly acquire data, the intervention of the data source module can be omitted.

つまり、プロセッサ110は、接続可否情報I3に基づいて、複数のモジュール間での連結の可否や、複数のモジュール間で連結するためにどのモジュールを介在させればよいか、等を判定可能である。例えば、プロセッサ110は、デバイスモジュールとしてノートPCを選択し、データモジュールとして画像を選択した場合、接続可否情報I3において、ノートPCのモジュールと画像のモジュールとの間にあるデータソースモジュールとしてカメラ機能を選択して介在させれば、ノートPCと画像とをカメラ機能を介して連結可能であると判定可能である。 That is, the processor 110 can determine whether or not connection between a plurality of modules is possible, and which module should be interposed in order to connect between the plurality of modules, based on the connection availability information I3. .. For example, when the notebook PC is selected as the device module and the image is selected as the data module, the processor 110 functions as a data source module between the notebook PC module and the image module in the connection availability information I3. If it is selected and intervened, it can be determined that the notebook PC and the image can be connected via the camera function.

なお、図6において矢印付き直線で示した2つのモジュール間での接続許否は、一例であり、他の接続許否の関係であってよい。接続可否情報I3は、様々なカテゴリの様々な2つのモジュール間での接続許否の情報を含んでよい。 It should be noted that the connection permission / rejection between the two modules shown by the straight line with an arrow in FIG. 6 is an example, and may be related to other connection permission / rejection. The connection permission / rejection information I3 may include connection permission / rejection information between various two modules of various categories.

次に、各カテゴリのモジュールの選択例について説明する。 Next, an example of selecting modules in each category will be described.

図7は、商店街の通行人の数を計測する場合のモジュールの選択例を示す図である。図7では、処理カテゴリよりも後段のカテゴリの図示が省略されている。ここでは、目的モジュールが、商店街の通行人の数を計測することであってもよいし、商店街の通行人の数の計測結果を用いる任意の処理(例えば店舗の売上予測)であってもよい。 FIG. 7 is a diagram showing an example of selecting a module when measuring the number of passersby in a shopping district. In FIG. 7, the illustration of the category after the processing category is omitted. Here, the target module may be to measure the number of passersby in the shopping district, or may be an arbitrary process using the measurement result of the number of passersby in the shopping district (for example, sales forecast of the store). May be good.

図7では、プロセッサ110が、接続可否情報I3に基づいて、各カテゴリにおける1つのモジュールを選択すること、隣り合う2つのカテゴリの2つのモジュールが連結されることを示している。このことは、画面G1上では、隣り合う2つのカテゴリの2つのモジュールに対応するモジュールアイコンMAが、ラインLNで接続されることを相当する。また、図7では、各カテゴリで選択されたモジュールに対応して、このモジュールに接続可能な後段(出力側)のモジュールがモジュール一覧リストで表示され、1つのモジュールが選択されることを示している。 FIG. 7 shows that the processor 110 selects one module in each category based on the connection availability information I3, and two modules in two adjacent categories are concatenated. This corresponds to the module icon MA corresponding to two modules of two adjacent categories on the screen G1 being connected by a line LN. Further, FIG. 7 shows that the modules in the latter stage (output side) that can be connected to this module are displayed in the module list list corresponding to the modules selected in each category, and one module is selected. There is.

例えば、メニューからデバイスカテゴリが選択され、デバイスモジュールとしてカメラ(店頭)が選択され、データモジュールとして映像が選択され、データフィルタとして画像認識が選択され、処理カテゴリとして歩行者の数の計測が選択される。この場合、デバイスモジュールとしてカメラ(店頭)が選択されているので、その後段のデータモジュールのモジュール一覧リストとして、映像及び写真(画像の一例)が画面G1に表示されることを示している。また、データモジュールとして映像が選択されているので、その後段のデータフィルタモジュールのモジュール一覧リストとして、画像認識、画像抽出、画像処理、及び画像変更が画面G1に表示されることを示している。また、データフィルタモジュールとして画像認識が選択されているので、その後段の処理モジュールのモジュール一覧リストとして、歩行者の数の計測(単に歩行者とも記載)、自転車の数の計測(単に自転車とも記載)、車の数の計測(単に車とも記載)、動物の数の計測(単に動物とも記載)、植物の数の計測(単に植物とも記載)、及び建物の数の計測(単に建物とも記載)が画面G1に表示されることを示している。 For example, a device category is selected from the menu, a camera (storefront) is selected as the device module, video is selected as the data module, image recognition is selected as the data filter, and pedestrian count counting is selected as the processing category. Ru. In this case, since the camera (storefront) is selected as the device module, it is shown that the video and the photograph (an example of the image) are displayed on the screen G1 as the module list of the data module in the subsequent stage. Further, since the video is selected as the data module, it is shown that the image recognition, the image extraction, the image processing, and the image change are displayed on the screen G1 as the module list list of the data filter module in the subsequent stage. In addition, since image recognition is selected as the data filter module, the number of pedestrians (also simply described as pedestrian) and the number of bicycles (also simply described as bicycle) are measured as the module list of the processing module in the subsequent stage. ), Counting the number of cars (simply described as a car), Counting the number of animals (simply described as an animal), Counting the number of plants (simply described as a plant), and Counting the number of buildings (simply also described as a building) Is displayed on the screen G1.

なお、デバイスモジュールとしてカメラ(店頭)のモジュールが選択されていることで、商店街の通行人の数を計数に用いる画像(例えば映像(動画)又は写真(静止画))をカメラにより取得可能であるので、データソースモジュールは不要であり選択されていない。 By selecting the camera (storefront) module as the device module, it is possible to acquire an image (for example, a video (video) or a photograph (still image)) that uses the number of passersby in the shopping district for counting. As such, the data source module is unnecessary and not selected.

よって、プロセッサ110は、選択された一連のモジュールを連結することで、商店街の店舗の店頭に設置されたカメラによって映像を撮像し、この映像に対して画像認識し、歩行者の数を認識するソフトウェアを構築する。プロセッサ110等の情報処理装置が、このソフトウェアを実行することで、商店街の通行人の数を計数できる。 Therefore, by connecting a series of selected modules, the processor 110 captures an image by a camera installed at a store in a shopping district, recognizes the image of the image, and recognizes the number of pedestrians. Build software to do. An information processing device such as a processor 110 can count the number of passersby in a shopping district by executing this software.

図8は、商店街の日時、天候、気温、又は行事等のデータを収集する場合のモジュールの選択例を示す図である。図8では、処理カテゴリよりも後段のカテゴリの図示が省略されている。ここでは、目的モジュールが、各種データを保存することであってもよいし、各種データを用いる任意の処理(例えば店舗の売上予測)であってもよい。 FIG. 8 is a diagram showing an example of selecting a module when collecting data such as the date and time, weather, temperature, or event of a shopping district. In FIG. 8, the illustration of the category after the processing category is omitted. Here, the target module may be to store various data, or may be an arbitrary process using various data (for example, sales forecast of a store).

図8では、プロセッサ110が、接続可否情報I3に基づいて、各カテゴリにおける1つのモジュールを選択すること、隣り合う2つのカテゴリの2つのモジュールがラインLNで接続されることを示している。このことは、画面G1上では、隣り合う2つのカテゴリの2つのモジュールに対応するモジュールアイコンMAが、ラインLNで接続されることを相当する。また、図8では、各カテゴリで選択されたモジュールに対応して、このモジュールに接続可能な後段(出力側)のモジュールがモジュール一覧リストで表示され、1つ以上のモジュールが選択されることを示している。 FIG. 8 shows that the processor 110 selects one module in each category based on the connectability information I3, and two modules in two adjacent categories are connected by a line LN. This corresponds to the module icon MA corresponding to two modules of two adjacent categories on the screen G1 being connected by a line LN. Further, in FIG. 8, the modules in the latter stage (output side) that can be connected to this module are displayed in the module list according to the modules selected in each category, and one or more modules are selected. Shows.

例えば、メニューからデータソースカテゴリが選択され(不図示)、データソースモジュールとしてWEB情報取得機能が選択され、データモジュールとして、複数のモジュール(年月日、時刻、曜日、祝日、特定(○市)の場所の天候、特定の場所の気温、特定の場所の湿度、特定の場所の行事(○市の近隣の行事)、特定の場所のニュース(○市の近隣のニュース)、全国的な行事、及び全国的なニュース)が選択され、処理モジュールとして、保存が選択される。この場合、データソースモジュールとしてWEB情報取得機能が選択されているので、その後段のデータモジュールのモジュール一覧リストとして、年月日、時刻、曜日、祝日、特定(○市)の場所の天候、特定の場所の気温、特定の場所の湿度、特定の場所の行事(○市の近隣の行事)、特定の場所のニュース(○市の近隣のニュース)、全国的な行事、及び全国的なニュースが画面G1に表示されることを示している。また、データモジュールとして上記の各種データが選択されているので、その後段のデータフィルタモジュールのモジュール一覧リストとして、保存及び送信が画面G1に表示されることを示している。 For example, the data source category is selected from the menu (not shown), the WEB information acquisition function is selected as the data source module, and multiple modules (year / month / day, time, day, holiday, specific (○ city)) are selected as the data module. Weather in a specific place, temperature in a specific place, humidity in a specific place, events in a specific place (events in the vicinity of ○ city), news in a specific place (news in the neighborhood of ○ city), national events, And national news) is selected, and save is selected as the processing module. In this case, since the WEB information acquisition function is selected as the data source module, the date, time, day, holiday, weather of the specific (○ city) location, and identification are used as the module list of the data module in the subsequent stage. Location temperature, specific location humidity, specific location events (○ city neighborhood events), specific location news (○ city neighborhood news), national events, and national news It is shown that it is displayed on the screen G1. Further, since the above-mentioned various data are selected as the data module, it is shown that saving and transmitting are displayed on the screen G1 as a module list of the data filter module in the subsequent stage.

よって、プロセッサ110は、選択された一連のモジュールを連結することで、WEB情報取得機能によってWEB情報に含まれる各データを取得して保存するソフトウェアを構築する。プロセッサ110等の情報処理装置が、このソフトウェアを実行することで、商店街の日時(年月日、時刻、等)、天候、気温、又は行事等に関するデータを収集できる。なお、商店街の場所の情報は、例えば、商店街を歩く歩行者が所持するスマートフォンの位置取得機能によって取得されてよい。 Therefore, the processor 110 constructs software for acquiring and storing each data included in the WEB information by the WEB information acquisition function by concatenating a series of selected modules. By executing this software, an information processing device such as a processor 110 can collect data on the date and time (date, time, etc.), weather, temperature, event, etc. of the shopping district. The information on the location of the shopping district may be acquired by, for example, the position acquisition function of a smartphone possessed by a pedestrian walking in the shopping district.

図9は、ソフトウェア生成支援装置100によるデータ収集及び保存を行うソフトウェア生成時の画面表示例を示す図である。図9では、処理カテゴリよりも後段のカテゴリの図示が省略されている。ここでは、目的モジュールが、各種データを保存することであってもよいし、各種データを用いる任意の処理(例えば店舗の売上予測)であってもよい。図9では、選択された各モジュールに対応するモジュールアイコンMAが画面G1に表示されている。 FIG. 9 is a diagram showing an example of a screen display at the time of software generation for collecting and storing data by the software generation support device 100. In FIG. 9, the illustration of the category after the processing category is omitted. Here, the target module may be to store various data, or may be an arbitrary process using various data (for example, sales forecast of a store). In FIG. 9, the module icon MA corresponding to each selected module is displayed on the screen G1.

図9では、3つの系統のデータを収集して保存するソフトウェアを生成することを例示する。3つの系統のデータとは、商店街の通行人の数(歩行者数)の計測のデータ、商店街に関するデータ(例えば天候、気温、行事、ニュース、日時、及び場所等のデータ)、並びに、商店街にある店舗の売上に関するデータ(例えば、購入された商品の商品名、商品の値段、購入者の性別、購入者の年齢、購入日時、及び購入場所)を含む。歩行者数の計測に関するモジュールについては、図7で示した内容と同様であるので、説明を省略又は簡略化する。商店街に関するデータの収集に関するモジュールについては、図8で示した内容と同様であるので、説明を省略又は簡略化する。なお、歩行者数の一部は、所定の店舗に入店又は所定の店舗から出店する人も含まれ得る。また、入店又は出店する人の一部は、店舗で商品を購入し得る。そのため、例えば歩行者数の計測結果に基づいて店舗の売上情報が算出可能である。 FIG. 9 illustrates the generation of software that collects and stores data from three lines. The data of the three systems are data for measuring the number of passersby (number of pedestrians) in the shopping district, data on the shopping district (for example, data on weather, temperature, events, news, date and time, location, etc.), and data. It includes data on the sales of stores in the shopping district (for example, the product name of the purchased product, the price of the product, the gender of the purchaser, the age of the purchaser, the date and time of purchase, and the place of purchase). Since the module related to the measurement of the number of pedestrians is the same as the content shown in FIG. 7, the description will be omitted or simplified. Since the module related to the collection of data related to the shopping district is the same as the content shown in FIG. 8, the description will be omitted or simplified. In addition, a part of the number of pedestrians may include a person who enters or opens a store in a predetermined store. In addition, some people who enter or open a store may purchase products at the store. Therefore, for example, the sales information of the store can be calculated based on the measurement result of the number of pedestrians.

歩行者数の計測に関するモジュールは、デバイスモジュールとしてのカメラ(店頭)のモジュールM11と、データモジュールとしての映像、日時、及び場所のモジュールM12と、処理モジュールとしての歩行者数計測のモジュールM13と、を含む。モジュールM11~M13に対応するモジュールアイコンMA11~MA13が画面G1に表示されている。そして、各モジュールアイコンMA11~MA13の間には、入出力関係を加味してラインLNが接続されている。なお、データモジュールの日時は任意であるが、日時が現在時刻である場合、データモジュールは、映像としてリアルタイム映像を取得することになる。なお、モジュールM12に示すように、カテゴリに属する各モジュールを複数まとめて、1つのモジュールとして画面G1上に表示させてもよい。 Modules related to pedestrian number measurement include a camera (storefront) module M11 as a device module, a video, date and time, and location module M12 as a data module, and a pedestrian number measurement module M13 as a processing module. including. The module icons MA11 to MA13 corresponding to the modules M11 to M13 are displayed on the screen G1. A line LN is connected between the module icons MA11 to MA13 in consideration of the input / output relationship. The date and time of the data module is arbitrary, but if the date and time is the current time, the data module acquires real-time video as video. As shown in the module M12, a plurality of modules belonging to the category may be collectively displayed on the screen G1 as one module.

なお、この場合、図7と同様に、プロセッサ110は、映像から歩行者を認識するために、データモジュールと処理モジュールとの間に、データフィルタモジュールとしての画像認識のモジュールに対応するモジュールを追加してもよい。この場合、プロセッサ110は、画面G1に画像認識のモジュールに対応するモジュールアイコンMAを表示させてもよい。 In this case, as in FIG. 7, the processor 110 adds a module corresponding to the image recognition module as a data filter module between the data module and the processing module in order to recognize the pedestrian from the image. You may. In this case, the processor 110 may display the module icon MA corresponding to the module for image recognition on the screen G1.

商店街に関するデータの収集に関するモジュールは、デバイスソースモジュールとしてのWEB情報取得機能のモジュールM14と、データモジュールとしての天候、気温、行事、ニュース、日時、及び場所のモジュールM15と、を含む。これらのモジュールM14,M15に対応するモジュールアイコンMAが画面G1に表示されている。そして、各モジュールアイコンMA14,MA15の間には、入出力関係を加味してラインLNが接続されている。 The module for collecting data about the shopping district includes the module M14 for the WEB information acquisition function as a device source module, and the module M15 for the weather, temperature, event, news, date and time, and place as a data module. The module icon MA corresponding to these modules M14 and M15 is displayed on the screen G1. A line LN is connected between the module icons MA14 and MA15 in consideration of the input / output relationship.

店舗の売上に関するデータの収集に関するモジュールは、デバイスモジュールとしてのPOS(Point of sale)(店頭)のモジュールM16と、データモジュールとしての購入された商品の商品名、商品の値段、購入者の性別、購入者の年齢、購入日時、及び購入場所のモジュールM17と、を含む。POS(店頭)とは、店舗の店頭に設置されたPOS端末を示す。これらのモジュールM16,M17に対応するモジュールアイコンMA16,MA17が画面G1に表示されている。そして、各モジュールアイコンMAの間には、入出力関係を加味してラインLNが接続されている。 The modules for collecting data related to store sales are the POS (Point of sale) (store) module M16 as a device module, the product name of the purchased product as a data module, the price of the product, and the gender of the purchaser. Includes the age of the purchaser, the date and time of purchase, and the module M17 at the place of purchase. The POS (point of sale) refers to a POS terminal installed in a store. The module icons MA16 and MA17 corresponding to these modules M16 and M17 are displayed on the screen G1. Then, a line LN is connected between each module icon MA in consideration of the input / output relationship.

さらに、モジュールアイコンMA13,MA15,MA17のそれぞれと、処理モジュールとしてのデータ保存のモジュールM18に対応するモジュールアイコンMA18とが、各ラインLNを介して接続されている。そのため、モジュールM4は、歩行者数のデータと、商店街に関するデータと、店舗の売上に関するデータとを、メモリ130等に保存する機能を有する。 Further, each of the module icons MA13, MA15, and MA17 and the module icon MA18 corresponding to the data storage module M18 as a processing module are connected via each line LN. Therefore, the module M4 has a function of storing data on the number of pedestrians, data on the shopping district, and data on the sales of the store in the memory 130 or the like.

よって、プロセッサ110は、ラインLNで接続された一連のモジュールアイコンMAに対応する一連のモジュールによって、以下の3系統のデータを保存するソフトウェア部品を構築できる。1つの系統のデータは、商店街の店舗の店頭に設置されたカメラによって所定の日時及び場所での映像が撮像され、映像に基づいて歩行者の数が計測され、計測された歩行者数のデータである。他の1つの系統のデータは、WEB情報取得機能によってWEB情報から取得された、商店街の日時、天候、気温、行事、ニュース、日時、及び場所等の各データである。他の1つの系統のデータは、店頭に設置されたPOS端末から収集された、購入された商品の商品名、商品の値段、購入者の性別、購入者の年齢、購入日時、及び購入場所の各データである。 Therefore, the processor 110 can construct a software component that stores the following three systems of data by a series of modules corresponding to the series of module icons MA connected by the line LN. The data of one system is obtained by capturing an image at a predetermined date and time and place by a camera installed at the storefront of a store in a shopping district, measuring the number of pedestrians based on the image, and measuring the number of pedestrians. It is data. The data of the other one system is each data such as the date and time, the weather, the temperature, the event, the news, the date and time, and the place of the shopping district acquired from the WEB information by the WEB information acquisition function. The data of the other one system is the product name of the purchased product, the price of the product, the gender of the purchaser, the age of the purchaser, the date and time of purchase, and the place of purchase collected from the POS terminal installed in the store. Each data.

このように、プロセッサ110は、接続可否情報I3に基づいて、各モジュールの配置関係及びラインLNの接続関係に基づいて、3つの系統のデータ収集及び保存を行うソフトウェアを生成する。例えば、プロセッサ110は、WEB情報から商店街及び店舗の付近の日付、天候、時刻等の付帯情報を取得できる。また、別のデータとして、店舗情報(例えばPOS情報)なども保存できる。そして、データ保存では、例えば、得られた情歩行者数、付帯情報、店舗情報、などを事時刻情報(日時情報など)で関連付けながら保存できる。なお、ここで保存されたデータは、実空間での様々な処理を行うために用いることもできるし、後述するような学習器の学習データとして用いることもできる。 As described above, the processor 110 generates software for collecting and storing data of the three systems based on the connection availability information I3 and the arrangement relationship of each module and the connection relationship of the line LN. For example, the processor 110 can acquire incidental information such as a date, weather, and time in the shopping district and the vicinity of the store from the WEB information. In addition, store information (for example, POS information) can be stored as another data. Then, in the data storage, for example, the obtained number of pedestrians, incidental information, store information, etc. can be saved while being associated with the time information (date and time information, etc.). The data saved here can be used for performing various processes in the real space, or can be used as learning data of a learning device as described later.

なお、図9では、Start/StopボタンB2が表示されている。プロセッサ110は、操作デバイス140を介してStart/StopボタンB2を選択することで、一連のモジュールに係る処理(例えばデータ保存に係る一連の処理)、つまり生成されたソフトウェアを実行する。プロセッサ110は、操作デバイス140を介してStart/StopボタンB2を再度選択することで、実行中のソフトウェアの実行を終了してよい。 In FIG. 9, the Start / Stop button B2 is displayed. By selecting the Start / Stop button B2 via the operating device 140, the processor 110 executes a process related to a series of modules (for example, a series of processes related to data storage), that is, the generated software. The processor 110 may end the execution of the running software by selecting the Start / Stop button B2 again via the operating device 140.

図10は、ソフトウェア生成支援装置100によるAIによる学習と未来予測を行う場合の画面表示例を示す図である。図10では、目的モジュールが、本日の売上予測であることを例示する。目的モジュールに対応するモジュールアイコンMA70が、ラインLNを介してモジュールアイコンMA55の出力側に接続されて表示されてよい。 FIG. 10 is a diagram showing a screen display example when learning by AI and future prediction are performed by the software generation support device 100. FIG. 10 illustrates that the target module is today's sales forecast. The module icon MA70 corresponding to the target module may be connected and displayed on the output side of the module icon MA55 via the line LN.

カテゴリには、前述したデータカテゴリ等とともに、AIカテゴリが含まれてよい。なお、AIカテゴリは、複数のカテゴリを包括的に含んでよい。例えば、AIカテゴリに、データカテゴリ、データフィルタカテゴリ、処理カテゴリ、表示カテゴリ、等が含まれてよい。この場合、AIカテゴリのデータモジュールをAIデータモジュール、AIカテゴリのデータフィルタモジュールをAIデータフィルタモジュール、AIカテゴリの処理モジュールをAI処理モジュール、AIカテゴリの表示モジュールをAI処理モジュールとも称する。 The category may include the AI category together with the above-mentioned data category and the like. The AI category may include a plurality of categories comprehensively. For example, the AI category may include a data category, a data filter category, a processing category, a display category, and the like. In this case, the AI category data module is also referred to as an AI data module, the AI category data filter module is also referred to as an AI data filter module, the AI category processing module is also referred to as an AI processing module, and the AI category display module is also referred to as an AI processing module.

図10では、画面G1上に、AIの学習に関するモジュールであるAIモジュールM5(M51,M52,M53,…)に対応するモジュールアイコンMA5(MA51,MA52,…)が1つ以上配置されており、実世界での処理に関するモジュールM6(M61,M62,…)に対応するモジュールアイコンMA6(MA61,MA62,…)が1つ以上配置されている。プロセッサ110は、各AIモジュールM5によって、AIに関する所定の機能(例えば店舗の売上予測機能)を実現するソフトウェア部品を生成する。プロセッサ110は、実世界での処理に関する各モジュールM6によって、実世界での所定の機能(例えば商店街の歩行者数計測機能)を実現するソフトウェア部品を生成する。 In FIG. 10, one or more module icons MA5 (MA51, MA52, ...) Corresponding to the AI module M5 (M51, M52, M53, ...), Which is a module related to AI learning, are arranged on the screen G1. One or more module icons MA6 (MA61, MA62, ...) Corresponding to modules M6 (M61, M62, ...) Related to processing in the real world are arranged. The processor 110 generates software components that realize predetermined functions related to AI (for example, a store sales forecast function) by each AI module M5. The processor 110 generates software components that realize a predetermined function in the real world (for example, a pedestrian number measuring function in a shopping district) by each module M6 related to processing in the real world.

なお、実世界での商店街の歩行者数計測機能を実現するモジュールM6(モジュールアイコンMA61~MA63に対応する各モジュール)は、図9に示した各モジュールアイコンMA11~MA13に対応するモジュールと同じであるので、説明を省略する。図10の歩行者数計測機能は、店舗の店頭に設置されたカメラにより撮像されたリアルタイム映像を用いて、リアルタイムの歩行者数の計測を計測する。 The module M6 (each module corresponding to the module icons MA61 to MA63) that realizes the pedestrian number measurement function of the shopping street in the real world is the same as the module corresponding to each module icon MA11 to MA13 shown in FIG. Therefore, the description thereof will be omitted. The pedestrian number measurement function of FIG. 10 measures the measurement of the number of pedestrians in real time by using the real-time image captured by the camera installed in the storefront of the store.

図10では、AIモジュールM51~M55に対応するモジュールアイコンMA51~MA55が画面G1に表示されている。AIモジュールM51は、予測に必要な任意のデータ(例えば商品の購入日時や購入場所を含むデータ)であるAIデータモジュールである。AIモジュールM52は、取得された購入日時や購入場所等のデータを連結する(関連付ける)AIデータフィルタモジュールである。AIモジュールM53は、学習器を生成するAI処理モジュールである。この学習器は、AIデータフィルタを介して得られたデータに基づいて売上予測する。AIモジュールM54は、生成された学習器を用いて、リアルタイム映像に基づく商店街の歩行者数計測結果に基づいて、所定の店舗(購入場所の一例)におけるその日(本日)(購入日時の一例)の売上予測(例えば売上高)を算出するAI処理モジュールである。AIモジュールM55は、本日の売上予測の算出結果をグラフ形式で、所定の表示デバイス(例えば表示デバイス150)に表示させるAI表示モジュールである。 In FIG. 10, the module icons MA51 to MA55 corresponding to the AI modules M51 to M55 are displayed on the screen G1. The AI module M51 is an AI data module which is arbitrary data necessary for prediction (for example, data including a purchase date and time of a product and a place of purchase). The AI module M52 is an AI data filter module that concatenates (associates) acquired data such as purchase date and time and purchase location. The AI module M53 is an AI processing module that generates a learner. This learner forecasts sales based on the data obtained via the AI data filter. The AI module M54 uses the generated learning device to measure the number of pedestrians in a shopping district based on real-time images, and the day (today) (an example of the purchase date and time) at a predetermined store (an example of a purchase place). It is an AI processing module that calculates a sales forecast (for example, sales) of. The AI module M55 is an AI display module that displays the calculation result of today's sales forecast on a predetermined display device (for example, display device 150) in a graph format.

図10では、プロセッサ110が、接続可否情報I3に基づいて、モジュールアイコンMAのうち、ソフトウェアの生成過程を加味して隣り合う2つのモジュールアイコンMAがラインLNで接続されている。プロセッサ110は、ラインで接続された各モジュール(AIモジュールM5含む)のデータや処理を連結して、ソフトウェアを生成する。 In FIG. 10, the processor 110 connects two adjacent module icon MAs of the module icon MAs by a line LN based on the connection availability information I3 in consideration of the software generation process. The processor 110 concatenates the data and processing of each module (including the AI module M5) connected by a line to generate software.

AIモジュールM51~M53が順にラインLNで接続されることで、プロセッサ110は、過去のデータ等の売上予測に必要な任意のデータに基づいて店舗の売上を予測するための学習器を生成するソフトウェア部品を構築する。なお、ここではデータの供給源であるデバイスモジュール又はデータソースモジュールに対応するモジュールアイコンの図示が省略されているが、例えばこのデータの供給源はメモリ130である。 By connecting AI modules M51 to M53 in order by line LN, the processor 110 is software that generates a learning device for predicting store sales based on arbitrary data necessary for sales prediction such as past data. Build the parts. Although the module icon corresponding to the device module or the data source module which is the data source is not shown here, for example, the data source is the memory 130.

AIモジュールM54は、AIの学習に関する各AIモジュールMによって得られた処理結果と、実世界での処理に関する各モジュールMRによって得られた処理結果と、に基づいて、目的モジュールにより規定された本日の売上予測を実現する処理を行うAI処理モジュールである。AIモジュールM54は、学習器により推論を行うモジュールに相当する。AIモジュールM55は、学習器による推論結果を表示するAI表示モジュールである。 The AI module M54 is defined by today's target module based on the processing results obtained by each AI module M regarding AI learning and the processing results obtained by each module MR regarding processing in the real world. It is an AI processing module that performs processing to realize sales forecast. The AI module M54 corresponds to a module that makes inferences by a learner. The AI module M55 is an AI display module that displays the inference result by the learner.

したがって、プロセッサ110は、ソフトウェアとして、例えば、データ(例えば過去実績のデータ)に基づく売り上げ予測の算出が学習された学習器を用いて、カメラ(店頭)により撮像されたリアルタイムの映像に基づいて計測された実世界での商店街の歩行者数を基に、本日の売上を予測し、予測された情報を所定の表示デバイスにグラフ等により表示させるソフトウェアを生成する。 Therefore, the processor 110 measures based on real-time images captured by a camera (storefront) using, for example, a learning device that has learned the calculation of sales forecasts based on data (for example, past actual data) as software. Based on the number of pedestrians in the shopping street in the real world, today's sales are predicted, and software is generated to display the predicted information on a predetermined display device by a graph or the like.

学習器は、所定の場所(例えば所定の店舗)及び所定の日時(例えば本日)での売り上げ予測を行う。学習器は、売上予測に必要なデータ(例えば購入場所、購入日時)に基づいて所定の場所(例えば所定の店舗)及び所定の日時(例えば本日)での売り上げ予測を行うための学習が予め実施された学習済みモデルである。 The learner predicts sales at a predetermined place (for example, a predetermined store) and a predetermined date and time (for example, today). The learning device is pre-learned to predict sales at a predetermined place (for example, a predetermined store) and a predetermined date and time (for example, today) based on data necessary for sales forecast (for example, purchase place, purchase date and time). It is a trained model that has been trained.

学習器は、売上予測を行うための任意の条件(例えば、対象店舗がある商店街の所定時間帯における歩行者数、同じ所定時間帯の対象店舗や商店街に関する付帯情報(例えば天候、気象、行事、ニュース、日時、又は場所)、又は同じ所定時間帯における対象店舗のPOSデータ(例えば購入された商品名、値段、性別)等を、学習の入力データとする。ここでの入力データは、例えば、メモリ130に保存された様々なデータであってよい。学習器は、任意の入力データ(任意の条件)に対応して出力データを生成する。また、学習器は、この任意の条件下での対象店舗の所定時間帯での過去の売上実績を正解データとする。この入力データと入力データに対応する正解データは、過去の実績としてメモリ130に多数保持されていてよい。 The learner can use any condition for forecasting sales (for example, the number of pedestrians in a predetermined time zone of a shopping district where the target store is located, and incidental information about the target store or shopping district in the same predetermined time zone (for example, weather, weather, etc.). Events, news, date and time, or place), or POS data of the target store (for example, purchased product name, price, gender) in the same predetermined time zone, etc. are used as learning input data. The input data here is. For example, it may be various data stored in the memory 130. The learner generates output data corresponding to arbitrary input data (arbitrary conditions), and the learner generates output data corresponding to arbitrary input data (arbitrary conditions). The past sales record in the predetermined time zone of the target store in the above is used as the correct answer data. A large number of the input data and the correct answer data corresponding to the input data may be held in the memory 130 as the past record.

プロセッサ110は、入力データと正解データとを基に、学習器に機械学習させる。この場合、プロセッサ110は、入力データに対応する出力データが入力データに対応する正解データに近づくように、学習器が有するパラメータを調整することで、学習器を学習させる。プロセッサ110は、ニューラルネットワークを用いたディープラーニングによって学習器を生成してよい。ニューラルネットワークは、例えばDNN(Deep Neural Network)であってよい。この結果、プロセッサ110は、学習器を用いることで、任意の条件に対応する売上予測を高精度に実施できるようになる。 The processor 110 causes the learner to perform machine learning based on the input data and the correct answer data. In this case, the processor 110 trains the learner by adjusting the parameters of the learner so that the output data corresponding to the input data approaches the correct answer data corresponding to the input data. The processor 110 may generate a learner by deep learning using a neural network. The neural network may be, for example, a DNN (Deep Neural Network). As a result, the processor 110 can perform sales forecast corresponding to an arbitrary condition with high accuracy by using the learning device.

このように、プロセッサ110は、AIの機能を有し学習と推論を実行するソフトウェアを生成できる。なお、上記は一例であり、学習器が何を学習するか、学習器が何を推論するかは任意である。プロセッサ110は、入力データ及び教師データの型を基に、学習器の学習内容及び学習器による推論内容を決定する。ソフトウェア生成支援装置100は、このようなAI機能により、例えば、デジタルツインのデータ収集、3D表示と人工知能とを簡易に連携でき、未来予測可能なソフトウェアを容易に構築できる。 In this way, the processor 110 can generate software that has the function of AI and performs learning and inference. The above is an example, and what the learner learns and what the learner infers is arbitrary. The processor 110 determines the learning content of the learning device and the inference content by the learning device based on the types of the input data and the teacher data. With such an AI function, the software generation support device 100 can easily link, for example, digital twin data collection and 3D display with artificial intelligence, and can easily construct software that can predict the future.

次に、モジュール補間について説明する。 Next, module interpolation will be described.

ユーザにより操作デバイス140を介して決定された1つ以上のモジュールに基づくプログラムの実施のみでは、目的モジュールの目的を達成できない場合、プロセッサ110は、不足しているモジュールを補間するよう支援したり、自動的にモジュールを補間したりしてよい。モジュール補間の際には、入力側又は出力側に接続可能なモジュールの一覧を表示し、操作デバイス140を介して選択可能としてもよい。この場合、ソフトウェア生成支援装置100は、ユーザ所望のモジュールを選択する支援ができる。また、モジュール補間の際には、2つのモジュール間を接続可能となるような一連のモジュールを補間してもよい。この場合、ユーザは一覧からモジュールを選択する手間を省いて、モジュール補間を実施できる。 If the program based on one or more modules determined by the user through the operating device 140 alone cannot achieve the purpose of the target module, the processor 110 may assist in interpolating the missing module. Modules may be interpolated automatically. At the time of module interpolation, a list of modules that can be connected to the input side or the output side may be displayed and can be selected via the operation device 140. In this case, the software generation support device 100 can support the selection of the module desired by the user. Further, in the case of module interpolation, a series of modules that can be connected between the two modules may be interpolated. In this case, the user can perform module interpolation without having to select a module from the list.

例えば、プロセッサ110は、操作デバイス140を介して、ソフトウェアの生成過程において、あるカテゴリの前後のカテゴリのモジュールを選択することで、あるカテゴリに係るカテゴリアイコンCA又はモジュールアイコンMAを画面G1に表示させてよい。例えば、プロセッサ110は、任意のデバイスモジュールと任意のデータモジュールとを選択した場合、データソースのカテゴリアイコンを画面G1に表示させてよい。または、この場合、プロセッサ110は、接続可否情報I3に基づいて、入力部12にデバイスモジュールのモジュールアイコンMAの出力部13を接続可能であり、出力部13にデータモジュールのモジュールアイコンMAの入力部12を接続可能であるデータソースモジュールのモジュールアイコンMAを画面G1に表示させてよい。同様に、プロセッサ110は、データモジュールと処理モジュールとを選択することで、データフィルタのカテゴリアイコンCA又は接続可否情報I3に基づくモジュールアイコンMAを画面G1に表示させてよい。 For example, the processor 110 displays the category icon CA or the module icon MA related to a certain category on the screen G1 by selecting the modules of the categories before and after the certain category in the software generation process via the operation device 140. It's okay. For example, when the processor 110 selects an arbitrary device module and an arbitrary data module, the data source category icon may be displayed on the screen G1. Alternatively, in this case, the processor 110 can connect the output unit 13 of the module icon MA of the device module to the input unit 12 based on the connection availability information I3, and the input unit of the module icon MA of the data module to the output unit 13. The module icon MA of the data source module to which 12 can be connected may be displayed on the screen G1. Similarly, the processor 110 may display the category icon CA of the data filter or the module icon MA based on the connection availability information I3 on the screen G1 by selecting the data module and the processing module.

また、ユーザにより操作デバイス140を介して決定されたモジュールが1つであった場合、プロセッサ110は、ソフトウェアの生成過程においてこのモジュールよりも前段側又は後段側に連結可能なモジュールを1段ずつ順に連結してよい。例えば、プロセッサ110は、モジュールの入力側及び出力側に連結可能なモジュールを順に決定し、連結が決定されたモジュールに対応するモジュールアイコンMAを画面G1に順に表示させてよい。 Further, when the number of modules determined by the user via the operation device 140 is one, the processor 110 sequentially connects modules that can be connected to the front stage side or the rear stage side of this module in the software generation process. It may be connected. For example, the processor 110 may sequentially determine the modules that can be connected to the input side and the output side of the module, and display the module icon MA corresponding to the module for which the connection is determined in order on the screen G1.

次に、ソフトウェア生成支援装置100の動作例について説明する。ここでの動作例により、図9や図10のようなラインLNに接続された一連のモジュールアイコンMAが画面G1に表示される。 Next, an operation example of the software generation support device 100 will be described. According to the operation example here, a series of module icons MA connected to the line LN as shown in FIGS. 9 and 10 are displayed on the screen G1.

図11は、ソフトウェア生成支援装置100による動作例を示すフローチャートである。 FIG. 11 is a flowchart showing an operation example by the software generation support device 100.

まず、プロセッサ110は、操作デバイス140を介して、メニューからユーザ所望のカテゴリのモジュールを決定し、決定されたモジュールに対応するモジュールアイコンMAを表示させる(モジュールの決定処理)(S1)。ステップS1の段階では、メニューから決定されたモジュールアイコンMA(例えば図9のモジュールアイコンMA11~MA18)が画面G1に配置されるのみであり、ラインLNが表示されない状態となる。なお、プロセッサ110は、複数のモジュールアイコンMAを画面G1に表示させる場合、例えば、ソフトウェアの生成過程において隣接するモジュールを、画面G1上で隣接して配置させる。この場合、ユーザは、ソフトウェアの生成過程を直感的に理解し易くなる。 First, the processor 110 determines a module of the category desired by the user from the menu via the operation device 140, and displays the module icon MA corresponding to the determined module (module determination process) (S1). At the stage of step S1, the module icons MA (for example, the module icons MA11 to MA18 in FIG. 9) determined from the menu are only arranged on the screen G1, and the line LN is not displayed. When displaying a plurality of module icons MA on the screen G1, the processor 110 arranges, for example, adjacent modules adjacent to each other on the screen G1 in the software generation process. In this case, the user can easily understand the software generation process intuitively.

プロセッサ110は、接続可否情報I3に基づいて、ラインLNを介して、例えば表示された複数のモジュールアイコンMA間をラインLNで接続し、複数のモジュールアイコンの間を接続し、モジュールアイコンMAとともにラインLNを画面G1に表示させる(モジュール間の接続処理)(S2)。 Based on the connection availability information I3, the processor 110 connects, for example, between a plurality of displayed module icons MA by a line LN, connects between a plurality of module icons, and lines together with the module icon MA via the line LN. Display the LN on the screen G1 (connection processing between modules) (S2).

モジュール間の接続処理では、まず、例えば、プロセッサ110は、メニューからモジュールアイコンMAの間をラインLNで接続するための操作(ライン接続操作)を選択し、各モジュールアイコンMAの入力部12及び出力部13に、ラインLNの一端部及び他端部を順番に接続する。なお、モジュール間の接続処理では、ラインLNの接続が不可であったり、モジュールを他のモジュールに変更したり、モジュール追加(補間)したりすることもある。また、プロセッサ110は、接続可否情報I3に基づいて、ステップS1で決定されたモジュール同士で連結可能なモジュールが存在する場合には、ライン接続操作の代わりに、自動的にラインLNを表示させて、入出力関係を加味して、連結可能な2つのモジュールに対応するモジュールアイコンMAをラインLNで接続してもよい。 In the connection process between modules, for example, the processor 110 selects an operation (line connection operation) for connecting between the module icons MA by a line LN from the menu, and inputs and outputs the input unit 12 and the output of each module icon MA. One end and the other end of the line LN are connected to the portion 13 in order. In the connection process between modules, the line LN may not be connected, the module may be changed to another module, or the module may be added (interpolated). Further, the processor 110 automatically displays the line LN instead of the line connection operation when there is a module that can be connected between the modules determined in step S1 based on the connection availability information I3. , The module icon MA corresponding to the two modules that can be connected may be connected by the line LN in consideration of the input / output relationship.

なお、プロセッサ110は、操作デバイス140を介して、画面G1に表示されたモジュールアイコンMA等のアイコン及び前記ラインLNの位置を移動可能である。また、プロセッサ110は、操作デバイス140を介して、画面G1におけるラインLNの形状を変形可能である。このような移動や変形により、各モジュールアイコンMAの各端子と各ラインLNとが接続し易くなる。 The processor 110 can move the icon such as the module icon MA displayed on the screen G1 and the position of the line LN via the operation device 140. Further, the processor 110 can deform the shape of the line LN on the screen G1 via the operation device 140. By such movement or deformation, it becomes easy to connect each terminal of each module icon MA and each line LN.

プロセッサ110は、各モジュールの入出力の接続関係と、各モジュールの属性と、に基づいて、ソフトウェアを生成する(S3)。つまり、プロセッサ110は、接続可否情報I3に基づいてラインLNで接続された各モジュールアイコンMAの入力部12及び出力部13の接続関係と、各モジュールのデータや処理の内容と、に基づいて、ソフトウェアを生成する。 The processor 110 generates software based on the input / output connection relationship of each module and the attributes of each module (S3). That is, the processor 110 is based on the connection relationship between the input unit 12 and the output unit 13 of each module icon MA connected by the line LN based on the connection availability information I3, and the data and processing contents of each module. Generate software.

図12は、ソフトウェア生成支援装置100によるモジュールの決定処理時の動作例を示すフローチャートである。 FIG. 12 is a flowchart showing an operation example at the time of the module determination processing by the software generation support device 100.

まず、プロセッサ110は、操作デバイス140を介して、メニューボタンB1を押下など行うことで、カテゴリ一覧情報I1に基づいて、カテゴリの一覧を画面G1に表示させ(S11)、一覧表示された1つ以上のカテゴリの中から任意のカテゴリを選択する(S12)。プロセッサ110は、モジュール一覧情報I2に基づいて、選択されたカテゴリに属するモジュールの一覧を画面G1に表示させ(S13)、一覧表示された1つ以上のモジュールの中から任意のモジュールを選択して決定し(S14)、決定されたモジュールに対応するモジュールアイコンMAを画面G1に表示させる(S15)。プロセッサ110は、所望のカテゴリの所望のモジュールの選択が終了したか否かを判定する(S16)。この場合、プロセッサ110は、例えば操作デバイス140を介してこの選択が終了したか否かを指示してよい。所望のカテゴリの所望のモジュールの選択が終了していない場合、ステップS11に進む。一方、所望のカテゴリの所望のモジュールの選択が終了した場合、図12の処理を終了する。 First, the processor 110 displays a list of categories on the screen G1 based on the category list information I1 by pressing the menu button B1 or the like via the operation device 140 (S11), and the list is displayed. Select any category from the above categories (S12). The processor 110 displays a list of modules belonging to the selected category on the screen G1 based on the module list information I2 (S13), and selects an arbitrary module from one or more of the listed modules. Determined (S14), and the module icon MA corresponding to the determined module is displayed on the screen G1 (S15). The processor 110 determines whether or not the selection of the desired module of the desired category is completed (S16). In this case, the processor 110 may indicate whether or not this selection has been completed, for example via the operating device 140. If the selection of the desired module in the desired category has not been completed, the process proceeds to step S11. On the other hand, when the selection of the desired module of the desired category is completed, the process of FIG. 12 is completed.

図13は、ソフトウェア生成支援装置100によるモジュール間の接続処理時の動作例を示すフローチャートである。 FIG. 13 is a flowchart showing an operation example at the time of connection processing between modules by the software generation support device 100.

まず、プロセッサ110は、メモリ130に保持された接続可否情報I3に基づいて、画面G1に表示された所定のモジュールアイコンMAの端子(入力部12又は出力部13)に、ラインLNの未接続の端部を接続可能であるか否かを判定する(S21)。ここでの所定のモジュールアイコンMAは、操作デバイス140を介して指定されてもよい。 First, the processor 110 is not connected to the terminal (input unit 12 or output unit 13) of the predetermined module icon MA displayed on the screen G1 based on the connection availability information I3 held in the memory 130. It is determined whether or not the end can be connected (S21). The predetermined module icon MA here may be specified via the operating device 140.

この場合、プロセッサ110は、接続対象のラインLNのいずれの端部もモジュールアイコンMAに接続されていない場合、1つ目に接続されるモジュールアイコンMAについては、接続可能であると判定されてよい。例えば、ラインLNの入力側に接続されるモジュールアイコンMA又は出力側に接続されるモジュールアイコンMAが決定されておらず、モジュール間でのフォーマットの不一致等を加味する必要がないためである。 In this case, if none of the ends of the line LN to be connected is connected to the module icon MA, the processor 110 may determine that the first module icon MA to be connected can be connected. .. For example, the module icon MA connected to the input side or the module icon MA connected to the output side of the line LN has not been determined, and it is not necessary to take into account the format mismatch between the modules.

一方、接続対象のラインLNの一方の端部が既に他のモジュールアイコンMAに接続されている場合、他のモジュールアイコンMAに対応するモジュールのデータや処理に応じて、接続可否が定まる。各モジュールアイコンMAに対して他のモジュールアイコンMAが接続可能であるか否かは、接続可否情報I3としてメモリ130に保持されている。 On the other hand, when one end of the line LN to be connected is already connected to another module icon MA, whether or not the connection is possible is determined according to the data and processing of the module corresponding to the other module icon MA. Whether or not another module icon MA can be connected to each module icon MA is held in the memory 130 as connection availability information I3.

なお、プロセッサ110は、接続対象のラインLNの一方の端部が既に他のモジュールアイコンMAの入力部12に接続されている場合、接続対象のラインLNの他方の端部を、このモジュールアイコンMAの出力部13に接続可能であるか否かを判定する。プロセッサ110は、接続対象のラインLNの一方の端部が既に他のモジュールアイコンMAの出力部13に接続されている場合、接続対象のラインLNの他方の端部を、このモジュールアイコンMAの入力部12に接続可能であるか否かを判定する。 When one end of the line LN to be connected is already connected to the input unit 12 of the other module icon MA, the processor 110 attaches the other end of the line LN to be connected to the module icon MA. It is determined whether or not it can be connected to the output unit 13 of. When one end of the line LN to be connected is already connected to the output unit 13 of the other module icon MA, the processor 110 inputs the other end of the line LN to be connected to the output unit 13 of the module icon MA. It is determined whether or not it can be connected to the unit 12.

ステップS21において、所定のモジュールアイコンMAの端子にラインLNの未接続の端部を接続可能である場合(ステップS21のYes)、プロセッサ110は、所定のモジュールアイコンMAの端子にラインLNの未接続の端部を接続して、画面G1に表示させる(S22)。 In step S21, when the unconnected end of the line LN can be connected to the terminal of the predetermined module icon MA (Yes in step S21), the processor 110 does not connect the line LN to the terminal of the predetermined module icon MA. Is connected and displayed on the screen G1 (S22).

ステップS21において、所定のモジュールアイコンMAの端子にラインLNの未接続の端部を接続不可である場合(ステップS21のNo)、プロセッサ110は、所定のモジュールアイコンMAの端子にラインLNの未接続の端部を接続しないで、画面G1の表示を継続する(S23)。所定のモジュールアイコンMAの端子にラインLNの未接続の端部を接続しないとは、モジュールアイコンMAの端子とラインLNの未接続の端部とが離間した状態であってよい。または、ステップS21において、所定のモジュールアイコンMAの端子にラインLNの未接続の端部を接続不可である場合(ステップS21のNo)、プロセッサ110は、所定のモジュールアイコンMAの端子とラインLNの未接続の端部とが接続不可であることを示す情報(例えばマーカ)を、画面G1に表示させてもよい(S23)。ここでのマーカは、×印であっても所定の着色であってもよいし、その他の文字、図形、記号、形状、又は模様等で示されてもよい。このマーカは、接続不可のラインLNの未接続の端部に重畳して(図19A参照)、または所定のモジュールアイコンMAの端子(ラインLNが接続されようとしていた端部)に重畳して(図19B参照)、表示されてよい。 In step S21, when the unconnected end of the line LN cannot be connected to the terminal of the predetermined module icon MA (No in step S21), the processor 110 does not connect the line LN to the terminal of the predetermined module icon MA. The display of the screen G1 is continued without connecting the end of the screen (S23). Not connecting the unconnected end of the line LN to the terminal of the predetermined module icon MA may mean that the terminal of the module icon MA and the unconnected end of the line LN are separated from each other. Alternatively, in step S21, when the unconnected end of the line LN cannot be connected to the terminal of the predetermined module icon MA (No in step S21), the processor 110 is connected to the terminal of the predetermined module icon MA and the line LN. Information (for example, a marker) indicating that the unconnected end cannot be connected may be displayed on the screen G1 (S23). The marker here may be a cross mark or a predetermined coloring, or may be indicated by other characters, figures, symbols, shapes, patterns, or the like. This marker is superimposed on the unconnected end of the unconnectable line LN (see FIG. 19A) or on the terminal of the predetermined module icon MA (the end on which the line LN was about to be connected) (see FIG. 19A). (See FIG. 19B), may be displayed.

ステップS22又はステップS23の処理後、プロセッサ110は、画面G1に表示された全てのモジュールアイコンMAへのラインLNの接続確認が完了したか否かを判定する(S24)。 After the process of step S22 or step S23, the processor 110 determines whether or not the connection confirmation of the line LN to all the module icons MA displayed on the screen G1 is completed (S24).

ラインLNの接続確認が完了していないモジュールアイコンMAが存在する場合(S24のNo)、プロセッサ110は、ラインLNの接続対象となる所定のモジュールアイコンMAを、ラインLNの接続確認が完了していないモジュールアイコンMAのうちのいずれかのモジュールアイコンMA(次のモジュールアイコンMA)に変更する(S25)。そして、ステップS21の処理に進む。ここでの次のモジュールアイコンMAは、操作デバイス140を介して指定されてもよい。 When there is a module icon MA for which the connection confirmation of the line LN has not been completed (No of S24), the processor 110 has completed the connection confirmation of the predetermined module icon MA to be connected to the line LN. Change to any module icon MA (next module icon MA) of the missing module icons MA (S25). Then, the process proceeds to step S21. The next module icon MA here may be specified via the operating device 140.

一方、全てのモジュールアイコンMAへのラインLNの接続確認が完了した場合(S24のYes)、プロセッサ110は、図13の処理を終了する。 On the other hand, when the confirmation of the connection of the line LN to all the module icons MA is completed (Yes in S24), the processor 110 ends the process of FIG.

よって、プロセッサ110は、全てのモジュールアイコンMAへのラインLNの接続確認が完了するまで、ステップS21~S24の処理を繰り返す。 Therefore, the processor 110 repeats the processes of steps S21 to S24 until the connection confirmation of the line LN to all the module icons MA is completed.

図14は、ソフトウェア生成支援装置100によるモジュール間の接続処理時の他の動作例を示すフローチャートである。 FIG. 14 is a flowchart showing another operation example at the time of connection processing between modules by the software generation support device 100.

図13のステップS21の処理がNoである場合、つまり、所定のモジュールアイコンMAの端子にラインLNの未接続の端部を接続不可である場合、プロセッサ110は、この端子に、接続不可であったモジュールアイコンMAに対応するモジュールが属するカテゴリと同じカテゴリにおいて、ラインLNの未接続の端部を接続可能なモジュールの一覧を、画面G1に表示させる(S31)。 When the process of step S21 in FIG. 13 is No, that is, when the unconnected end of the line LN cannot be connected to the terminal of the predetermined module icon MA, the processor 110 cannot be connected to this terminal. In the same category as the category to which the module corresponding to the module icon MA belongs, a list of modules to which the unconnected end of the line LN can be connected is displayed on the screen G1 (S31).

プロセッサ110は、操作デバイス140を介して、表示されたモジュールの一覧から、任意のモジュールを選択し、ラインLNの未接続の端部を接続する対象のモジュールを決定する(S32)。 The processor 110 selects an arbitrary module from the displayed module list via the operating device 140, and determines a target module to be connected to the unconnected end of the line LN (S32).

プロセッサ110は、ステップS21において接続不可であったモジュールアイコンの位置に、決定されたモジュールに対応するモジュールアイコンMAを、このモジュールアイコンMAの端子にラインLNの未接続の端部を接続して、表示させる(S33)。 The processor 110 connects the module icon MA corresponding to the determined module to the position of the module icon that could not be connected in step S21, and connects the unconnected end of the line LN to the terminal of the module icon MA. Display (S33).

S33の処理の後、図13のステップS24に進む。 After the process of S33, the process proceeds to step S24 of FIG.

なお、S31~S33では、モジュールアイコンMAの端子には、入力部12及び出力部13が含まれ、プロセッサ110は、この端子毎に、S31~S33の処理を実施してよい。例えば、プロセッサ110は、この端子毎に、接続可能なモジュールの一覧を表示させ、任意のモジュールを決定し、モジュールに対応するモジュールアイコンMAを表示させてよい。 In S31 to S33, the terminals of the module icon MA include an input unit 12 and an output unit 13, and the processor 110 may perform the processing of S31 to S33 for each of these terminals. For example, the processor 110 may display a list of connectable modules for each terminal, determine an arbitrary module, and display a module icon MA corresponding to the module.

なお、プロセッサ110は、モジュール一覧リストを表示する際には、表示される複数のモジュールのそれぞれの選択の優先度又は選択された場合の有益度等を画面G1にあわせて表示させてもよい。これにより、ユーザが優先度や効果を加味してモジュールを容易に選択できる。 When displaying the module list, the processor 110 may display the priority of each selection of the plurality of modules to be displayed, the usefulness when the modules are selected, and the like in accordance with the screen G1. This allows the user to easily select a module in consideration of priority and effect.

これにより、ソフトウェア生成支援装置100は、例えば操作デバイス140を介してモジュールアイコンMAの入力部12(端子の一例)を指示するだけで、このモジュールによる処理等に必要な前処理やデータ取得を実行するモジュールを容易に決定できる。さらに、前処理やデータ取得に必要な更なる前処理やデータ取得を事項するモジュールも連続的に決定できる。つまり、前段モジュールの決定を連続的に実施できる。よって、例えば、所定のモジュールの選択を行い、操作デバイス140を介して他のモジュールを補間して配置できる。また、例えば選択される1つのモジュールが目的モジュールである場合、ソフトウェア生成支援装置100は、目的モジュールの目的を達成するための処理やデータ取得を行うためのモジュール(ソフトウェア部品)を容易に導出できる。なお、入力部12側の効果を例示したが、出力側の効果も同様であり、ソフトウェア生成支援装置100は、選択された所定のモジュールの後段モジュールの決定を連続的に実施できる。 As a result, the software generation support device 100 executes preprocessing and data acquisition necessary for processing by this module, for example, simply by instructing the input unit 12 (an example of a terminal) of the module icon MA via the operation device 140. You can easily determine which module to use. Furthermore, modules for further preprocessing and data acquisition required for preprocessing and data acquisition can be continuously determined. That is, the determination of the previous stage module can be continuously carried out. Therefore, for example, a predetermined module can be selected, and other modules can be interpolated and arranged via the operation device 140. Further, for example, when one selected module is a target module, the software generation support device 100 can easily derive a module (software component) for performing processing and data acquisition for achieving the purpose of the target module. .. Although the effect on the input unit 12 side is illustrated, the effect on the output side is also the same, and the software generation support device 100 can continuously determine the subsequent module of the selected predetermined module.

図15は、ソフトウェア生成支援装置100によるモジュール間の接続処理時の他の動作例を示すフローチャートである。 FIG. 15 is a flowchart showing another operation example at the time of connection processing between modules by the software generation support device 100.

図13のステップS21の処理がNoである場合、つまり、所定のモジュールアイコンMAの端子にラインLNの未接続の端部を接続不可である場合、プロセッサ110は、この端子に、ラインLNの未接続の端部を接続可能なモジュールの選択優先度(接続優先度)の情報を取得する(S41)。この選択優先度の情報はメモリ130に保持され、メモリ130から取得されてよい。選択優先度の情報は、接続可否情報I3の中に含まれてもよい。 When the process of step S21 in FIG. 13 is No, that is, when the unconnected end of the line LN cannot be connected to the terminal of the predetermined module icon MA, the processor 110 does not connect the line LN to this terminal. Acquires information on the selection priority (connection priority) of the module to which the end of the connection can be connected (S41). This selection priority information is held in the memory 130 and may be acquired from the memory 130. The selection priority information may be included in the connection availability information I3.

プロセッサ110は、取得された選択優先度に基づいて、ラインLNの未接続の端部を接続する対象のモジュールを決定する(S42)。例えば、選択優先度が最上位のモジュールが、接続対象のモジュールとして決定される。 The processor 110 determines the module to be connected to the unconnected end of the line LN based on the acquired selection priority (S42). For example, the module with the highest selection priority is determined as the module to be connected.

プロセッサ110は、ステップS21において接続不可であったモジュールアイコンMAの位置に、決定されたモジュールに対応するモジュールアイコンMAを、このモジュールアイコンMAの端子にラインLNの未接続の端部を接続して、表示させる(S43)。 The processor 110 connects the module icon MA corresponding to the determined module to the position of the module icon MA that could not be connected in step S21, and connects the unconnected end of the line LN to the terminal of the module icon MA. , Displayed (S43).

S43の処理の後、図13のステップS24に進む。 After the process of S43, the process proceeds to step S24 of FIG.

なお、S41~S43では、モジュールアイコンMAの端子には、入力部12及び出力部13が含まれ、プロセッサ110は、この端子毎に、S41~S43の処理を実施してよい。例えば、プロセッサ110は、この端子毎に、接続可能なモジュールの選択優先度の情報をメモリ130から取得し、選択優先度に基づいてモジュールを決定し、モジュールに対応するモジュールアイコンMAを表示させてよい。 In S41 to S43, the terminals of the module icon MA include an input unit 12 and an output unit 13, and the processor 110 may perform the processing of S41 to S43 for each of these terminals. For example, the processor 110 acquires information on the selection priority of a connectable module from the memory 130 for each terminal, determines a module based on the selection priority, and displays the module icon MA corresponding to the module. good.

図16は、ソフトウェア生成支援装置100による接続済みのモジュールの変更処理の一例を示すフローチャートである。図15の処理は、図11の処理の終了後に実施される。図16の処理開始時には、各モジュールアイコンMAや接続済みのラインLNが画面G1に表示されている。 FIG. 16 is a flowchart showing an example of a change process of a connected module by the software generation support device 100. The process of FIG. 15 is performed after the process of FIG. 11 is completed. At the start of the process of FIG. 16, each module icon MA and the connected line LN are displayed on the screen G1.

まず、プロセッサ110は、ラインLNが接続済みのモジュールアイコンMAが指示されたことを検出したか否かを判定する(S51)。例えば、プロセッサ110は、画面G1上でカーソルがモジュールアイコンMA上(例えば属性部11上)に配置されたことを検出した場合に、モジュールアイコンMAが選択されたことを検出してよい。 First, the processor 110 determines whether or not the line LN has detected that the connected module icon MA has been instructed (S51). For example, the processor 110 may detect that the module icon MA is selected when it detects that the cursor is placed on the module icon MA (for example, on the attribute unit 11) on the screen G1.

プロセッサ110は、選択されたモジュールアイコンMAの代わりに、このモジュールアイコンMAに対応するモジュールが属するカテゴリと同じカテゴリにおいて、同じラインLNの端部を接続可能なモジュールの一覧を、画面G1に表示させる(S52)。この場合、プロセッサ110は、接続可否情報I3に基づいて、選択されたモジュールアイコンMAに対応するモジュールの前段モジュール及び後段モジュールとの入出力関係を加味して、接続可能なモジュールの一覧を表示させてよい。 Instead of the selected module icon MA, the processor 110 causes the screen G1 to display a list of modules to which the end of the same line LN can be connected in the same category as the category to which the module corresponding to the module icon MA belongs. (S52). In this case, the processor 110 displays a list of connectable modules based on the connection availability information I3, taking into account the input / output relationship between the front-stage module and the rear-stage module of the module corresponding to the selected module icon MA. It's okay.

プロセッサ110は、操作デバイス140を介して、表示されたモジュールの一覧から任意のモジュールを選択して決定する(S53)。 The processor 110 selects and determines an arbitrary module from the displayed module list via the operating device 140 (S53).

プロセッサ110は、ステップS51で選択されたモジュールアイコンMAの位置に、決定されたモジュールに対応するモジュールアイコンMAを、このモジュールアイコンMAの端子に対応してラインLNの端部を接続して、画面G1に表示させる(S54)。新たなモジュールアイコンMAの端子に接続されるラインLNの端部は、S51でモジュールアイコンMAに接続されていたラインLNの端部である。 The processor 110 connects the module icon MA corresponding to the determined module to the position of the module icon MA selected in step S51, and connects the end of the line LN corresponding to the terminal of the module icon MA to the screen. Displayed on G1 (S54). The end of the line LN connected to the terminal of the new module icon MA is the end of the line LN connected to the module icon MA in S51.

図17は、ソフトウェア生成支援装置100によるモジュール間の接続処理時の他の動作例を示すフローチャートである。図17では、複数のモジュールアイコンMAに基づいて他のモジュールアイコンMAを補間し、ラインLNを介してモジュールアイコンMAの間を接続し、モジュール間を連結することを想定する。なお、図17の処理は、図13に示したステップS21~S25の処理と並行して実施される。 FIG. 17 is a flowchart showing another operation example at the time of connection processing between modules by the software generation support device 100. In FIG. 17, it is assumed that other module icons MA are interpolated based on a plurality of module icons MA, the module icons MA are connected via a line LN, and the modules are connected. The process of FIG. 17 is performed in parallel with the process of steps S21 to S25 shown in FIG.

まず、ステップS1におけるモジュールの決定処理の終了後、プロセッサ110は、接続可否情報I3に基づいて、決定された複数のモジュールのうち、任意の2つのモジュールの間に配置されるべき1つ以上の不在のモジュールが存在するか否かを判定する(S71)。つまり、プロセッサ110は、1つ以上のモジュールを介在させれば、入出力関係を加味して任意の2つのモジュールを連結可能であるか否かを判定する。プロセッサ110は、接続可否情報I3に基づいて、この2つのモジュールの間に介在させる1つ以上のモジュール(補間モジュール)を決定する(S72)。 First, after the module determination process in step S1 is completed, the processor 110 is one or more to be arranged between any two modules among the plurality of determined modules based on the connection availability information I3. It is determined whether or not an absent module exists (S71). That is, the processor 110 determines whether or not any two modules can be connected in consideration of the input / output relationship by interposing one or more modules. The processor 110 determines one or more modules (interpolation modules) to be interposed between the two modules based on the connection availability information I3 (S72).

例えば、図7に示すように、選択された2つのモジュールが、デバイスモジュールとしてのカメラ(店頭)のモジュールと処理モジュールとしての歩行者計数のモジュールとである場合、プロセッサ110は、接続可否情報I3に基づいて、補間モジュールとして、データモジュールとしての映像のモジュールと、データフィルタモジュールとしての画像認識のモジュールと、を決定してよい。例えば、図10に示すように、選択された2つのモジュールが、デバイスカテゴリのカメラ(店頭)のモジュールM61とAI処理モジュールとしての本日の売上予測のAIモジュールM54とである場合、プロセッサ110は、接続可否情報I3に基づいて、補間モジュールとして、データモジュールとしての映像(リアルタイム)のモジュールM62と、処理モジュールとしての歩行者数計測のモジュールM63と、を決定してよい。 For example, as shown in FIG. 7, when the two selected modules are a camera (storefront) module as a device module and a pedestrian counting module as a processing module, the processor 110 determines the connection availability information I3. Based on the above, the video module as the data module and the image recognition module as the data filter module may be determined as the interpolation module. For example, as shown in FIG. 10, if the two selected modules are the module M61 for the camera (storefront) in the device category and the AI module M54 for today's sales forecast as an AI processing module, the processor 110 Based on the connection availability information I3, the video (real-time) module M62 as the data module and the pedestrian number measurement module M63 as the processing module may be determined as the interpolation module.

プロセッサ110は、選択された任意の2つのモジュールと、決定された1つ以上の補間モジュールと、の入出力関係に基づいて、選択された任意の2つのモジュールに対応するモジュールアイコンMAの端子(入力部12と出力部13)と1つ以上の補間モジュールに対応するモジュールアイコンMAの端子(入力部12と出力部13)とを、ラインLNで接続して、画面G1に表示させる(S73)。 The processor 110 is a terminal of the module icon MA corresponding to any two selected modules based on the input / output relationship between any two selected modules and one or more determined interpolating modules. The input unit 12 and the output unit 13) and the terminals of the module icon MA corresponding to one or more interpolation modules (input unit 12 and output unit 13) are connected by a line LN and displayed on the screen G1 (S73). ..

これにより、ソフトウェア生成支援装置100は、例えば操作デバイス140を介して複数のモジュールを選択するだけで、選択された任意の2つのモジュールの間で必要な処理やデータ取得を実行する補間モジュールを自動的に決定できる。よって、この2つのモジュールの間にどのような処理やデータが必要であるかを理解していないユーザであっても、この2つのモジュールを含むソフトウェアを簡単に生成できる。 As a result, the software generation support device 100 automatically selects an interpolation module that executes necessary processing and data acquisition between any two selected modules simply by selecting a plurality of modules via the operation device 140, for example. Can be determined. Therefore, even a user who does not understand what kind of processing or data is required between these two modules can easily generate software including these two modules.

図18は、モジュール決定処理時の他の動作例を示すフローチャートである。図18では、AIモジュールM5を配置することを想定する。 FIG. 18 is a flowchart showing another operation example during the module determination process. In FIG. 18, it is assumed that the AI module M5 is arranged.

ステップS11の処理後、プロセッサ110は、操作デバイス140を介して、一覧表示された1つ以上のカテゴリの中からAIカテゴリを選択したか否かを判定する(S81)。AIカテゴリが選択された場合、プロセッサ110は、学習データを収集するAIモジュール(例えば図10で説明したAIモジュールM51)と、学習データに基づいて学習器を生成するAIモジュール(例えば図10で説明したAIモジュールM53)と、学習器を用いて推論するAIモジュール(例えば図10で説明したAIモジュールM54)と、学習器による推論結果を表示するAIモジュール(例えば図10で説明したAIモジュールM55)と、を決定する(S82)。プロセッサ110は、これらのAIモジュールM5に対応するモジュールアイコンMA5(MA51,MA53,MA54,MA55)を画面G1に表示させる(S83)。 After the process of step S11, the processor 110 determines whether or not the AI category is selected from one or more of the listed categories via the operating device 140 (S81). When the AI category is selected, the processor 110 includes an AI module that collects training data (eg, the AI module M51 described in FIG. 10) and an AI module that generates a learner based on the training data (eg, described in FIG. 10). AI module M53), AI module inferred using a learner (for example, AI module M54 described with reference to FIG. 10), and AI module displaying the inference result by the learner (for example, AI module M55 described with reference to FIG. 10). And, (S82). The processor 110 displays the module icons MA5 (MA51, MA53, MA54, MA55) corresponding to these AI modules M5 on the screen G1 (S83).

これにより、ソフトウェア生成支援装置100は、例えば、AIを用いるための学習器を生成するモジュール、リアルタイムに得られるデータを基に学習器を用いて推論して未来予測を行うモジュール、未来予測の結果を可視化するモジュール、を容易に導出して、AIに関する処理を含むソフトウェアを容易に生成できる。 As a result, the software generation support device 100 is, for example, a module that generates a learning device for using AI, a module that infers using the learning device based on the data obtained in real time, and makes a future prediction, and a result of future prediction. A module, which visualizes the above, can be easily derived, and software including processing related to AI can be easily generated.

本実施形態では、図11~図18を用いて複数のフローチャートを例示した。なお、プロセッサ110は、これらのフローチャートに関する処理を、任意に組み合わせて実施してもよい。つまり、ソフトウェア生成支援装置100は、図11~図18に示した処理に対応する複数の機能をいずれも有していてよい。 In this embodiment, a plurality of flowcharts are illustrated with reference to FIGS. 11 to 18. The processor 110 may execute the processes related to these flowcharts in any combination. That is, the software generation support device 100 may have any of a plurality of functions corresponding to the processes shown in FIGS. 11 to 18.

例えば、図13の処理と図17の処理とが組み合わせて実施されてもよい。例えば、プロセッサ110は、図13のS21のNo且つ図17のS71のNoの場合に、S23の処理を行ってもよい。つまり、プロセッサ110は、ラインLNの両端部に接続される2つのモジュールの間の接続が不可である場合、接続可否情報I3に基づいて、この2つのモジュールとの間を介在可能な他のモジュールが存在するか否かを判定してよい。プロセッサ110は、補完モジュールが存在しない場合に、ラインLNへの接続対象のモジュールアイコンMAの端子にラインLNの未接続の端部を接続しないで画面G1の表示を継続したり、又は、このモジュールアイコンMAの端子とラインLNの未接続の端部とが接続不可であることを示す情報(例えばマーカ)を、画面G1に表示させたりしてもよい。また、例えば、プロセッサ110は、図13のS21のNo且つ図17のS71のYesの場合に、S72及びS73の処理を行ってもよい。つまり、プロセッサ110は、上記の2つのモジュールの間の接続が不可であり、補完モジュールが存在する場合、2つのモジュールの間に補間モジュールを介在させ、2つのモジュールと補間モジュールとに対応するモジュールアイコンMAをラインで接続して画面G1に表示させてもよい。 For example, the process of FIG. 13 and the process of FIG. 17 may be performed in combination. For example, the processor 110 may perform the processing of S23 in the case of No. S21 in FIG. 13 and No. S71 in FIG. That is, when the connection between the two modules connected to both ends of the line LN is not possible, the processor 110 can intervene between the two modules based on the connection availability information I3. May be determined if is present. When the complementary module does not exist, the processor 110 continues to display the screen G1 without connecting the unconnected end of the line LN to the terminal of the module icon MA to be connected to the line LN, or this module. Information (for example, a marker) indicating that the terminal of the icon MA and the unconnected end of the line LN cannot be connected may be displayed on the screen G1. Further, for example, the processor 110 may perform the processing of S72 and S73 in the case of No of S21 in FIG. 13 and Yes of S71 in FIG. That is, in the processor 110, the connection between the above two modules is not possible, and when the complementary module exists, the interpolation module is interposed between the two modules, and the modules corresponding to the two modules and the interpolation module are interposed. The icon MA may be connected by a line and displayed on the screen G1.

このような本実施形態のソフトウェア生成支援装置100によれば、生成対象のソフトウェアが、何のデータを取得すればよいのか、取得したデータをどのようなフォーマットで保存すれば次の処理にスムーズに実施できるか、どのような処理行えばよいのか、等を容易に把握できる。各データや処理に対応するモジュールに対応するモジュールアイコンMAが画面G1に表示されるからである。また、選択可能なデータや処理をモジュールとして選択することで、詳細な処理まで理解しなくても、目的の結果を得られるソフトウェアを構築できる。例えば、3次元表示を行うための処理は複雑で理解し難いが、3次元表示に必要な処理がモジュールとして提示され、この提示に従ってモジュールを選択することで、3次元表示を実施するソフトウェアを容易に構築できる。また、AIに関するモジュールもAI以外と同様に扱えることで、ソフトウェア生成支援装置100は、デジタルツインとAIの連携を簡易に実現できる。 According to the software generation support device 100 of the present embodiment, what data should be acquired by the software to be generated, and in what format the acquired data should be saved, the next process can be smoothly performed. It is possible to easily grasp whether it can be implemented and what kind of processing should be performed. This is because the module icon MA corresponding to the module corresponding to each data or processing is displayed on the screen G1. In addition, by selecting selectable data and processes as modules, it is possible to build software that can obtain the desired results without understanding detailed processes. For example, the process for performing 3D display is complicated and difficult to understand, but the process required for 3D display is presented as a module, and by selecting the module according to this presentation, software that performs 3D display is easy. Can be built into. Further, since the module related to AI can be handled in the same manner as other than AI, the software generation support device 100 can easily realize the cooperation between the digital twin and AI.

また、データを保有する主体が様々な場合がある。例えば、3D建築データの場合には、建築の3Dデータの場合には建築の会社、地図の場合には地図の会社、分析の場合には分析の会社など、様々な場所に分かれている場合がある。このような場合でも、ソフトウェア生成支援装置100によれば、各データのモジュールを視覚的に繋ぎ合わせることで、各データを連携して処理を実施するソフトウェアを容易に提供できる。 In addition, there are various cases where the subject holding the data. For example, in the case of 3D building data, it may be divided into various places such as a building company in the case of 3D building data, a map company in the case of a map, and an analysis company in the case of analysis. be. Even in such a case, according to the software generation support device 100, by visually connecting the modules of each data, it is possible to easily provide software that performs processing in cooperation with each data.

また、ソフトウェア生成支援装置100は、各カテゴリに属するモジュールがラインLNを介して順次接続されることで、一連のモジュールを形成できる。プロセッサ110は、各ラインLNで接続された一連のモジュールを入出力関係を加味して順次処理することで、所定の目的を達成するソフトウェアを構築できる。 Further, the software generation support device 100 can form a series of modules by sequentially connecting modules belonging to each category via a line LN. The processor 110 can construct software that achieves a predetermined purpose by sequentially processing a series of modules connected by each line LN in consideration of input / output relationships.

また、例えば、データモジュールが3Dデータであり、処理モジュールが地図データと3Dデータとの関連付けである場合、プロセッサ110は、地図上の座標のデータに合わせて、緯度経度高度をあわせて,3次元的に位置をあわせ使用可能なソフトウェアを提供できる。さらに、目的モジュールが災害ハザードマップの作成である場合には、上記の地図データと位置あわせされた3Dデータに基づいて被害状況を予測し、予測結果をグラフィックスで再現するソフトウェアを提供できる。 Further, for example, when the data module is 3D data and the processing module is the association between the map data and the 3D data, the processor 110 adjusts the latitude and longitude altitude to match the coordinate data on the map, and is three-dimensional. It is possible to provide software that can be aligned and used. Further, when the target module is to create a disaster hazard map, it is possible to provide software that predicts the damage situation based on the 3D data aligned with the above map data and reproduces the prediction result in graphics.

なお、1つのモジュールに入力されるデータが2種類以上あってもよい。この場合、モジュールアイコンMAの入力部12には、2つ以上の他のモジュールアイコンMAの出力部13が接続されてよい。例えば、1つのモジュールアイコンMAの入力部12が、3DデータのデータモジュールのモジュールアイコンMAの出力部13と、地図データのデータモジュールのモジュールアイコンMAの出力部13と、に接続されてもよい。同様に、1つのモジュールから出力されるデータが2種類以上あってもよい。 There may be two or more types of data input to one module. In this case, the output unit 13 of two or more other module icons MA may be connected to the input unit 12 of the module icon MA. For example, the input unit 12 of one module icon MA may be connected to the output unit 13 of the module icon MA of the data module of 3D data and the output unit 13 of the module icon MA of the data module of map data. Similarly, there may be two or more types of data output from one module.

なお、本実施形態では、ソフトウェア生成支援装置100が備える操作デバイス140及び表示デバイス150は、ソフトウェア生成支援装置100と別体に構成されてもよい。 In this embodiment, the operation device 140 and the display device 150 included in the software generation support device 100 may be configured separately from the software generation support device 100.

以上のように、本実施形態のソフトウェア生成支援装置100(情報処理装置の一例)は、プロセッサ110と、表示デバイス150と、操作デバイス140と、を備える。表示デバイス150は、ソフトウェアの連結状態の一部を示す複数のモジュールに対応する複数のモジュールアイコンMA(アイコンの一例)を、ソフトウェアの連結状態を示すラインLNで接続して、画面G1に表示する。複数のモジュールアイコンMAは、ソフトウェアが実行する少なくとも1つの処理を示す処理モジュールと、処理に用いられる少なくとも1つのデータを示すデータモジュールと、データの供給源であるデバイスを示すデバイスモジュールと、を含む。モジュールアイコンMAは、モジュールアイコンMAに対応するモジュールの属性を示す情報を表示する属性部11と、モジュールが連結状態において1つ前段のモジュールからデータ又は処理結果を入力する入力部12と、モジュールが連結状態において1つ後段のモジュールへデータ又は処理結果を出力する出力部13と、を有する。各モジュールアイコンMAの入力部12は、ラインLNを介して他のモジュールアイコンMAの少なくとも1つの出力部13と接続可能である。各モジュールアイコンMAの前記出力部は、前記ラインを介して他のモジュールアイコンMAの少なくとも1つの入力部12と接続可能である。画面G1におけるモジュールアイコンMA及びラインLNの位置は、移動可能である。画面G1におけるラインLNの形状は、変形可能である。プロセッサ110は、操作デバイス140を介して、第1のモジュールに対応する第1のモジュールアイコンMAの入力部12又は出力部13にラインLNを接続するよう指示し、複数のモジュールのそれぞれの間での入出力関係を加味した接続可否を示す接続可否情報I3を取得する。プロセッサ110は、接続可否情報に基づいて、ラインLNを介して、第2のモジュールに対応する第2のモジュールアイコンMAの出力部13又は入力部12に、第1のモジュールアイコンMAの指示された入力部12又は出力部13を接続するモジュール間接続が可能であるか否かを判定する。プロセッサ110は、モジュール間接続が可能である場合、第1のモジュールアイコンMAの入力部12又は出力部13にラインLNを接続する。モジュール間接続が不可である場合、前記接続可否情報に基づいて、前記第1のモジュールと前記第2のモジュールとの間を介在可能な1つ以上の補間モジュールが存在するか否かを判定する。プロセッサ110は、補完モジュールが存在しない場合、第1のモジュールアイコンMAの入力部12又は出力部13にラインLNを接続しないで第1のモジュールアイコンMA及びラインLNを表示し、又は、第1のモジュールアイコンMAの入力部12又は出力部13とラインLNとを接続不可であることを示すマーカを表示する。プロセッサ110は、各モジュールアイコンMAがラインLNで接続された状態に従って、各モジュールアイコンMAに対応する各モジュールを連携させて、ソフトウェアを生成する。 As described above, the software generation support device 100 (an example of the information processing device) of the present embodiment includes a processor 110, a display device 150, and an operation device 140. The display device 150 connects a plurality of module icons MA (an example of an icon) corresponding to a plurality of modules indicating a part of the software connection state by a line LN indicating the software connection state, and displays the software on the screen G1. .. The plurality of module icons MA include a processing module indicating at least one process executed by the software, a data module indicating at least one data used for the process, and a device module indicating a device that is a source of data. .. The module icon MA includes an attribute unit 11 that displays information indicating the attributes of the module corresponding to the module icon MA, an input unit 12 that inputs data or processing results from the module in the previous stage when the modules are connected, and a module. It has an output unit 13 that outputs data or a processing result to one module in the subsequent stage in a connected state. The input unit 12 of each module icon MA can be connected to at least one output unit 13 of the other module icon MA via the line LN. The output unit of each module icon MA can be connected to at least one input unit 12 of another module icon MA via the line. The positions of the module icon MA and the line LN on the screen G1 are movable. The shape of the line LN on the screen G1 is deformable. The processor 110 instructs the input unit 12 or the output unit 13 of the first module icon MA corresponding to the first module to connect the line LN via the operation device 140, and among each of the plurality of modules. The connection possibility information I3 indicating the connection possibility in consideration of the input / output relationship of the above is acquired. Based on the connection availability information, the processor 110 is instructed to the output unit 13 or the input unit 12 of the second module icon MA corresponding to the second module via the line LN to indicate the first module icon MA. It is determined whether or not the module-to-module connection connecting the input unit 12 or the output unit 13 is possible. When the module-to-module connection is possible, the processor 110 connects the line LN to the input unit 12 or the output unit 13 of the first module icon MA. When the connection between modules is not possible, it is determined whether or not there is one or more interpolation modules that can intervene between the first module and the second module based on the connection availability information. .. When the complementary module does not exist, the processor 110 displays the first module icon MA and the line LN without connecting the line LN to the input unit 12 or the output unit 13 of the first module icon MA, or the first module 110. A marker indicating that the input unit 12 or the output unit 13 of the module icon MA and the line LN cannot be connected is displayed. The processor 110 generates software by linking each module corresponding to each module icon MA according to a state in which each module icon MA is connected by a line LN.

これにより、ソフトウェア生成支援装置100は、接続可否情報に基づいて、第1のアイコンに対応するモジュールと、ラインを介して接続された第2のアイコンに対応する他のモジュールとが、ソフトウェアの連結状態(生成順序、入出力関係)を加味して接続可能であるか否かを判定できる。ソフトウェア生成支援装置100は、ラインが接続された状態に従って各モジュールがデータや情報の入力や出力を実施でき、各モジュール間でのデータや処理を連携させて、ソフトウェアを生成できる。また、モジュール間接続が不可である場合には、他のモジュール(第3のモジュール)でモジュール間を補間できるか否かを判別し、モジュール間の補間もできない場合にはマーカ等を確認することで、モジュール間接続できず、且つモジュール間の補間もできないことを容易に確認できる。よって、ソフトウェア生成支援装置100は、ソフトウェア生成のための利便性の高いUIを提供できる。したがって、一般的なユーザであっても様々なデータや情報を組合せて様々な機能を実現するソフトウェアを容易に構築できる。 As a result, in the software generation support device 100, the module corresponding to the first icon and the other modules corresponding to the second icon connected via the line are connected by software based on the connection availability information. Whether or not connection is possible can be determined by taking into account the states (generation order, input / output relationship). In the software generation support device 100, each module can input and output data and information according to the state in which the lines are connected, and the software can be generated by linking the data and processing between the modules. If the connection between modules is not possible, determine whether other modules (third module) can interpolate between modules, and if interpolation between modules is not possible, check the marker or the like. Therefore, it can be easily confirmed that the modules cannot be connected and the interpolation between the modules cannot be performed. Therefore, the software generation support device 100 can provide a highly convenient UI for software generation. Therefore, even a general user can easily construct software that realizes various functions by combining various data and information.

また、プロセッサ110は、モジュール間接続が不可である場合、且つ、第3のモジュールが存在する場合、接続可否情報に基づいて、第1のモジュールアイコンMAと第2のモジュールアイコンMAと第3のモジュールに対応する第3のモジュールアイコンMAとを、ラインLNで接続して画面G1に表示させてもよい。 Further, when the connection between modules is not possible and the third module exists, the processor 110 has the first module icon MA, the second module icon MA, and the third module based on the connection availability information. The third module icon MA corresponding to the module may be connected by the line LN and displayed on the screen G1.

これにより、ソフトウェア生成支援装置100は、ソフトウェア生成における上流工程の1つのモジュールとこのモジュールより下流工程の1つのモジュールとを決定するだけで、その間の工程のモジュールを補間して、各モジュールに対応する各モジュールアイコンMAを表示できる。この場合、ソフトウェア生成支援装置100は、モジュール補間のために特別なユーザ操作を必要とせずに、2つのモジュールの入出力関係を加味して自動的に第3のモジュールを追加配置できる。 As a result, the software generation support device 100 only determines one module of the upstream process in software generation and one module of the downstream process from this module, and interpolates the modules of the processes in between to correspond to each module. Each module icon MA can be displayed. In this case, the software generation support device 100 can automatically additionally arrange a third module in consideration of the input / output relationship between the two modules without requiring a special user operation for module interpolation.

また、接続可否情報は、各モジュールに複数の他のモジュールのいずれかを接続する場合の接続優先度の情報、を含んでよい。プロセッサ110は、モジュール間接続が不可であり、第1のモジュールアイコンMAの入力部12又は出力部13に接続可能な第4のモジュールが複数存在する場合、接続優先度の情報に基づいて、第4のモジュールを決定してよい。プロセッサ110は、接続可否情報に基づいて、第1のモジュールアイコンMAと第4のモジュールに対応する第4のモジュールアイコンMAとを、ラインLNで接続して画面G1に表示させてよい。 Further, the connection availability information may include connection priority information when any one of a plurality of other modules is connected to each module. When the processor 110 cannot connect between modules and there are a plurality of fourth modules that can be connected to the input unit 12 or the output unit 13 of the first module icon MA, the processor 110 is the first based on the connection priority information. 4 modules may be determined. The processor 110 may connect the first module icon MA and the fourth module icon MA corresponding to the fourth module by a line LN and display them on the screen G1 based on the connection availability information.

これにより、ソフトウェア生成支援装置100は、第4のモジュールの候補が複数ある場合には、優先度の高い第4のモジュールに対応する第4のモジュールアイコンMAを表示できる。よって、ソフトウェア生成支援装置100は、各モジュールの詳細を十分に理解していないユーザであっても、各モジュールの入力や出力を理解することを支援でき、不足しているモジュールに対応するモジュールアイコンMAを容易に配置できる。 As a result, when there are a plurality of candidates for the fourth module, the software generation support device 100 can display the fourth module icon MA corresponding to the fourth module having a higher priority. Therefore, the software generation support device 100 can support the user who does not fully understand the details of each module to understand the input and output of each module, and the module icon corresponding to the missing module. MA can be easily placed.

また、プロセッサ110は、操作デバイス140を介して、ラインLNで接続された第1のモジュールアイコンMAの属性部11が指示された場合、接続可否情報に基づいて、ラインLNに接続可能なモジュールの一覧のリストを、画面G1に表示させてよい。プロセッサ110は、操作デバイス140を介してこのリストから第5のモジュールを選択することで、第1のモジュールを第5のモジュールに変更し、第5のモジュールに対応する第5のモジュールアイコンMAを画面G1に表示させてよい。 Further, when the attribute unit 11 of the first module icon MA connected by the line LN is instructed via the operation device 140, the processor 110 is a module that can be connected to the line LN based on the connection availability information. The list of the list may be displayed on the screen G1. The processor 110 changes the first module to the fifth module by selecting the fifth module from this list via the operating device 140, and sets the fifth module icon MA corresponding to the fifth module. It may be displayed on the screen G1.

これにより、ソフトウェア生成支援装置100は、手動で又は自動で決定されて一度配置された第1のモジュールアイコンMAを、同じ位置でラインLNに接続可能な第5のモジュールの候補をリスト表示して手動で変更できる。例えば、ソフトウェア生成支援装置100は、3次元表示するモジュールを画面G1に表示していた場合に、代替モジュールとして二次元表示するモジュールに変更でき、一度配置されたモジュールをユーザの意図に沿って変更できる。 As a result, the software generation support device 100 displays a list of candidates for the fifth module that can be manually or automatically determined and once placed, and the first module icon MA can be connected to the line LN at the same position. Can be changed manually. For example, when the module to be displayed in three dimensions is displayed on the screen G1, the software generation support device 100 can be changed to a module to be displayed in two dimensions as an alternative module, and the module once arranged can be changed according to the user's intention. can.

また、プロセッサ110は、操作デバイス140を介して第1のモジュールアイコンMAにおけるラインLNに接続されていない入力部12又は出力部13が指示された場合、指示された入力部12又は出力部13に接続可能なモジュールの一覧のリストを、画面G1に表示させてよい。プロセッサ110は、操作デバイス140を介してこのリストから第2のモジュールを選択することで、第1のモジュールアイコンMAにおける指示された入力部12又は出力部13と、第2のモジュールに対応する第2のモジュールアイコンMAの出力部13又は入力部12とを、ラインLNを介して接続して、画面G1に表示させてよい。 Further, when the input unit 12 or the output unit 13 not connected to the line LN in the first module icon MA is instructed by the processor 110 via the operation device 140, the instructed input unit 12 or the output unit 13 is instructed. A list of a list of connectable modules may be displayed on the screen G1. The processor 110 selects a second module from this list via the operating device 140, thereby corresponding to the designated input unit 12 or output unit 13 in the first module icon MA and the second module. The output unit 13 or the input unit 12 of the module icon MA of 2 may be connected via the line LN and displayed on the screen G1.

これにより、ソフトウェア生成支援装置100は、ラインLNが接続されていない第1のモジュールアイコンMAの端子(入力部12又は出力部13)を指示することで、例えば第1のモジュールアイコンMAの端子にカーソル等を重ねることで、モジュールの一覧のリストから第2のモジュールを容易に選択できる。 As a result, the software generation support device 100 indicates, for example, the terminal of the first module icon MA (input unit 12 or output unit 13) to which the line LN is not connected, for example, to the terminal of the first module icon MA. The second module can be easily selected from the list of modules by hovering the cursor or the like.

また、モジュールは、複数のカテゴリ別に設けられてよい。プロセッサ110は、カテゴリを選択するためのカテゴリ一覧情報I1(メニュー情報の一例)を画面G1に表示させてよい。プロセッサ110は、操作デバイス140を介してカテゴリ一覧情報I1からカテゴリを選択してよい。プロセッサ110は、選択されたカテゴリに属する1つ以上のモジュールの一覧のリストを画面G1に表示させてよい。プロセッサ110は、操作デバイス140を介してこのリストから第1のモジュールを選択することで、第1のモジュールアイコンMAを画面G1に表示させてよい。 Further, the modules may be provided for each of a plurality of categories. The processor 110 may display the category list information I1 (an example of menu information) for selecting a category on the screen G1. The processor 110 may select a category from the category list information I1 via the operating device 140. Processor 110 may display a list of one or more modules belonging to the selected category on screen G1. The processor 110 may display the first module icon MA on the screen G1 by selecting the first module from this list via the operating device 140.

これにより、ソフトウェア生成支援装置100は、例えば、カテゴリ(例えばデータから目的に至るまでのもの)毎に管理されたモジュールのうちの1つを選択して配置できる。 Thereby, for example, the software generation support device 100 can select and arrange one of the modules managed for each category (for example, those from data to purpose).

また、カテゴリは、ソフトウェアを実行する情報処理装置(例えばソフトウェア生成支援装置100又はその他の情報処理装置)を動作させる目的を示す目的カテゴリを含んでよい。プロセッサ110は、目的カテゴリに属する第6のモジュールに対応する第6のモジュールアイコンMAを、画面G1に表示させてよい。 Further, the category may include a purpose category indicating the purpose of operating the information processing device (for example, the software generation support device 100 or other information processing device) that executes the software. The processor 110 may display the sixth module icon MA corresponding to the sixth module belonging to the target category on the screen G1.

これにより、ソフトウェア生成支援装置100は、目的モジュールに対応する第6のモジュールアイコンMAを画面G1上に配置することで、ソフトウェアによる処理によって実現したい目的を明確に指定できる。よって、例えば目的モジュールを起点として、各モジュールに接続可能なモジュール一覧リストI2を表示し、順次選択することで、目的を達成するための処理やデータを取得するためのモジュールを順次配置できる。 As a result, the software generation support device 100 can clearly specify the purpose to be achieved by the processing by the software by arranging the sixth module icon MA corresponding to the target module on the screen G1. Therefore, for example, by displaying the module list I2 that can be connected to each module from the target module as a starting point and sequentially selecting the modules, the modules for achieving the target and acquiring the data can be sequentially arranged.

また、カテゴリは、学習器の生成又は学習器による処理を規定するAIカテゴリを含んでよい。AIカテゴリは、学習器が学習するための学習データを収集する学習データ収集モジュールと、学習器による推論の結果を示す推論データを表示する推論データ表示モジュールと、を含んでよい。プロセッサ110は、カテゴリ一覧情報I1からAIカテゴリを選択した場合、学習データ収集モジュールに対応するモジュールアイコンMA5と、推論データ表示モジュールに対応するモジュールアイコンMA5とを、画面G1に表示させてよい。 The category may also include an AI category that defines the generation of the learner or the processing by the learner. The AI category may include a learning data collection module that collects learning data for learning by the learner and an inference data display module that displays inference data that indicates the result of inference by the learner. When the AI category is selected from the category list information I1, the processor 110 may display the module icon MA5 corresponding to the learning data collection module and the module icon MA5 corresponding to the inference data display module on the screen G1.

これにより、ソフトウェア生成支援装置100は、AI関連のモジュールをAI関連以外のモジュールと同様に画面G1上に配置でき、ソフトウェアを生成するための部品として使用できる。ソフトウェア生成支援装置100は、AI関連のモジュールとして、学習器の生成に係るモジュールだけでなく、学習器を使った実空間での処理による推論の結果を提示するモジュールについても一括して管理できる。ソフトウェア生成支援装置100は、例えば、リアルタイムの実空間の情報を取得し、学習器を用いてリアルタイム情報に基づいて処理(推論)を実行して、その結果を可視化できる。つまり、ソフトウェア生成支援装置100は、接続可否情報に基づいて、表示されたAI関連のモジュールをAI関連以外のモジュールを含めてラインで接続することで、例えば、AIに必要な学習を実施して、この学習結果を更に、リアルタイムのデータと結び付けて、現状や未来を予測できる。 As a result, the software generation support device 100 can arrange the AI-related modules on the screen G1 in the same manner as the non-AI-related modules, and can be used as a component for generating software. As an AI-related module, the software generation support device 100 can collectively manage not only the module related to the generation of the learning device but also the module that presents the result of inference by processing in the real space using the learning device. For example, the software generation support device 100 can acquire real-time real-space information, execute processing (inference) based on the real-time information using a learning device, and visualize the result. That is, the software generation support device 100 performs, for example, learning necessary for AI by connecting the displayed AI-related modules including modules other than AI-related modules on a line based on the connection availability information. , This learning result can be further linked with real-time data to predict the current situation and future.

以上、図面を参照しながら各種の実施形態について説明したが、本開示はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本開示の技術的範囲に属するものと了解される。 Although various embodiments have been described above with reference to the drawings, it goes without saying that the present disclosure is not limited to such examples. It is clear that a person skilled in the art can come up with various modifications or modifications within the scope of the claims, which naturally belong to the technical scope of the present disclosure. Understood.

本開示は、一般的なユーザであっても様々なデータや情報を組合せて様々な機能を実現するソフトウェアを容易に構築できる情報処理装置及び情報処理方法等に有用である。 The present disclosure is useful for information processing devices, information processing methods, and the like that allow even general users to easily construct software that realizes various functions by combining various data and information.

11 属性部
12 入力部
13 出力部
100 ソフトウェア生成支援装置
110 プロセッサ
120 通信デバイス
130 メモリ
140 操作デバイス
150 表示デバイス
B1 メニューボタン
B2 Start/Stopボタン
G1 画面
I1 カテゴリ一覧情報
I2 モジュール一覧情報
I3 接続可否情報
MA モジュールアイコン
MK マーカ
LN ライン
11 Attribute unit 12 Input unit 13 Output unit 100 Software generation support device 110 Processor 120 Communication device 130 Memory 140 Operation device 150 Display device B1 Menu button B2 Start / Stop button G1 Screen I1 Category list information I2 Module list information I3 Connection availability information MA Module icon MK marker LN line

Claims (12)

ソフトウェアの生成を支援する情報処理装置であって、
プロセッサと、表示デバイスと、操作デバイスと、を備え、
前記表示デバイスは、前記ソフトウェアの連結状態の一部を示す複数のモジュールに対応する複数のアイコンを、前記ソフトウェアの連結状態を示すラインで接続して、画面に表示し、
前記複数のモジュールは、前記ソフトウェアが実行する少なくとも1つの処理を示す処理モジュールと、前記処理に用いられる少なくとも1つのデータを示すデータモジュールと、前記データの供給源であるデバイスを示すデバイスモジュールと、を含み、
前記アイコンは、前記アイコンに対応するモジュールの属性を示す情報を表示する属性部と、前記モジュールが前記連結状態において1つ前段のモジュールからデータ又は処理結果を入力する入力部と、前記モジュールが前記連結状態において1つ後段のモジュールへデータ又は処理結果を出力する出力部と、を有し、
各アイコンの前記入力部は、前記ラインを介して他のアイコンの少なくとも1つの前記出力部と接続可能であり、
各アイコンの前記出力部は、前記ラインを介して他のアイコンの少なくとも1つの前記入力部と接続可能であり、
前記画面における前記アイコン及び前記ラインの位置は、移動可能であり、
前記画面における前記ラインの形状は、変形可能であり、
前記プロセッサは、
前記操作デバイスを介して、第1のモジュールに対応する第1のアイコンの前記入力部又は前記出力部に前記ラインを接続するよう指示し、
前記複数のモジュールのそれぞれの間での入出力関係を加味した接続可否を示す接続可否情報を取得し、
前記接続可否情報に基づいて、前記ラインを介して、第2のモジュールに対応する第2のアイコンの前記出力部又は前記入力部に、前記第1のアイコンの指示された前記入力部又は前記出力部を接続するモジュール間接続が可能であるか否かを判定し、
前記モジュール間接続が可能である場合、前記第1のアイコンの前記入力部又は前記出力部に前記ラインを接続し、
前記モジュール間接続が不可である場合、前記接続可否情報に基づいて、前記第1のモジュールと前記第2のモジュールとの間を介在可能な1つ以上の第3のモジュールが存在するか否かを判定し、
前記第3のモジュールが存在しない場合、前記第1のアイコンの前記入力部又は前記出力部に前記ラインを接続しないで前記第1のアイコン及び前記ラインを表示し、又は、前記第1のアイコンの前記入力部又は前記出力部と前記ラインとを接続不可であることを示すマーカを表示し、
各アイコンが前記ラインで接続された状態に従って、各アイコンに対応する各モジュールを連携させて、前記ソフトウェアを生成する、
情報処理装置。
An information processing device that supports software generation
It has a processor, a display device, and an operation device.
The display device connects a plurality of icons corresponding to a plurality of modules indicating a part of the connection state of the software by a line indicating the connection state of the software, and displays them on the screen.
The plurality of modules include a processing module indicating at least one process executed by the software, a data module indicating at least one data used in the process, and a device module indicating a device that is a source of the data. Including
The icon includes an attribute unit that displays information indicating the attributes of the module corresponding to the icon, an input unit that inputs data or a processing result from the module in the previous stage when the module is in the connected state, and the module is the module. It has an output unit that outputs data or processing results to one module in the subsequent stage in the connected state.
The input unit of each icon can be connected to at least one output unit of another icon via the line.
The output unit of each icon can be connected to at least one input unit of another icon via the line.
The positions of the icon and the line on the screen are movable and can be moved.
The shape of the line on the screen is deformable and
The processor
Instructing the line to be connected to the input unit or the output unit of the first icon corresponding to the first module via the operation device.
Acquires connection availability information indicating connection availability in consideration of the input / output relationship between each of the plurality of modules.
Based on the connection availability information, the input unit or the output of the first icon is indicated to the output unit or the input unit of the second icon corresponding to the second module via the line. Determines whether the modules that connect the units can be connected, and determines whether or not the connection is possible.
When the connection between the modules is possible, the line is connected to the input unit or the output unit of the first icon.
If the connection between the modules is not possible, whether or not there is one or more third modules that can intervene between the first module and the second module based on the connection possibility information. Judging,
When the third module does not exist, the first icon and the line are displayed without connecting the line to the input unit or the output unit of the first icon, or the first icon of the first icon. A marker indicating that the input unit or the output unit and the line cannot be connected is displayed.
According to the state in which each icon is connected by the line, each module corresponding to each icon is linked to generate the software.
Information processing equipment.
前記プロセッサは、
前記モジュール間接続が不可である場合、且つ、前記第3のモジュールが存在する場合、前記接続可否情報に基づいて、前記第1のアイコンと前記第2のアイコンと前記第3のモジュールに対応する第3のアイコンとを、前記ラインで接続して前記画面に表示させる、
請求項1に記載の情報処理装置。
The processor
When the connection between the modules is not possible and the third module exists, it corresponds to the first icon, the second icon, and the third module based on the connection availability information. The third icon is connected to the line and displayed on the screen.
The information processing apparatus according to claim 1.
前記接続可否情報は、各モジュールに複数の他のモジュールのいずれかを接続する場合の接続優先度の情報、を含み、
前記プロセッサは、
前記モジュール間接続が不可であり、前記第1のアイコンの前記入力部又は前記出力部に接続可能な第4のモジュールが複数存在する場合、前記接続優先度の情報に基づいて、前記第4のモジュールを決定し、
前記接続可否情報に基づいて、前記第1のアイコンと前記第4のモジュールに対応する第4のアイコンとを、前記ラインで接続して前記画面に表示させる、
請求項1に記載の情報処理装置。
The connection availability information includes connection priority information when any one of a plurality of other modules is connected to each module.
The processor
When the connection between the modules is not possible and there are a plurality of fourth modules that can be connected to the input unit or the output unit of the first icon, the fourth module is based on the connection priority information. Determine the module,
Based on the connection availability information, the first icon and the fourth icon corresponding to the fourth module are connected by the line and displayed on the screen.
The information processing apparatus according to claim 1.
前記プロセッサは、
前記操作デバイスを介して、前記ラインで接続された前記第1のアイコンの前記属性部が指示された場合、前記接続可否情報に基づいて、前記ラインに接続可能なモジュールの一覧のリストを、前記画面に表示させ、
前記操作デバイスを介して前記リストから第5のモジュールを選択することで、前記第1のモジュールを前記第5のモジュールに変更し、前記第5のモジュールに対応する第5のアイコンを前記画面に表示させる、
請求項1~3のいずれか1項に記載の情報処理装置。
The processor
When the attribute unit of the first icon connected by the line is instructed via the operation device, the list of modules that can be connected to the line is displayed based on the connection availability information. Display on the screen
By selecting the fifth module from the list via the operating device, the first module is changed to the fifth module, and the fifth icon corresponding to the fifth module is displayed on the screen. Display,
The information processing apparatus according to any one of claims 1 to 3.
前記プロセッサは、
前記操作デバイスを介して前記第1のアイコンにおける前記ラインに接続されていない前記入力部又は前記出力部が指示された場合、指示された前記入力部又は前記出力部に接続可能なモジュールの一覧のリストを、前記画面に表示させ、
前記操作デバイスを介して前記リストから前記第2のモジュールを選択することで、前記第1のアイコンにおける指示された前記入力部又は前記出力部と、前記第2のモジュールに対応する前記第2のアイコンの前記出力部又は前記入力部とを、前記ラインを介して接続して、前記画面に表示させる、
請求項1~4のいずれか1項に記載の情報処理装置。
The processor
When the input unit or the output unit not connected to the line in the first icon is instructed via the operation device, a list of modules that can be connected to the instructed input unit or the output unit. Display the list on the screen and display it.
By selecting the second module from the list via the operating device, the indicated input or output unit in the first icon and the second module corresponding to the second module. The output unit or the input unit of the icon is connected via the line and displayed on the screen.
The information processing apparatus according to any one of claims 1 to 4.
前記モジュールは、複数のカテゴリ別に設けられ、
前記プロセッサは、
前記カテゴリを選択するためのメニュー情報を前記画面に表示させ、
前記操作デバイスを介して前記メニュー情報から前記カテゴリを選択し、
選択されたカテゴリに属する1つ以上のモジュールの一覧のリストを前記画面に表示させ、
前記操作デバイスを介して前記リストから前記第1のモジュールを選択することで、前記第1のアイコンを前記画面に表示させる、
請求項1~5のいずれか1項に記載の情報処理装置。
The modules are provided in multiple categories.
The processor
Display menu information for selecting the category on the screen,
Select the category from the menu information via the operating device.
A list of a list of one or more modules belonging to the selected category is displayed on the screen.
By selecting the first module from the list via the operating device, the first icon is displayed on the screen.
The information processing apparatus according to any one of claims 1 to 5.
前記カテゴリは、前記ソフトウェアを実行する情報処理装置を動作させる目的を示す目的カテゴリを含み、
前記プロセッサは、前記目的カテゴリに属する第6のモジュールに対応する第6のアイコンを、前記画面に表示させる、
請求項6に記載の情報処理装置。
The category includes a purpose category indicating the purpose of operating the information processing device that executes the software.
The processor causes the screen to display a sixth icon corresponding to a sixth module belonging to the target category.
The information processing apparatus according to claim 6.
前記カテゴリは、学習器の生成又は前記学習器による処理を規定するAI(Artificial Intelligence)カテゴリを含み、
前記AIカテゴリは、前記学習器が学習するための学習データを収集する学習データ収集モジュールと、前記学習器による推論の結果を示す推論データを表示する推論データ表示モジュールと、を含み、
前記プロセッサは、前記メニュー情報から前記AIカテゴリを選択した場合、前記学習データ収集モジュールに対応するアイコンと、前記推論データ表示モジュールに対応するアイコンとを、前記画面に表示させる、
請求項6又は7に記載の情報処理装置。
The category includes an AI (Artificial Intelligence) category that defines the generation of a learner or the processing by the learner.
The AI category includes a learning data collection module that collects learning data for learning by the learning device, and an inference data display module that displays inference data indicating the result of inference by the learning device.
When the AI category is selected from the menu information, the processor causes the screen to display an icon corresponding to the learning data collection module and an icon corresponding to the inference data display module.
The information processing apparatus according to claim 6 or 7.
前記アイコンの前記属性部は、前記アイコンの中心部に位置し、
前記アイコンの前記入力部は、前記属性部の一端側を包囲し、
前記アイコンの前記出力部は、前記属性部の他端側を包囲する、
請求項1~8のいずれか1項に記載の情報処理装置。
The attribute portion of the icon is located at the center of the icon.
The input unit of the icon surrounds one end side of the attribute unit.
The output unit of the icon surrounds the other end side of the attribute unit.
The information processing apparatus according to any one of claims 1 to 8.
前記アイコンの形状は、第1方向に沿う一対の辺と、前記第1方向に垂直な第2方向に沿う一対の辺と、で構成される矩形形状を有し、
前記アイコンの前記入力部は、前記第1方向に沿う前記一対の辺のそれぞれにおける一端側と、第2方向に沿う一対の辺のうち前記一端側に接続された辺と、を含み、
前記アイコンの前記出力部は、前記第1方向に沿う前記一対の辺のそれぞれにおける他端側と、第2方向に沿う一対の辺のうち前記他端側に接続された辺と、を含む、
請求項9に記載の情報処理装置。
The shape of the icon has a rectangular shape composed of a pair of sides along the first direction and a pair of sides along the second direction perpendicular to the first direction.
The input portion of the icon includes one end side of each of the pair of sides along the first direction and a side of the pair of sides along the second direction connected to the one end side.
The output unit of the icon includes the other end side of each of the pair of sides along the first direction and the side of the pair of sides along the second direction connected to the other end side.
The information processing apparatus according to claim 9.
前記入力部と前記出力部とは表示態様が異なる、
請求項9又は10に記載の情報処理装置。
The display mode is different between the input unit and the output unit.
The information processing apparatus according to claim 9 or 10.
ソフトウェアの生成を支援するソフトウェア生成支援方法であって、
プロセッサが、前記ソフトウェアの連結状態の一部を示す複数のモジュールに対応する複数のアイコンを、前記ソフトウェアの連結状態を示すラインで接続して、画面に表示するステップ、を有し、
前記複数のモジュールは、前記ソフトウェアが実行する少なくとも1つの処理を示す処理モジュールと、前記処理に用いられる少なくとも1つのデータを示すデータモジュールと、前記データの供給源であるデバイスを示すデバイスモジュールと、を含み、
前記アイコンは、前記アイコンに対応するモジュールの属性を示す情報を表示する属性部と、前記モジュールが前記連結状態において1つ前段のモジュールからデータ又は処理結果を入力する入力部と、前記モジュールが前記連結状態において1つ後段のモジュールへデータ又は処理結果を出力する出力部と、を有し、
各アイコンの前記入力部は、前記ラインを介して他のアイコンの少なくとも1つの前記出力部と接続可能であり、
各アイコンの前記出力部は、前記ラインを介して他のアイコンの少なくとも1つの前記入力部と接続可能であり、
前記画面における前記アイコン及び前記ラインの位置は、移動可能であり、
前記画面における前記ラインの形状は、変形可能であり、
前記ソフトウェア生成支援方法は、前記プロセッサが、
第1のモジュールに対応する第1のアイコンの前記入力部又は前記出力部に前記ラインを接続するよう指示するステップと、
前記複数のモジュールのそれぞれの間での入出力関係を加味した接続可否を示す接続可否情報を取得するステップと、
前記接続可否情報に基づいて、前記ラインを介して、第2のモジュールに対応する第2のアイコンの前記出力部又は前記入力部に、前記第1のアイコンの指示された前記入力部又は前記出力部を接続するモジュール間接続が可能であるか否かを判定するステップと、
前記モジュール間接続が可能である場合、前記第1のアイコンの前記入力部又は前記出力部に前記ラインを接続するステップと、
前記モジュール間接続が不可である場合、前記接続可否情報に基づいて、前記第1のモジュールと前記第2のモジュールとの間を介在可能な1つ以上の第3のモジュールが存在するか否かを判定し、
前記第3のモジュールが存在しない場合、前記第1のアイコンの前記入力部又は前記出力部に前記ラインを接続しないで前記第1のアイコン及び前記ラインを表示し、又は、前記第1のアイコンの前記入力部又は前記出力部と前記ラインとを接続不可であることを示すマーカを表示するステップと、
各アイコンが前記ラインで接続された状態に従って、各アイコンに対応する各モジュールを連携させて、前記ソフトウェアを生成するステップと、
を有するソフトウェア生成支援方法。
It is a software generation support method that supports software generation.
The processor has a step of connecting a plurality of icons corresponding to a plurality of modules indicating a part of the connection state of the software with a line indicating the connection state of the software and displaying them on the screen.
The plurality of modules include a processing module indicating at least one process executed by the software, a data module indicating at least one data used in the process, and a device module indicating a device that is a source of the data. Including
The icon includes an attribute unit that displays information indicating the attributes of the module corresponding to the icon, an input unit that inputs data or a processing result from the module in the previous stage when the module is in the connected state, and the module is the module. It has an output unit that outputs data or processing results to one module in the subsequent stage in the connected state.
The input unit of each icon can be connected to at least one output unit of another icon via the line.
The output unit of each icon can be connected to at least one input unit of another icon via the line.
The positions of the icon and the line on the screen are movable and can be moved.
The shape of the line on the screen is deformable and
In the software generation support method, the processor
A step of instructing the line to be connected to the input unit or the output unit of the first icon corresponding to the first module, and
A step of acquiring connection availability information indicating connection availability in consideration of the input / output relationship between each of the plurality of modules, and a step of acquiring connection availability information.
Based on the connection availability information, the input unit or the output of the first icon is indicated to the output unit or the input unit of the second icon corresponding to the second module via the line. The step of determining whether or not the connection between modules connecting the parts is possible, and
When the module-to-module connection is possible, the step of connecting the line to the input unit or the output unit of the first icon, and
If the connection between the modules is not possible, whether or not there is one or more third modules that can intervene between the first module and the second module based on the connection possibility information. Judging,
When the third module does not exist, the first icon and the line are displayed without connecting the line to the input unit or the output unit of the first icon, or the first icon of the first icon. A step of displaying a marker indicating that the input unit or the output unit and the line cannot be connected, and
According to the state in which each icon is connected by the line, each module corresponding to each icon is linked to generate the software.
Software generation support method with.
JP2021093237A 2021-06-02 2021-06-02 Information processing device and software generation support method Active JP7017766B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021093237A JP7017766B1 (en) 2021-06-02 2021-06-02 Information processing device and software generation support method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021093237A JP7017766B1 (en) 2021-06-02 2021-06-02 Information processing device and software generation support method

Publications (2)

Publication Number Publication Date
JP7017766B1 true JP7017766B1 (en) 2022-02-09
JP2022185500A JP2022185500A (en) 2022-12-14

Family

ID=80854568

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021093237A Active JP7017766B1 (en) 2021-06-02 2021-06-02 Information processing device and software generation support method

Country Status (1)

Country Link
JP (1) JP7017766B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000089944A (en) 1998-07-15 2000-03-31 Hitachi Software Eng Co Ltd Method for displaying connection guide marker, system therefor and recording medium
JP2008011500A (en) 2006-05-29 2008-01-17 Ricoh Co Ltd Image processing apparatus, information processing system, application registration method and application registration program
JP2010176195A (en) 2009-01-27 2010-08-12 Internatl Business Mach Corp <Ibm> Method for exhibiting connecting destination candidate of component in web application, and computer program and computer system therefor

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324295A (en) * 1991-09-12 1993-12-07 Fujitsu Ltd Design supporting device for software
US5386568A (en) * 1992-12-01 1995-01-31 Yamaha Corporation Apparatus and method for linking software modules
JP3697274B2 (en) * 1994-09-14 2005-09-21 株式会社東芝 Software development support device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000089944A (en) 1998-07-15 2000-03-31 Hitachi Software Eng Co Ltd Method for displaying connection guide marker, system therefor and recording medium
JP2008011500A (en) 2006-05-29 2008-01-17 Ricoh Co Ltd Image processing apparatus, information processing system, application registration method and application registration program
JP2010176195A (en) 2009-01-27 2010-08-12 Internatl Business Mach Corp <Ibm> Method for exhibiting connecting destination candidate of component in web application, and computer program and computer system therefor

Also Published As

Publication number Publication date
JP2022185500A (en) 2022-12-14

Similar Documents

Publication Publication Date Title
CN109074255A (en) For providing the visual computer system and method for Asset Events and signal data
CN107690657A (en) Trade company is found according to image
CN110225296A (en) Garden three-dimensional live intelligent control method, system and device
CN103080915A (en) Automatic and semi-automatic selection of service or processing providers
US11526827B2 (en) Non-intrusive workflow assessment (NIWA) for manufacturing optimization
US20120260201A1 (en) Collection and analysis of service, product and enterprise soft data
US11910082B1 (en) Mobile interface for marking and organizing images
US20190236628A1 (en) Garnering Interest on Potential Listing in a Photo or Video
CN103345692B (en) Data handling system, server unit and data processing method
CN111008859A (en) Information presentation method and device in virtual shop, electronic equipment and storage medium
CN112862525A (en) Shop site selection data determination method and system and electronic equipment
CN103577525A (en) Method for generating personal calendar by collecting web page information according to calendar setting information
Vats et al. Big data analytics in real time for enterprise applications to produce useful intelligence
CN111472946A (en) Intelligent auxiliary maintenance system and auxiliary maintenance method for wind generating set
JP7017766B1 (en) Information processing device and software generation support method
Froese et al. Strategic roadmaps for construction innovation: assessing the state of research
WO2019194060A1 (en) Consumer goods procurement assisting system
CN110807012B (en) All-round power substation big data supporting platform
JP2001249983A (en) Customer analysis system
CN112800308A (en) Big data-based public opinion monitoring platform
Li et al. Multi-view spatial–temporal graph neural network for traffic prediction
JP2022037575A (en) Image evaluation predicting device and method
KR102607002B1 (en) Method and device for providing services that provide interior information based on statistical analysis of construction cases
Steinmetz et al. Enabling and supporting car-as-a-service by digital twin modeling and deployment
US20230127812A1 (en) Line diagram conversion platform and methods for use therewith

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210602

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211015

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: 20220111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220120

R150 Certificate of patent or registration of utility model

Ref document number: 7017766

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350