WO2018061605A1 - アプリケーション開発環境提供システム、アプリケーション開発環境提供方法、端末装置、アプリケーション表示方法、およびコンピュータ読み取り可能な非一時的記録媒体 - Google Patents

アプリケーション開発環境提供システム、アプリケーション開発環境提供方法、端末装置、アプリケーション表示方法、およびコンピュータ読み取り可能な非一時的記録媒体 Download PDF

Info

Publication number
WO2018061605A1
WO2018061605A1 PCT/JP2017/031477 JP2017031477W WO2018061605A1 WO 2018061605 A1 WO2018061605 A1 WO 2018061605A1 JP 2017031477 W JP2017031477 W JP 2017031477W WO 2018061605 A1 WO2018061605 A1 WO 2018061605A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
development
application program
development environment
program
Prior art date
Application number
PCT/JP2017/031477
Other languages
English (en)
French (fr)
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 EP17855563.7A priority Critical patent/EP3522008A4/en
Priority to US16/336,996 priority patent/US11281435B2/en
Priority to CN201780059839.4A priority patent/CN110023902B/zh
Publication of WO2018061605A1 publication Critical patent/WO2018061605A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Definitions

  • the present invention relates to an application development environment providing system, an application development environment providing method, a terminal device, an application display method, and a computer-readable non-transitory recording medium.
  • DCS Distributed Control System
  • field devices measuring instruments, operating devices
  • PIMS plant information management system
  • ERP core business system
  • MES manufacturing execution system
  • PIMS plant information management system
  • ERP core business system
  • cloud computing may conform to a definition (a definition recommended by the National Institute of Standards and Technology) described in a document specified by the following URL (Uniform Resource Locator). good. http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf https://www.ipa.go.jp/files/000025366.pdf
  • Patent Document 1 discloses cloud computing for industrial automation and production systems.
  • Patent Document 2 discloses an example of a technique for providing a development environment for developing an application program used in a cloud computing environment by cloud computing.
  • a system that provides the development environment disclosed in Patent Document 2 and the like described above is used by various companies (tenants).
  • a system that provides a development environment includes a customer (for example, an orderer), an engineering company (for example, a contractor), and a third vendor (a third party). ).
  • an application developer who is a user of the system loads an application program that is being developed in order to jointly develop an application with another company. You may want to share with other developers.
  • an application developer wants to obtain an application program from a customer including setting information such as parameter values set by the customer company in order to maintain the application provided to the customer company.
  • an application development environment providing system that provides an application program development environment via a network
  • the application program is generated based on an input from a terminal connected to the development environment.
  • the communication unit is configured to select one application program based on selection region information indicating a selection region of the application program selected by the program development unit according to a user operation.
  • the application development environment providing system according to (1) in which a part is copied so as to be usable and visually displayed.
  • the communication unit includes parameter information set by the program development unit, and allows a part or all of the application program to be copied in a usable manner (1) or (2 ) Application development environment providing system.
  • the program development unit replicates a part or all of the application program displayed by the communication unit so as to be usable, and visually displays them (1) to (3 ) Is an application development environment providing system according to any one of the above.
  • the program development unit updates the displayed application program based on an input from the terminal.
  • the program development unit includes development part information that is information indicating a development part including input, calculation, or output; and layout information that is information indicating an arrangement of the development part;
  • the application program can be used on the basis of at least one of connection information, which is information indicating a logical connection between the development parts, and parameter information indicating parameter values set for the development parts.
  • connection information which is information indicating a logical connection between the development parts, and parameter information indicating parameter values set for the development parts.
  • the communication unit may transfer a part or all of the application program generated by the program development unit from the program development unit to the communication unit by a drag-and-drop operation by a user.
  • a part or the whole of the application program is duplicated so as to be usable in the designated terminal by being visually moved to Application development environment providing system.
  • the communication unit provides a communication function between the plurality of users according to a display format in a chat format, according to any one of (1) to (7) Application development environment provision system.
  • an application development environment providing method for providing an application program development environment via a network, wherein the program development unit is based on an input from a terminal connected to the development environment.
  • An application program is generated, the program development unit visually displays the generated application program, and a communication unit provides a communication function between a plurality of users using the development environment, and the communication unit
  • An application that causes a part or all of the generated application program to be duplicated in a designated terminal so that the communication unit can visually display part or all of the duplicated application program.
  • One aspect of the present invention is a computer-readable non-transitory storage medium that stores one or more programs executed by a computer, and the one or more programs are connected to an application program development environment. Generating an application program based on the input from the generated terminal, visually displaying the generated application program, providing a communication function between a plurality of users using the development environment, and the generated application.
  • a computer-readable non-transitory storage medium that allows a part or all of a program to be duplicated so that it can be used in a designated terminal and that part or all of the duplicated application program is visually displayed.
  • a terminal device that is communicatively connected to a development environment for an application program provided via a network is generated via the development environment based on an input from the terminal device.
  • a communication device that visually displays part or all of the generated application program in the development environment used by a second user.
  • the communication display unit is based on selection area information indicating a selection area of the application program selected in response to a user operation via the program development display unit.
  • the communication display unit includes parameter information set via the program development display unit and visually displays a part or all of the application program (11 ) Or (12).
  • the program development display unit visually displays a part or all of the application program displayed by the communication display unit. Any one of (11) to (13) The terminal device according to claim 1.
  • the program development display unit displays the updated application program (14) It is a terminal device of description.
  • the program development display unit includes development part information that is information indicating a development part including input, calculation, or output, and layout information that is information indicating an arrangement of the development part. And visualizing the application program based on at least one of connection information that indicates logical connection between the development parts and parameter information that indicates parameter values set for the development parts.
  • the terminal device according to any one of (11) to (15), which is displayed automatically.
  • the communication display unit may include a part or all of the application program displayed by the program development display unit from the program development display unit by a drag-and-drop operation by a user.
  • the display unit according to any one of (11) to (16), wherein a part or all of the application program is visually displayed on the designated terminal device by visually moving to the communication display unit. It is a terminal device.
  • the communication display unit displays communication contents between the plurality of users in a chat format display form, as described in any one of (11) to (17). Terminal device.
  • the program development display unit is based on an input from the terminal device.
  • the application program generated via the development environment is visually displayed, the communication display unit provides a communication function among a plurality of users using the development environment, and the communication display unit
  • part or all of the application program generated in the development environment used by one user is visually displayed in the development environment used by a second user.
  • One aspect of the present invention is a computer-readable non-transitory storage medium storing one or more programs executed by a computer, wherein the one or more programs are connected to an application program development environment A visual display of the application program generated via the development environment based on the input from the terminal device provided, providing a communication function among a plurality of users using the development environment; A computer-readable non-transitory storage medium that visually displays part or all of the application program generated in the development environment used by a user in the development environment used by a second user.
  • One aspect of the present invention is an application development environment providing system, an application development environment providing method, a terminal device, an application display method, and an application development environment that can efficiently develop and share an application program used in a cloud computing environment.
  • a computer-readable non-transitory recording medium is provided.
  • the present invention relates to a system (hereinafter referred to as an application development environment providing system) that performs arithmetic processing or the like using data transmitted from sensors, devices, and systems connected to a communication network as input values in a cloud computing environment.
  • This system is an architecture for providing a development environment for developing programs such as IoT (Internet of Things) or IIoT (Industrial Internet Of Things) basic software, applications, and solutions. And a system for realizing the architecture.
  • an application development environment refers to the basics of IoT or IIoT that performs arithmetic processing using data transmitted from sensors, devices, and systems connected to a communication network as input values in a cloud computing environment.
  • a development environment for developing programs such as software, applications, and solutions.
  • the application execution environment refers to the basics of IoT or IIoT that performs arithmetic processing using data transmitted from sensors, devices, and systems connected to a communication network as input values in a cloud computing environment.
  • An environment for executing programs such as software, applications, and solutions.
  • FIG. 1 to 7 are schematic diagrams showing an example of application development by the application development environment providing system according to the present embodiment.
  • each switch of the 6 refrigerators is appropriately turned on / off (inputs 7 to 8) according to fluctuations in the intake gas temperature (input 1).
  • the purpose is to minimize power consumption (output 2) by switching.
  • an application development environment providing system according to the present embodiment finds an efficient operation control pattern of the refrigerator, and develops an application in which an automation algorithm for the operation control pattern is incorporated.
  • a developer who develops an application using the application development environment providing system first analyzes elements for controlling multi-input two-output on the application design screen displayed on the display unit of the application development environment providing system. Place development parts that indicate The analysis element is a development part described as “Nx2” in FIG.
  • the developer opens a historian (a database storing history information and performance information), “intake gas temperature”, “refrigerator 1 ON / OFF”, “refrigerator 2 ON / OFF”, “refrigeration” Place development parts on the design screen showing seven input data items: Machine 3 ON / OFF, Refrigerator 4 ON / OFF, Refrigerator 5 ON / OFF, and Refrigerator 6 ON / OFF .
  • the developer connects the development parts indicating these seven input data items to the analysis element “Nx2”.
  • the developer places development parts indicating two output data items, “exhaust gas temperature” and “power consumption”, from the historian on the design screen. Thereafter, as shown in FIG. 2, the developer connects the development parts indicating these two output data items to the analysis element “Nx2”. At this time, the developer designates past data for the past two years as past data of “exhaust gas temperature” and “power consumption” used for analysis.
  • FIGS. 3A and 3B When the developer displays the details screen of the analysis element “Nx2” on the design screen, for example, a line graph as shown in FIGS. 3A and 3B is displayed.
  • the vertical axis represents the exhaust gas temperature
  • the horizontal axis represents the past time axis.
  • the vertical axis represents power consumption
  • the horizontal axis represents a past time axis.
  • the developer makes an inquiry to a customer (for example, a company that controls the exhaust gas temperature in piping and requests the developer to develop an application).
  • the application development environment providing system includes a chat function (communication function based on a chat-type display form), an e-mail transmission / reception function, a call function, and the like as means for communicating with a customer. The developer first makes an inquiry to the customer through the call function.
  • the developer learns that the facility was being renewed during the time when the exhaust gas temperature was temporarily high (becomes an abnormal value). Data is instructed not to be analyzed.
  • the developer uses the chat function of the application development environment providing system to obtain data from the customer indicating an accurate time zone to be excluded from analysis. Then, the developer displays a screen for setting the analysis exclusion range on the design screen, inputs data indicating an accurate time zone to be excluded from the analysis target, and sets it as the analysis exclusion range.
  • a developer inputs the comment acquired from the customer by the chat function, and attaches the said comment to the place (screen area) where the above setting is made on the screen where the analysis exclusion range setting is performed.
  • the developer selects “Refrigerator 1 ON / OFF”, “Refrigerator 2 ON / OFF”, “Refrigerator 3 ON / OFF”, “Refrigerator 4 ON / OFF”, “Refrigerator” on the design screen.
  • the 6 input data items of “5 ON / OFF” and “Refrigerator 6 ON / OFF” are combined into one and switched to the data input item “Refrigerator 1-6 ON / OFF” as shown in FIG. .
  • the developer analyzes the cooling performance of the six refrigerators using the data for the past two years provided by the historian on the analysis screen of the application development environment providing system.
  • the developer performs a multiple regression analysis based on the “refrigerator performance” representing the performance of the entire six refrigerators, which are known values, and the cooling performance Ln obtained above. Then, for example, a distribution diagram as shown in FIG. 5A is displayed on the analysis screen. As a result, the developer confirms that the actual refrigerator performance and the actual refrigerator performance are not significantly different from each other because the measurement points are arranged almost linearly.
  • the developer calculates a performance coefficient (for example, Ln) indicating the actual performance of each of the six refrigerators. For example, the value of the performance coefficient for each refrigerator as shown in FIG. 5B is calculated. With the performance coefficient, for example, the developer recognizes that the actual performance of a specific refrigerator is lower than the original performance. The developer reports to the customer about the refrigerator whose performance is degraded by the e-mail transmission / reception function of the application development environment providing system.
  • a performance coefficient for example, Ln
  • the developer develops an application incorporating an operation control pattern automation algorithm.
  • the developer places a development part indicating a logic model as shown in FIG. 4 and connects to the development part indicating each input / output data item.
  • the developer displays the logic model creation screen on the display unit of the application development environment providing system.
  • a logic model as shown in FIG. 6 is displayed on the logic model creation screen.
  • various coefficients calculated in the above are displayed.
  • the developer completes a logic model indicating the logic of processing performed by the application on the logic model creation screen.
  • the developer performs simulation on the created logic model using past data acquired from the historian. Based on the result of the simulation, for example, the developer can recognize power consumption and the like that are reduced by controlling the operation of the refrigerator using the created logic model.
  • the KPI dashboard screen is a screen for monitoring the operating status of the application that controls the operation of the six refrigerators that adjust the exhaust gas temperature developed by the above procedure.
  • the KPI dashboard screen is, for example, a screen as shown in FIG.
  • the KPI dashboard screen displays the exhaust gas temperature status in real time with a band-shaped display showing a range in which the allowable fluctuation from the target value is plus or minus 3% and a line graph of the actual values.
  • the KPI dashboard screen displays the intake air temperature, the on / off state of the switches of the six refrigerators, and the like in real time as reference values. For example, when the KPI dashboard detects that the cooling performance of the refrigerator has deteriorated, it displays an alarm.
  • the KPI dashboard is implemented as one function of the application developed by the developer.
  • the developer performs application development using the application development environment providing system and provides the developed application to the customer according to the flow of the embodiment described above.
  • the application development environment providing system of the present invention may have a construction function unit (not shown) for constructing an application program.
  • This construction function unit prepares each work to be performed in plant operation as a process part icon (not shown) as a development part, for example, and this process part icon has a desired logic configuration, program configuration, or operating condition.
  • an application program for the work procedure diagram may be created.
  • the construction function unit is configured so that a user (operator) can construct an application program easily and intuitively. The configuration and operation will be described below.
  • the construction function unit can also create new icons by the user.
  • a process component icon (not shown) represents a logic configuration, device attribute, or work content with a picture.
  • a ready-made program for icon processing is prepared for the process component icon. The process part icon and the ready-made program are associated with each other.
  • the construction function unit arranges process part icons on the screen, connects the icons, defines the input / output conditions between the icons at the time of connection, and sets the parameters so that the icon corresponding to the logic performs a desired operation Set up.
  • the construction function unit constructs the logic configuration diagram or work procedure diagram, it generates the order information attached to the icons, the icon connection information, and the like.
  • the construction function unit configures an application program corresponding to the work procedure diagram by using the generated information and a ready-made program associated with the icon.
  • the application development environment providing system of the present invention may include an operation function unit (not shown) that executes the application program created by the construction function unit (for example, performs plant operation).
  • the start and stop of operation can be performed by a simple operation by a mouse operation in units of process part icons, units of process units, and units of business flows.
  • various messages such as alarms and guidance can be displayed as needed during driving, and driving can be safely and reliably performed.
  • the construction function unit may be configured by an icon storage unit, an icon connection unit, an information generation unit, and an operation execution unit described below.
  • the icon storage means stores an icon representing each operation performed in plant operation in association with a ready-made program for executing the operation of the icon.
  • the icon connection means selects an icon from the icon storage means, connects the selected icon on the screen of the display means, and displays the logic configuration diagram and work procedure diagram indicating the plant operation logic configuration and work procedure on the screen. create.
  • the information generation means generates information for executing the application program based on the logic configuration or work procedure created by the icon connection means. Examples of information to be generated include information on the order of icons, icon connection information, and the like. Information (execution information) generated by the information generation unit is stored in the storage unit.
  • the operation execution means executes the program associated with the information generated by the information generation means and the icon in the work procedure diagram according to the program configuration displayed on the screen or the work procedure (for example, the plant operation is performed and the plant is It is operated by the operation execution means).
  • the input means is provided for performing an input operation necessary for plant operation using, for example, a mouse, a keyboard or the like.
  • the operation execution means may perform work corresponding to the designated icon.
  • the program can be directly executed by screen operation.
  • the icon storage means may store an icon indicating exceptional processing and an off-the-shelf program that executes processing of the icon in association with each other.
  • the icon storage means also stores an icon indicating normal processing and its program. In this case, when an exception process occurs, the icon connection unit connects the icons stored in the icon storage unit on the screen and creates a work procedure diagram of the exception process on the screen.
  • the information generation unit may generate information for executing the exception processing work procedure created by the icon connection unit.
  • Information (exception processing execution information) generated by the information generation unit is stored in the storage unit.
  • the exception processing execution means executes the exception processing according to the exception process work procedure diagram based on the exception process execution information generated by the information generation unit and the program associated with the icon in the work procedure diagram (for example, runt processing). Run).
  • the exception processing determination means may determine whether or not exception processing has occurred.
  • FIG. 8 is a schematic diagram showing an outline of the application development environment providing system 1 according to the embodiment of the present invention.
  • the application development environment providing system 1 is a system configured by a four-level hierarchical structure of a device node, a spinal node, an intelligence node, and a socialization node in a cloud computing environment.
  • the device node is composed of various sensors, various devices, and various systems.
  • the various sensors include a temperature / humidity sensor, a pressure sensor, and a flow rate sensor.
  • Various devices include, for example, PLC (programmable logic controller) that is a control device, OBD (On-Board Diagnostics: self-failure) connected to CAN-BUS (Controller Area Network-BUS: bus type control network) in the vehicle Diagnosis) devices, KPI (Key Performance Indicator) monitors, indicators that display the current values of specific sensors, lamps, buzzers, valves, and robot arms.
  • the various systems include a DCS, a drone control system, an intrusion detection system, a security system to which an entrance badge reader is connected, and a building automation system to which lights, door locks, elevators, sprinklers, and the like are connected.
  • the device node hierarchy includes a device node 13-1 and a device node 13-2 configured by sensors, and a device node 14 configured by an actuator. It is.
  • the device nodes 13-1, the device node 13-2, and the device node 14 are collectively referred to as device nodes 13 and 14 when it is not necessary to distinguish between them.
  • the device nodes 13 and 14 of the application development environment providing system 1 are configured by two sensors and one device in order to simplify the description, but are not limited thereto.
  • the device nodes 13 and 14 can be arbitrarily configured by one or more sensors, devices, systems, and the like. In general, many sensors, devices, systems, and the like are often accommodated with respect to one spinal node.
  • the sensors, devices, and systems that constitute the device nodes 13 and 14 include a device that transmits data, a device that receives and displays data, and a device that receives data and takes action.
  • the sensor, device, system, and the like are devices that support plug-and-play, for example.
  • the sensor, the device, the system, and the like are devices having a function of performing communication simultaneously with a plurality of applications, for example.
  • the device nodes 13 and 14 include a device that communicates and connects to a device that constitutes a spinal node, and a device that communicates and connects to a device that constitutes an intelligence node.
  • the device nodes 13 and 14 that are connected to the devices constituting the spinal node are, for example, devices that require real-time characteristics, applications that do not allow data delay (data communication delay), fluctuation (data communication speed variation), and the like. And a device that may reduce the communication bandwidth when directly connected to an intelligence node to generate a large amount of data.
  • the device nodes 13 and 14 that are connected to the devices constituting the intelligence node include, for example, devices that are used in applications that are not affected by delays, fluctuations, and the like, and wireless communication networks such as mobile phone networks and satellite lines. There are devices installed at remote locations that need to be routed, devices that are moved, and the like.
  • the device node 13-1 and the device node 14 are connected to the devices constituting the spinal node via the Internet via a network interface such as Ethernet (registered trademark) and a plurality of routers and switches.
  • the device node 13-2 is connected to the devices constituting the intelligence node via a network interface such as Ethernet (registered trademark) and a plurality of routers and switches via the Internet.
  • the device nodes 13 and 14 are communicatively connected to a device constituting a spinal node or a device constituting an intelligence node by the Internet protocol (IP).
  • IP Internet protocol
  • Spinal node is configured by a server device and functions as a gateway.
  • the spinal node hierarchy includes a spinal node 12-1 and a spinal node 12-2.
  • the spinal node 12-1 and the spinal node 12-2 are collectively referred to as the spinal node 12 when it is not necessary to distinguish between them.
  • a server device constituting the spinal node 12 (hereinafter, also simply referred to as a spinal node 12) accommodates at least one device node 13, 14 in a cloud computing environment (that is, logical connection, management, or data). It is a server device that performs input / output.
  • the spinal node 12-2 originally accommodates at least one device node 13 and 14 as in the case of the spinal node 12-1, but for the sake of simplicity of description, the description is omitted in FIG.
  • the spinal node 12 is generally a device called a gateway server, a fog computer, or an edge computer, for example.
  • the spinal node 12 is installed between a server device (in this embodiment, the socialization node 10 and the intelligence node 11) in the cloud computing environment and the sensors, devices, and systems that constitute the device nodes 13 and 14. Is done.
  • the spinal node 12 receives data from device nodes 13 and 14 that perform communication using a communication protocol that the intelligence node 11 cannot communicate with, for example.
  • the spinal node 12 transmits the received data to the intelligence node 11 using a communication protocol with which the intelligence node 11 can communicate.
  • the spinal node 12 transfers data from the device nodes 13 and 14 to the intelligence node 11.
  • the spinal node 12 receives a signal transmitted from an analog sensor or the like that cannot communicate using the Internet protocol, using a communication protocol other than the Internet protocol.
  • the spinal node 12 digitally converts the received signal and normalizes it, and then transmits the normalized signal to a server device (hereinafter also simply referred to as the intelligence node 11) that constitutes the intelligence node 11 by communication using the Internet protocol. . Thereby, the spinal node 12 performs data transfer from the device node 13 to the intelligence node 11.
  • a server device hereinafter also simply referred to as the intelligence node 11
  • the spinal node 12 receives data transmitted from the device nodes 13 and 14, performs processing such as calculation, interpretation, and determination on the received data, and transmits the processing result to the intelligence node 11.
  • the spinal node 12 acquires data from the device nodes 13 and 14, performs preprocessing on the data, adds a time stamp (a symbol representing the time of occurrence), and sets the time series data.
  • a logic, algorithm, or the like for processing the series data is acquired from the intelligence node 11, and processing (processing such as processing or determination) for the time series data is executed based on the logic, the algorithm, or the like.
  • the spinal node 12 transmits the time series data to the intelligence node 11 as needed or based on an instruction from the intelligence node 11, for example.
  • the spinal node 12 transmits a control signal indicating an action generated based on the time series data and the logic or the algorithm to the appropriate device nodes 13 and 14.
  • the spinal node 12 temporarily stores the time series data in a time series database (not shown) provided in the spinal node 12. At the same time, the spinal node 12 transmits the time series data to the intelligence node 11 in response to a request from the intelligence node 11. Further, the spinal node 12 transmits the time series data temporarily stored in the time series database to the historian (not shown) via the communication path in which security is ensured asynchronously in order from the old data. Since the historian is directly connected to the intelligence node 11, the intelligence node 11 can refer to and use the historian as if the historian exists in the local environment.
  • the device nodes 13 and 14 that are connected to the spinal node 12 for communication in case a failure or abnormal operation occurs in the spinal node 12, Data may be transmitted to two or more spinal nodes 12 in parallel.
  • the device nodes 13 and 14 are apparatuses that communicate using the Internet protocol, the device nodes 13 and 14 send data, control signals, and the like to the communication network using techniques such as multicast and broadcast, and a plurality of spinals.
  • the node 12 may perform redundancy by receiving the data and the control signal in parallel.
  • the socialization node 10 and the intelligence node 11 include a server device and a network device that provide a cloud computing environment.
  • the socialization node 10 and the intelligence node 11 may be physically separated by different devices, or may be logically separated in a single device.
  • a device constituting the socialization node 10 uses a company and an application that provide the application among a plurality of companies (hereinafter also referred to as tenants) that jointly develop the application.
  • tenants a plurality of companies
  • a function is provided to make it possible to jointly use an application development environment and an application execution environment between an enterprise customer and between an enterprise and an individual.
  • the devices constituting the intelligence node 11 are used between a plurality of departments and groups such as organizations (hereinafter also referred to as sites) and a plurality of employees (hereinafter also referred to as accounts) that jointly develop applications in the enterprise. Provide functions to enable joint use of application development environment and application execution environment.
  • an application development environment, an application execution environment, and the like according to the present invention which are configured by the socialization node 10 and the intelligence node 11 and can be used jointly among companies, companies and individuals, and users within the company, are collectively referred to. This is called a co-innovation space.
  • the socialization node 10 and the intelligence node 11 operate in the server device as described above, and the Co-innovation space is mounted on the socialization node 10 and the intelligence node 11.
  • the intelligence node 11 has a main function of the Co-innovation space.
  • the socialization node 10 is a function necessary for sharing, buying and selling, communication, and the like of application programs between companies or between companies and individuals among the functions of the Co-innovation space.
  • the intelligence node 11 manages the spinal node 12 and the device nodes 13 and 14 that are connected to the intelligence node 11 for communication.
  • the user accesses the intelligence node 11 through a human machine interface (HMI) (not shown) and uses the Co-innovation space.
  • HMI human machine interface
  • the intelligence node 11 has various external interfaces for linking with various external systems.
  • the intelligence node 11 can cooperate with an external IoT and IIoT cloud computing environment, an external charging system, an external database system, and the like.
  • the intelligence node 11 can cooperate widely with various external systems, so that the intelligence node 11 can have a co-innovation space and a wide cooperation with various external systems in various IoT cloud computing environments. You can build applications on the Co-innovation space.
  • the intelligence node 11 can utilize the interface group provided by the IoT and IIoT cloud computing environments by having various external interfaces for the intelligence node 11 to cooperate with various external systems. For this reason, it is possible to develop a solution that covers the entire business process supply chain and the entire life cycle of a client company.
  • Co-innovation space is a virtual space in a cloud computing environment, and is a space for co-creation of applications that are separated from each other by company (tenant) unit or organization (site) unit and are securely isolated from each other. .
  • the Co-innovation space may be implemented in the server device of the data center in the local environment instead of being implemented in the cloud computing environment.
  • the above-described architecture of the Co-innovation space may be provided by one or a plurality of devices constituting the intelligence node 11 and the socialization node 10.
  • the storage area in the architecture of this Co-innovation space may be a storage unit of one or a plurality of devices constituting the intelligence node 11 and the socialization node 10, or a storage region of a storage unit included in a plurality of devices. A part of them may be combined.
  • FIG. 9 is a functional configuration diagram of a Co-innovation space implemented in the application development environment providing system 1 according to the embodiment of the present invention.
  • the intelligence node 11 includes an application board 111, a communication tool 112, a library 113, a storage 114, a device management unit 115, a tenant management unit 116, and a site / account management unit 117.
  • An application store 118, a billing unit 119, and a database unit 120 is an application board 111, a communication tool 112, a library 113, a storage 114, a device management unit 115, a tenant management unit 116, and a site / account management unit 117.
  • An application store 118, a billing unit 119, and a database unit 120 is an application board 111, a communication tool 112, a library 113, a storage 114, a device management unit 115, a tenant management unit 116, and a site / account management unit 117.
  • Application board 111 provides the user with a multi-tenant, multi-site, and multi-account application development environment and application execution environment.
  • the application board 111 has functions such as a compiler and a display unit that can visually display an application program to the user.
  • the display unit displays an image indicating the Co-innovation space, and visually displays the application program in the Co-innovation space based on layout information, connection information, parameter information, selection area information, and the like.
  • Layout information is information indicating the processing mode of the application program to be developed.
  • the application program to be developed is an application that performs multi-input 2-output processing, or is an application that performs multi-input multi-output processing, or 1-input multi-output processing.
  • Information indicating that the application is to be executed is included.
  • connection information is a visual representation of the relationship between data items and logic by connecting the input data items, the logic that is the processing content, and the output data items that are the processing results in the application program that is the development target.
  • the information regarding the said conducting wire defined when producing
  • the parameter information is information indicating setting values of various parameters set in the application program to be developed.
  • the selected area information is information indicating a part of processing selected (designated) by a user operation or the like in a series of processing of the application program to be developed. For example, with respect to an application program visually displayed by the application board 111, the user surrounds a part of the application program by operating a mouse or the like, so that selection area information indicating the enclosed area is obtained. Generated.
  • a user who has an account linked to a tenant or site shares data, logic, applications, etc. with other users based on access privileges and execution privileges set in advance or set by an administrator
  • the application program can be created, managed, executed, and the like using a screen displayed on the display unit of the application board 111 (hereinafter also referred to as a “Co-innovation space screen”).
  • the application board 111 includes, for example, various development parts (including, for example, the above-described data items of input data, logic as processing contents, and data items of processing result data). Select the required development parts from the list. Thereafter, the user drags and drops the selected development part to the application design area by a mouse operation or the like. Thus, the selected development part is displayed in the application design area. In the application design area, the user performs, for example, a mouse operation for dragging the selected development parts so as to connect them with a conducting wire. As a result, the processing flow of the application program that is the development target is defined, and the application program is generated.
  • various development parts including, for example, the above-described data items of input data, logic as processing contents, and data items of processing result data.
  • the user selects a necessary application, template, logic, etc. from a list of general-purpose various applications, general-purpose various templates, general-purpose various logics, etc. on the application board 111. Thereafter, the user drags and drops the selected application, template, logic, and the like to the application design area by a mouse operation or the like. Thus, the user can develop an application program using the selected application, template, logic, and the like.
  • the application, template, logic, etc. registered in the list may be paid or free.
  • a charging process is performed by a charging unit 119 described later.
  • Access authority is set so that it can be accessed only from a specific tenant specified in advance or an account belonging to a specific site specified in advance.
  • the Co-innovation space is a mechanism that allows users to share various types of information while managing access rights, so it is possible to co-create application programs safely while preventing information leakage. Provide an environment.
  • the communication tool 112 provides a chat function, a video communication function, a voice call function, a screen sharing function, a community function such as a bulletin board and a social network service (SNS), etc. used between users.
  • the chat function includes not only text data (for example, source code), image data, and program execution files, but also part or all of the application program to be developed, including setting information such as parameter values. Can be transmitted and received between users.
  • the user drags and drops an area indicating a part of the application program selected by operating the mouse or the like to surround the application program with the other users by dragging and dropping the area on the chat screen.
  • the graph displayed on the chat screen is also updated in real time.
  • the graph displayed on the chat screen of the Co-innovation space referenced by other users is also updated in real time.
  • the application development environment and the communication tool are seamlessly linked. Therefore, it is possible to easily and flexibly communicate applications for co-creation between users.
  • the community is a function that enables communication between multiple users in real time or non-real time.
  • the community is a function such as a bulletin board, a comment list, and SNS. Access to the community from each user is limited within a range based on the access authority set by the management policy set for each tenant. You may enable it to narrow-down search with various narrowing conditions (for example, an issue, a field
  • the user can exchange opinions with the user having the account belonging to the same tenant or site or the user having an account belonging to a different tenant or site by the communication tool 112.
  • application programs can be co-created by a plurality of users.
  • the library 113 provides general-purpose processing logic, templates, analysis tools, and historians (database storing history information and performance information) used when developing or executing application programs on the application board 111. To do.
  • the library 113 includes various analysis tools such as a similar waveform search tool, a regression analysis tool, a multiple regression analysis tool, an MT method analysis tool, an error variance analysis tool, a data driven modeling tool, a deep learning tool, and a correlation analysis tool.
  • analysis tools such as a similar waveform search tool, a regression analysis tool, a multiple regression analysis tool, an MT method analysis tool, an error variance analysis tool, a data driven modeling tool, a deep learning tool, and a correlation analysis tool.
  • the user can perform various types of analysis by dragging and dropping an arbitrary analysis tool onto the application design area and inputting data.
  • the storage 114 distinguishes various types of information (for example, developed application programs and analysis result data) into publicly available information, tenant shared information, site shared information, and account personal information, Each is stored in a public storage area, a tenant shared storage area, a site shared storage area, or an account individual storage area.
  • the storage area in which each user can store various types of information may be controlled based on the authority set for each user in advance by the tenant administrator.
  • the storage 114 may be a storage medium, such as a hard disk drive (HDD), flash memory, EEPROM (EEPROM), RAM (read / write memory), ROM (read only memory), or any combination thereof. .
  • the device management unit 115 manages information on sensors, devices, systems, and the like constituting the device nodes 13 and 14 accommodated by the intelligence node 11. For example, the device management unit 115 associates the identification information given to the device nodes 13 and 14 and the identification information of the account, site, and tenant used for accommodating the device nodes 13 and 14. Manage.
  • the device management unit 115 of the intelligence node 11 may acquire and manage information on sensors, devices, systems, and the like constituting the device nodes 13 and 14 accommodated by the spinal node 12 via the spinal node 12.
  • the spinal node 12 may manage the information
  • the device management unit 115 of the intelligence node 11 may acquire the information from the spinal node 12.
  • the tenant management unit 116 manages various information related to the tenant (company). For example, the tenant management unit 116 performs setting, change, deletion, and the like on information such as tenant basic information, billing information, operation authority, and authorization authority. For example, the tenant management unit 116 manages contract information regarding contracts associated with the use of the Co-innovation space and the use of paid or free applications, tools, templates, data, and the like for each tenant.
  • the site / account management unit 117 manages various information related to a site (organization) and an account (user). For example, the site / account management unit 117 performs settings, changes, deletions, etc. on information such as basic information on sites and accounts, billing information, operation authority, and authorization authority.
  • the application store 118 is a function for the user to buy and sell part or all of application programs, logic, templates, data, and the like (hereinafter simply referred to as applications). For example, when developing an application program, the user selects an application to be purchased from a list of applications sold by the application store 118 on the Co-innovation space screen. Then, the user drags and drops the selected application or the like into the application design area by a mouse operation or the like. As a result, the user can purchase the selected application or the like and use it for developing an application program.
  • applications logic, templates, data, and the like
  • the application sold by the application store 118 may be billed by any billing method such as monthly billing, annual billing, billing according to the usage rate, or one-time billing. Certain applications, etc. sold by the application store 118 are free trial periods for a certain period (for example, one month) from the date when the user starts using the application store 118 so that no charges are incurred. Also good.
  • the charging unit 119 performs a charging process for a user who purchased an application or the like sold by the application store 118.
  • the charging unit 119 may perform a charging process for use of the Co-innovation space.
  • the billing destination may be registered in advance for each tenant, site, or account.
  • the purchased application is an application registered in the application store 118 by the user, the application etc. is registered with a part of the amount collected by charging the user who purchased the application etc. You may pay to the user.
  • the database unit 120 stores data such as production management information, plant operation management information, and quality information necessary for the operation of the application as a database, and provides necessary data according to the application request.
  • This database may be a general database such as SQL or a non-SQL specific use database. This database may be set for each tenant, site, or account, and an administrator may set access authority individually according to the contents of data. These databases may refer to external databases outside the Co-innovation space.
  • FIGS. 10 to 13 are diagrams showing examples of display by the application board of the application development environment providing system according to the embodiment of the present invention.
  • FIG. 10 shows an example of the layout of each screen area constituting the Co-innovation space screen.
  • the Co-innovation space screen includes four screen areas: an application design area (editing area), a global navigation display area, a local navigation display area, and a development parts list display area.
  • the development parts list display area switches from the displayed state to the non-display state by sliding to the left of the screen and moving to the outside of the screen.
  • the application design area is expanded, and the user can easily edit the application program.
  • the simulation area and chat / comment display area that are hidden when the Co-innovation space screen is activated are switched to the displayed state.
  • the simulation area is switched from the non-display state to the display state by sliding from the right direction of the screen into the screen.
  • the chat / comment area is switched from the non-displayed state to the displayed state by sliding from the bottom of the screen into the screen.
  • the user can display the simulation area and the chat / comment display area on the display section only when necessary, and can secure a wide application design area by hiding these screen areas when not necessary. This makes it easier for the user to edit the application program.
  • the application design area is a screen area that visually displays the structure of the application program to be developed.
  • the user can, for example, develop parts displayed in the development parts list display area, such as various analysis elements, data items of various input / output data, logic as processing contents, various applications, various templates, various logic, various graphs, and Select the required development parts from the list of various analysis tools. Thereafter, the user can display an image showing the selected development part in the application design area by dragging and dropping the application design area by a mouse operation or the like.
  • the user can display, in the application design area, a conductive wire that links the two development parts by, for example, dragging between the two development parts displayed in the application design area by a mouse operation or the like. By performing such an operation, the user can visually design and edit the application program to be developed.
  • the user for example, encloses a part of the application program that is the development target by surrounding the part of the application program that is the development target visually displayed in the application design area with a mouse operation or the like. You can choose. Then, for example, the user can drag and drop a partial area of the selected application program by a mouse operation or the like and paste it on the chat screen to share it with other users.
  • the user selects necessary development parts from a list of part or all of application programs displayed in the application store displayed in the global navigation display area, logic, templates, data, and the like. Thereafter, the user can drag and drop the application part into the application design area by a mouse operation to display the developed part in the application design area. As a result, the user can purchase necessary development parts from the application store and use them immediately.
  • the user selects, for example, a part or the whole area of the application program to be developed visually displayed in the application design area by operating the mouse. Thereafter, the user drags and drops the selected area onto the application store displayed in the global navigation display area by operating the mouse or the like. Thereby, a part or all of the selected application program is registered in the application store, and information (for example, including an icon image) indicating the part or all of the application program is displayed in the application store. In this way, the user can sell, for example, part or all of the developed application program to other users in the application store.
  • the global navigation display area is a screen area in which a common menu screen is displayed in a tenant (company) or site (organization).
  • menus for using functions such as login / logout, account setting, project switching, search, and application store are displayed.
  • the local navigation display area is a screen area where a menu screen corresponding to the account (user) is displayed.
  • a menu for using functions such as issue management and task management, version management, and project setting in the application program to be developed is displayed.
  • Developed parts list display area is a screen area that displays a list of developed parts used for application program development.
  • the development part list display area includes, for example, the above-described various analysis elements, various input / output data items, general various applications, general various templates, general various logic, and various analysis tools (for example, similar waveform search tool, Regression analysis tool, multiple regression analysis tool, MT method analysis tool, error variance analysis tool, data driven modeling tool, deep learning tool, correlation analysis tool, etc.) are classified and listed.
  • the simulation area is a screen area that displays setting information for simulating execution (simulation) of the application program displayed in the application design area, information indicating the simulation result, and the like.
  • the chat / comment area is recorded in the past by the user or other users, such as a chat screen, which is a function for exchanging messages in real time or non-real time, with respect to application programs etc. that are developed by other users.
  • a chat screen which is a function for exchanging messages in real time or non-real time, with respect to application programs etc. that are developed by other users.
  • This is a screen area for displaying a list of comments.
  • a message or comment displayed in the chat / comment area is selected by a user's mouse operation or the like.
  • the selected message or comment is transferred to an arbitrary position in the application design area by an operation such as drag and drop to the application design area.
  • FIG. 11 shows an example of a screen when the user selects an arbitrary development part displayed in the development part list display area on the Co-innovation space screen and uses the selected development part in the application design area.
  • application design areas include “intake gas temperature”, “refrigerator 1 ON / OFF”, “refrigerator 2 ON / OFF”, “refrigerator 3 ON / OFF”, “refrigerator”. 7 input data items “4 ON / OFF”, “Refrigerator 5 ON / OFF”, “Refrigerator 6 ON / OFF”, “Nx2” analysis element, “Exhaust gas temperature”, and “Power consumption” An image visually representing the application program to be developed is displayed, in which two output data items are connected by arrows (conductors).
  • the development part list display area displays a list of development parts classified into categories of “analysis element”, “input / output data”, “logic”, and “simulation”. .
  • multi-input 2-output When the user creates an application program in the application design area of FIG. 11, first, a development called “multi-input 2-output” is selected from the development parts in the “analysis element” column displayed in the development part list display area. Select a part. Thereafter, the user drags and drops the selected development part to the application design area by a mouse operation or the like. Then, in the application design area, an image of the analysis element in which the characters “Nx2” representing multi-input 2-output are written is displayed.
  • the user selects a development part called “data / historian” from the development parts in the “input / output data” column displayed in the development part list display area. Thereafter, the user drags and drops the selected development part onto the application design area by a mouse operation or the like. Then, an image indicating data / historian is displayed in the application design area.
  • the user opens a screen (not shown) for selecting data items for the displayed image showing the data / historian, and displays a list of data items included in the data / historian.
  • a screen for selecting data items for the displayed image showing the data / historian
  • characters “intake gas temperature” are displayed on the image indicating the data and the historian. In this way, the user can add input data items to the application design area.
  • the user drags between the image indicating the input data item “intake gas temperature” and the image indicating the analysis element “Nx2” by operating the mouse or the like. Then, an image indicating an arrow (conductor) from an image indicating the input data item “intake gas temperature” to an image indicating the analysis element “Nx2” is displayed. In this way, the user can link the input data item to the analysis element in which the processing content of the application program is defined.
  • connection information Information indicating which development part is linked to which development part is called connection information.
  • the user adds the output data item to the application design area in the same manner as the operation when the input data item is added to the application design area in the above.
  • an output data item “exhaust gas temperature” is displayed on the image indicating data / historian. “Temperature” is displayed.
  • the user can add output data items to the application design area.
  • the user further adds an output data item “power consumption” to the application design area.
  • the user selects the output data item “exhaust gas temperature” from the image indicating the analysis element “Nx2” in the same manner as the operation in the case where the image indicating the input data item and the image indicating the analysis element are associated with each other. Drag to the image shown by mouse operation. Further, the user drags between the image indicating the analysis element “Nx2” and the image indicating the output data item “exhaust gas temperature” by operating the mouse or the like. In this way, the user can associate the output data item with the analysis element in which the processing content of the application program is defined.
  • the user displays a screen (not shown) for defining the contents of processing performed in the analysis element on the display unit and defines the contents of the arithmetic processing performed in the analysis element “Nx2”. Accordingly, the user can develop an application program that performs arithmetic processing using the data of the seven input data items as input values and outputs the data of the two output data items as the processing result.
  • FIG. 12 shows that the user selects a part of the application program displayed in the application design area on the Co-innovation space screen, and shares the selected part of the application program with other users by the chat function.
  • An example screen is shown.
  • the part of the application program is a part corresponding to the range of processing until data of seven input data items is input and arithmetic processing is performed.
  • the user can select “intake gas temperature”, “refrigerator 1 ON / OFF”, “refrigerator 2 ON / OFF”, “refrigerator 3” from the visually displayed application program images.
  • a region is selected by dragging with a mouse operation or the like so as to surround an image to be displayed and an image of an arrow (conductor) connecting the seven input data items and the analysis element.
  • the selected area that is, a movement locus such as a pointer by dragging
  • information indicating the selected area is referred to as selected area information.
  • the user selects an area surrounded by a dotted line in the application design area. Thereafter, the user drags the selected area to the group chat screen of “Group 1” by a mouse operation or the like. Then, information indicating a part of the selected application program is displayed in the message display area of the group chat screen. In the example shown in FIG. 12, the notation “Nx2” and an icon are displayed in the message area of the group chat screen of “group 1”.
  • the information shared by the group chat includes not only the information indicating the image, the layout information, the connection information, and the selection area information indicating the structure of the application program, but also a set parameter value and the like. That is, according to the Co-innovation space, not only the source code of the application program but also the set parameter value and the like can be shared among users.
  • the Co-innovation space has an application development environment and a communication tool, and the application development environment and the communication tool function in cooperation with each other. For this reason, the user can easily share the developed application with other users.
  • FIG. 13 shows an example screen of the application store.
  • the application store screen is displayed when the display area of “application store” displayed in the menu displayed in the global navigation area is clicked by a mouse operation or the like.
  • the top 20 (top 20) applications and templates are displayed in descending order of the number of purchased items.
  • the area on the left side of the application store includes a screen area for the user to search for part or all of application programs registered in the application store, logic, templates, data, and the like. It is displayed.
  • the user can search by keyword search, category search by industry that narrows down according to the industry targeted by the registered application, etc., and by purpose of narrowing down by purpose of processing performed by the registered application, etc. It is possible to perform a narrow search that narrows down to a category search, a paid or free application, and the like.
  • a user can register application programs, logic, templates, and the like developed in the Co-innovation space in the application store and sell them to other users.
  • the Co-innovation space has an application store along with an application development environment. Because the application development environment and the application store function together, users can easily sell developed applications to other users, and applications developed by other users, external vendors, etc. Or you can buy it.
  • FIG. 14 and 15 are flowcharts showing an example of the operation of the Co-innovation space implemented in the application development environment providing system 1 according to the embodiment of the present invention.
  • FIG. 14 shows the operation of the Co-innovation space when an application program is generated in the Co-innovation space and a part of the generated application program is shared between accounts (users) by the communication tool.
  • Step S001 The application board 111 displays a Co-innovation space screen on the display unit.
  • the application board 111 generates an application program in response to a user operation.
  • the application board 111 generates layout information, connection information, and the like regarding the structure of the generated application program. Thereafter, the process proceeds to step S002.
  • Step S002 The application board 111 visually displays the application program generated in step S001 in the application design area of the Co-innovation space screen. Thereafter, the process proceeds to step S003.
  • Step S003 The application board 111 selects a partial area of the application program visually displayed in step S002 in response to an operation by the user, and selects selection area information that is information indicating the selected area. Generate. Thereafter, the process proceeds to step S004.
  • Step S004 The application board 111 acquires the application program and parameter information corresponding to the selected area based on the selection area information generated in step S003. Thereafter, the process proceeds to step S005.
  • Step S005 The communication tool 112 performs steps S001 through S001 in response to an operation by the user (for example, an operation in which the user drags and drops an area indicating a part of the selected application program to a message display area on the chat screen). Based on the application program acquired by the application board 111 in step S004, parameter information, layout information, connection information, selection area information, and the like, information indicating a part of the application program is visually displayed in the message area of the communication tool 112. To do. Thereafter, the process proceeds to step S006.
  • Step S006 The communication tool 112 transmits information indicating a part of the application program to another user's communication tool in response to an operation by the user (for example, an operation in which the user clicks a transmission button on the chat screen). The information is visually displayed.
  • Step S007 The user who has received information indicating a part of the application program operates the information displayed visually by the user (for example, the information visually displayed by the user in the message display area of the chat screen).
  • the application program acquired by the application board 111 in step S001 to step S004, parameter information, layout information, connection information, selection area information, and the like according to the application design area). Duplicate. Above, the process of this flowchart is complete
  • FIG. 15 shows the operation of the Co-innovation space when an application program is generated in the Co-innovation space and a part of the generated application program is registered in the application store for sale.
  • Step S101 The application board 111 displays a Co-innovation space screen on the display unit.
  • the application board 111 generates an application program in response to a user operation.
  • the application board 111 generates layout information, connection information, and the like regarding the structure of the generated application program. Then, it progresses to step 1002.
  • Step S102 The application board 111 visually displays the application program generated in step S001 in the application design area of the Co-innovation space screen. Thereafter, the process proceeds to step S103.
  • Step S103 The application board 111 selects a partial area of the application program visually displayed in step S002 in response to an operation by the user, and selects selection area information that is information indicating the selected area. Generate. Thereafter, the process proceeds to step S104.
  • Step S104 Based on the selection area information generated in step S003, the application board 111 edits the application program corresponding to the selected area into an application program that can be sold. Thereafter, the process proceeds to step S105.
  • Step S105 The application store 118 drags an area indicating a part of the application program selected by the user (for example, a part of the application program selected by the user to the display area of the application store in the menu screen displayed in the global navigation display area.
  • the application program edited in step S104 is registered according to the operation to be performed. Thereafter, the process proceeds to step S106.
  • Step S106 The application store 118 displays the application program registered in step S105. Above, the process of this flowchart is complete
  • the application development environment providing system 1 provides an application program development environment via a communication network.
  • the application board 111 program development section program development display section of the application development environment providing system 1 can generate an application program based on an input from a terminal connected to the development environment, and the generated application program can be visually viewed. Can be displayed automatically.
  • the communication unit (communication display unit) of the application development environment providing system 1 can perform communication among a plurality of users using the development environment, and is generated by the application board 111 (program development unit, program development display unit). Part or all of the application program can be visually displayed on a designated terminal.
  • the application development environment providing system 1 can realize efficient development and sharing of application programs used in the cloud computing environment.
  • a part or all of the application development environment providing system 1 in the above-described embodiment may be realized by a computer. In that case, it is realized by recording one or more programs for realizing this control function on a computer-readable recording medium, causing the computer system to read and execute one or more programs recorded on the recording medium May be.
  • the “computer system” is a computer system built in the application development environment providing system 1, and includes hardware such as an OS and peripheral devices.
  • “Computer-readable recording medium” refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM, and a CD-ROM, and a storage device such as a hard disk built in a computer system.
  • the “computer-readable recording medium” is a medium that dynamically holds a program for a short time, such as a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line,
  • a volatile memory inside a computer system that serves as a server or a client may be included that holds a program for a certain period of time.
  • the program may be a program for realizing a part of the functions described above, and may be a program capable of realizing the functions described above in combination with a program already recorded in a computer system.
  • the application development environment providing system 1 in the above-described embodiment may be realized as an integrated circuit such as an LSI (Large Scale Integration).
  • LSI Large Scale Integration
  • Each functional block of the application development environment providing system 1 may be individually made into a processor, or a part or all of them may be integrated into a processor.
  • the method of circuit integration is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor. When integrated circuit technology that replaces LSI emerges due to advances in semiconductor technology, an integrated circuit based on this technology may be used.
  • unit is used to indicate a component, unit, hardware, or a portion of software programmed to perform a desired function.
  • Typical examples of hardware are devices and circuits, but are not limited to these.
  • DESCRIPTION OF SYMBOLS 1 ... Application development environment provision system, 10 ... Socialization node, 11 ... Intelligence node, 12 ... Spinal node, 13 ... Device node (sensor), 14 ... Device node ( (Device), 111... Application board (program development unit, program development display unit), 112... Communication tool (communication unit, communication display unit), 113... Library, 114.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

ネットワークを介してアプリケーションプログラムの開発環境を提供するアプリケーション開発環境提供システムにおいて、 前記開発環境に接続された端末からの入力に基づいて前記アプリケーションプログラムを生成し、生成された前記アプリケーションプログラムを視覚的に表示するプログラム開発部と、 前記開発環境を利用する複数のユーザ間におけるコミュニケーション機能を提供するコミュニケーション部であって、第1のユーザが利用する前記開発環境の前記プログラム開発部によって生成された前記アプリケーションプログラムの一部または全部を、第2のユーザが利用する前記開発環境において利用可能に複製させ、視覚的に表示させるコミュニケーション部と、 を有するアプリケーション開発環境提供システム。

Description

アプリケーション開発環境提供システム、アプリケーション開発環境提供方法、端末装置、アプリケーション表示方法、およびコンピュータ読み取り可能な非一時的記録媒体
 本発明は、アプリケーション開発環境提供システム、アプリケーション開発環境提供方法、端末装置、アプリケーション表示方法、およびコンピュータ読み取り可能な非一時的記録媒体に関する。
 プラントや工場等においては、フィールド機器(測定器、操作器)と、これらを制御する制御装置とが通信手段を介して接続された分散制御システム(DCS:Distributed Control System)が構築されており、高度な自動操業が実現されている。このような高度な自動操業が実現されるプラントでは、分散制御システム以外に、製造実行システム(MES:Manufacturing Execution System)、プラント情報管理システム(PIMS:Plant Information Management System)、基幹業務システム(ERP:Enterprise Resource Planning)等の種々のシステム(エンジニアリングシステム)が構築されることが多い。
 これらのエンジニアリングシステムは、例えばPLC(Programmable Logic Controller)、FA(Factory Automation)コンピュータ、汎用デスクトップコンピュータ、サーバ装置等のプラントに設置された装置を用いて実現されるのが殆どであった。近年においては、通信技術の進展によって、これらエンジニアリングシステムの一部が、ネットワークを介したクラウドコンピューティングによって実現されている。
 ここで、クラウドコンピューティングは、例えば、以下のURL(Uniform Resource Locator)で特定される文書に記載されている定義(米国国立標準技術研究所によって推奨される定義)に合致するものであっても良い。
http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf
https://www.ipa.go.jp/files/000025366.pdf
 以下の特許文献1には、工業自動化及び生産システム用のクラウドコンピューティングが開示されている。以下の特許文献2には、クラウドコンピューティング環境において用いられるアプリケーションプログラムを開発するための開発環境を、クラウドコンピューティングによって提供する技術の一例が開示されている。
特表2012-523038号公報 特許第5792891号公報
 上述した特許文献2等に開示された開発環境を提供するシステムは、さまざまな企業(テナント)に利用される。例えば、プラントで実現されるエンジニアリングシステムの開発が行われる場合には、開発環境を提供するシステムは、顧客(例えば、発注者)、エンジニアリング会社(例えば、受注者)、及びサードベンダ(第三者)によって利用される。
 このような、様々な関係企業によって利用される、開発環境を提供するシステムにおいては、当該システムのユーザであるアプリケーション開発者が、アプリケーションの共同開発をするために開発中のアプリケーションプログラムを他の企業の開発者と共有したい場合がある。また、アプリケーション開発者が、顧客企業に提供したアプリケーションの保守を行うために顧客企業によって設定されたパラメータ値等の設定情報も含めてアプリケーションプログラムを顧客から取得したい場合もある。
 従来の開発環境を提供するシステムにおいては、当該システムによって開発されたアプリケーションプログラムを他のユーザと共有する場合には、アプリケーションプログラムの開発環境を提供するシステムとは異なる他のシステムを別途使用して、アプリケーションプログラムを送受信し、アプリケーションプログラムを共有する必要がある。
 この場合、例えば、アプリケーションプログラムの特定の範囲のみを指定して、アプリケーションプログラムの一部を部分的に提供するような、柔軟なアプリケーションプログラムの共有を行うことは難しいという課題がある。アプリケーションプログラムを開発するためのシステムと、当該アプリケーションプログラムを他のユーザと共有するためのシステムとが異なることにより、ユーザ間のコミュニケーション効率が低下することがあるという課題もある。
(1)本発明の一態様としては、ネットワークを介してアプリケーションプログラムの開発環境を提供するアプリケーション開発環境提供システムにおいて、前記開発環境に接続された端末からの入力に基づいて前記アプリケーションプログラムを生成し、生成された前記アプリケーションプログラムを視覚的に表示するプログラム開発部と、前記開発環境を利用する複数のユーザ間におけるコミュニケーション機能を提供するコミュニケーション部であって、第1のユーザが利用する前記開発環境の前記プログラム開発部によって生成された前記アプリケーションプログラムの一部または全部を、第2のユーザが利用する前記開発環境において利用可能に複製させ、視覚的に表示させるコミュニケーション部と、を有するアプリケーション開発環境提供システムである。
(2)本発明の一態様としては、前記コミュニケーション部は、前記プログラム開発部によってユーザの操作に応じて選択された前記アプリケーションプログラムの選択領域を示す選択領域情報に基づいて、前記アプリケーションプログラムの一部を利用可能に複製させ、視覚的に表示させる(1)に記載のアプリケーション開発環境提供システムである。
(3)本発明の一態様としては、前記コミュニケーション部は、前記プログラム開発部によって設定されたパラメータ情報を含んで、前記アプリケーションプログラムの一部または全部を利用可能に複製させる(1)または(2)に記載のアプリケーション開発環境提供システムである。
(4)本発明の一態様としては、前記プログラム開発部は、前記コミュニケーション部によって表示された前記アプリケーションプログラムの一部または全部を利用可能に複製し、視覚的に表示する(1)から(3)のうちいずれか一項に記載のアプリケーション開発環境提供システムである。
(5)本発明の一態様としては、前記プログラム開発部は、表示した前記アプリケーションプログラムを前記端末からの入力に基づいて更新する(4)に記載のアプリケーション開発環境提供システムである。
(6)本発明の一態様としては、前記プログラム開発部は、入力、演算、または出力を含む開発パーツを示す情報である開発パーツ情報と、前記開発パーツの配置を示す情報であるレイアウト情報と、前記開発パーツ間の論理的な接続を示す情報である結線情報と、前記開発パーツに対して設定されたパラメータ値を示すパラメータ情報のうち少なくとも1つの情報に基づいて、前記アプリケーションプログラムを利用可能に複製し、視覚的に表示する(1)から(5)のうちいずれか一項に記載のアプリケーション開発環境提供システムである。
(7)本発明の一態様としては、前記コミュニケーション部は、前記プログラム開発部によって生成された前記アプリケーションプログラムの一部または全部を、ユーザによるドラッグアンドドロップの操作によって前記プログラム開発部から前記コミュニケーション部へ視覚的に移動させることにより、指定された前記端末において前記アプリケーションプログラムの一部または全部を利用可能に複製し、視覚的に表示させる(1)から(6)のうちいずれか一項に記載のアプリケーション開発環境提供システムである。
(8)本発明の一態様としては、前記コミュニケーション部は、チャット形式の表示形態によって、前記複数のユーザ間のコミュニケーション機能を提供する(1)から(7)のうちいずれか一項に記載のアプリケーション開発環境提供システムである。
(9)本発明の一態様としては、ネットワークを介してアプリケーションプログラムの開発環境を提供するアプリケーション開発環境提供方法であって、プログラム開発部が、前記開発環境に接続された端末からの入力に基づいてアプリケーションプログラムを生成し、前記プログラム開発部が、生成された前記アプリケーションプログラムを視覚的に表示し、コミュニケーション部が、前記開発環境を利用する複数のユーザ間のコミュニケーション機能を提供し、前記コミュニケーション部が、生成された前記アプリケーションプログラムの一部または全部を、指定された端末において利用可能に複製させ、前記コミュニケーション部が、複製された前記アプリケーションプログラムの一部または全部を視覚的に表示させるアプリケーション開発環境提供方法である。
(10)本発明の一態様としては、コンピュータによって実行される一以上のプログラムを記憶するコンピュータ読み取り可能な非一時的記憶媒体であって、前記一以上のプログラムは、アプリケーションプログラムの開発環境に接続された端末からの入力に基づいてアプリケーションプログラムを生成し、生成された前記アプリケーションプログラムを視覚的に表示し、前記開発環境を利用する複数のユーザ間のコミュニケーション機能を提供し、生成された前記アプリケーションプログラムの一部または全部を、指定された端末において利用可能に複製させ、複製された前記アプリケーションプログラムの一部または全部を視覚的に表示させるコンピュータ読み取り可能な非一時的記憶媒体である。
(11)本発明の一態様としては、ネットワークを介して提供されるアプリケーションプログラムの開発環境に通信接続された端末装置において、前記端末装置からの入力に基づいて、前記開発環境を介して生成された前記アプリケーションプログラムを視覚的に表示するプログラム開発表示部と、前記開発環境を利用する複数のユーザ間におけるコミュニケーション機能を提供するコミュニケーション表示部であって、第1のユーザが利用する前記開発環境で生成された前記アプリケーションプログラムの一部または全部を、第2のユーザが利用する前記開発環境において視覚的に表示させるコミュニケーション表示部と、を有する端末装置である。
(12)本発明の一態様としては、前記コミュニケーション表示部は、前記プログラム開発表示部を介したユーザの操作に応じて選択された前記アプリケーションプログラムの選択領域を示す選択領域情報に基づいて、前記アプリケーションプログラムの一部を視覚的に表示させる(11)に記載の端末装置である。
(13)本発明の一態様としては、前記コミュニケーション表示部は、前記プログラム開発表示部を介して設定されたパラメータ情報を含んで、前記アプリケーションプログラムの一部または全部を視覚的に表示させる(11)または(12)に記載の端末装置である。
(14)本発明の一態様としては、前記プログラム開発表示部は、前記コミュニケーション表示部によって表示された前記アプリケーションプログラムの一部または全部を視覚的に表示する(11)から(13)のうちいずれか一項に記載の端末装置である。
(15)本発明の一態様としては、前記プログラム開発表示部は、表示された前記アプリケーションプログラムが前記端末からの入力に基づいて更新されると、更新後のアプリケーションプログラムを表示する(14)に記載の端末装置である。
(16)本発明の一態様としては、前記プログラム開発表示部は、入力、演算、または出力を含む開発パーツを示す情報である開発パーツ情報と、前記開発パーツの配置を示す情報であるレイアウト情報と、前記開発パーツ間の論理的な接続を示す情報である結線情報と、前記開発パーツに対して設定されたパラメータ値を示すパラメータ情報のうち少なくとも1つの情報に基づいて、前記アプリケーションプログラムを視覚的に表示する(11)から(15)のうちいずれか一項に記載の端末装置である。
(17)本発明の一態様としては、前記コミュニケーション表示部は、前記プログラム開発表示部によって表示された前記アプリケーションプログラムの一部または全部を、ユーザによるドラッグアンドドロップの操作によって前記プログラム開発表示部から前記コミュニケーション表示部へ視覚的に移動させることにより、指定された前記端末装置において前記アプリケーションプログラムの一部または全部を視覚的に表示させる(11)から(16)のうちいずれか一項に記載の端末装置である。
(18)本発明の一態様としては、前記コミュニケーション表示部は、チャット形式の表示形態によって、前記複数のユーザ間のコミュニケーション内容を表示する(11)から(17)のうちいずれか一項に記載の端末装置である。
(19)本発明の一態様としては、ネットワークを介して提供されるアプリケーションプログラムの開発環境に通信接続された端末装置におけるアプリケーション表示方法において、プログラム開発表示部が、前記端末装置からの入力に基づいて、前記開発環境を介して生成された前記アプリケーションプログラムを視覚的に表示し、コミュニケーション表示部が、前記開発環境を利用する複数のユーザ間におけるコミュニケーション機能を提供し、前記コミュニケーション表示部が、第1のユーザが利用する前記開発環境で生成された前記アプリケーションプログラムの一部または全部を、第2のユーザが利用する前記開発環境において視覚的に表示させるアプリケーション表示方法である。
(20)本発明の一態様としては、コンピュータによって実行される一以上のプログラムを記憶するコンピュータ読み取り可能な非一時的記憶媒体であって、前記一以上のプログラムは、アプリケーションプログラムの開発環境に接続された端末装置からの入力に基づいて、前記開発環境を介して生成された前記アプリケーションプログラムを視覚的に表示し、前記開発環境を利用する複数のユーザ間におけるコミュニケーション機能を提供し、第1のユーザが利用する前記開発環境で生成された前記アプリケーションプログラムの一部または全部を、第2のユーザが利用する前記開発環境において視覚的に表示させるコンピュータ読み取り可能な非一時的記憶媒体である。
 本発明の更なる特徴及び態様は、添付図面を参照し、以下に述べる実施形態の詳細な説明から明らかとなるであろう。
 本発明によれば、アプリケーションプログラムの効率的な開発および共有を実現することができる。
本実施形態に係るアプリケーション開発環境提供システムによるアプリケーション開発の一例を示す概要図である。 本実施形態に係るアプリケーション開発環境提供システムによるアプリケーション開発の一例を示す概要図である。 本実施形態に係るアプリケーション開発環境提供システムによるアプリケーション開発の一例を示す概要図である。 本実施形態に係るアプリケーション開発環境提供システムによるアプリケーション開発の一例を示す概要図である。 本実施形態に係るアプリケーション開発環境提供システムによるアプリケーション開発の一例を示す概要図である。 本実施形態に係るアプリケーション開発環境提供システムによるアプリケーション開発の一例を示す概要図である。 本実施形態に係るアプリケーション開発環境提供システムによるアプリケーション開発の一例を示す概要図である。 本実施形態に係るアプリケーション開発環境提供システムによるアプリケーション開発の一例を示す概要図である。 本実施形態に係るアプリケーション開発環境提供システムによるアプリケーション開発の一例を示す概要図である。 本発明の実施形態に係るアプリケーション開発環境提供システムの概要を示す概略図である。 本発明の実施形態に係るアプリケーション開発環境提供システムに実装されるCo-innovationスペースの機能構成図である。 本発明の実施形態に係るアプリケーション開発環境提供システムのアプリケーションボードによる表示の一例を示す図である。 本発明の実施形態に係るアプリケーション開発環境提供システムのアプリケーションボードによる表示の一例を示す図である。 本発明の実施形態に係るアプリケーション開発環境提供システムのアプリケーションボードによる表示の一例を示す図である。 本発明の実施形態に係るアプリケーション開発環境提供システムのアプリケーションボードによる表示の一例を示す図である。 本発明の実施形態に係るアプリケーション開発環境提供システムに実装されるCo-innovationスペースの動作の一例を示すフローチャートである。 本発明の実施形態に係るアプリケーション開発環境提供システムに実装されるCo-innovationスペースの動作の一例を示すフローチャートである。
 本発明の実施形態を、好ましい実施形態を参照して説明する。当業者は、本発明の教示を用いて本実施形態の多くの代替手段を達成することができ、本発明は、ここで説明される好ましい本実施形態に限定されない。
 本発明の一態様は、クラウドコンピューティング環境において用いられるアプリケーションプログラムの効率的な開発および共有を実現することが可能なアプリケーション開発環境提供システム、アプリケーション開発環境提供方法、端末装置、アプリケーション表示方法、およびコンピュータ読み取り可能な非一時的記録媒体を提供することである。
[実施形態]
 本発明は、クラウドコンピューティング環境において、通信ネットワークに接続されるセンサー、デバイス、およびシステム等から送信されるデータを入力値として演算処理等を行うシステム(以下、アプリケーション開発環境提供システムと称する)に関するものである。このシステムは、IoT(Internet Of Things:モノのインターネット)またはIIoT(Industrial Internet Of Things:産業用IoT)の基本ソフトウェア、アプリケーション、およびソリューション等のプログラム開発をするための開発環境を提供するためのアーキテクチャ、および当該アーキテクチャを実現するためのシステムである。
 以下、基本ソフトウェア、アプリケーション、およびソリューション等を総称してアプリケーションと称する。また、基本ソフトウェア、アプリケーション、およびソリューション等のプログラムを総称して、アプリケーションプログラムと称する。
 以下の説明において、アプリケーション開発環境とは、クラウドコンピューティング環境において、通信ネットワークに接続されるセンサー、デバイス、およびシステム等から送信されるデータを入力値として演算処理等を行う、IoTまたはIIoTの基本ソフトウェア、アプリケーション、およびソリューション等のプログラム開発をするための開発環境のことをいう。
 以下の説明において、アプリケーション実行環境とは、クラウドコンピューティング環境において、通信ネットワークに接続されるセンサー、デバイス、およびシステム等から送信されるデータを入力値として演算処理等を行う、IoTまたはIIoTの基本ソフトウェア、アプリケーション、およびソリューション等のプログラムを実行するための環境のことをいう。
(アプリケーション開発の全体の流れ)
 後述する本実施形態に係るアプリケーション開発環境提供システムについての機能構成および動作等の説明を分かり易くするため、まず初めに、当該アプリケーション開発環境提供システムを利用したアプリケーション開発の全体の流れを、具体的な実施例を示しながら説明する。
 図1乃至図7は、本実施形態に係るアプリケーション開発環境提供システムによるアプリケーション開発の一例を示す概要図である。
 以下に説明する実施例では、図1に示すように、配管から排気されるガスの温度を調整するため、能力の異なる6台の冷凍機の運転を制御する場合について説明する。配管における排気ガス温度(出力1)を一定以下に保つため、吸気ガス温度(入力1)の変動に応じて、6台の冷凍機のそれぞれのスイッチのオン/オフ(入力7~8)を適宜切り替えることにより、消費電力(出力2)を最小化することが目的である。
 従来、オペレータの勘や経験によって各冷凍機のスイッチのオン(ON)/オフ(OFF)が切り替えられていた。しかしながら、本実施形態に係るアプリケーション開発環境提供システムによって、効率の良い冷凍機の運転制御パターンを見つけ出し、当該運転制御パターンの自動化アルゴリズムが組み込まれたアプリケーションを開発する。
 アプリケーション開発環境提供システムを利用してアプリケーションを開発する開発者は、当該アプリケーション開発環境提供システムの表示部に表示されるアプリケーションの設計画面において、まず、多入力2出力の制御を行うための分析エレメントを示す開発パーツを配置する。当該分析エレメントは、図2において「Nx2」と記載された開発パーツである。
 次に、開発者は、ヒストリアン(履歴情報や実績情報が格納されたデータベース)を開き、「吸気ガス温度」、「冷凍機1 ON/OFF」、「冷凍機2 ON/OFF」、「冷凍機3 ON/OFF」、「冷凍機4 ON/OFF」、「冷凍機5 ON/OFF」、および「冷凍機6 ON/OFF」の7つの入力データ項目を示す開発パーツを設計画面に配置する。その後、図2に示すように、開発者は、これら7つの入力データ項目を示す開発パーツを「Nx2」の分析エレメントとそれぞれ接続する。
 次に、開発者は、ヒストリアンから、「排気ガス温度」、および「消費電力」の2つの出力データ項目を示す開発パーツを設計画面に配置する。その後、図2に示すように、開発者は、これら2つの出力データ項目を示す開発パーツを「Nx2」の分析エレメントとそれぞれ接続する。このとき、開発者は、分析に用いる「排気ガス温度」、および「消費電力」の過去データとして、過去2年間分の過去データを指定する。
 開発者が、設計画面において、「Nx2」の分析エレメントの詳細画面を表示させると、例えば、図3Aおよび図3Bに示すような線グラフが表示される。図3Aに示す線グラフにおいて、縦軸は排気ガス温度を表し、横軸は過去の時間軸を表す。図3Bに示す線グラフにおいて、縦軸は消費電力を表し、横軸は過去の時間軸を表す。
 図3Aに示すグラフにおいて、一時的に排気ガス温度が高くなった(異常値となっている)時間帯が存在したことが示されており、当該時間帯に相当する箇所が帯状に表示されている。開発者は、顧客(例えば、配管における排気ガス温度を制御する企業であって、開発者に対しアプリケーションの開発を依頼した企業)に対して問い合わせを行う。アプリケーション開発環境提供システムは、顧客とのコミュニケーション手段として、チャット機能(チャット形式の表示形態によるコミュニケーション機能)、電子メール送受信機能、および通話機能等を備えている。開発者はまず、通話機能によって顧客対して問い合わせを行う。
 顧客との通話により、開発者は、一時的に排気ガス温度が高くなった(異常値となっている)時間帯には設備更新工事が行われていたことを知り、顧客より当該時間帯のデータは分析対象外にするよう指示を受ける。開発者は、アプリケーション開発環境提供システムのチャット機能を使って、分析対象外にする正確な時間帯を示すデータを顧客から取得する。そして、開発者は、分析除外範囲設定を行う画面を設計画面に表示させ、上記の分析対象外にする正確な時間帯を示すデータを入力し、分析除外範囲として設定する。そして、開発者は、チャット機能によって顧客から取得したコメントを入力して、分析除外範囲設定を行う画面における上記設定を行った箇所(画面領域)に、当該コメントを添付する。
 次に、開発者は、設計画面において、「冷凍機1 ON/OFF」、「冷凍機2 ON/OFF」、「冷凍機3 ON/OFF」、「冷凍機4 ON/OFF」、「冷凍機5 ON/OFF」、および「冷凍機6 ON/OFF」の6つの入力データ項目を1つにまとめて、図4に示すような「冷凍機1-6 ON/OFF」というデータ入力項目に切り替える。
 そして、開発者は、アプリケーション開発環境提供システムの分析画面において、ヒストリアンから提供された過去2年分のデータを用いて、6つの冷凍機による冷却性能を分析する。冷却性能Lnは、例えば、Ln=排気温度/吸気温度という計算式によって求められる。開発者は、既知の値である6つの冷凍機全体の性能を表す「冷凍機性能」と上記において求めた冷却性能Lnとによって重回帰分析を行う。すると、分析画面には、例えば、図5Aのような分布図が表示される。これにより、開発者は、測定点はほぼ直線状に並んでいることから、本来の冷凍機の冷凍機性能と実際の冷却性能とが大きくは乖離していないことを確認する。
 次に、開発者は、6つの冷凍機それぞれの実際の性能を示す性能係数(例えば、Lnなど)を算出する。例えば、図5Bに示すような冷凍機ごとの性能係数の値が算出される。当該性能係数により、例えば、開発者は、特定の冷凍機の実際の性能が本来の性能よりも低下していることを認識する。開発者は、アプリケーション開発環境提供システムの電子メール送受信機能によって、顧客に対し性能が低下している冷凍機についての報告を行う。
 次に、開発者は、上記の分析結果を踏まえて、運転制御パターンの自動化アルゴリズムが組み込まれたアプリケーションを開発する。まず、開発者は、アプリケーション開発環境提供システムの設計画面において、図4に示すようにロジックモデルを示す開発パーツを配置し、各入出力データ項目を示す開発パーツと接続する。そして、開発者は、ロジックモデル作成画面を、アプリケーション開発環境提供システムの表示部に表示させる。
 当該ロジックモデル作成画面には、例えば、図6に示すようなロジックモデル(アルゴリズム)が表示される。当該ロジックモデルには、入出力データ項目のほか、上記において算出された各種係数等も表示される。開発者は、ロジックモデル作成画面において、アプリケーションが行う処理のロジックを示すロジックモデルを完成させる。そして、開発者は、作成したロジックモデルに対し、ヒストリアンから取得する過去データを用いてシミュレーションを行う。当該シミュレーションの結果により、例えば、開発者は、作成したロジックモデルを用いて冷凍機の運転を制御することによって削減される消費電力等を認識することができる。
 次に、開発者は、KPIダッシュボード画面を、アプリケーション開発環境提供システムにおいて作成する。KPIダッシュボード画面は、上記の手順によって開発した、排気ガス温度を調整する6台の冷凍機の運転を制御するアプリケーションの稼働状況を監視するための画面である。KPIダッシュボード画面は、例えば、図7に示すような画面である。図7に示されるように、KPIダッシュボード画面は、排気ガス温度の状況を、目標値からの許容振れ幅がプラスマイナス3%である範囲を示す帯状の表示と、実績値の線グラフによってリアルタイムに表示する。図7に示されるように、KPIダッシュボード画面は、吸気温度、および6台の冷凍機のスイッチのオン/オフの状態等を参考値としてリアルタイムに表示する。例えば、KPIダッシュボードは、冷凍機の冷却性能が低下したことを検知した場合には、アラームを表示する。KPIダッシュボードは、上記において開発者が開発したアプリケーションの1機能として実装される。
 以上、説明した実施例のような流れによって、開発者は、アプリケーション開発環境提供システムを利用してアプリケーション開発を行い、開発したアプリケーションを顧客に対して提供する。
 本発明のアプリケーション開発環境提供システムは、アプリケーションプログラムを構築する構築機能部(図示せず)を有してもよい。この構築機能部は、開発パーツとして、例えば、プラント運転で行う各作業を工程部品アイコン(図示せず)として用意しておき、この工程部品アイコンを所望のロジック構成、プログラム構成、または、運転条件や手順等に従って画面上に並べ、各アイコンの接続条件を定義することによりロジック構成図や作業手順図を構築するとともに、作業手順図のアプリケーションプログラムを作成してもよい。この構築機能部は、ユーザ(運転員)が簡単かつ直感的にアプリケーションプログラムを構築できるように構成されている。以下、構成および動作を説明する。
 構築機能部は、ユーザによるアイコンの新規作成も可能である。工程部品アイコン(図示せず)は、ロジック構成、デバイス属性、または作業内容を絵で表わしている。工程部品アイコンには、アイコンの処理を行うための既製のプログラムが用意されている。工程部品アイコンと既製のプログラムは関連付けられている。
 構築機能部は、画面上で工程部品アイコンを配列し、アイコン同士を接続して、接続時にアイコン間における入出力の条件定義を行い、ロジックに相当するアイコンには所望の動作を行うようにパラメータ設定を行う。これによって、構築機能部は、ロジック構成図や作業手順図を構築したときに、これに伴ってアイコンに付けた順番の情報、アイコンの接続情報等を生成する。構築機能部は、生成した情報と、アイコンと関連付けた既製のプログラムにより、作業手順図に対応したアプリケーションプログラムを構成する。
 本発明のアプリケーション開発環境提供システムは、構築機能部で作成したアプリケーションプログラムを実行する(例えば、プラント運転を行う)運転機能部(図示せず)を有しても良い。
 本発明のアプリケーション開発環境提供システムによれば、運転のスタート及びストップは、工程部品アイコン単位、工程ユニット単位、業務フロー単位でマウス操作によって簡単な操作で行うことができる。本発明のアプリケーション開発環境提供システムによれば、運転中は、必要に応じてアラーム、ガイダンス等の各種メッセージを表示させることができ、安全かつ確実に運転を進めることができる。
 構築機能部は、以下に記載する、アイコン用記憶手段、アイコン接続手段、情報生成手段、運転実行手段から構成されるものでもよい。
 アイコン用記憶手段は、プラント運転で行う各作業を絵で表わしたアイコンとこのアイコンの作業を実行する既製のプログラムとを関連付けて記憶している。アイコン接続手段は、アイコン用記憶手段からアイコンを選択し、選択したアイコンを表示手段の画面上で接続し、プラント運転のロジック構成や作業手順を示したロジック構成図や作業手順図を画面上に作成する。
 情報生成手段は、アイコン接続手段で作成したロジック構成または作業手順に基づくアプリケーションプログラムを実行するための情報を生成する。生成する情報としては、例えば、アイコンに付けた順番の情報、アイコンの接続情報等がある。情報生成手段によって生成された情報(実行情報)は記憶手段に記憶される。
 運転実行手段は、情報生成手段によって生成された情報及び作業手順図の中にあるアイコンと関連付けたプログラムを、画面表示したプログラム構成、または作業手順に従って実行する(たとえば、プラント運転を実行しプラントは運転実行手段により稼動される)。
 入力手段は、例えばマウス、キーボード等で、プラント運転に必要な入力操作を行うために設けられている。画面上の画面表示したプログラム構成、または、作業手順図にあるアイコンが入力手段によって指定されると、運転実行手段が指定されたアイコンに対応する作業を実行してもよい。これにより、画面操作で直接にプログラムを実行することが可能になる。
 アイコン用記憶手段には、例外処理を示すアイコンとこのアイコンの処理を実行する既製のプログラムとを関連付けて記憶してもよい。アイコン用記憶手段には、通常処理を示すアイコンとそのプログラムも記憶されている。この場合、アイコン接続手段は、例外処理が発生したときに、アイコン用記憶手段に記憶されたアイコンを画面上で接続し、例外処理の作業手順図を画面上に作成する。
 情報生成手段は、アイコン接続手段によって作成された例外処理の作業手順を実行するための情報を生成してもよい。情報生成手段で生成した情報(例外処理実行情報)は記憶手段に記憶される。
 例外処理実行手段は、情報生成手段によって生成された例外処理実行情報及び作業手順図の中にあるアイコンと関連付けたプログラムをもとに、例外処理の作業手順図に従って例外処理を実行する(たとえばラント運転を実行する)。例外処理判断手段は、例外処理の発生の有無を判断してもよい。
(実施形態の詳細)
 以下に、本発明の実施形態の詳細について図面を参照しながら説明する。
 図8は、本発明の実施形態に係るアプリケーション開発環境提供システム1の概要を示す概略図である。図8に示されるように、アプリケーション開発環境提供システム1は、クラウドコンピューティング環境において、デバイスノード、スパイナルノード、インテリジェンスノード、およびソーシャリゼーションノードの4階層の階層構造によって構成されるシステムである。
 デバイスノードは、各種センサー、各種デバイス、および各種システムによって構成される。各種センサーとは、例えば、温湿度センサー、圧力センサー、および流量センサー等である。各種デバイスとは、例えば、制御装置であるPLC(プログラマブルロジックコントローラ)、車両内のCAN-BUS(Controller Area Network - BUS:バス型の制御ネットワーク)に接続されたOBD(On-Board Diagnostics:自己故障診断)デバイス、KPI(Key Performance Indicator:重要業績評価指標)モニター、特定のセンサーの現在値を表示する表示器、ランプ、ブザー、バルブ、およびロボットアーム等である。各種システムとは、例えば、DCS、ドローン管制システム、侵入検知システム、入室バッジリーダーが接続されたセキュリティシステム、および照明やドアロックやエレベーターやスプリンクラーなどが接続されたビルディング・オートメーション・システム等である。
 図8に例示するアプリケーション開発環境提供システム1においては、デバイスノードの階層には、センサーによって構成されるデバイスノード13-1およびデバイスノード13-2と、アクチュエータによって構成されるデバイスノード14とが含まれる。以下、デバイスノード13-1とデバイスノード13-2とデバイスノード14とを特に区別して説明する必要がない場合には、総称してデバイスノード13、14と称する。
 本実施形態に係るアプリケーション開発環境提供システム1のデバイスノード13、14は、説明を簡略化するため、2つのセンサーと1つのデバイスとによって構成されるものとしたが、これに限られない。デバイスノード13、14は、1つ以上のセンサー、デバイス、およびシステム等によって任意に構成可能である。一般的には、1つのスパイナルノードに対して多数のセンサー、デバイス、およびシステム等が収容されている場合が多い。
 デバイスノード13、14を構成するセンサー、デバイス、およびシステム等には、データを送信する装置、データを受信して表示する装置、およびデータ受信してアクションを起こす装置等がある。当該センサー、デバイス、およびシステム等は、例えば、プラグ・アンド・プレイに対応した装置である。また、当該センサー、デバイス、およびシステム等は、例えば、複数のアプリケーションと同時に通信を行う機能を有する装置である。
 例えば、デバイスノード13、14には、スパイナルノードを構成する装置に通信接続する装置と、インテリジェンスノードを構成する装置に通信接続する装置とがある。
 スパイナルノードを構成する装置に通信接続するデバイスノード13、14は、例えば、リアルタイム性を必要とする装置、データの遅延(データ通信の遅れ)や揺らぎ(データ通信速度のばらつき)等が許されないアプリケーションに使用される装置、および大量のデータを生成するため直接インテリジェンスノードに接続すると通信帯域を逼迫させてしまう恐れがある装置等である。
 一方、インテリジェンスノードを構成する装置に通信接続するデバイスノード13、14は、例えば、遅延や揺らぎ等に影響されないような用途で使用される装置、および携帯電話網や衛星回線等の無線通信網を経由させる必要がある遠隔地に設置される装置、および移動される装置等がある。
 デバイスノード13-1およびデバイスノード14は、スパイナルノードを構成する装置と、イーサネット(登録商標)などのネットワークインターフェース、および複数のルーターやスイッチを介してインターネット経由で接続されている。また、デバイスノード13-2は、インテリジェンスノードを構成する装置と、イーサネット(登録商標)などのネットワークインターフェース、および複数のルーターやスイッチを介してインターネット経由で接続されている。デバイスノード13、14は、インターネットプロトコル(IP)によって、スパイナルノードを構成する装置またはインテリジェンスノードを構成する装置と通信接続する。
 スパイナルノードは、サーバ装置によって構成され、ゲートウェイとして機能する。図8に例示するアプリケーション開発環境提供システム1においては、スパイナルノードの階層は、スパイナルノード12-1と、スパイナルノード12-2とを含む。以下、スパイナルノード12-1とスパイナルノード12-2とを特に区別して説明する必要がない場合には、総称してスパイナルノード12と称する。
 スパイナルノード12を構成するサーバ装置(以下、単にスパイナルノード12とも称する)は、クラウドコンピューティング環境において、少なくとも1つのデバイスノード13、14を収容する(すなわち、論理的に接続、管理、またはデータの入出力を行う)サーバ装置である。スパイナルノード12-2も、本来、スパイナルノード12-1と同様に少なくとも1つのデバイスノード13、14を収容するが、説明の簡略化のため、図8においては記載を省略する。
 スパイナルノード12は、一般的には、例えば、ゲートウェイサーバ、フォグコンピュータ、またはエッジコンピュータ等と呼ばれる装置である。スパイナルノード12は、クラウドコンピューティング環境におけるサーバ装置(本実施形態においては、ソーシャリゼーションノード10およびインテリジェンスノード11)と、デバイスノード13、14を構成するセンサー、デバイス、およびシステムとの間に設置される。
 スパイナルノード12は、例えば、インテリジェンスノード11が通信することができない通信プロトコルによって通信を行うようなデバイスノード13、14からデータを受信する。スパイナルノード12は、受信したデータをインテリジェンスノード11が通信可能な通信プロトコルによってインテリジェンスノード11へ送信する。これにより、スパイナルノード12は、デバイスノード13、14からインテリジェンスノード11へのデータの転送を行う。例えば、スパイナルノード12は、インターネットプロトコルによる通信を行うことができないアナログセンサー等から送信された信号を、インターネットプロトコル以外の通信プロトコルによって受信する。スパイナルノード12は、受信した信号をデジタル変換して正規化した後、正規化した信号を、インターネットプロトコルによる通信によってインテリジェンスノード11を構成するサーバ装置(以下、単にインテリジェンスノード11とも称する)へ送信する。これにより、スパイナルノード12は、デバイスノード13からインテリジェンスノード11へのデータ転送を行う。
 スパイナルノード12は、例えば、デバイスノード13、14から送信されたデータを受信し、受信したデータに対して、演算、解釈、および判定等の処理を行い、処理結果をインテリジェンスノード11へ送信する。
 スパイナルノード12は、例えば、デバイスノード13、14からデータを取得し、当該データに対して前処理を行った後、タイムスタンプ(発生時刻を表す記号)を付加してタイムシリーズデータとし、当該タイムシリーズデータを処理するロジックやアルゴリズム等をインテリジェンスノード11から取得して、当該ロジックや当該アルゴリズム等に基づいて当該タイムシリーズデータに対する処理(加工や判断等の処理)を実行する。
 スパイナルノード12は、例えば、必要に応じて、またはインテリジェンスノード11からの指示に基づいて、インテリジェンスノード11に当該タイムシリーズデータを送信する。スパイナルノード12は、当該タイムシリーズデータと当該ロジックや当該アルゴリズム等に基づいて生成されたアクションを示す制御信号を、適切なデバイスノード13、14に対して送信する。
 スパイナルノード12は、当該タイムシリーズデータをスパイナルノード12に設けられたタイムシリーズデータベース(図示せず)に一時保存する。これと同時に、スパイナルノード12は、インテリジェンスノード11からの要求に応じて、インテリジェンスノード11に対して当該タイムシリーズデータを送信する。さらにスパイナルノード12は、タイムシリーズデータベースに一時保存したタイムシリーズデータを、古いデータから順に非同期的に、ヒストリアン(図示せず)に対してセキュリティを確保された通信経路を経由して送信する。ヒストリアンはインテリジェンスノード11に直接接続されているため、インテリジェンスノード11は、ローカル環境にヒストリアンが存在するかのようにヒストリアンを参照・利用することができる。
 スパイナルノード12が単一のハードウェアによって構成されるような場合には、スパイナルノード12において故障や異常な動作が発生した場合に備えて、スパイナルノード12に通信接続するデバイスノード13、14は、2つ以上のスパイナルノード12に対して並行してデータを送信するようにしてもよい。デバイスノード13、14がインターネットプロトコルによって通信する装置である場合には、デバイスノード13、14が、マルチキャストやブロードキャストなどの技術を利用してデータおよび制御信号等を通信ネットワークへ送出し、複数のスパイナルノード12が当該データおよび当該制御信号等を並行して受信することにより冗長化を行ってもよい。
 ソーシャリゼーションノード10、およびインテリジェンスノード11は、クラウドコンピューティング環境を提供するサーバ装置およびネットワーク機器等を含む。ソーシャリゼーションノード10とインテリジェンスノード11とは、別々の装置によって物理的に分けられてもよいし、単一の装置の中で論理的に分けられてもよい。
 ソーシャリゼーションノード10を構成する装置(以下、単にソーシャリゼーションノード10とも称する)は、アプリケーションを共同開発する複数の企業(以下、テナントとも称する)間、アプリケーションを提供する企業とアプリケーションを利用する企業顧客との間、および企業と個人との間において、アプリケーション開発環境やアプリケーション実行環境を共同利用できるようにするための機能を提供する。
 インテリジェンスノード11を構成する装置は、企業内のアプリケーションを共同開発する複数の部門やグループ等の組織(以下、サイトとも称する)の間、および複数の従業員(以下、アカウントとも称する)の間において、アプリケーション開発環境やアプリケーション実行環境を共同利用できるようにするための機能を提供する。
 以下、ソーシャリゼーションノード10、およびインテリジェンスノード11によって構成される、企業間、企業と個人、および企業内のユーザ間において共同で利用可能な、本発明におけるアプリケーション開発環境およびアプリケーション実行環境等を総称して、Co-innovationスペース(共創空間)と称する。
 ソーシャリゼーションノード10およびインテリジェンスノード11は、上述したようにサーバ装置において動作し、Co-innovationスペースがソーシャリゼーションノード10およびインテリジェンスノード11に実装される。インテリジェンスノード11は、Co-innovationスペースの主要な機能を有する。一方、ソーシャリゼーションノード10は、Co-innovationスペースが有する機能の中で、企業間、または企業と個人との間でアプリケーションプログラムの共有や売買、およびコミュニケーション等が行われる場合に必要となる機能を有する。
 インテリジェンスノード11は、インテリジェンスノード11と通信接続する、スパイナルノード12の管理、デバイスノード13、14の管理を行う。ユーザは、ヒューマンマシンインターフェース(HMI)(図示せず)を通じてインテリジェンスノード11にアクセスし、Co-innovationスペースを利用する。
 インテリジェンスノード11は、様々な外部のシステムと連携するための多様な外部インターフェースを有している。例えば、インテリジェンスノード11は、外部のIoTおよびIIoTクラウドコンピューティング環境、外部の課金システム、および外部のデータベースシステム等との連携することができる。このように、インテリジェンスノード11が外部の様々なシステムと幅広く連携することができることによって、インテリジェンスノード11は、様々なIoTクラウドコンピューティング環境において、外部の様々なシステムと幅広く連携したCo-innovationスペースおよびCo-innovationスペース上のアプリケーションを構築することができる。
 インテリジェンスノード11が様々な外部のシステムと連携するための多様な外部インターフェースを有していることによって、インテリジェンスノード11は、IoTおよびIIoTクラウドコンピューティング環境が提供するインターフェース群を活用することができる。このため、顧客企業における業務プロセスのサプライチェーン全体、およびライフサイクル全体を対象としたソリューションを開発することができる。
 Co-innovationスペースは、クラウドコンピューティング環境における仮想の空間であり、企業(テナント)単位、または組織(サイト)単位等で区切られた、互いに安全に隔離されたアプリケーション共創のための空間である。
 Co-innovationスペースのアーキテクチャを用いることにより、例えば、ビッグデータを用いたコンサルテーション、各種制御、アセット・マネジメント、リモートセンシング、リモートモニタリング、KAIZEN(改善)活動支援等を行うためのアプリケーションの開発、およびMESやDCS等のシステムの開発を行うことができる。
 Co-innovationスペースは、クラウドコンピューティング環境において実装される代わりに、ローカル環境のデータセンターのサーバ装置において実装されてもよい。
 上述のCo-innovationスペースのアーキテクチャは、インテリジェンスノード11及びソーシャリゼーションノード10を構成する1または複数の装置により提供されてもよい。このCo-innovationスペースのアーキテクチャにおける記憶領域は、インテリジェンスノード11及びソーシャリゼーションノード10を構成する1または複数の装置の記憶部であってもよく、あるいは、複数の装置が有する記憶部の記憶領域のうちの一部を複数組み合わせて構成されてもよい。
(Co-innovationスペースの機能構成)
 以下に、Co-innovationスペースの機能構成について説明する。
 図9は、本発明の実施形態に係るアプリケーション開発環境提供システム1に実装されるCo-innovationスペースの機能構成図である。図9に示されるように、インテリジェンスノード11は、アプリケーションボード111と、コミュニケーションツール112と、ライブラリ113と、ストレージ114と、デバイス管理部115と、テナント管理部116と、サイト・アカウント管理部117と、アプリケーションストア118と、課金部119と、データベース部120を含む。
 アプリケーションボード111(プログラム開発部、プログラム開発表示部)は、マルチテナント、マルチサイト、およびマルチアカウントのアプリケーション開発環境およびアプリケーション実行環境をユーザへ提供する。アプリケーションボード111は、コンパイラや、ユーザに対して視覚的にアプリケーションプログラムを表示させることができる表示部等の機能を有する。表示部は、Co-innovationスペースを示す画像を表示し、当該Co-innovationスペースにおいて、レイアウト情報、結線情報、パラメータ情報、および選択領域情報等に基づいて、視覚的にアプリケーションプログラムを表示する。
 レイアウト情報とは、開発対象であるアプリケーションプログラムの処理の形態を示す情報である。例えば、レイアウト情報には、開発対象であるアプリケーションプログラムが、多入力2出力の処理を行うアプリケーションであること、あるいは多入力多出力の処理を行うアプリケーションであること、あるいは1入力多出力の処理を行うアプリケーションであること等を示す情報が含まれる。
 結線情報とは、開発対象であるアプリケーションプログラムにおける、入力データ項目と、処理内容であるロジックと、処理結果である出力データ項目とをそれぞれ導線で結ぶことによってデータ項目やロジック間の関係性を視覚的に示す図を生成する際に定義される、当該導線に関する情報である。
 パラメータ情報とは、開発対象であるアプリケーションプログラムにおいて設定される各種パラメータの設定値を示す情報である。
 選択領域情報とは、開発対象であるアプリケーションプログラムの一連の処理の中で、ユーザによる操作等によって選択(指定)された一部の処理を示す情報である。例えば、アプリケーションボード111によって視覚的に表示されたアプリケーションプログラムに対して、ユーザは当該アプリケーションプログラムの一部の領域を、マウス等を操作して囲むことにより、囲まれた領域を示す選択領域情報が生成される。
 テナントやサイトに紐づけられたアカウントを有するユーザは、予め設定された、または管理者によって設定されたアクセス権限および実行権限に基づいて、データ、ロジック、およびアプリケーション等を他のユーザと共有しながら、アプリケーションボード111の表示部が表示する画面(以下、Co-innovationスペース画面とも言う)を用いて、アプリケーションプログラムの作成、管理、および実行等を行うことができる。
 ユーザは、アプリケーションプログラムを開発するにあたり、アプリケーションボード111において、例えば、各種開発パーツ(例えば上述した、入力データのデータ項目、処理内容であるロジック、および処理結果データのデータ項目等が含まれる)の一覧から必要な開発パーツを選択する。その後、ユーザは、選択された開発パーツを、アプリケーション設計領域へマウス操作等によりドラッグアンドドロップする。これにより、アプリケーション設計領域には、選択された開発パーツが表示される。ユーザは、アプリケーション設計領域において、例えば、選択された開発パーツ間を導線で結ぶようにドラッグするマウス操作等を行う。これにより、開発対象であるアプリケーションプログラムの処理のフロー(流れ)が定義され、アプリケーションプログラムが生成される。
 ユーザは、アプリケーションプログラムを開発するにあたり、アプリケーションボード111において、汎用の各種アプリケーション、汎用の各種テンプレート、および汎用の各種ロジック等の一覧の中から、必要なアプリケーション、テンプレート、およびロジック等を選択する。その後、ユーザは、選択されたアプリケーション、テンプレート、およびロジック等を、アプリケーション設計領域へマウス操作等によりドラッグアンドドロップする。これにより、ユーザは、選択したアプリケーション、テンプレート、およびロジック等を利用してアプリケーションプログラムを開発することができる。
 当該一覧に登録されているアプリケーション、テンプレートおよびロジック等は、有料のものと、無料のものとがあってもよい。この場合、ユーザが有料のアプリケーション、テンプレートまたはロジック等を利用した場合には、後述する課金部119によって課金処理が行われる。
 アプリケーションボード111において用いられた各種情報(例えば、入出力データ、表示部に表示されている内容を示す情報、開発対象であるアプリケーションプログラム、共同開発において複数の開発者間で交わされたコメントの内容を示す情報、および開発のステータスを示す情報等)に対して、予め指定された特定のテナント、あるいは予め指定された特定のサイトに所属するアカウントからのみアクセスができるようにアクセス権限の設定がなされる。
 このように、Co-innovationスペースは、アクセス権限の管理をしつつ各種情報をユーザ間で共有することができる仕組みであるため、情報漏洩等を防ぎつつ安全にアプリケーションプログラムを共創することができる環境を提供する。
 コミュニケーションツール112は、ユーザ間で利用されるチャット機能、ビデオコミュニケーション機能、音声通話機能、画面共有機能、および掲示板やソーシャルネットワークサービス(SNS)等のコミュニティ機能等を提供する。例えば、チャット機能は、テキストデータ(例えば、ソースコード等)、画像データ、およびプログラムの実行ファイル等だけでなく、開発対象であるアプリケーションプログラムの一部または全部を、パラメータ値等の設定情報も含めてユーザ間で送受信して共有することができる。
 例えば、ユーザは、マウス等を操作して囲むことによって選択したアプリケーションプログラムの一部を示す領域を、マウス操作等によりドラッグアンドドロップしてチャット画面に貼り付けることによって、アプリケーションプログラムを他のユーザと共有することができる。例えば、リアルタイムに更新されるデータによって作成されるグラフがチャット画面に貼り付けられた場合には、チャット画面に表示されたグラフもリアルタイムに更新される。更に、他のユーザが参照しているCo-innovationスペースのチャット画面に表示されたグラフも同様に、リアルタイムに更新される。
 このように、Co-innovationスペースによれば、アプリケーション開発環境とコミュニケーションツールとがシームレスに連携するため、容易に、かつ、柔軟にユーザ間でのアプリケーション共創のためのコミュニケーションを図ることができる。
 コミュニティは、リアルタイムまたは非リアルタイムに、複数のユーザ間でコミュニケーションを図ることができる機能である。例えば、コミュニティは、掲示板、コメント一覧、およびSNS等の機能である。各ユーザからのコミュニティへのアクセスは、テナントごとに設定される管理ポリシーによって設定されたアクセス権限に基づく範囲で制限される。コミュニティ機能によりユーザによって書き込まれたトピック(話題)に対して、様々な絞り込み条件(例えば、課題、領域、業界、およびキーワード等)での絞り込み検索ができるようにしてもよい。
 このように、ユーザは、コミュニケーションツール112によって、同一のテナントやサイト属するアカウントを有するユーザ、または異なるテナントやサイトに属するアカウントを有するユーザとの意見交換等を行うことができる。これにより、複数のユーザによるアプリケーションプログラムの共創が可能になる。
 ライブラリ113は、アプリケーションボード111においてアプリケーションプログラムを開発または実行する際に用いられる、汎用的な、処理ロジック、テンプレート、分析ツール、およびヒストリアン(履歴情報や実績情報が格納されたデータベース)等を提供する。
 例えば、ライブラリ113は、類似波形検索ツール、回帰分析ツール、重回帰分析ツール、MT法分析ツール、誤差分散分析ツール、データドリブンモデリングツール、ディープラーニングツール、および相関分析ツール等の様々な分析ツールを記憶している。ユーザは、任意の分析ツールをアプリケーション設計領域にドラッグアンドドロップし、データ入力をすることにより、各種分析をすることができる。
 ストレージ114は、各種情報(例えば、開発したアプリケーションプログラムや分析結果データ等)を、一般公開される情報と、テナント共用の情報と、サイト共用の情報と、アカウント個人用の情報とに区別して、それぞれ一般公開用の記憶領域、テナント共用の記憶領域、サイト共用の記憶領域、またはアカウント個人用の記憶領域に記憶する。各ユーザが、各種情報をどの記憶領域に保存可能であるかについては、予めテナントの管理者によってユーザごとに設定された権限に基づいて制御されてもよい。ストレージ114は、記憶媒体、例えば、ハードディスクドライブ(HDD)、フラッシュメモリ、イーイーピーロム(EEPROM)、RAM(読み書き可能なメモリ)、ROM(読み出し専用メモリ)、又はそれらの任意の組み合わせであってよい。
 デバイス管理部115は、インテリジェンスノード11が収容するデバイスノード13、14を構成するセンサー、デバイス、およびシステム等の情報を管理する。例えば、デバイス管理部115は、デバイスノード13、14の収容のために用いられる、デバイスノード13、14に付与された識別情報と、アカウント、サイト、およびテナントの識別情報とを紐づけた情報等を管理する。
 インテリジェンスノード11のデバイス管理部115は、スパイナルノード12が収容するデバイスノード13、14を構成するセンサー、デバイス、およびシステム等の情報を、スパイナルノード12を介して取得して管理してもよい。または、スパイナルノード12が当該情報を管理して、インテリジェンスノード11のデバイス管理部115が当該情報をスパイナルノード12から取得してもよい。
 テナント管理部116は、テナント(企業)に関する各種情報を管理する。例えば、テナント管理部116は、テナントの基礎情報、課金情報、操作権限、および承認権限等の情報に対して、設定、変更、削除等を行う。例えば、テナント管理部116は、Co-innovationスペースの利用、および有料または無料の、アプリケーション、ツール、テンプレート、およびデータ等の利用に伴う契約に関する契約情報をテナントごとに管理する。
 サイト・アカウント管理部117は、サイト(組織)およびアカウント(ユーザ)に関する各種情報を管理する。例えば、サイト・アカウント管理部117は、サイトおよびアカウントの基礎情報、課金情報、操作権限、および承認権限等の情報に対して、設定、変更、削除等を行う。
 アプリケーションストア118は、ユーザが、アプリケーションプログラムの一部または全部、ロジック、テンプレート、およびデータ等(以下、単にアプリケーション等と言う)の売買を行うための機能である。例えば、ユーザは、アプリケーションプログラムを開発するにあたり、Co-innovationスペース画面において、アプリケーションストア118によって販売されているアプリケーション等の一覧の中から、購入したいアプリケーション等を選択する。そして、ユーザは、選択したアプリケーション等をアプリケーション設計領域にマウス操作等によってドラッグアンドドロップする。これにより、ユーザは、選択したアプリケーション等を購入して、アプリケーションプログラムの開発等に利用することができる。
 アプリケーションストア118によって販売されるアプリケーション等に対して、月額課金、年額課金、利用度に応じた課金、またはワンタイムの課金等の、任意の課金方法で課金できるようにしてもよい。アプリケーションストア118によって販売されているアプリケーション等のうち特定のアプリケーション等については、ユーザが使用開始した日から一定期間(例えば、一か月間)は無料のお試し期間として、課金が発生しないようにしてもよい。
 課金部119は、アプリケーションストア118によって販売されているアプリケーション等を購入したユーザに対する課金処理を行う。課金部119は、Co-innovationスペースの利用に対して課金処理を行うようにしてもよい。課金先は、テナント、サイト、またはアカウントごとに予め登録することができるようにしてもよい。
 購入されたアプリケーション等が、ユーザによってアプリケーションストア118に登録されたアプリケーション等である場合には、当該アプリケーション等を購入したユーザに対して課金を行って徴収した金額の一部を、アプリケーション等を登録したユーザへ支払ってもよい。
 データベース部120は、アプリケーションの動作に必要な生産管理情報、プラント運転管理情報、品質情報、などのデータをデータベースとして保持し、アプリケーションの要求に応じて必要なデータを提供する。このデータベースは、SQLなどの一般的なデータベースでもよいし、非SQLの特定用途のデータベースでもよい。このデータベースは、テナント、サイト、またはアカウントごとに設定されてもよく、データの内容に応じて、管理者が個別にアクセス権限を設定してもよい。これらのデータベースは、Co-innovationスペースの外側にある外部のデータベースを参照してもよい。
(アプリケーションボードによる表示例)
 以下、アプリケーションボード111の表示部に表示される画面(Co-innovationスペース画面)の一例について説明する。図10乃至図13は、本発明の実施形態に係るアプリケーション開発環境提供システムのアプリケーションボードによる表示の一例を示す図である。
 図10は、Co-innovationスペース画面を構成する各画面領域のレイアウトの一例を示す。図10に示されるように、Co-innovationスペース画面は、アプリケーション設計領域(編集エリア)と、グローバルナビ表示領域と、ローカルナビ表示領域と、開発パーツ一覧表示領域との4つの画面領域を含む。
 ユーザによる操作に応じて、開発パーツ一覧表示領域は、表示されている状態から、画面の左方向にスライドして画面外へ移動するようにして非表示の状態へ切り替わる。これにより、アプリケーション設計領域が広がるため、ユーザは、アプリケーションプログラムの編集作業を行いやすくなる。
 ユーザによる操作に応じて、Co-innovationスペース画面の起動時には非表示とされているシミュレーション領域、およびチャット/コメント表示領域が、表示されている状態に切り替わる。図10に示されるように、シミュレーション領域は、非表示の状態から、画面の右方向からスライドして画面内へ移動するようにして、表示されている状態に切り替わる。チャット/コメント領域は、非表示の状態から、画面の下方向からスライドして画面内へ移動するようにして、表示されている状態に切り替わる。
 これにより、ユーザは、必要な時だけシミュレーション領域およびチャット/コメント表示領域を表示部に表示させることができ、これらの画面領域が必要でない時には非表示にさせることによってアプリケーション設計領域を広く確保できる。このため、ユーザは、アプリケーションプログラムの編集作業を行いやすくなる。
 アプリケーション設計領域は、開発対象であるアプリケーションプログラムの構造を視覚的に表示する画面領域である。ユーザは、例えば、開発パーツ一覧表示領域に表示された開発パーツ、例えば、各種分析エレメント、各種入出力データのデータ項目、処理内容であるロジック、各種アプリケーション、各種テンプレート、各種ロジック、各種グラフ、および各種分析ツール等の一覧の中から、必要な開発パーツを選択する。その後、ユーザは、アプリケーション設計領域へマウス操作等によりドラッグアンドドロップすることにより、選択した開発パーツを示す画像をアプリケーション設計領域に表示させることができる。
 ユーザは、例えば、アプリケーション設計領域に表示させた2つの開発パーツの間をマウス操作等によりドラッグすることにより、2つの開発パーツを紐づける導線をアプリケーション設計領域に表示させることができる。このような操作を行うことで、ユーザは、開発対象であるアプリケーションプログラムを視覚的に設計・編集することができる。
 ユーザは、例えば、アプリケーション設計領域に視覚的に表示された開発対象であるアプリケーションプログラムに対して、マウス操作等によって一部の領域を囲むことにより、開発対象であるアプリケーションプログラムの一部の領域を選択することができる。そして、ユーザは、例えば、選択したアプリケーションプログラムの一部の領域を、マウス操作等によりドラッグアンドドロップしてチャット画面に貼り付けて、他のユーザと共有することができる。
 ユーザは、例えば、グローバルナビ表示領域に表示されるアプリケーションストアに表示されたアプリケーションプログラムの一部または全部、ロジック、テンプレート、およびデータ等の一覧の中から、必要な開発パーツを選択する。その後、ユーザは、アプリケーション設計領域へマウス操作によりドラッグアンドドロップし、当該開発パーツをアプリケーション設計領域に表示させることができる。これにより、ユーザは、必要な開発パーツをアプリケーションストアから購入して即座に利用することができる。
 ユーザは、例えば、アプリケーション設計領域に視覚的に表示された開発対象であるアプリケーションプログラムの一部または全部の領域を、マウス操作等によって選択する。その後、ユーザは、選択した領域をマウス操作等によりグローバルナビ表示領域に表示されるアプリケーションストアにドラッグアンドドロップする。これにより、選択されたアプリケーションプログラムの一部または全部がアプリケーションストアに登録され、当該アプリケーションプログラムの一部または全部を示す情報(例えば、アイコン画像等を含む)がアプリケーションストアに表示される。このようにして、ユーザは、例えば、開発したアプリケーションプログラムの一部または全部を、アプリケーションストアにおいて、他のユーザに対して販売することができる。
 グローバルナビ表示領域は、テナント(企業)またはサイト(組織)において共通のメニュー画面が表示される画面領域である。グローバルナビ表示領域には、例えば、ログイン/ログアウト、アカウント設定、プロジェクトの切り替え、検索、およびアプリケーションストア等の機能を利用するためのメニューが表示される。
 ローカルナビ表示領域は、アカウント(ユーザ)に応じたメニュー画面が表示される画面領域である。ローカルナビ表示領域には、例えば、開発対象であるアプリケーションプログラムにおける、課題管理およびタスク管理、バージョン管理、およびプロジェクト設定等の機能を利用するためのメニューが表示される。
 開発パーツ一覧表示領域は、アプリケーションプログラムの開発に用いられる開発パーツの一覧画面が表示される画面領域である。開発パーツ一覧表示領域には、例えば、上述した、各種分析エレメント、各種入出力データ項目、汎用の各種アプリケーション、汎用の各種テンプレート、汎用の各種ロジック、および各種分析ツール(例えば、類似波形検索ツール、回帰分析ツール、重回帰分析ツール、MT法分析ツール、誤差分散分析ツール、データドリブンモデリングツール、ディープラーニングツール、および相関分析ツール等)がカテゴリ別に分類され、一覧表示される。
 シミュレーション領域は、アプリケーション設計領域に表示されたアプリケーションプログラムを模擬的に実行(シミュレーション)するための設定情報や、シミュレーション結果を示す情報等を表示する画面領域である。
 チャット/コメント領域は、ユーザが他のユーザと開発対象であるアプリケーションプログラム等に関して、リアルタイムまたは非リアルタイムにメッセージのやり取りを行うため機能であるチャット画面や、ユーザまたは他のユーザによって過去に記録されたコメントの一覧等を表示する画面領域である。チャット/コメント領域に表示されるメッセージやコメントは、ユーザによるマウス操作等によって選択される。選択されたメッセージやコメントは、アプリケーション設計領域へドラッグアンドドロップ等の操作がなされることにより、アプリケーション設計領域の任意の位置へ転記される。
 図11は、ユーザが、Co-innovationスペース画面において、開発パーツ一覧表示領域に表示された任意の開発パーツを選択し、選択した開発パーツをアプリケーション設計領域において利用する際の画面例を示す。
 図11に示されるように、アプリケーション設計領域には、「吸気ガス温度」、「冷凍機1 ON/OFF」、「冷凍機2 ON/OFF」、「冷凍機3 ON/OFF」、「冷凍機4 ON/OFF」、「冷凍機5 ON/OFF」、および「冷凍機6 ON/OFF」という7つの入力データ項目と、「Nx2」という分析エレメントと、「排気ガス温度」、および「消費電力」という2つの出力データ項目とが矢印(導線)で結ばれた、開発対象であるアプリケーションプログラムを視覚的に表した画像が表示されている。
 図11に示されるように、開発パーツ一覧表示領域には、「分析エレメント」、「入出力データ」、「ロジック」、および「シミュレーション」というカテゴリに分類された開発パーツの一覧が表示されている。
 ユーザは、図11のアプリケーション設計領域にアプリケーションプログラムを作成するにあたって、まず、開発パーツ一覧表示領域に表示されている「分析エレメント」欄にある開発パーツの中から、「多入力2出力」という開発パーツを選択する。その後、ユーザは、選択した開発パーツをアプリケーション設計領域へ、マウス操作等によりドラッグアンドドロップする。すると、アプリケーション設計領域には、多入力2出力を表す「Nx2」という文字が書かれた分析エレメントの画像が表示される。
 次に、ユーザは、開発パーツ一覧表示領域に表示されている「入出力データ」欄にある開発パーツの中から、「データ/ヒストリアン」という開発パーツを選択する。その後、ユーザは、選択した当該開発パーツをアプリケーション設計領域へマウス操作等によりドラッグアンドドロップする。すると、アプリケーション設計領域には、データ/ヒストリアンを示す画像が表示される。
 そして、ユーザは、表示されたデータ/ヒストリアンを示す画像に対してデータ項目を選択する画面(図示せず)を開き、データ/ヒストリアンに含まれるデータ項目一覧を表示させる。ユーザが、表示されたデータ項目一覧の中から、「吸気ガス温度」という入力データ項目を選択すると、データおよびヒストリアンを示す画像には「吸気ガス温度」という文字が表示される。このようにして、ユーザは、入力データ項目をアプリケーション設計領域へ追加することができる。
 上記と同様にして、ユーザは更に、「冷凍機1 ON/OFF」、「冷凍機2 ON/OFF」、「冷凍機3 ON/OFF」、「冷凍機4 ON/OFF」、「冷凍機5 ON/OFF」、および「冷凍機6 ON/OFF」という入力データ項目を、アプリケーション設計領域へ追加する。
 次に、ユーザは、入力データ項目「吸気ガス温度」を示す画像から、分析エレメント「Nx2」を示す画像までの間を、マウス操作等によってドラッグする。すると、入力データ項目「吸気ガス温度」を示す画像から分析エレメント「Nx2」を示す画像への矢印(導線)を示す画像が表示される。このようにして、ユーザは、入力データ項目を、アプリケーションプログラムの処理内容が定義される分析エレメントに紐づけることができる。
 上記と同様に、ユーザは更に、「冷凍機1 ON/OFF」、「冷凍機2 ON/OFF」、「冷凍機3 ON/OFF」、「冷凍機4 ON/OFF」、「冷凍機5 ON/OFF」、および「冷凍機6 ON/OFF」という入力データ項目を示す画像と、分析エレメント「Nx2」を示す画像とを矢印(導線)によって紐づける。どの開発パーツからどの開発パーツへ結びついているかを示す情報を、結線情報と言う。
 次に、ユーザは、上記においてアプリケーション設計領域へ入力データ項目を追加した場合の操作と同様に、アプリケーション設計領域へ出力データ項目を追加する。ユーザは、データ項目を選択する画面(図示せず)に表示されたデータ項目一覧の中から、「排気ガス温度」という出力データ項目を選択すると、データ/ヒストリアンを示す画像には「排気ガス温度」という文字が表示される。このようにして、ユーザは、出力データ項目をアプリケーション設計領域へ追加することができる。上記と同様に、ユーザは更に、「消費電力」という出力データ項目を、アプリケーション設計領域へ追加する。
 次に、ユーザは、上記において入力データ項目を示す画像と分析エレメントを示す画像とを紐づけた場合の操作と同様に、分析エレメント「Nx2」を示す画像から出力データ項目「排気ガス温度」を示す画像までの間を、マウス操作等によってドラッグする。更に、ユーザは、分析エレメント「Nx2」を示す画像から出力データ項目「排気ガス温度」を示す画像までの間を、マウス操作等によってドラッグする。このようにして、ユーザは、出力データ項目を、アプリケーションプログラムの処理内容が定義される分析エレメントに紐づけることができる。
 ユーザは、分析エレメントにおいて行われる処理内容を定義する画面(図示せず)を表示部に表示させて、分析エレメント「Nx2」において行われる演算処理の内容を定義する。これにより、ユーザは、7つの入力データ項目のデータを入力値として演算処理を行い、処理結果として2つの出力データ項目のデータを出力するようなアプリケーションプログラムを開発することができる。
 このように、Co-innovationスペースによって、開発対象であるアプリケーションプログラムが視覚的に表示されるため、ユーザはより直感的にアプリケーション等の開発を行うことができる。
 図12は、ユーザが、Co-innovationスペース画面において、アプリケーション設計領域に表示されたアプリケーションプログラムの一部の領域を選択し、選択されたアプリケーションプログラムの一部をチャット機能によって他のユーザと共有する際の画面例を示す。
 図12に示すCo-innovationスペース画面のチャット/コメント表示領域には、「グループ1」に属するユーザによってメッセージ交換が行われるグループチャット画面が表示されている。
 以下、ユーザが、当該グループチャット画面によって、アプリケーション設計領域に表示されたアプリケーションプログラムの一部を他のユーザと共有する場合の例について説明する。図12に示す例における、アプリケーションプログラムの一部とは、7つの入力データ項目のデータが入力されて演算処理が行われるまで処理の範囲に該当する部分であるものとする。
 ユーザは、アプリケーション設計領域において、視覚的に表示されているアプリケーションプログラムの画像のうち、「吸気ガス温度」、「冷凍機1 ON/OFF」、「冷凍機2 ON/OFF」、「冷凍機3 ON/OFF」、「冷凍機4 ON/OFF」、「冷凍機5 ON/OFF」、および「冷凍機6 ON/OFF」の7つの入力データ項目を示す画像と、「Nx2」の分析エレメントを示す画像と、当該7つの入力データ項目と当該分析エレメントとそれぞれを結ぶ矢印(導線)の画像とを囲むようにマウス操作等によってドラッグして、領域を選択する。すると、図12に示すように、アプリケーション設計領域において、選択された領域(すなわち、ドラッグによるポインタ等の移動軌跡)が点線によって表示される。開発対象であるアプリケーションプログラムにおいて、選択された領域を示す情報を選択領域情報と言う。
 次に、ユーザは、アプリケーション設計領域において、点線によって囲まれた領域を選択する。その後、ユーザは、選択した領域を「グループ1」のグループチャット画面まで、マウス操作等によりドラッグする。すると、グループチャット画面のメッセージ表示領域に、選択したアプリケーションプログラムの一部を示す情報が表示される。図12に示す例においては、「グループ1」のグループチャット画面のメッセージ領域に、「Nx2」という表記とアイコンとが表示されている。
 グループチャットによってメッセージを受信した他のユーザは、当該他のユーザが参照しているCo-innovationスペース画面において、グループチャット画面のメッセージ領域に表示された「Nx2」という表記またはアイコンを、マウス操作等によってメッセージ領域からアプリケーション設計領域にドラッグアンドドロップする。すると、チャットの送信元のユーザが利用しているアプリケーション設計領域において表示された画像のうち、点線で囲まれた範囲の画像と同一の画像が、他のユーザが参照しているアプリケーション設計領域に表示される。
 グループチャットによって共有される情報は、当該画像を示す情報や、アプリケーションプログラムの構造を示す、レイアウト情報、結線情報、および選択領域情報だけでなく、設定されたパラメータ値等も含む。すなわち、Co-innovationスペースによれば、アプリケーションプログラムのソースコードだけでなく、設定されたパラメータ値等も含めて、ユーザ間で共有をすることができる。
 このように、Co-innovationスペースは、アプリケーション開発環境とコミュニケーションツールとを有し、当該アプリケーション開発環境と当該コミュニケーションツールとが連携して機能する。このため、ユーザは、開発したアプリケーション等を容易に他のユーザと共有することができる。
 図13は、アプリケーションストアの画面例を示す。アプリケーションストア画面は、グローバルナビ領域に表示されたメニュー内に表示された「アプリケーションストア」の表示領域が、マウス操作等によりクリックされることによって表示される。
 アプリケーションストアでは、アプリケーションプログラムの一部または全部、ロジック、テンプレート、およびデータ等の売買が行われる。図13に示されるように、アプリケーションストアには、購入された本数が多い順に上位20個(トップ20)のアプリケーションおよびテンプレートがそれぞれ表示されている。図13に示す例においては、アプリケーションストアの左側の領域には、ユーザが、アプリケーションストアに登録されているアプリケーションプログラムの一部または全部、ロジック、テンプレート、およびデータ等を検索するための画面領域が表示されている。当該画面領域おいて、ユーザは、キーワード検索、登録されているアプリケーション等が対象としている業種によって絞り込みを行う業種別カテゴリ検索、登録されているアプリケーション等によって行われる処理の目的によって絞り込みを行う目的別カテゴリ検索、有料または無料のアプリケーション等に絞り込みを行う絞り込み検索を行うことができる。
 ユーザは、上述したように、Co-innovationスペースにおいて開発したアプリケーションプログラム、ロジック、およびテンプレート等を、アプリケーションストアに登録し、他のユーザに対して販売をすることができる。
 このように、Co-innovationスペースは、アプリケーション開発環境とともにアプリケーションストアを有する。当該アプリケーション開発環境と当該アプリケーションストアとが連携して機能するため、ユーザは開発したアプリケーション等を容易に他のユーザに対し販売したり、他のユーザや外部のベンダー等が開発したアプリケーション等を容易に購入したりすることができる。
(Co-innovationスペースの動作)
 以下に、Co-innovationスペースの動作について説明する。図14および図15は、本発明の実施形態に係るアプリケーション開発環境提供システム1に実装されるCo-innovationスペースの動作の一例を示すフローチャートである。
 図14は、Co-innovationスペースにおいてアプリケーションプログラムが生成され、生成されたアプリケーションプログラムの一部がコミュニケーションツールによってアカウント(ユーザ)間で共有される際におけるCo-innovationスペースの動作を示す。
(ステップS001)アプリケーションボード111は、表示部にCo-innovationスペース画面を表示する。アプリケーションボード111は、ユーザによる操作に応じて、アプリケーションプログラムを生成する。アプリケーションボード111は、生成されたアプリケーションプログラムの構造に関するレイアウト情報や結線情報等を生成する。その後、ステップS002へ進む。
(ステップS002)アプリケーションボード111は、Co-innovationスペース画面のアプリケーション設計領域に、ステップS001において生成されたアプリケーションプログラムを視覚的に表示する。その後、ステップS003へ進む。
(ステップS003)アプリケーションボード111は、ユーザによる操作に応じて、ステップS002において視覚的に表示されたアプリケーションプログラムの一部の領域を選択し、当該選択された領域を示す情報である選択領域情報を生成する。その後、ステップS004へ進む。
(ステップS004)アプリケーションボード111は、ステップS003において生成された選択領域情報に基づいて、選択された領域に該当するアプリケーションプログラムおよびパラメータ情報を取得する。その後、ステップS005へ進む。
(ステップS005)コミュニケーションツール112は、ユーザによる操作(例えば、ユーザが、選択したアプリケーションプログラムの一部を示す領域を、チャット画面のメッセージ表示領域にドラッグアンドドロップする操作)に応じて、ステップS001乃至ステップS004においてアプリケーションボード111が取得したアプリケーションプログラム、パラメータ情報、レイアウト情報、結線情報、および選択領域情報等に基づいて、コミュニケーションツール112のメッセージ領域にアプリケーションプログラムの一部を示す情報を視覚的に表示する。その後、ステップS006へ進む。
(ステップS006)コミュニケーションツール112は、ユーザによる操作(例えば、ユーザが、チャット画面において送信ボタンをクリックする操作)に応じて、アプリケーションプログラムの一部を示す情報を、他のユーザのコミュニケーションツールに送信し、当該情報を視覚的に表示させる。
(ステップS007)アプリケーションプログラムの一部を示す情報を受け取った当該ユーザは、視覚的に表示された情報をユーザによる操作(例えば、ユーザが、チャット画面のメッセージ表示領域に視覚的に表示された情報を、前記アプリケーション設計領域にドラッグアンドドロップする操作)に応じて、ステップS001乃至ステップS004においてアプリケーションボード111が取得したアプリケーションプログラム、パラメータ情報、レイアウト情報、結線情報、および選択領域情報等をアプリケーション設計領域に複製する。以上で、本フローチャートの処理が終了する。
 図15は、Co-innovationスペースにおいてアプリケーションプログラムが生成され、生成されたアプリケーションプログラムの一部が販売用としてアプリケーションストアに登録される際におけるCo-innovationスペースの動作を示す。
(ステップS101)アプリケーションボード111は、表示部にCo-innovationスペース画面を表示する。アプリケーションボード111は、ユーザによる操作に応じて、アプリケーションプログラムを生成する。アプリケーションボード111は、生成されたアプリケーションプログラムの構造に関するレイアウト情報や結線情報等を生成する。その後、ステップ1002へ進む。
(ステップS102)アプリケーションボード111は、Co-innovationスペース画面のアプリケーション設計領域に、ステップS001において生成されたアプリケーションプログラムを視覚的に表示する。その後、ステップS103へ進む。
(ステップS103)アプリケーションボード111は、ユーザによる操作に応じて、ステップS002において視覚的に表示されたアプリケーションプログラムの一部の領域を選択し、当該選択された領域を示す情報である選択領域情報を生成する。その後、ステップS104へ進む。
(ステップS104)アプリケーションボード111は、ステップS003において生成された選択領域情報に基づいて、選択された領域に該当するアプリケーションプログラムを、販売可能なアプリケーションプログラムに編集する。その後、ステップS105へ進む。
(ステップS105)アプリケーションストア118は、ユーザによる操作(例えば、ユーザが、選択したアプリケーションプログラムの一部を示す領域を、グローバルナビ表示領域に表示されたメニュー画面の中のアプリケーションストアの表示領域にドラッグする操作)に応じて、ステップS104において編集されたアプリケーションプログラムを登録する。その後、ステップS106へ進む。
(ステップS106)アプリケーションストア118は、ステップS105において登録されたアプリケーションプログラムを表示する。以上で、本フローチャートの処理が終了する。
 以上、説明したように、本実施形態に係るアプリケーション開発環境提供システム1は、通信ネットワークを介してアプリケーションプログラムの開発環境を提供する。アプリケーション開発環境提供システム1のアプリケーションボード111(プログラム開発部プログラム開発表示部)は、開発環境に接続された端末からの入力に基づいてアプリケーションプログラムを生成することができ、生成されたアプリケーションプログラムを視覚的に表示することができる。アプリケーション開発環境提供システム1のコミュニケーション部(コミュニケーション表示部)は、開発環境を利用する複数のユーザ間のコミュニケーションを行うことができ、アプリケーションボード111(プログラム開発部、プログラム開発表示部)によって生成されたアプリケーションプログラムの一部または全部を、指定された端末において視覚的に表示することができる。
 これにより、本実施形態に係るアプリケーション開発環境提供システム1は、クラウドコンピューティング環境において用いられるアプリケーションプログラムの効率的な開発および共有を実現することができる。
 以上、この発明の実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
 上述した実施形態におけるアプリケーション開発環境提供システム1の一部又は全部をコンピュータで実現するようにしてもよい。その場合、この制御機能を実現するための一以上のプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録された一以上のプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。
 ここでいう「コンピュータシステム」とは、アプリケーション開発環境提供システム1に内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含む。「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
 さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信回線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
 上述した実施形態におけるアプリケーション開発環境提供システム1を、LSI(Large Scale Integration)等の集積回路として実現してもよい。アプリケーション開発環境提供システム1の各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
 本明細書において「前、後ろ、上、下、右、左、垂直、水平、下、横、行および列」などの方向を示す言葉は、本発明の装置におけるこれらの方向について言及する。従って、本発明の明細書におけるこれらの言葉は、本発明の装置において相対的に解釈されるべきである。
 「構成される」という言葉は、本発明の機能を実行するために構成され、または装置の構成、要素、部分を示すために使われる。
 さらに、クレームにおいて「ミーンズ・プラス・ファンクション」として表現されている言葉は、本発明に含まれる機能を実行するために利用することができるあらゆる構造を含むべきものである。
 「ユニット」という言葉は、構成要素、ユニット、ハードウェアや所望の機能を実行するためにプログラミングされたソフトウェアの一部分を示すために用いられる。ハードウェアの典型例はデバイスや回路であるが、これらに限られない。
 以上、本発明の好ましい実施例を説明したが、本発明はこれら実施例に限定されることはない。本発明の趣旨を逸脱しない範囲で、構成の付加、省略、置換、およびその他の変更が可能である。本発明は前述した説明によって限定されることはなく、添付のクレームの範囲によってのみ限定される。
1・・・アプリケーション開発環境提供システム、10・・・ソーシャリゼーションノード、11・・・インテリジェンスノード、12・・・スパイナルノード、13・・・デバイスノード(センサー)、14・・・デバイスノード(デバイス)、111・・・アプリケーションボード(プログラム開発部、プログラム開発表示部)、112・・・コミュニケーションツール(コミュニケーション部、コミュニケーション表示部)、113・・・ライブラリ、114・・・ストレージ、115・・・デバイス管理部、116・・・テナント管理部、117・・・サイト・アカウント管理部、118・・・アプリケーションストア、119・・・課金部、120・・・データベース部

Claims (20)

  1.  ネットワークを介してアプリケーションプログラムの開発環境を提供するアプリケーション開発環境提供システムにおいて、
     前記開発環境に接続された端末からの入力に基づいて前記アプリケーションプログラムを生成し、生成された前記アプリケーションプログラムを視覚的に表示するプログラム開発部と、
     前記開発環境を利用する複数のユーザ間におけるコミュニケーション機能を提供するコミュニケーション部であって、第1のユーザが利用する前記開発環境の前記プログラム開発部によって生成された前記アプリケーションプログラムの一部または全部を、第2のユーザが利用する前記開発環境において利用可能に複製させ、視覚的に表示させるコミュニケーション部と、
     を有するアプリケーション開発環境提供システム。
  2.  前記コミュニケーション部は、前記プログラム開発部によってユーザの操作に応じて選択された前記アプリケーションプログラムの選択領域を示す選択領域情報に基づいて、前記アプリケーションプログラムの一部を利用可能に複製させ、視覚的に表示させる
     請求項1に記載のアプリケーション開発環境提供システム。
  3.  前記コミュニケーション部は、前記プログラム開発部によって設定されたパラメータ情報を含んで、前記アプリケーションプログラムの一部または全部を利用可能に複製させる
     請求項1または請求項2に記載のアプリケーション開発環境提供システム。
  4.  前記プログラム開発部は、前記コミュニケーション部によって表示された前記アプリケーションプログラムの一部または全部を利用可能に複製し、視覚的に表示する
     請求項1から請求項3のうちいずれか一項に記載のアプリケーション開発環境提供システム。
  5.  前記プログラム開発部は、表示した前記アプリケーションプログラムを前記端末からの入力に基づいて更新する
     請求項4に記載のアプリケーション開発環境提供システム。
  6.  前記プログラム開発部は、入力、演算、または出力を含む開発パーツを示す情報である開発パーツ情報と、前記開発パーツの配置を示す情報であるレイアウト情報と、前記開発パーツ間の論理的な接続を示す情報である結線情報と、前記開発パーツに対して設定されたパラメータ値を示すパラメータ情報のうち少なくとも1つの情報に基づいて、前記アプリケーションプログラムを利用可能に複製し、視覚的に表示する
     請求項1から請求項5のうちいずれか一項に記載のアプリケーション開発環境提供システム。
  7.  前記コミュニケーション部は、前記プログラム開発部によって生成された前記アプリケーションプログラムの一部または全部を、ユーザによるドラッグアンドドロップの操作によって前記プログラム開発部から前記コミュニケーション部へ視覚的に移動させることにより、指定された前記端末において前記アプリケーションプログラムの一部または全部を利用可能に複製し、視覚的に表示させる
     請求項1から請求項6のうちいずれか一項に記載のアプリケーション開発環境提供システム。
  8.  前記コミュニケーション部は、チャット形式の表示形態によって、前記複数のユーザ間のコミュニケーション機能を提供する
     請求項1から請求項7のうちいずれか一項に記載のアプリケーション開発環境提供システム。
  9.  ネットワークを介してアプリケーションプログラムの開発環境を提供するアプリケーション開発環境提供方法であって、
     プログラム開発部が、前記開発環境に接続された端末からの入力に基づいてアプリケーションプログラムを生成し、
     前記プログラム開発部が、生成された前記アプリケーションプログラムを視覚的に表示し、
     コミュニケーション部が、前記開発環境を利用する複数のユーザ間のコミュニケーション機能を提供し、
     前記コミュニケーション部が、生成された前記アプリケーションプログラムの一部または全部を、指定された端末において利用可能に複製させ、
     前記コミュニケーション部が、複製された前記アプリケーションプログラムの一部または全部を視覚的に表示させる
     アプリケーション開発環境提供方法。
  10.  コンピュータによって実行される一以上のプログラムを記憶するコンピュータ読み取り可能な非一時的記憶媒体であって、前記一以上のプログラムは、
     アプリケーションプログラムの開発環境に接続された端末からの入力に基づいてアプリケーションプログラムを生成し、
     生成された前記アプリケーションプログラムを視覚的に表示し、
     前記開発環境を利用する複数のユーザ間のコミュニケーション機能を提供し、
     生成された前記アプリケーションプログラムの一部または全部を、指定された端末において利用可能に複製させ、
     複製された前記アプリケーションプログラムの一部または全部を視覚的に表示させる
     コンピュータ読み取り可能な非一時的記憶媒体。
  11.  ネットワークを介して提供されるアプリケーションプログラムの開発環境に通信接続された端末装置において、
     前記端末装置からの入力に基づいて、前記開発環境を介して生成された前記アプリケーションプログラムを視覚的に表示するプログラム開発表示部と、
     前記開発環境を利用する複数のユーザ間におけるコミュニケーション機能を提供するコミュニケーション表示部であって、第1のユーザが利用する前記開発環境で生成された前記アプリケーションプログラムの一部または全部を、第2のユーザが利用する前記開発環境において視覚的に表示させるコミュニケーション表示部と、
     を有する端末装置。
  12.  前記コミュニケーション表示部は、前記プログラム開発表示部を介したユーザの操作に応じて選択された前記アプリケーションプログラムの選択領域を示す選択領域情報に基づいて、前記アプリケーションプログラムの一部を視覚的に表示させる
     請求項11に記載の端末装置。
  13.  前記コミュニケーション表示部は、前記プログラム開発表示部を介して設定されたパラメータ情報を含んで、前記アプリケーションプログラムの一部または全部を視覚的に表示させる請求項11または請求項12に記載の端末装置。
  14.  前記プログラム開発表示部は、前記コミュニケーション表示部によって表示された前記アプリケーションプログラムの一部または全部を視覚的に表示する
     請求項11から請求項13のうちいずれか一項に記載の端末装置。
  15.  前記プログラム開発表示部は、表示された前記アプリケーションプログラムが前記端末装置からの入力に基づいて更新されると、更新後のアプリケーションプログラムを表示する
     請求項14に記載の端末装置。
  16.  前記プログラム開発表示部は、入力、演算、または出力を含む開発パーツを示す情報である開発パーツ情報と、前記開発パーツの配置を示す情報であるレイアウト情報と、前記開発パーツ間の論理的な接続を示す情報である結線情報と、前記開発パーツに対して設定されたパラメータ値を示すパラメータ情報のうち少なくとも1つの情報に基づいて、前記アプリケーションプログラムを視覚的に表示する
     請求項11から請求項15のうちいずれか一項に記載の端末装置。
  17.  前記コミュニケーション表示部は、前記プログラム開発表示部によって表示された前記アプリケーションプログラムの一部または全部を、ユーザによるドラッグアンドドロップの操作によって前記プログラム開発表示部から前記コミュニケーション表示部へ視覚的に移動させることにより、指定された前記端末装置において前記アプリケーションプログラムの一部または全部を視覚的に表示させる
     請求項11から請求項16のうちいずれか一項に記載の端末装置。
  18.  前記コミュニケーション表示部は、チャット形式の表示形態によって、前記複数のユーザ間のコミュニケーション内容を表示する
     請求項11から請求項17のうちいずれか一項に記載の端末装置。
  19.  ネットワークを介して提供されるアプリケーションプログラムの開発環境に通信接続された端末装置におけるアプリケーション表示方法において、
     プログラム開発表示部が、前記端末装置からの入力に基づいて、前記開発環境を介して生成された前記アプリケーションプログラムを視覚的に表示し、
     コミュニケーション表示部が、前記開発環境を利用する複数のユーザ間におけるコミュニケーション機能を提供し、
     前記コミュニケーション表示部が、第1のユーザが利用する前記開発環境で生成された前記アプリケーションプログラムの一部または全部を、第2のユーザが利用する前記開発環境において視覚的に表示させる
     アプリケーション表示方法。
  20.  コンピュータによって実行される一以上のプログラムを記憶するコンピュータ読み取り可能な非一時的記憶媒体であって、前記一以上のプログラムは、
     アプリケーションプログラムの開発環境に接続された端末装置からの入力に基づいて、前記開発環境を介して生成された前記アプリケーションプログラムを視覚的に表示し、
     前記開発環境を利用する複数のユーザ間におけるコミュニケーション機能を提供し、
     第1のユーザが利用する前記開発環境で生成された前記アプリケーションプログラムの一部または全部を、第2のユーザが利用する前記開発環境において視覚的に表示させる
     コンピュータ読み取り可能な非一時的記憶媒体。
PCT/JP2017/031477 2016-09-30 2017-08-31 アプリケーション開発環境提供システム、アプリケーション開発環境提供方法、端末装置、アプリケーション表示方法、およびコンピュータ読み取り可能な非一時的記録媒体 WO2018061605A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP17855563.7A EP3522008A4 (en) 2016-09-30 2017-08-31 APPLICATION DEVELOPMENT ENVIRONMENT PROVIDING SYSTEM, APPLICATION DEVELOPMENT ENVIRONMENT PROVIDING METHOD, TERMINAL DEVICE, APPLICATION DISPLAY METHOD AND NON-TRANSIENT COMPUTER READABLE MEDIUM
US16/336,996 US11281435B2 (en) 2016-09-30 2017-08-31 Application development environment providing system, application development environment provision method, terminal device, and application display method
CN201780059839.4A CN110023902B (zh) 2016-09-30 2017-08-31 应用开发环境提供系统、方法、终端装置、应用显示方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016193842A JP6759942B2 (ja) 2016-09-30 2016-09-30 アプリケーション開発環境提供システム、アプリケーション開発環境提供方法、アプリケーション開発環境提供プログラム、端末装置、アプリケーション表示方法、およびアプリケーション表示プログラム
JP2016-193842 2016-09-30

Publications (1)

Publication Number Publication Date
WO2018061605A1 true WO2018061605A1 (ja) 2018-04-05

Family

ID=61760645

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/031477 WO2018061605A1 (ja) 2016-09-30 2017-08-31 アプリケーション開発環境提供システム、アプリケーション開発環境提供方法、端末装置、アプリケーション表示方法、およびコンピュータ読み取り可能な非一時的記録媒体

Country Status (5)

Country Link
US (1) US11281435B2 (ja)
EP (1) EP3522008A4 (ja)
JP (1) JP6759942B2 (ja)
CN (1) CN110023902B (ja)
WO (1) WO2018061605A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020110933A1 (ja) * 2018-11-28 2020-06-04 株式会社トラスト・テクノロジー プログラミング装置、およびプログラム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10564940B2 (en) * 2018-05-03 2020-02-18 International Business Machines Corporation Systems and methods for programming drones
KR102319157B1 (ko) * 2019-01-21 2021-10-29 라인플러스 주식회사 메신저 내 플랫폼에 추가된 애플리케이션을 이용하여 대화방에서 정보를 공유하는 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체
BR112022002984A2 (pt) * 2019-08-21 2022-05-10 Bosch Ltd Sistema e método para desenvolvimento e distribuição de soluções de mobilidade
JP7115507B2 (ja) * 2020-04-27 2022-08-09 横河電機株式会社 ソフトウェア開発環境提供システム、ソフトウェア開発環境提供方法、及びソフトウェア開発環境提供プログラム
CN113934402B (zh) * 2020-06-28 2024-07-02 腾讯科技(深圳)有限公司 子应用内容的制作方法、装置、存储介质和电子设备
KR102392469B1 (ko) * 2021-05-04 2022-04-29 에스디티 주식회사 트러블 슈팅을 위한 프로젝트 서버의 복제 방법 및 이를 이용한 클라우드 개발 플랫폼 시스템
KR102659154B1 (ko) * 2023-08-11 2024-04-19 인스피언 주식회사 애플리케이션 서비스 제공 장치, 애플리케이션 서비스 제공 방법 및 애플리케이션 서비스를 제공하는 컴퓨터로 실행가능한 프로그램을 저장하는 저장매체

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008533549A (ja) * 2005-01-04 2008-08-21 ヴァークヤ・テクノロジーズ・プライヴェイト・リミテッド アプリケーション開発及び展開のためのシステム及び方法
JP2012523038A (ja) 2009-04-01 2012-09-27 ハネウェル・インターナショナル・インコーポレーテッド 工業自動化及び生産システム用クラウドコンピューティング
US20140310678A1 (en) * 2013-04-15 2014-10-16 Massively Parallel Technologies, Inc. Systems And Methods For Collaborative Views Of A Hierarchical Software Design
JP5792891B2 (ja) 2012-03-28 2015-10-14 株式会社日立システムズ アプリケーション開発営業支援システム

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5977886A (en) * 1997-10-10 1999-11-02 Ericsson Inc. Systems and methods for communicating between a user input device and an application using adaptively selected code sets
US6701513B1 (en) * 2000-01-14 2004-03-02 Measurement Computing Corporation Program-development environment for use in generating application programs
CN1835507A (zh) * 2005-03-17 2006-09-20 国际商业机器公司 用于用户与web浏览器交互的服务器端处理的方法与系统
US20080125877A1 (en) * 2006-09-12 2008-05-29 Fisher-Rosemount Systems, Inc. Process data collection system configuration for process plant diagnostics development
US20080134298A1 (en) * 2006-12-04 2008-06-05 Microsoft Corporation Integrated development environment with community integration
US20080228774A1 (en) * 2007-03-15 2008-09-18 Accenture Global Services Gmbh Collaboration system
US20080244418A1 (en) * 2007-03-30 2008-10-02 Microsoft Corporation Distributed multi-party software construction for a collaborative work environment
US8060855B2 (en) * 2007-10-09 2011-11-15 Microsoft Corporation Artifact sharing from a development environment
KR101495168B1 (ko) * 2008-07-04 2015-02-24 엘지전자 주식회사 이동 단말기 및 그의 파일 전송방법
US20130086551A1 (en) * 2010-05-27 2013-04-04 International Business Machines Corporation Providing A User With A Graphics Based IDE For Developing Software For Distributed Computing Systems
US8479154B1 (en) * 2010-08-20 2013-07-02 Google Inc. Interaction with partially constructed mobile device applications
DE102010040259A1 (de) * 2010-09-03 2012-03-08 Presense Technologies Gmbh Transferverfahren zum kontrollierten Transfer von Daten zwischen Domänen und Verfahren zum Bereitstelleneines ausführbaren Transferprogrammcodes für ein Transferprogramm sowie eine entsprechende Transfervorrichtung und ein zugehöriges Sicherheitsmodul
US8990775B2 (en) * 2010-11-10 2015-03-24 International Business Machines Corporation Collaborative software debugging in a distributed system with dynamically displayed chat sessions
US9223567B2 (en) * 2012-02-17 2015-12-29 International Business Machines Corporation Integrated exchange of search results in an integrated software development environment
WO2014145801A2 (en) * 2013-03-15 2014-09-18 Fisher-Rosemount Systems, Inc. Data modeling studio
US9043458B2 (en) * 2013-03-19 2015-05-26 Cognizant Technology Solutions India Pvt. Ltd. Framework for facilitating implementation of multi-tenant SaaS architecture
US20150033148A1 (en) * 2013-07-23 2015-01-29 Salesforce.Com, Inc. Private screen sharing functionality in an information networking environment
CN103955373B (zh) * 2014-04-30 2017-06-30 浙江工商大学 一种sdn应用集成开发环境的设计方法
US9348579B2 (en) * 2014-07-03 2016-05-24 Sap Se Integration of social networks with integrated development environment (IDE)
US10353701B2 (en) * 2014-09-29 2019-07-16 Sap Se Code analysis for cloud-based integrated development environments
US10095509B2 (en) * 2015-02-04 2018-10-09 Sap Se Supporting developer-user collaborative software review in IDE
US20170003862A1 (en) * 2015-07-02 2017-01-05 Microsoft Technology Licensing, Llc User interface for sharing application portion
US20170083292A1 (en) * 2015-09-18 2017-03-23 Amazon Technologies, Inc. Visual content development
US9858070B2 (en) * 2015-10-05 2018-01-02 International Business Machines Corporation Development team file collaboration
US9652225B1 (en) * 2016-01-04 2017-05-16 International Business Machines Corporation Development community assessment via real-time workspace monitoring
US20170201551A1 (en) * 2016-01-13 2017-07-13 Doky Inc. Collaborative Platform for Communication, Application Development and Use
US20170322781A1 (en) * 2016-05-06 2017-11-09 Honeywell International Inc. Integrated development environment for control language of legacy distributed control system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008533549A (ja) * 2005-01-04 2008-08-21 ヴァークヤ・テクノロジーズ・プライヴェイト・リミテッド アプリケーション開発及び展開のためのシステム及び方法
JP2012523038A (ja) 2009-04-01 2012-09-27 ハネウェル・インターナショナル・インコーポレーテッド 工業自動化及び生産システム用クラウドコンピューティング
JP5792891B2 (ja) 2012-03-28 2015-10-14 株式会社日立システムズ アプリケーション開発営業支援システム
US20140310678A1 (en) * 2013-04-15 2014-10-16 Massively Parallel Technologies, Inc. Systems And Methods For Collaborative Views Of A Hierarchical Software Design

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of EP3522008A4
UCHIDA, KOTA ET AL.: "Conditions and the outlook for C-Helper, a tool for C novices", THE 54TH PROGRAMMING/SYMPOSIUM, vol. 2013, 11 January 2013 (2013-01-11), pages 153 - 160, XP055595517 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020110933A1 (ja) * 2018-11-28 2020-06-04 株式会社トラスト・テクノロジー プログラミング装置、およびプログラム
JPWO2020110933A1 (ja) * 2018-11-28 2021-04-01 株式会社トラスト・テクノロジー プログラミング装置、およびプログラム
CN113168368A (zh) * 2018-11-28 2021-07-23 株式会社特拉斯特技术 编程装置及程序
CN113168368B (zh) * 2018-11-28 2023-09-29 株式会社特拉斯特技术 编程装置及记录介质
US11921619B2 (en) 2018-11-28 2024-03-05 Trust Technology Co., Ltd. Programming devices and programs for creating and editing programs used for image processing

Also Published As

Publication number Publication date
US20190220255A1 (en) 2019-07-18
JP2018055588A (ja) 2018-04-05
JP6759942B2 (ja) 2020-09-23
CN110023902B (zh) 2022-08-26
CN110023902A (zh) 2019-07-16
US11281435B2 (en) 2022-03-22
EP3522008A1 (en) 2019-08-07
EP3522008A4 (en) 2020-04-22

Similar Documents

Publication Publication Date Title
WO2018061605A1 (ja) アプリケーション開発環境提供システム、アプリケーション開発環境提供方法、端末装置、アプリケーション表示方法、およびコンピュータ読み取り可能な非一時的記録媒体
US20210397174A1 (en) Industrial automation information contextualization method and system
JP7361450B2 (ja) 遠隔デバイスにストリーム配信するための方法及び装置
CN113075909B (zh) 工业数据服务平台
US10135953B2 (en) Self-describing diagnostic data for presentation on mobile devices
EP3187951B1 (en) Delivery of automated notifications by an industrial asset
US10528021B2 (en) Automated creation of industrial dashboards and widgets
CN111562769A (zh) 用于工业数字孪生的ai扩展和智能模型验证
WO2018061614A1 (ja) アプリケーション開発環境提供システム、アプリケーション開発環境提供方法、情報処理装置、およびコンピュータ読み取り可能な非一時的記録媒体
US11010201B2 (en) Information processing device, resource allocation system, and resource allocation method
US11567783B2 (en) Data format transformation for downstream processing in a data pipeline
EP4332705A1 (en) Industrial automation system topology with point to point representation paths
EP4325795A1 (en) Background discovery agent orchestration

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17855563

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2017855563

Country of ref document: EP

Effective date: 20190430