CROSS REFERENCE TO RELATED APPLICATIONS

This Application is a National Stage of International Application No. PCT/JP2017/031585 filed Sep. 1, 2017, claiming priority based on Japanese Patent Application No. 2016-193454 filed Sep. 30, 2016.

TECHNICAL FIELD

The present invention relates to an application development environment providing system, an application development environment provision method, a terminal device, and an application display method.

BACKGROUND ART

In a plant, a factory, or the like, a distributed control system (DCS) in which field devices (measurement devices and operating devices) and a control device that controls the field devices are connected via communication means is constructed, and advanced automatic operation is realized. In a plant in which such an advanced automatic operation is realized, various systems (engineering systems) such as a manufacturing execution system (MES), a plant information management system (PIMS), and an enterprise resource planning (ERP) system are often constructed, in addition to the distributed control system.

Most of these engineering systems are realized by using devices installed in a plant such as a programmable logic controller (PLC), a factory automation (FA) computer, a general-purpose desktop computer, or a server device. In recent years, with the progress of communication technology, some of the engineering systems are realized by cloud computing via a network.

Here, the cloud computing may conform to a definition described in a document specified by the following URL (Uniform Resource Locator) (a definition recommended by the US National Institute of Standards and Technology).

http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf

https://www.ipa.go.jp/files/000025366.pdf

Patent literature 1 below discloses cloud computing for an industrial automation and production system. Patent literature 2 below discloses an example of a technology for providing, through cloud computing, a development environment for developing an application program to be used in a cloud computing environment.

CITATION LIST

Patent Literature

[Patent Literature 1] Japanese Unexamined Patent Application Publication (Translation of PCT Application) No. 2012-523038

[Patent Literature 2] Japanese Patent No. 5792891

SUMMARY OF INVENTION

Technical Problem

For example, in industrial automation and production systems, like a process involving feedback such as HD control (Proportional-Integral-Differential Controller), a process that is required to be immediately executed in response to an input of data measured by a sensor or the like may be included. In a case where such a process is executed by the cloud computing disclosed in the patent literature 1 or the like, there is a case that a process such as control is not performed normally due to occurrence of delay (delay of data arrival time) and fluctuation (fluctuation of arrival time of plural data communication) in data communication.

The system that provides the development environment disclosed in, for example, patent literature 2 described above is used at various enterprises (tenants). For example, in a case in which development of an engineering system that is realized at a plant is performed, the system that provides the development environment is used by a customer (for example, an orderer), an engineering company (for example, a contractor), and a third vendor (a third party).

In such a system used by various tenants, from a viewpoint of security, an existence of a device used in a plant must not be known to other tenants. Even in the same tenant, it may wish to limit accesses from other departments (sites) or other employees (users). In such a system used by various tenants, from a viewpoint of safety, there are cases where it is necessary to prevent devices used in a plant from being used not for a specific purpose.

As described above, in the case where it is necessary to take into consideration requirements such as promptness of an execution process, security, safety, and so on according to individual process contents included in the application program, it is necessary to classify the process contents based on the requirements, and generate an application program in which a program execution file is divided for each of the classified process contents. In order to generate such an application program, it is necessary to individually design and create a plurality of the application programs, and compile each of the application programs individually to generate respective program execution files.

Solution to Problem

(1) An aspect of the present invention is an application development environment providing system which provides a development environment for an application program via a network, wherein the network includes a first network which accommodates at least one device and which is communicatively connected to the device, and a second network communicatively connected to the first network, and wherein the application development environment providing system includes a program developer configured to classify processes included in the application program into a process executed in the first network and a process executed in the second network based on a predetermined determination condition, and to generate a first program execution file executed in the first network and a second program execution file executed in the second network in cooperation with the first program execution file.

(2) An aspect of the present invention is the application development environment providing system according to (1), wherein if a control cycle of the device controlled by the application program is equal to or less than a predetermined length, the program developer classifies the process into the process executed in the first network, and wherein if the control cycle of the device controlled by the application program is longer than the predetermined length, the program developer classifies the process into the process executed in the second network.

(3) An aspect of the present invention is the application development environment providing system according to (1), wherein the program developer classifies the processes into the process executed in the first network and the process executed in the second network based on position information representing a position of the device controlled by the application program.

(4) An aspect of the present invention is the application development environment providing system according to (1), wherein the program developer classifies the processes into the process executed in the first network and the process executed in the second network based on information representing that each of the processes is to be executed in the first network or the second network.

(5) An aspect of the present invention is the application development environment providing system according to (1), wherein if it is determined that it is necessary to execute the process with reference to communication contents transmitted from the device controlled by the application program to the first network, the program developer classifies the process into the process executed in the first network, and wherein if it is determined that it is not necessary to execute the process with reference to communication contents transmitted from the device to the first network, the program developer classifies the process into the process executed in the second network.

(6) An aspect of the present invention is the application development environment providing system according to any one of (1) to (5), wherein the program developer generates the first program execution file in which first output destination process identification information and first input source process identification information are specified, the first output destination process identification information is for identifying a data input process executed in the second network to which data output by a data output process executed in the first network is input, and the first input source process identification information is for identifying a data output process executed in the second network to which data input by a data input process executed in the first network is output, and wherein the program developer generates the second program execution file in which second output destination process identification information and second input source process identification information are specified, the second output destination process identification information is for identifying a data input process executed in the first network to which data output by a data output process executed in the second network is input, and the second input source process identification information is for identifying a data output process executed in the first network to which data input by a data input process executed in the second network is output.

(7) An aspect of the present invention is the application development environment providing system according to any one of (1) to (6), wherein if the first network accommodates at least two or more devices, the program developer generates the first program execution file for causing the at least two or more devices to perform a distributed process in accordance with a load condition of the at least two or more devices.

(8) An aspect of the present invention is the application development environment providing system according to any one of (1) to (7), wherein the first network is a spinal node which functions as a gateway, and wherein the second network is a socialization node which provides a cloud computing environment.

(9) An aspect of the present invention is an application development environment provision method performed by a computer which provides a development environment for an application program via a network, wherein the network includes a first network which accommodates at least one device and which is communicatively connected to the device, and a second network communicatively connected to the first network, and wherein the application development environment provision method includes classifying, by a program developer, processes included in the application program into a process executed in the first network and a process executed in the second network based on a predetermined determination condition, and generating, by the program developer, a first program execution file executed in the first network and a second program execution file executed in the second network in cooperation with the first program execution file.

(10) An aspect of the present invention is a non-transitory computer readable storage medium storing one or more programs configured for execution by a computer, the one or more programs including instructions for providing a development environment for an application program via a network which includes a first network which accommodates at least one device and which is communicatively connected to the device and a second network communicatively connected to the first network, classifying processes included in the application program into a process executed in the first network and a process executed in the second network based on a predetermined determination condition, and generating a first program execution file executed in the first network and a second program execution file executed in the second network in cooperation with the first program execution file.

(11) An aspect of the present invention is an information processing device in an application development environment providing system which provides a development environment for an application program via a network, wherein the network includes a first network which accommodates at least one device and which is communicatively connected to the device, and a second network communicatively connected to the first network, and wherein the information processing device configured to, among processes included in the application program classified into a process executed in the first network and a process executed in the second network based on a predetermined determination condition, execute a first program execution file for executing the process executed in the first network in cooperation with a second program execution file for executing the process executed in the second network.

(12) An aspect of the present invention is the information processing device according to (11), wherein if a control cycle of the device controlled by the application program is equal to or less than a predetermined length, the information processing device executes the first program execution file which has been classified into the process executed in the first network and generated.

(13) An aspect of the present invention is the information processing device according to (11), wherein the information processing device executes the first program execution file which has been classified into the process executed in the first network and generated, based on position information representing a position of the device controlled by the application program.

(14) An aspect of the present invention is the information processing device according to (11), wherein the information processing device executes the first program execution file which has been classified into the process executed in the first network and generated, based on information representing that each of the processes is to be executed in the first network or the second network.

(15) An aspect of the present invention is the information processing device according to (11), wherein if it is determined that it is necessary to execute the process with reference to communication contents transmitted from the device controlled by the application program to the first network, the process is classified into the process executed in the first network, wherein if it is determined that it is not necessary to execute the process with reference to communication contents transmitted from the device to the first network, the process is classified into the process executed in the second network, and wherein the information processing device executes the first program execution file which has been classified into the process executed in the first network and generated.

(16) An aspect of the present invention is the information processing device according to any one of (11) to (15), wherein the information processing device executes the first program execution file in which output destination process identification information and input source process identification information are specified, the output destination process identification information is for identifying a data input process executed in the second network to which data output by a data output process executed in the first network is input, and the input source process identification information is for identifying a data output process executed in the second network to which data input by a data input process executed in the first network is output.

(17) An aspect of the present invention is the information processing device according to any one of (11) to (16), wherein if the first network accommodates at least two or more devices, the information processing device executes the first program execution file for causing the at least two or more devices to perform a distributed process in accordance with a load condition of the at least two or more devices.

(18) An aspect of the present invention is the information processing device according to any one of (11) to (17), wherein the first network is a spinal node which functions as a gateway, and wherein the second network is a socialization node which provides a cloud computing environment.

(19) An aspect of the present invention is an application development environment provision method performed by a computer which provides a development environment for an application program via a network, wherein the network includes a first network which accommodates at least one device and which is communicatively connected to the device, and a second network communicatively connected to the first network, and wherein the application development environment provision method includes among processes included in the application program classified into a process executed in the first network and a process executed in the second network based on a predetermined determination condition, executing a first program execution file for executing the process executed in the first network in cooperation with a second program execution file for executing the process executed in the second network.

(20) An aspect of the present invention is a non-transitory computer readable storage medium storing one or more programs configured for execution by a computer, the one or more programs including instructions for providing a development environment for an application program via a network which includes a first network which accommodates at least one device and which is communicatively connected to the device and a second network communicatively connected to the first network, and among processes included in the application program classified into a process executed in the first network and a process executed in the second network based on a predetermined determination condition, executing a first program execution file for executing the process executed in the first network in cooperation with a second program execution file for executing the process executed in the second network.

Further features and aspects of the present disclosure will become apparent from the following detailed description of exemplary embodiments with reference to the attached drawings.

Advantageous Effects of Invention

According to the present invention, it is possible to realize efficient development of application programs in which a program execution file is divided into a plurality of files.

