WO2015063831A1 - 開発システム及び端末装置及び開発方法及びプログラム - Google Patents

開発システム及び端末装置及び開発方法及びプログラム Download PDF

Info

Publication number
WO2015063831A1
WO2015063831A1 PCT/JP2013/079121 JP2013079121W WO2015063831A1 WO 2015063831 A1 WO2015063831 A1 WO 2015063831A1 JP 2013079121 W JP2013079121 W JP 2013079121W WO 2015063831 A1 WO2015063831 A1 WO 2015063831A1
Authority
WO
WIPO (PCT)
Prior art keywords
development
unit
program
offline
environment
Prior art date
Application number
PCT/JP2013/079121
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 PCT/JP2013/079121 priority Critical patent/WO2015063831A1/ja
Priority to TW102146546A priority patent/TW201516707A/zh
Publication of WO2015063831A1 publication Critical patent/WO2015063831A1/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

Definitions

  • the present invention relates to an FA environment system that operates in a network-type FA (Factory Automation) engineering environment.
  • the present invention relates to an FA environment system that can be used even in an offline state.
  • the FA engineering environment has been provided as a client application, and has been installed and used in each programmer's PC (personal computer).
  • PC personal computer
  • the source code and object module which are development products, exist on each person's PC, a leakage problem has also occurred.
  • Patent Document 1 describes a technique for performing development work on a server without performing development work on the developer's PC.
  • the development work content in Patent Document 1 is performed by combining software components stored in a repository on a server from a client, and the work content is considerably limited. Furthermore, it is assumed that it is used online, and cannot be used offline.
  • the client unit is a component unit that manages the function of the user interface in the FA engineering environment
  • the server unit is a component unit that manages the FA engineering function such as editing, translation, and debugging.
  • a client cannot be used unless it can communicate with a server on a cloud providing a service through a network.
  • a network environment that can be connected to a cloud environment has not been established, and even if it has been established, it cannot be used. Therefore, in the network type FA engineering environment, there is a problem that the use may be restricted in the case of on-site adjustment work.
  • An object of the present invention is to expand the range of use of a network-type FA engineering environment operating on a cloud.
  • An object of the present invention is to provide an information processing apparatus that can use a network type FA engineering environment safely and reliably even in an offline state in which the network environment cannot be used.
  • the object of the present invention is to maintain consistency between the installed program on the device and the program stored in the project data repository on the cloud so that it can support large-scale development by multiple people in recent years.
  • An object of the present invention is to provide an information processing apparatus that can be maintained. It is a further object of the present invention to provide an information processing apparatus that makes it possible to maintain the above consistency even when a trouble such as a client power-off occurs in the offline state.
  • a development system is a development system comprising a server device having a development environment used for program development and a terminal device that communicates with the server device via a network.
  • a program storage unit for storing; a development environment storage unit for storing the development environment; and the terminal device, an input unit for inputting an offline transfer request for shifting communication between the storage device and the server device offline
  • the development program is acquired from the program storage unit, the development environment is acquired from the development environment storage unit, and the acquired development program and the development environment In the storage device and communication with the server device is offline.
  • the development program stored in the storage device using the development environment stored in the storage device based on the input operation for development input from the user And a development support unit that executes the development process by a processing device.
  • the development device when the terminal device inputs the offline migration request, the development device is acquired from the program storage unit, and the development environment is acquired from the development environment storage unit, A storage unit that stores the acquired development program and the development environment in the storage device, and a communication operation with the server device is offline, a user inputs an operation for development, and the input of the development And a development support unit that executes a development process of the development program stored in the storage device using the development environment stored in the storage device based on the operation for the above operation
  • the development environment can be used safely and reliably not only in the online state but also in the offline state.
  • FIG. 2 is a diagram illustrating an example of a hardware configuration of a server 110 and a client device 200 according to Embodiment 1.
  • FIG. 4 is a flowchart showing an offline migration process (offline migration process) performed by the offline migration unit 210 of the client device 200 according to the first embodiment.
  • 6 is a diagram illustrating an example of an environment client initial screen 251 displayed on the display device of the client device 200 by the development environment client unit 250.
  • FIG. 6 is a diagram showing an example of a development environment selection screen 270 according to Embodiment 1.
  • FIG. 7 is a flowchart showing a development support process (development support process) when offline by the development environment client unit 250 according to the first embodiment.
  • 4 is a flowchart showing an online return process (online return process) by the online return unit 220 according to the first embodiment. It is a figure which shows an example of the project list screen 280 with a difference which concerns on Embodiment 1.
  • FIG. It is a figure which shows the block configuration of the environment provision system 501 which concerns on Embodiment 2.
  • FIG. 10 is a flowchart illustrating an offline migration process (offline migration process) performed by the offline migration unit 210 of the client device 200 according to the second embodiment.
  • FIG. 10 is a flowchart showing a development support process (development support process) when offline by the development environment client unit 250 according to the second embodiment. It is a figure which shows an example of the operation log
  • FIG. It is a flowchart which shows the online return process (online return process) by the online return part 220 which concerns on Embodiment 2.
  • FIG. It is an example of the operation history repository 124 after online return which concerns on Embodiment 2.
  • FIG. It is a figure which shows the block configuration of the environment provision system 502 which concerns on Embodiment 3.
  • 14 is a flowchart showing a development support process (development support process) when offline by the development environment client unit 250 according to the third embodiment.
  • 10 is an example of change information 261 according to Embodiment 3.
  • 14 is a flowchart showing online return processing (online return step) by the online return unit 220 according to the third embodiment.
  • 22 is a flowchart showing an online return process (online return process) by the online return unit 220 according to Embodiment 3, and is a continuation of FIG. It is a figure which shows the structure of the development environment corresponding
  • FIG. 1 is a diagram for explaining an outline of an environment providing system 500 according to the present embodiment.
  • the outline of the environment providing system 500 (development system) will be described with reference to FIG.
  • the environment providing system 500 is a system that provides a network type FA engineering environment service.
  • the network type FA engineering environment service is an FA engineering environment service using a cloud.
  • the environment providing system 500 includes a cloud side system 100 and a client device 200 connected to the cloud side system 100 via a network 400.
  • the cloud-side system 100 includes a server 110 that provides an engineering environment (hereinafter referred to as a development environment) that is an environment for program development and the like, and a cloud-side storage device 120 that stores project data, a development environment, and the like.
  • the development environment is a general term for development tools such as a programming language, a compiler, and a debugger that are used to improve the convenience in software production.
  • the server 110 and the cloud-side storage device 120 may be separate devices, or the server 110 may include the cloud-side storage device 120.
  • the cloud side system 100 is an example of a server device.
  • the cloud-side system 100 may be simply called a cloud.
  • Project data includes source code, object modules, configuration files, design documents, etc.
  • Project data is an example of a development program developed using a development environment.
  • the development environment includes development tools for program development. Development tools include editors, compilers, debuggers, profilers, and so on.
  • the client device 200 and the cloud-side system 100 are in an online state connected via the network 400.
  • the client device 200 performs a project data development work using the development environment provided by the cloud-side system 100. For example, a device program that operates on the device 300 installed in a factory is developed.
  • the client device 200 is moved from the development base to the factory by the worker. In the factory, the client device 200 is used to perform on-site adjustment operations such as an operation for installing an apparatus program in the apparatus 300 and an operation for adjusting the apparatus 300 by operating the apparatus 300. This on-site adjustment work is performed offline at the factory.
  • the environment providing system 500 According to the environment providing system 500 according to the present embodiment, program development can be executed safely and reliably even when this on-site adjustment work is performed in an offline state. Therefore, the environment providing system 500 downloads the necessary project data and the necessary development environment to the client device 200 in advance when going offline, and uses the cloud-side system to update the project data updated during the local adjustment work when returning online. Upload to 100. In this way, the FA engineering environment (development environment) operating on the cloud can be shifted from the online state to the offline state in the field adjustment work performed in the factory. After that, the synchronization process when returning to the online state is performed safely and reliably.
  • FIG. 2 is a diagram showing a block configuration of the environment providing system 500 according to the present embodiment.
  • FIG. 2 schematically shows a configuration of an information processing apparatus (client apparatus 200) having a usage method when the network type FA engineering environment (development environment) is used offline.
  • the cloud-side storage device 120 of the cloud-side system 100 includes a development environment repository 121, a project data repository 122, and a user repository 123.
  • the server 110 is omitted.
  • the development environment repository 121 is an example of a development environment storage unit that stores development tools such as an editor, a compiler, a debugger, and a profiler.
  • the project data repository 122 stores project data corresponding to the project. Some of the project data stored in the project data repository 122 has been developed, and some is being developed.
  • the project data repository 122 is an example of a program storage unit that stores project data (programs).
  • the user repository 123 stores user information of the environment providing system 500 (network type FA engineering environment). User information includes login information, affiliated projects, authority information, and the like.
  • the client device 200 includes an offline migration unit 210, an online return unit 220, a virtual file system unit 230, a primary storage device 240, and a development environment client unit 250.
  • the cloud side system 100 and the client apparatus 200 are connected via a network 400.
  • the development environment client unit 250 is also called a network type FA engineering environment client.
  • the user uses the development environment client unit 250 installed in the client device 200 to develop the project data on the cloud using the development environment on the cloud.
  • the development environment client unit 250 has a GUI function for providing a development environment (FA engineering environment) to the user.
  • the development environment client unit 250 manages an interface with the user. For example, when the development environment client unit 250 is activated, the development environment client unit 250 authenticates the user and then displays the environment client initial screen 251 (see FIG. 5) on the display screen of the client device 200. Various requests from are accepted.
  • the development environment client unit 250 is an example of an input unit that inputs an offline transfer request for transferring communication with the cloud-side system 100 offline from a user.
  • the offline migration unit 210 includes a work area management unit 211, a relation extraction unit 212, a project data replication unit 213, and a development environment replication unit 214.
  • the offline migration unit 210 is activated.
  • the relation extraction unit 212 searches the development environment repository 121, the project data repository 122, and the user repository 123 based on the user login information, and displays a list of development environments and a list of project data.
  • the development environment replication unit 214 downloads the development environment selected by the user from the development environment list from the development environment repository 121.
  • the project data replication unit 213 downloads the project data selected by the user from the project data list from the project data repository 122.
  • the work area management unit 211 creates a virtual file system unit 230 (virtual file system) as a copy destination of the downloaded project data and development environment on the primary storage device 240.
  • the primary storage device 240 is an example of a storage device of the terminal device.
  • the development environment replication unit 214 temporarily stores the development environment downloaded from the development environment repository 121 as the development environment 232 in the virtual file system unit 230.
  • the project data replication unit 213 temporarily stores the project data downloaded from the project data repository 122 as project data 231 in the virtual file system unit 230.
  • the relation extraction unit 212 is an example of a storage unit that acquires project data from the project data repository 122 and acquires a development environment from the development environment repository 121.
  • the project data replication unit 213 and the development environment replication unit 214 are an example of a storage unit that stores the acquired project data and development environment in the primary storage device 240.
  • the online return unit 220 includes a connection monitoring unit 221 and a project data update unit 222.
  • the connection monitoring unit 221 is an example of a connection determination unit that determines whether communication with the cloud-side system 100 is online.
  • the project data update unit 222 stores the project data stored in the project data repository 122 in the virtual file system unit 230.
  • the project data 231 is updated.
  • the project data update unit 222 is an example of an update unit.
  • FIG. 3 is a diagram illustrating an example of a hardware configuration of the server 110 and the client device 200 according to the present embodiment.
  • a hardware configuration example of the server 110 and the client device 200 will be described with reference to FIG.
  • the server 110 and the client device 200 are computers, and each element of the server 110 and the client device 200 can be realized by a program.
  • an arithmetic device 901, an external storage device 902, a main storage device 903, a communication device 904, and an input / output device 905 are connected to the bus.
  • the arithmetic device 901 is a CPU (Central Processing Unit) that executes a program.
  • the external storage device 902 is, for example, a ROM (Read Only Memory), a flash memory, or a hard disk device.
  • the main storage device 903 is a RAM (Random / Access / Memory).
  • the communication device 904 is, for example, a communication board or the like, and is connected to a LAN (Local / Area / Network) or the like.
  • the communication device 904 is not limited to a LAN, but includes an IP-VPN (Internet, Protocol, Private, Network), a wide area LAN, an ATM (Asynchronous / Transfer / Mode) network, a WAN (Wide / Area / Network), or the Internet.
  • the input / output device 905 is, for example, a mouse, a keyboard, a display device, or the like. Instead of the mouse, a touch panel, touch pad, trackball, pen tablet, or other pointing device may be used.
  • the display device may be an LCD (Liquid / Crystal / Display), a CRT (Cathode / Ray / Tube), or another display device.
  • the program is normally stored in the external storage device 902, and is loaded into the main storage device 903 and sequentially read into the arithmetic device 901 and executed.
  • the program is a program that realizes a function described as “unit” shown in the block configuration diagram.
  • an operating system (OS) is also stored in the external storage device 902. At least a part of the OS is loaded into the main storage device 903, and the arithmetic unit 901 executes the OS while “ ⁇ ” shown in the block configuration diagram.
  • the program that realizes the function of “part” is executed.
  • An application program is also stored in the external storage device 902, and is sequentially executed by the arithmetic device 901 while being loaded in the main storage device 903. Information such as “ ⁇ table” is also stored in the external storage device 902.
  • determining”, “determining”, “determining”, “extracting”, “detecting”, “setting”, “registering”, “selecting”, “generating”, Information, data, signal values, and variable values indicating processing results such as “input of” and “output of” are stored in the main storage device 903 as files.
  • Data received by the server 110 and the client device 200 is stored in the main storage device 903.
  • the encryption key / decryption key, random number value, and parameter may be stored in the main storage device 903 as a file.
  • the hardware configuration of the server 110 and the client device 200 is not limited to the configuration illustrated in FIG. It may be a configuration.
  • FIG. 4 is a flowchart showing an offline migration process (offline migration process) by the offline migration unit 210 of the client device 200 according to the present embodiment.
  • a program having the function of each unit of the offline migration unit 210 is stored in the external storage device of the client device 200, and is read into the main storage device by the processing device and executed.
  • the offline migration process is a process performed by the offline migration unit 210 that is executed at the time of transition to an offline state for performing on-site adjustment work or the like.
  • FIG. 5 is a diagram illustrating an example of the environment client initial screen 251 displayed on the display device of the client device 200 by the development environment client unit 250.
  • the environment client initial screen 251 includes a menu display unit 252, a project tree display unit 253, and a ladder editor unit 254.
  • the menu display unit 252 displays various menus.
  • the offline migration 2521 is clicked, touched, or pressed.
  • the project tree display unit 253 displays a project tree of a project currently registered in the environment providing system 500.
  • the ladder editor unit 254 displays an editor for editing the ladder diagram.
  • S101 the user inputs login information to the client device 200, and starts a network type FA engineering environment client (hereinafter referred to as a development environment client unit 250).
  • a development environment client unit 250 displays the environment client initial screen 251 on the display device.
  • the development environment client unit 250 accepts the selection of the offline migration 2521 as an offline migration request.
  • the case where the user inputs an offline transfer request is a case where the client terminal is subsequently moved to the site or the like and the field adjustment work is executed in an offline state.
  • the relation extraction unit 212 searches the development environment repository 121, the project data repository 122, and the user repository 123 based on the login information of the user using the processing device. For example, in the user repository 123, a user is associated with a project ID that identifies a project to which the user belongs.
  • the association extraction unit 212 searches the user repository 123 based on the user login information, and extracts the project ID of the project to which the logged-in user belongs.
  • the related extraction unit 212 searches the project data repository 122 based on the extracted project ID, and displays a list of project data corresponding to the extracted project ID on the display device.
  • FIG. 6 is a diagram showing an example of the project data selection screen 260 according to the present embodiment.
  • the project data selection screen 260 displays a check box 261, a project ID 262, a program ID 263 for identifying project data, and a last update date and time 264 for each project data. Since the project data includes a plurality of programs, the program ID identifies each of the plurality of programs. The user selects necessary project data by checking the check box 261.
  • FIG. 7 is a diagram showing an example of the development environment selection screen 270 according to the present embodiment.
  • a user in the user repository 123, a user, a project ID for identifying a project to which the user belongs, and a development environment used in the project to which the user belongs are associated.
  • the relation extraction unit 212 searches the user repository 123 based on the login information of the user, and extracts the development environment used in the project to which the logged-in user belongs.
  • the related extraction unit 212 displays the extracted development environment list on the development environment selection screen 270.
  • a check box 271, a development environment item 272, and a version selection 273 are displayed.
  • the type of development environment such as an editor, a compiler, a debugger, or a profiler is displayed.
  • the version selection 273 displays the version so that it can be selected by a pull-down method.
  • the user selects a necessary development environment by checking the check box 271.
  • the user designates the version of the selected development environment using the version selection 273.
  • the work area management unit 211 creates a virtual file system unit 230 as a project data and development environment copy destination in the primary storage device 240.
  • the development environment replication unit 214 downloads the development environment selected by the user from the development environment list from the development environment repository 121, and temporarily stores it as the development environment 232 in the virtual file system unit 230. Further, the project data duplicating unit 213 downloads the project data selected by the user from the project data list from the project data repository 122 and temporarily stores it as project data 231 in the virtual file system unit 230.
  • the user terminates the development environment client unit 250. Then, the user shifts the client device 200 to the standby mode or the hibernation mode. Thereafter, the user moves the client terminal to the site and executes the site adjustment work in an offline state.
  • FIG. 8 is a flowchart showing a development support process (development support process) when offline by the development environment client unit 250 according to the present embodiment.
  • the program having the function of the development environment client unit 250 is stored in the external storage device of the client device 200, and is read into the main storage device by the processing device and executed.
  • the client device 200 returns from the standby mode or hibernation mode by the user at the site (factory).
  • the client device 200 is connected to the device 300.
  • the connection to the device 300 does not have to be S202 and may be before the project data is installed in the device 300.
  • the development environment client unit 250 is activated. At this time, the development environment client unit 250 is activated in the offline mode (S203).
  • the development environment client unit 250 activates the environment providing system 500 when activated in the online mode. However, since the development environment client unit 250 has shifted to the offline mode, it connects to the local virtual file system unit 230 (S204).
  • the development environment client unit 250 inputs an operation for developing project data (hereinafter referred to as a development operation) from the user. Based on the input operation for development, the development environment client unit 250 uses the development environment 232 stored in the virtual file system unit 230 to perform development processing of the project data 231 stored in the virtual file system unit 230. Execute.
  • the development environment client unit 250 is an example of a development support unit.
  • the development environment client unit 250 opens the project data 231 on the virtual file system unit 230 based on the development operation.
  • the development environment client unit 250 installs the object module stored in the project data 231 in the apparatus 300 based on the development operation.
  • S207 the operation of the apparatus 300 in which the object module is installed is verified by the user. If the apparatus 300 operates correctly (successful in S207), the development support processing of the development environment client unit 250 is terminated. If the apparatus 300 does not operate correctly (failed in S207), the process proceeds to S208.
  • the development environment client unit 250 supports the execution of the development processing of the project data 231 using the development environment 232 based on the development operation from the user. Specifically, the development environment client unit 250 executes source code editing processing, translation processing, and debugging processing on the project data 231 based on a development operation from the user. Then, the process returns to S206, and the object module is installed in the apparatus 300. This operation is repeated until the apparatus 300 operates correctly.
  • the development environment client unit 250 is terminated.
  • the device 300 is disconnected from the client device 200 by the user.
  • the client device 200 is shifted to the standby mode or the hibernation mode.
  • FIG. 9 is a flowchart showing an online return process (online return process) by the online return unit 220 according to the present embodiment.
  • a program having the functions of each unit of the online return unit 220 is stored in the external storage device of the client device 200, and is read into the main storage device by the processing device and executed.
  • the user returns to the development base that can be connected to the network after performing local adjustment work on site.
  • the client apparatus 200 inputs an online return request for returning communication with the cloud-side system 100 from the user, and an online return process is executed based on the input online return request.
  • the client device 200 is connected to the network by the user.
  • the client device 200 returns from the standby mode or the hibernation mode by the user.
  • the development environment client unit 250 is activated by the user.
  • the user inputs login information to the client device 200 and activates the development environment client unit 250.
  • the development environment client unit 250 is activated in the online mode.
  • the development environment client unit 250 displays the environment client initial screen 251 on the display device.
  • step S ⁇ b> 306 the connection monitoring unit 221 of the online return unit 220 determines whether or not the client terminal is online with the cloud side system 100 using the processing device. If the connection monitoring unit 221 determines online (YES in S305), the process proceeds to S306. If the connection monitoring unit 221 determines that it is offline (NO in S305), the process of S305 is repeated until it is online. Here, a timeout may be set for the process of the connection monitoring unit 221.
  • the project data update unit 222 compares the project data 231 stored in the local virtual file system unit 230 with the project data stored in the project data repository 122 of the cloud side system 100.
  • the project data update unit 222 compares the time stamp, size, and contents of both project data with the processing device.
  • the process proceeds to S309. If the project data update unit 222 determines that there is a difference (S306 has a difference), the process proceeds to S307.
  • the project data update unit 222 determines that there is a difference between the two project data
  • the project data update unit 222 displays a list of the differences on the display device as a project list screen 280 having a difference.
  • FIG. 10 is a diagram showing an example of a project list screen 280 having a difference according to the present embodiment.
  • a check box 281, a project ID 282, a program ID 283, a detail button 284, and an OK button are displayed.
  • the user selects the program ID 283 of the project data whose difference is to be referred to by checking the check box 281.
  • the details of the difference are displayed by clicking the detail button 284 of the program ID 283 of each project data.
  • the project data update unit 222 converts the project data stored in the project data repository 122 of the cloud side system 100 into the virtual file system.
  • the project data 231 stored in the unit 230 is updated. That is, the project data repository 122 of the cloud side system 100 and the project data 231 stored in the virtual file system unit 230 are synchronized.
  • step S309 the online return unit 220 calls the work area management unit 211 to delete the virtual file system unit 230 created in the primary storage device 240.
  • the work area management unit 211 deletes the virtual file system unit 230, whereby the project data 231 and the development environment 232 are deleted and leakage can be prevented.
  • the online return process (online return process) by the online return part 220 is completed. Thereafter, since the development environment client unit 250 has shifted to the online mode, it is possible to develop project data while communicating with the cloud-side system 100.
  • the “network type FA engineering environment” operating on the cloud can be used not only in an online state but also in an offline state where the network is not established or the network cannot be used.
  • the scope of application of “network type FA engineering environment” is expanded.
  • the project data is installed in the apparatus 300 at the site (factory). According to the present embodiment, it is possible to return from offline to online, perform project data synchronization processing, and realize that there is no difference between data on the apparatus and data on the cloud.
  • FIG. 11 is a diagram showing a block configuration of the environment providing system 501 according to the present embodiment.
  • FIG. 11 is a diagram corresponding to FIG. 2 described in the first embodiment. Components having the same functions as those in FIG. 2 are denoted by the same reference numerals, and the description thereof may be omitted. .
  • An environment providing system 501 illustrated in FIG. 11 includes an operation history repository 124 in the cloud side system 100 in addition to the block configuration of the environment providing system 500 illustrated in FIG. 2 described in the first embodiment.
  • the development environment client unit 250 includes an operation history output unit 2511.
  • the online return unit 220 includes a change information notification unit 223.
  • the work area management unit 211 secures a work area for storing an offline operation history 233, which is an offline operation history.
  • the user uses the development environment client unit 250 (network type FA engineering environment client) installed in the client device 200 to use the development environment and project data of the cloud side system 100 online.
  • the operation history output unit 2511 of the development environment client unit 250 outputs the online operation history to the operation history repository 124 of the cloud system 100.
  • the operation history repository 124 is an example of an operation history storage unit that stores online operations executed from the client device 200 when online with respect to project data stored in the project data repository 122 as an online operation history.
  • the operation history output unit 2511 is executed by the development environment client unit 250 (development support unit) while executing the development process of the project data 231 stored in the virtual file system unit 230 of the primary storage device 240 (storage device).
  • the offline operation is stored in the primary storage device 240 as the offline operation history 233.
  • the operation history output unit 2511 is an example of an operation history storage unit.
  • the change information notification unit 223 adds the offline operation history 233 stored in the primary storage device 240 by the operation history output unit 2511 to the online operation history stored in the operation history repository 124.
  • the change information notification unit 223 is an example of a history addition unit.
  • FIG. 12 is a flowchart showing an offline migration process (offline migration process) by the offline migration unit 210 of the client device 200 according to the present embodiment.
  • FIG. 12 is a diagram corresponding to FIG. 4 described in the first embodiment. 12 differs from FIG. 4 in that S402 and S407 are added.
  • S401 when the user selects the offline migration 2521 from the menu display unit 252 of the environment client initial screen 251 (see FIG. 5), the development environment client unit 250 accepts the selection of the offline migration 2521 as an offline migration request.
  • the process of S401 is the same as the process of S101 of FIG.
  • the operation history output unit 2511 of the development environment client unit 250 outputs an offline migration start to the operation history repository 124 of the cloud side system 100.
  • the processing of S403 to S406 is the same as the processing of S102 to S105 in FIG. That is, in S 406, the development environment copying unit 214 downloads the development environment selected by the user from the development environment selection screen 270 from the development environment repository 121 and temporarily stores it as the development environment 232 in the virtual file system unit 230. Further, the project data duplicating unit 213 downloads the project data selected by the user from the project data list from the project data repository 122 and temporarily stores it as project data 231 in the virtual file system unit 230.
  • the operation history output unit 2511 of the development environment client unit 250 outputs the completion of offline migration to the operation history repository 124 of the cloud side system 100.
  • FIG. 13 is an example of the operation history repository 124 according to the present embodiment.
  • the operation history repository 124 includes items of date and time, user ID, project ID, program ID, device ID, and operation type. As the operation history, the online transition start output by the operation history output unit 2511 in S402 and the online transition completion output by the operation history output unit 2511 in S407 are recorded.
  • the processing after the offline migration processing is completed is the same as the processing described in the first embodiment. That is, the user ends the development environment client unit 250. Then, the user shifts the client device 200 to the standby mode or the hibernation mode. Thereafter, the user moves the client terminal to the site and executes the site adjustment work in an offline state.
  • FIG. 14 is a flowchart showing a development support process (development support process) when offline by the development environment client unit 250 according to the present embodiment.
  • FIG. 14 is a diagram corresponding to FIG. 8 described in the first embodiment. 14 is different from FIG. 8 in that S507 and S510 are added.
  • S501 to S506 are the same as the processing of S201 to S206 in FIG. The outline of the processing of S501 to S506 will be described below.
  • the client device 200 returns from the standby mode or the hibernation mode by an operation by the user.
  • the client device 200 is connected to the device 300 by a user.
  • the development environment 232 of the virtual file system unit 230 is activated by the user. Since the development environment client unit 250 has shifted to the offline mode, it connects to the local virtual file system unit 230. Then, the user uses the development environment client unit 250 to open the project data 231 of the virtual file system unit 230 and install the object module of the project data 231 in the apparatus 300.
  • the operation history output unit 2511 outputs module installation to the virtual file system unit 230 offline operation history 233.
  • S508 to S509 are the same processes as S207 to S208 in FIG. That is, in S508, the operation of the apparatus 300 in which the object module is installed is verified by the user. If the apparatus 300 operates correctly (successful in S508), the development environment client unit 250 is terminated. If the apparatus 300 does not operate correctly (failed in S508), the process proceeds to S509.
  • the development environment client unit 250 supports the execution of the development process of the project data 231 using the development environment 232 based on the development operation from the user. Specifically, the development environment client unit 250 executes source code editing processing, translation processing, and debugging processing on the project data 231 based on a development operation from the user.
  • the operation history output unit 2511 outputs the history of each operation executed in S509 to the virtual file system unit 230 offline operation history 233.
  • the operation history output unit 2511 outputs operations such as opening, closing, editing, translation, debugging, etc. to the virtual file system unit 230 offline operation history 233. Then, returning to S506, the apparatus 300 is installed with the object module for which development has been performed. This operation is repeated until the apparatus 300 operates correctly.
  • FIG. 15 is a diagram showing an example of the offline operation history 233 of the virtual file system unit 230 according to this embodiment.
  • the configuration of the offline operation history 233 is the same as the configuration of the operation history repository 124 of FIG.
  • the offline operation history 233 records a history of operations performed on the project data 231 of the virtual file system unit 230 when offline.
  • the subsequent processing is the same as that described in the first embodiment. That is, when it is confirmed by the user that there is no problem in the operation of the apparatus 300, the development environment client unit 250 is terminated. The device 300 is disconnected from the client device 200 by the user. Then, the client device 200 is shifted to the standby mode or the hibernation mode.
  • FIG. 16 is a flowchart showing an online return process (online return process) by the online return unit 220 according to the present embodiment.
  • FIG. 16 is a diagram corresponding to FIG. 9 described in the first embodiment.
  • FIG. 16 differs from FIG. 9 in that S604a, S609 to S610, and S612 are added.
  • the processing of S601 to S604 is the same as the processing of S301 to S304 of FIG. 9 described in the first embodiment, and thus description thereof is omitted.
  • the operation history output unit 2511 of the development environment client unit 250 outputs an online return start to the operation history repository 124 of the cloud side system 100.
  • the processing of S605 to S608 is the same as the processing of S305 to S308 of FIG. 9 described in the first embodiment, and thus description thereof is omitted.
  • the change information notification unit 223 adds the offline operation history 233 stored in the virtual file system unit 230 to the operation history repository 124 of the cloud side system 100.
  • the change information notification unit 223 merges (copies) the offline operation history 233 into the operation history repository 124.
  • the operation history output unit 2511 outputs the completion of project data synchronization to the operation history repository 124 of the cloud system 100.
  • the process of S611 is the same as the process of S309. That is, when the synchronization is completed, the work area management unit 211 is called and the virtual file system unit is deleted. As described above, when the synchronization is completed, the work area management unit 211 deletes the virtual file system unit 230, whereby the project data 231 and the development environment 232 are deleted and leakage can be prevented.
  • step S ⁇ b> 612 the operation history output unit 2511 of the development environment client unit 250 outputs online return completion to the operation history repository 124 of the cloud system 100.
  • description of the online return process (online return process) by the online return part 220 is completed.
  • FIG. 17 is an example of the operation history repository 124 after online return according to the present embodiment.
  • the operation history in the range A is an operation history stored at the time of offline migration processing.
  • the operation history in the range B is an operation history stored in the offline operation history 233 of the virtual file system unit 230 when offline, and is added during the online return process.
  • the operation history in the A range is an operation history stored at the time of online return processing.
  • the user can know the state of the project data by referring to the operation history repository 124 of the cloud side system 100 from the development environment client unit 250. That is, since the operation history repository 124 can determine whether or not an operation has been performed on the project data, it can be determined whether or not there is a difference between the project data of the apparatus 300 and the data of the project repository 122 of the cloud side system 100. be able to. This makes it possible to maintain the consistency of project data and use it more safely.
  • both the project data repository program on the cloud and the program on the factory device are made visible from the cloud, It becomes possible to maintain consistency.
  • FIG. 18 is a diagram showing a block configuration of the environment providing system 502 according to the present embodiment. 18 is a diagram corresponding to FIG. 11 described in the second embodiment, and components having the same functions as those in FIG. 11 are denoted by the same reference numerals, and the description thereof may be omitted. .
  • An environment providing system 502 illustrated in FIG. 18 includes a secondary storage device 290 in the client device 200 in addition to the block configuration of the environment providing system 501 illustrated in FIG. 11 described in the second embodiment.
  • the primary storage device 240 is a volatile memory such as a RAM, for example.
  • the secondary storage device 290 is a non-volatile memory such as a hard disk, for example.
  • the operation history output unit 2511 outputs the online operation history to the operation history repository 124 of the cloud system 100 when online.
  • the operation history output unit 2511 accumulates offline operations as the offline operation history 233 in the primary storage device 240.
  • the operation history output unit 2511 further has a function of storing only specific change information in the offline operation history as change information 291 in the secondary storage device 290.
  • the specific change information is, for example, information for writing (installing) in the apparatus 300. Therefore, the information written to the device 300 in the offline operation history is stored as change information 291 not only in the primary storage device 240 but also in the secondary storage device 290 with respect to the operation history output unit 2511.
  • the offline operation history 233 does not exist in the virtual file system unit 230 with respect to the change information notification unit 223, the change information 291 in the secondary storage device 290 is transmitted to the cloud side system 100.
  • the operation history repository 124 is reflected.
  • FIG. 19 is a flowchart showing a development support process (development support process) performed offline by the development environment client unit 250 according to the present embodiment.
  • steps S701 to S707 are the same as the processing of steps S501 to S507 in FIG.
  • the operation history output unit 2511 determines whether the information stored as the offline operation history 233 is a write to the device 300 by the processing device. In the case of writing to the apparatus 300 (YES in S708), the process proceeds to S710. If it is not writing to the apparatus 300 (NO in S708), the process proceeds to S711.
  • the operation history output unit 2511 stores the information of writing to the device 300 in both the primary storage device 240 and the secondary storage device 290.
  • the operation history output unit 2511 stores information on writing to the device 300 as the offline operation history 233 in the primary storage device 240 and as change information 291 in the secondary storage device 290.
  • FIG. 20 is an example of the change information 291 according to the present embodiment.
  • the configuration of the change information 291 is the same as the configuration of the offline operation history 233 and the like. As shown in FIG. 20, the change information 291 stores only information on an operation for installation on the apparatus 300.
  • the operation history output unit 2511 outputs the history of each operation executed in S509 to the virtual file system unit 230 offline operation history 233.
  • the operation history output unit 2511 determines whether the information stored as the offline operation history 233 is a write to the device 300 by the processing device. In the case of writing to the apparatus 300 (YES in S714), the process proceeds to S715. If not writing to the apparatus 300 (NO in S714), the process returns to S706, and the process is repeated until the apparatus operates correctly in S711.
  • the operation history output unit 2511 stores the information for writing to the device 300 in both the primary storage device 240 and the secondary storage device 290, returns to S706, and processes until the device operates correctly in S711. repeat.
  • the operation history output unit 2511 stores information on writing to the device 300 as the offline operation history 233 in the primary storage device 240 and as change information 291 in the secondary storage device 290.
  • the subsequent processing is the same as that described in the first and second embodiments. That is, when it is confirmed by the user that there is no problem in the operation of the apparatus 300, the development environment client unit 250 is terminated. The device 300 is disconnected from the client device 200 by the user. Then, the client device 200 is shifted to the standby mode or the hibernation mode.
  • FIG. 21 is a flowchart showing an online return process (online return process) by the online return unit 220 according to the present embodiment.
  • FIG. 22 is a flowchart showing online return processing (online return process) by the online return unit 220 according to the present embodiment, which is a continuation of FIG.
  • S801 to S805 are the same as the processing of S601 to S605 of FIG.
  • step S805a the project data update unit 222 checks whether the project data 231 of the local virtual file system unit 230 and the offline operation history 233 exist. When the project data update unit 222 confirms the presence of the project data 231 and the offline operation history 233 (exist in S805a), the process proceeds to S806. If the project data update unit 222 confirms that the project data 231 and the offline operation history 233 do not exist (does not exist in S805a), the process proceeds to S805b.
  • S806 to S810 are the same as the processing of S606 to S610 of FIG.
  • the fact that the project data update unit 222 does not have the project data 231 and the offline operation history 233 means that, for example, a problem such as power-off has occurred. If a problem such as power off occurs, the contents of the primary storage device 240, which is a volatile memory, may be erased. However, since the secondary storage device 290 is a nonvolatile storage device, information remains.
  • the change information notification unit 223 reflects the change information 291 of the secondary storage device 290 in the operation history repository 124 of the cloud-side system 100, and proceeds to S805c.
  • step S ⁇ b> 805 c the change information notification unit 223 outputs that the project data cannot be synchronized to the operation history repository 124 of the cloud-side system 100, and proceeds to step S ⁇ b> 811.
  • S811 is the same as the process of S611 in FIG. 16 and S812 is the same as the process of S612 in FIG. 16, the description thereof is omitted.
  • the development environment client unit 250 deletes the change information 291 in the secondary storage device 290.
  • FIG. 23 is a diagram showing a configuration of the development environment correspondence table 125 according to the present embodiment.
  • the same reference numerals are assigned to components having the same functions as those in the first to third embodiments, and the description thereof may be omitted.
  • the development environment downloaded from the cloud-side system 100 is selected by the user during offline migration processing.
  • the development environment duplication unit 214 acquires the development environment selected by the user from the development environment selection screen 270 from the development environment repository 121.
  • the cloud-side storage device 120 further includes a development environment correspondence table 125.
  • a program ID for identifying project data a project ID for identifying a project, and a development environment ID for identifying a development environment are associated with each other.
  • the development environment ID include an editor ID, a compiler ID, a debugger ID, and a profiler ID.
  • the development environment ID that identifies the development environment is, for example, version information of the development tool.
  • the development environment correspondence table 125 it is assumed that the development environment ID is updated by the user when the user executes the development of the project data when online and writes the project data to the project data repository 122.
  • the project data replication unit 213 acquires the program ID of the project data selected from the project data selection screen 260, and searches the development environment correspondence table 125 based on the acquired program ID.
  • the project data replication unit 213 acquires a development environment ID corresponding to the acquired program ID.
  • the project data replication unit 213 outputs the acquired development environment ID to the development environment replication unit 214.
  • the development environment replication unit 214 downloads a development environment corresponding to the development environment ID input from the project data replication unit 213 from the development environment repository 121.
  • the development environment replication unit 214 records the downloaded development environment in the virtual file system unit 230.
  • a system in which the development environment is automatically downloaded to the virtual file system unit 230 is realized simply by selecting the project data from the project data selection screen 260 when the user is offline. be able to. As a result, a more convenient environment providing system can be realized.
  • the block configurations of the cloud side system 100 and the client device 200 of the environment providing systems 500, 501, and 502 described in the first to third embodiments are not limited to the configurations of the above embodiments.
  • the environment providing systems 500, 501, and 502 may be configured by any combination of these functional blocks. That is, it is possible for those skilled in the art to make modifications and substitutions of the above embodiments without departing from the scope of the present invention.
  • a mechanism such as an offline transfer unit and an online return unit is provided on the client terminal side
  • the present invention can be similarly realized even if a part of them is provided on the server side.
  • the present invention has been disclosed in the form of exemplification, and the configuration is not limited to these embodiments, and various modifications can be made as necessary.
  • 100 cloud side system 110 server, 120 cloud side storage device, 121 development environment repository, 122 project data repository, 123 user repository, 124 operation history repository, 125 development environment correspondence table, 200 client device, 210 offline migration unit, 211 Work area management unit, 212 Related extraction unit, 213 Project data replication unit, 214 Development environment replication unit, 220 Online return unit, 221 Connection monitoring unit, 222 Project data update unit, 223 Change information notification unit, 230 Virtual file system unit, 231 Project data, 232 Development environment, 233 Offline operation history, 240 Primary storage device, 250 Development environment client part, 251 Environment client Initial screen, 252 menu display section, 253 project tree display section, 254 ladder editor section, 260 project data selection screen, 261 check box, 262 project ID, 263 program ID, 264 last update date, 270 development environment selection screen, 271 check Box, 272 Editor, 273 Version selection, 280 Project list with difference, 281 Check box, 282 Project ID, 283 Program ID, 284 Details button, 285 OK button, 290 Secondary storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

 クラウド側システム(100)はプロジェクトデータリポジトリ(122)と開発環境リポジトリ(121)とを備え、クライアント端末(200)は、一次記憶装置(240)と、クラウド側システム(100)との通信をオフラインに移行させるオフライン移行要求を入力する開発環境クライアント部(250)と、オフライン移行要求を入力した場合、プロジェクトデータと開発環境とをクラウド側システム(100)から取得し、一次記憶装置(240)の仮想ファイルシステム部(230)に格納するプロジェクトデータ複製部(213)及び開発環境複製部(214)とを備え、開発環境クライアント部(250)は、クラウド側システム(100)との通信がオフラインの状態で、利用者から開発のための操作を入力し、仮想ファイルシステム部(230)に格納された開発環境を用いて、仮想ファイルシステム部(230)に格納されたプロジェクトデータの開発処理を実行する。

Description

開発システム及び端末装置及び開発方法及びプログラム
 本発明は、ネットワーク型FA(工場自動化:Factory・Automation)エンジニアリング環境において稼働するFA環境システムに関するものである。特に、オフライン状態でも使用することができるFA環境システムに関する。
 従来、FAエンジニアリング環境は、クライアントアプリケーションとして提供され、プログラマ各人のPC(personal・computer)にインストールされ使用されてきた。
 大規模開発では、複数人のプログラマが共同して作業するのが一般的である。しかし、各人のPCの環境が完全に一致することはまれであり、各人のPCの環境の不一致に起因する障害が発生することがある。また、開発成果物であるソースコード、オブジェクトモジュールは各人のPCに存在することから、漏洩問題も発生していた。
 一方、近年、サーバ側で提供される各種サービスを、クライアントからネットワークを経由して利用する形態であるクラウドコンピューティングが台頭してきている。
 特許文献1には、開発作業を開発者のPC上で行わずにサーバ上で行う技術が記載されている。
 特許文献1での開発作業内容は、サーバ上のリポジトリに格納されているソフトウェアコンポーネントをクライアントから組み合わせて行うもので、作業内容がかなり限定されている。更に、オンライン状態での使用が前提になっており、オフライン状態での使用はできない。
特開2002-278759号公報
 近年、従来はクライアントPC上で動作していたFAエンジニアリング環境を、クライアント部とサーバ部とに分割し、双方がネットワークを介して動作するネットワーク型FAエンジニアリング環境が開発されている。クライアント部は、FAエンジニアリング環境のうちユーザインタフェースの機能を司る構成部であり、サーバ部は、編集、翻訳、デバッグなどFAエンジニアリング機能を司る構成部である。
 このようなネットワーク型FAエンジニアリング環境では、開発拠点で作成した装置用のプログラムを、装置が実際に使用されている工場の生産ラインにまで出向いて装置にインストールする必要がある。また、プログラムがインストールされた装置の稼動状況を見ながら調整作業を実施する必要がある。
 従来のFAエンジニアリング環境では、クライアントPCにクライアントアプリケーションとして提供されているエンジニアリング環境ならびにプロジェクトデータが存在していた。このため、クライアントPCを現地に携行することで作業を実施することが出来た。しかし、この場合、クライアントPCを持ち運ぶことによるセキュリティのリスクが常に存在していた。
 一方、ネットワーク型FAエンジニアリング環境では、クライアントは、サービスを提供するクラウド上のサーバとネットワークで通信できなければ、使用することができない。一般に、工場では、クラウド環境に接続可能なネットワーク環境が整備されていないケース、整備されていても利用できないケースがある。
 したがって、ネットワーク型FAエンジニアリング環境では、現地調整作業などの場合に使用が制限される虞があるという課題がある。
 本発明の目的は、クラウド上で動作するネットワーク型FAエンジニアリング環境の利用範囲を広げることにある。ネットワーク環境が利用できないオフライン状態であっても、安全、確実にネットワーク型FAエンジニアリング環境を使用することができる情報処理装置を提供することにある。
 また、本発明の目的は、近年の複数人による大規模開発にも対応可能なように、装置上のインストールされたプログラムと、クラウド上のプロジェクトデータリポジトリに格納されているプログラムとの一貫性を保つことを可能にする情報処理装置を提供することにある。
 本発明のさらなる目的は、オフライン状態の時、クライアントの電源オフなどのトラブルが発生した場合も、上記の一貫性を保つことを可能にする情報処理装置を提供することにある。
 本発明に係る開発システムは、プログラムの開発に用いる開発環境を備えるサーバ装置と、前記サーバ装置とネットワークを介して通信する端末装置とを備える開発システムにおいて、前記サーバ装置は、開発する開発プログラムを記憶するプログラム記憶部と、前記開発環境を記憶する開発環境記憶部とを備え、前記端末装置は、記憶機器と、前記サーバ装置との通信をオフラインに移行させるオフライン移行要求を入力する入力部と、前記入力部が前記オフライン移行要求を入力した場合、前記プログラム記憶部から前記開発プログラムを取得するとともに、前記開発環境記憶部から前記開発環境を取得し、取得した前記開発プログラムと前記開発環境とを前記記憶機器に格納する格納部と、前記サーバ装置との通信がオフラインの状態で、利用者から開発のための操作を入力し、入力した前記開発のための操作に基づいて、前記記憶機器に格納された前記開発環境を用いて、前記記憶機器に格納された前記開発プログラムの開発処理を処理装置により実行する開発支援部とを備えることを特徴とする。
 本発明に係る通信システムによれば、前記端末装置が、前記オフライン移行要求を入力した場合、前記プログラム記憶部から前記開発プログラムを取得するとともに、前記開発環境記憶部から前記開発環境を取得し、取得した前記開発プログラムと前記開発環境とを前記記憶機器に格納する格納部と、前記サーバ装置との通信がオフラインの状態で、利用者から開発のための操作を入力し、入力した前記開発のための操作に基づいて、前記記憶機器に格納された前記開発環境を用いて、前記記憶機器に格納された前記開発プログラムの開発処理を実行する開発支援部とを備えるので、サーバ装置で動作する開発環境を、オンライン状態だけではなく、オフライン状態でも安全かつ確実に使用することができる。
実施の形態1に係る環境提供システム500の概要を説明するための図である。 実施の形態1に係る環境提供システム500のブロック構成を示す図である。 実施の形態1に係るサーバ110、クライアント装置200のハードウェア構成の一例を示す図である。 実施の形態1に係るクライアント装置200のオフライン移行部210によるオフライン移行処理(オフライン移行工程)を示すフローチャートである。 開発環境クライアント部250によりクライアント装置200の表示装置に表示される環境クライアント初期画面251の一例を示す図である。 実施の形態1に係るプロジェクトデータ選択画面260の一例を示す図である。 実施の形態1に係る開発環境選択画面270の一例を示す図である。 実施の形態1に係る開発環境クライアント部250によるオフライン時の開発支援処理(開発支援工程)を示すフローチャートである。 実施の形態1に係るオンライン復帰部220によるオンライン復帰処理(オンライン復帰工程)を示すフローチャートである。 実施の形態1に係る差異があるプロジェクト一覧画面280の一例を示す図である。 実施の形態2に係る環境提供システム501のブロック構成を示す図である。 実施の形態2に係るクライアント装置200のオフライン移行部210によるオフライン移行処理(オフライン移行工程)を示すフローチャートである。 実施の形態2に係る操作履歴リポジトリ124の一例である。 実施の形態2に係る開発環境クライアント部250によるオフライン時の開発支援処理(開発支援工程)を示すフローチャートである。 実施の形態2に係る仮想ファイルシステム部230オフライン時操作履歴233の一例を示す図である。 実施の形態2に係るオンライン復帰部220によるオンライン復帰処理(オンライン復帰工程)を示すフローチャートである。 実施の形態2に係るオンライン復帰後の操作履歴リポジトリ124の一例である。 実施の形態3に係る環境提供システム502のブロック構成を示す図である。 実施の形態3に係る開発環境クライアント部250によるオフライン時の開発支援処理(開発支援工程)を示すフローチャートである。 実施の形態3に係る変更情報261の一例である。 実施の形態3に係るオンライン復帰部220によるオンライン復帰処理(オンライン復帰工程)を示すフローチャートである。 実施の形態3に係るオンライン復帰部220によるオンライン復帰処理(オンライン復帰工程)を示すフローチャートであり、図21の続きのフローである。 実施の形態4に係る開発環境対応テーブル125の構成を示す図である。
 実施の形態1.
 図1は、本実施の形態に係る環境提供システム500の概要を説明するための図である。図1を用いて、環境提供システム500(開発システム)の概要について説明する。
 環境提供システム500は、ネットワーク型FAエンジニアリング環境サービスを提供するシステムである。ネットワーク型FAエンジニアリング環境サービスとは、クラウドを用いたFAエンジニアリング環境サービスである。
 環境提供システム500は、クラウド側システム100と、クラウド側システム100とネットワーク400を介して接続されたクライアント装置200とを備える。
 クラウド側システム100は、プログラム開発等を行う環境であるエンジニアリング環境(以下、開発環境という)を提供するサーバ110と、プロジェクトデータ、開発環境等を記憶するクラウド側記憶機器120とを備える。
 開発環境とは、ソフトウェアの製作における利便性を高めるために用いられるプログラミング言語やコンパイラ、デバッガなどの開発ツールの総称である。
 クラウド側システム100は、サーバ110とクラウド側記憶機器120とが別装置であってもよいし、サーバ110内にクラウド側記憶機器120を有する構成でも良い。クラウド側システム100は、サーバ装置の一例である。クラウド側システム100は、単に、クラウドと呼ばれる場合もある。
 プロジェクトデータとは、ソースコード、オブジェクトモジュール、設定ファイル、設計文書などである。プロジェクトデータは、開発環境を用いて開発される開発プログラムの一例である。開発環境には、プログラム開発のための開発ツールが含まれる。開発ツールには、エディタ、コンパイラ、デバッガ、プロファイラなどが含まれる。
 開発拠点において、クライアント装置200とクラウド側システム100とは、ネットワーク400を介して接続されたオンライン状態である。このとき、クライアント装置200では、クラウド側システム100により提供される開発環境を用いて、プロジェクトデータの開発作業が行われる。
 例えば、工場に設置された装置300で稼働する装置用プログラムを開発する。
 クライアント装置200は、作業者により開発拠点から工場に移動される。工場では、クライアント装置200を用いて、装置300に装置用プログラムをインストールする作業、装置300を動作させて調整する作業等の現地調整作業が行われる。この現地調整作業は、工場においてオフライン状態で行われる。
 本実施の形態に係る環境提供システム500によれば、この現地調整作業をオフライン状態で行った場合でも、安全かつ確実に、プログラム開発が実行できる。そのために、環境提供システム500は、オフライン移行時には事前に、必要なプロジェクトデータと、必要な開発環境とをクライアント装置200にダウンロードし、オンライン復帰時には現地調整作業時に更新されたプロジェクトデータをクラウド側システム100にアップロードする。
 このようにして、クラウド上で動作するFAエンジニアリング環境(開発環境)を、工場で行われる現地調整作業などでは、オンライン状態からオフライン状態に移行して作業を行うことを可能にする。その後、オンライン状態に復帰した時の同期処理までを安全かつ確実に行う。
 図2は、本実施の形態に係る環境提供システム500のブロック構成を示す図である。図2は、ネットワーク型FAエンジニアリング環境(開発環境)をオフラインで利用する際の利用方式を備える情報処理装置(クライアント装置200)の構成を、模式的に示している。
 図2に示すように、クラウド側システム100のクラウド側記憶機器120は、開発環境リポジトリ121、プロジェクトデータリポジトリ122、利用者リポジトリ123を有する。図2では、サーバ110を省略している。
 開発環境リポジトリ121は、エディタ、コンパイラ、デバッガ、プロファイラなどの開発ツールを格納している開発環境記憶部の一例である。
 プロジェクトデータリポジトリ122は、プロジェクトに対応したプロジェクトデータを格納する。プロジェクトデータリポジトリ122に格納されているプロジェクトデータは、開発が完了したものもあれば、開発中のものもある。プロジェクトデータリポジトリ122は、プロジェクトデータ(プログラム)を記憶するプログラム記憶部の一例である。
 利用者リポジトリ123は、環境提供システム500(ネットワーク型FAエンジニアリング環境)の利用者情報を格納する。利用者情報には、ログイン情報、所属プロジェクト、権限情報等がある。
 クライアント装置200は、オフライン移行部210、オンライン復帰部220、仮想ファイルシステム部230、一次記憶装置240、開発環境クライアント部250を備える。
 クラウド側システム100とクライアント装置200とは、ネットワーク400を介して接続される。
 開発環境クライアント部250は、ネットワーク型FAエンジニアリング環境クライアントともいう。通常、利用者は、クライアント装置200にインストールされている開発環境クライアント部250を使用して、クラウド上の開発環境を用いて、クラウド上のプロジェクトデータを開発する。
 開発環境クライアント部250は、開発環境(FAエンジニアリング環境)を利用者に提供するためのGUI機能を有する。開発環境クライアント部250は、利用者とのインタフェースを司る。例えば、開発環境クライアント部250が起動されると、開発環境クライアント部250は、利用者を認証した後、環境クライアント初期画面251(図5参照)をクライアント装置200の表示画面に表示し、利用者からの各種要求を受け付ける。
 例えば、開発環境クライアント部250は、クラウド側システム100との通信をオフラインに移行させるオフライン移行要求を、利用者から入力する入力部の一例である。
 オフライン移行部210は、作業領域管理部211、関連抽出部212、プロジェクトデータ複製部213、開発環境複製部214を備える。
 開発環境クライアント部250がオフライン移行要求を入力すると、オフライン移行部210が起動される。
 関連抽出部212は、利用者のログイン情報を元に、開発環境リポジトリ121、プロジェクトデータリポジトリ122、利用者リポジトリ123を検索し、開発環境の一覧とプロジェクトデータの一覧とを表示する。
 開発環境複製部214は、開発環境の一覧から利用者により選択された開発環境を、開発環境リポジトリ121からダウンロードする。
 プロジェクトデータ複製部213は、プロジェクトデータの一覧から利用者により選択されたプロジェクトデータを、プロジェクトデータリポジトリ122からダウンロードする。
 作業領域管理部211は、一次記憶装置240上に、ダウンロードしたプロジェクトデータと開発環境とのコピー先となる仮想ファイルシステム部230(仮想ファイルシステム)を作成する。一次記憶装置240は、端末装置の記憶機器の一例である。
 開発環境複製部214は、開発環境リポジトリ121からダウンロードした開発環境を、仮想ファイルシステム部230に開発環境232として一時記憶する。
 プロジェクトデータ複製部213は、プロジェクトデータリポジトリ122からダウンロードしたプロジェクトデータを、仮想ファイルシステム部230にプロジェクトデータ231として一時記憶する。
 関連抽出部212は、プロジェクトデータリポジトリ122からプロジェクトデータを取得するとともに、開発環境リポジトリ121から開発環境を取得する格納部の一例である。また、プロジェクトデータ複製部213及び開発環境複製部214は、取得したプロジェクトデータと開発環境とを一次記憶装置240に格納する格納部の一例である。
 オンライン復帰部220は、接続監視部221、プロジェクトデータ更新部222を備える。
 開発環境クライアント部250がクラウド側システム100との通信をオンラインに復帰させるオンライン復帰要求を入力すると、オンライン復帰部220が起動される。
 接続監視部221は、クラウド側システム100との通信がオンラインであるか否かを判定する接続判定部の一例である。
 プロジェクトデータ更新部222は、接続監視部221によりクラウド側システム100との通信をオンラインであると判定された場合に、プロジェクトデータリポジトリ122に記憶されているプロジェクトデータを、仮想ファイルシステム部230に記憶されているプロジェクトデータ231に更新する。プロジェクトデータ更新部222は、更新部の一例である。
 図3は、本実施の形態に係るサーバ110、クライアント装置200のハードウェア構成の一例を示す図である。
 図3を用いて、サーバ110、クライアント装置200のハードウェア構成例について説明する。
 サーバ110、クライアント装置200はコンピュータでありサーバ110、クライアント装置200の各要素をプログラムで実現することができる。
 サーバ110、クライアント装置200のハードウェア構成としては、バスに、演算装置901、外部記憶装置902、主記憶装置903、通信装置904、入出力装置905が接続されている。
 演算装置901は、プログラムを実行するCPU(Central・Processing・Unit)である。
 外部記憶装置902は、例えばROM(Read・Only・Memory)やフラッシュメモリ、ハードディスク装置である。
 主記憶装置903は、RAM(Random・Access・Memory)である。
 通信装置904は、例えば通信ボード等であり、LAN(Local・Area・Network)等に接続されている。通信装置904は、LANに限らず、IP-VPN(Internet・Protocol・Virtual・Private・Network)、広域LAN、ATM(Asynchronous・Transfer・Mode)ネットワークといったWAN(Wide・Area・Network)、あるいは、インターネットに接続されていても構わない。LAN、WAN、インターネットは、ネットワークの一例である。
 入出力装置905は、例えばマウス、キーボード、ディスプレイ装置等である。マウスの代わりに、タッチパネル、タッチパッド、トラックボール、ペンタブレット、あるいは、その他のポインティングデバイスが用いられてもよい。ディスプレイ装置は、LCD(Liquid・Crystal・Display)、CRT(Cathode・Ray・Tube)、あるいは、その他の表示装置でもよい。
 プログラムは、通常は外部記憶装置902に記憶されており、主記憶装置903にロードされた状態で、順次演算装置901に読み込まれ、実行される。
 プログラムは、ブロック構成図に示す「~部」として説明している機能を実現するプログラムである。
 更に、外部記憶装置902にはオペレーティングシステム(OS)も記憶されており、OSの少なくとも一部が主記憶装置903にロードされ、演算装置901はOSを実行しながら、ブロック構成図に示す「~部」の機能を実現するプログラムを実行する。
 また、アプリケーションプログラムも外部記憶装置902に記憶されており、主記憶装置903にロードされた状態で、順次演算装置901により実行される。
 また、「~テーブル」等の情報も外部記憶装置902に記憶されている。
 また、「~の判断」、「~の判定」、「~の抽出」、「~の検知」、「~の設定」、「~の登録」、「~の選択」、「~の生成」、「~の入力」、「~の出力」等の処理の結果を示す情報やデータや信号値や変数値が主記憶装置903にファイルとして記憶されている。
 また、サーバ110、クライアント装置200が受信したデータが主記憶装置903に記憶される。
 また、暗号鍵・復号鍵や乱数値やパラメータが、主記憶装置903にファイルとして記憶されてもよい。
 なお、図3の構成は、あくまでもサーバ110、クライアント装置200のハードウェア構成の一例を示すものであり、サーバ110、クライアント装置200のハードウェア構成は図3に記載の構成に限らず、他の構成であってもよい。
 図4は、本実施の形態に係るクライアント装置200のオフライン移行部210によるオフライン移行処理(オフライン移行工程)を示すフローチャートである。
 オフライン移行部210の各部の機能を有するプログラムは、クライアント装置200の外部記憶装置に記憶され、処理装置により主記憶装置に読み込まれ、実行される。
 オフライン移行処理は、現地調整作業等を行うためのオフライン状態への移行時に実行される、オフライン移行部210による処理である。
 図5は、開発環境クライアント部250によりクライアント装置200の表示装置に表示される環境クライアント初期画面251の一例を示す図である。
 図5に示すように、環境クライアント初期画面251は、メニュー表示部252、プロジェクトツリー表示部253、ラダーエディター部254を有する。
 メニュー表示部252は、各種メニューが表示される。利用者がオフライン移行処理をする場合には、オフライン移行2521をクリック、タッチ、あるいは押下する。また、利用者がオンライン復帰処理をする場合には、オンライン復帰2522をクリック、タッチ、あるいは押下する。
 プロジェクトツリー表示部253は、現在、環境提供システム500に登録されているプロジェクトのプロジェクトツリーが表示される。
 ラダーエディター部254は、ラダー図を編集するためのエディタが表示される。
 <入力処理(入力工程):S101>
 S101において、利用者がクライアント装置200にログイン情報を入力し、ネットワーク型FAエンジニアリング環境クライアント(以下、開発環境クライアント部250という)を起動する。クライアント装置200がオンラインの状態において、開発環境クライアント部250は、表示装置に環境クライアント初期画面251を表示する。利用者がメニュー表示部252からオフライン移行2521を選択すると、開発環境クライアント部250は、オフライン移行2521の選択をオフライン移行要求として受け付ける。
 利用者がオフライン移行要求を入力する場合とは、その後にクライアント端末を現地などに移動させ、オフライン状態で現地調整作業を実行する場合である。
 <格納処理(格納工程):S102~S105>
 S102において、関連抽出部212は、処理装置により、利用者のログイン情報に基づいて、開発環境リポジトリ121、プロジェクトデータリポジトリ122、利用者リポジトリ123を検索する。
 例えば、利用者リポジトリ123には、利用者と、利用者が所属するプロジェクトを識別するプロジェクトIDとが対応付けられている。関連抽出部212は、利用者のログイン情報を元に、利用者リポジトリ123を検索し、ログインした利用者が所属するプロジェクトのプロジェクトIDを抽出する。関連抽出部212は、抽出したプロジェクトIDに基づいて、プロジェクトデータリポジトリ122を検索し、抽出したプロジェクトIDに対応するプロジェクトデータの一覧を表示装置に表示する。
 図6は、本実施の形態に係るプロジェクトデータ選択画面260の一例を示す図である。プロジェクトデータ選択画面260は、プロジェクトデータ毎に、チェックボックス261、プロジェクトID262、プロジェクトデータを識別するプログラムID263、最終更新日時264が表示される。プロジェクトデータには、複数のプログラムが含まれるので、その複数のプログラムをそれぞれ識別するのがプログラムIDである。
 利用者は、チェックボックス261にチェックすることにより、必要なプロジェクトデータを選択する。
 図7は、本実施の形態に係る開発環境選択画面270の一例を示す図である。
 例えば、利用者リポジトリ123には、利用者と、利用者が所属するプロジェクトを識別するプロジェクトIDと、利用者が所属するプロジェクトにおいて利用される開発環境とが対応付けられている。関連抽出部212は、利用者のログイン情報に基づいて、利用者リポジトリ123を検索し、ログインした利用者が所属するプロジェクトにおいて利用される開発環境を抽出する。関連抽出部212は、抽出した開発環境の一覧を開発環境選択画面270に表示する。
 開発環境選択画面270は、チェックボックス271、開発環境項目272、バージョン選択273が表示される。
 開発環境項目272には、例えば、エディタ、コンパイラ、デバッガ、プロファイラなどの開発環境の種別が表示される。
 バージョン選択273には、バージョンがプルダウン方式で選択できるように表示される。
 利用者は、チェックボックス271にチェックすることにより、必要な開発環境を選択する。また、利用者は、選択した開発環境のバージョンをバージョン選択273を用いて指定する。
 S103において、利用者により、必要なプロジェクトデータ及び開発環境が選択された状態で、OKボタンがクリックされる。
 S104において、作業領域管理部211は、一次記憶装置240に、プロジェクトデータ及び開発環境コピー先となる仮想ファイルシステム部230を作成する。
 仮想ファイルシステム部230の作成が失敗した場合(S104で失敗)、オフライン移行処理を終了する。
 “仮想ファイルシステム”の作成が成功した場合((S104で成功)、S105に進む。
 S105において、開発環境複製部214は、開発環境の一覧から利用者により選択された開発環境を、開発環境リポジトリ121からダウンロードし、仮想ファイルシステム部230に開発環境232として一時記憶する。また、プロジェクトデータ複製部213は、プロジェクトデータの一覧から利用者により選択されたプロジェクトデータを、プロジェクトデータリポジトリ122からダウンロードし、仮想ファイルシステム部230にプロジェクトデータ231として一時記憶する。
 以上で、オフライン移行要求を入力した場合の、オフライン移行処理についての説明を終わる。
 オフライン移行処理が完了すると、利用者は、開発環境クライアント部250を終了させる。そして、利用者は、クライアント装置200をスタンバイモードあるいは休止モードに移行させる。その後、利用者は、クライアント端末を現地などに移動させ、オフライン状態で現地調整作業を実行することになる。
 図8は、本実施の形態に係る開発環境クライアント部250によるオフライン時の開発支援処理(開発支援工程)を示すフローチャートである。
 開発環境クライアント部250の機能を有するプログラムは、クライアント装置200の外部記憶装置に記憶され、処理装置により主記憶装置に読み込まれ、実行される。
 S201において、クライアント装置200は、現地(工場)で、利用者により、スタンバイモードあるいは休止モードから復帰する。
 S202において、クライアント装置200は、装置300に接続される。装置300への接続は、S202でなくてもよく、プロジェクトデータを装置300にインストールする前であればよい。
 S203において、利用者により環境提供システム500が起動されることにより、開発環境クライアント部250が起動される。このとき、開発環境クライアント部250は、オフラインモードで起動される(S203)。
 開発環境クライアント部250は、オンラインモードで起動されると、環境提供システム500を起動する。しかし、開発環境クライアント部250は、オフラインモードに移行しているので、ローカルの仮想ファイルシステム部230に接続する(S204)。
 S205~S206において、開発環境クライアント部250は、利用者からプロジェクトデータの開発のための操作(以下、開発操作という)を入力する。開発環境クライアント部250は、入力した開発のための操作に基づいて、仮想ファイルシステム部230に格納された開発環境232を用いて、仮想ファイルシステム部230に格納されたプロジェクトデータ231の開発処理を実行する。開発環境クライアント部250は、開発支援部の一例である。
 S205において、開発環境クライアント部250は、開発操作に基づいて、仮想ファイルシステム部230上のプロジェクトデータ231をオープンする。
 S206において、開発環境クライアント部250は、開発操作に基づいて、プロジェクトデータ231に格納されているオブジェクトモジュールを、装置300に対してインストールする。
 S207において、利用者により、オブジェクトモジュールをインストールした装置300の稼動の検証が行われる。装置300が正しく動作する場合(S207で成功)、開発環境クライアント部250の開発支援処理を終了する。装置300が正しく動作しない場合(S207で失敗)、S208に進む。
 S208において、開発環境クライアント部250は、利用者からの開発操作に基づいて、開発環境232を用いてプロジェクトデータ231の開発処理の実行を支援する。具体的には、開発環境クライアント部250は、利用者からの開発操作に基づいて、プロジェクトデータ231に対して、ソースコードの編集処理、翻訳処理、デバッグ処理を実行する。そして、S206に戻り、装置300にオブジェクトモジュールをインストールする。装置300が正しく動作するまでこの作業を繰り返す。
 以上で、開発環境クライアント部250による開発支援処理の説明を終わる。
 利用者により、装置300の稼働に問題がないことが確認されると、開発環境クライアント部250が終了される。利用者により、クライアント装置200から装置300が切り離される。そして、クライアント装置200は、スタンバイモードあるいは休止モードに移行される。
 図9は、本実施の形態に係るオンライン復帰部220によるオンライン復帰処理(オンライン復帰工程)を示すフローチャートである。
 オンライン復帰部220の各部の機能を有するプログラムは、クライアント装置200の外部記憶装置に記憶され、処理装置により主記憶装置に読み込まれ、実行される。
 利用者は、現地で現地調整作業を行った後、ネットワークに接続可能な開発拠点に戻る。開発拠点では、クライアント装置200は、利用者から、クラウド側システム100との通信をオンラインに復帰させるオンライン復帰要求を入力し、入力したオンライン復帰要求に基づいてオンライン復帰処理が実行される。
 S301において、利用者により、クライアント装置200は、ネットワークに接続される。
 S302において、利用者により、クライアント装置200は、スタンバイモードあるいは休止モードから復帰する。
 S303において、利用者により開発環境クライアント部250が起動される。利用者がクライアント装置200にログイン情報を入力し、開発環境クライアント部250を起動する。このとき、開発環境クライアント部250は、オンラインモードで起動される。開発環境クライアント部250は、表示装置に環境クライアント初期画面251を表示する。
 S304において、利用者がメニュー表示部252からオンライン復帰2522を選択すると、開発環境クライアント部250は、オンライン復帰2522の選択をオンライン復帰要求として受け付ける。
 S306において、オンライン復帰部220の接続監視部221は、クライアント端末がクラウド側システム100との通信がオンラインになったか否かを処理装置により判定する。
 接続監視部221がオンラインと判定した場合(S305でYES)、S306に進む。
 接続監視部221がオフラインと判定した場合(S305でNO)、S305の処理をオンラインになるまで繰り返す。ここで、接続監視部221の処理について、タイムアウトを設定してもよい。
 S306において、プロジェクトデータ更新部222は、ローカルの仮想ファイルシステム部230に格納されているプロジェクトデータ231と、クラウド側システム100のプロジェクトデータリポジトリ122に格納されているプロジェクトデータとを比較する。プロジェクトデータ更新部222は、両プロジェクトデータのそれぞれの、タイムスタンプ、サイズ、内容を処理装置により比較する。
 プロジェクトデータ更新部222が差異なしと判定した場合(S306で差異なし)、S309に進む。
 プロジェクトデータ更新部222が差異ありと判定した場合(S306で差異あり)、S307に進む。
 S307において、プロジェクトデータ更新部222は、両プロジェクトデータに差異があると判定すると、その差異の一覧を差異があるプロジェクト一覧画面280として表示装置に表示する。
 図10は、本実施の形態に係る差異があるプロジェクト一覧画面280の一例を示す図である。プロジェクトデータ毎に、チェックボックス281、プロジェクトID282、プログラムID283、詳細ボタン284、OKボタンが表示される。
 利用者は、チェックボックス281にチェックすることにより、差異を参照したいプロジェクトデータのプログラムID283を選択する。差異の詳細は、各プロジェクトデータのプログラムID283の詳細ボタン284をクリックすることで表示される。
 S308において、利用者が差異の内容を確認してOKボタン285をクリックすることにより、プロジェクトデータ更新部222は、クラウド側システム100のプロジェクトデータリポジトリ122に格納されているプロジェクトデータを、仮想ファイルシステム部230に格納されているプロジェクトデータ231に更新する。すなわち、クラウド側システム100のプロジェクトデータリポジトリ122と、仮想ファイルシステム部230に格納されているプロジェクトデータ231とを同期させる。
 S309において、オンライン復帰部220は、作業領域管理部211を呼び出し、一次記憶装置240に作成された仮想ファイルシステム部230を削除させる。このように、同期が完了した時点で、作業領域管理部211が仮想ファイルシステム部230を削除することで、プロジェクトデータ231及び開発環境232が削除され、漏洩を防ぐことができる。
 以上で、オンライン復帰部220によるオンライン復帰処理(オンライン復帰工程)の説明を終わる。
 以後、開発環境クライアント部250は、オンラインモードに移行しているため、クラウド側システム100と通信しながら、プロジェクトデータの開発を行うことが可能である。
 本実施の形態によれば、クラウド上で動作している“ネットワーク型FAエンジニアリング環境”を、オンライン状態だけではなく、ネットワークが整備されていないまたはネットワークが使用できないオフライン状態でも使用可能になり、“ネットワーク型FAエンジニアリング環境”の適用範囲が広がる。
 また、現地で現地調整作業を行った後、装置300の稼働に問題がないことが確認されると、そのプロジェクトデータは現地(工場)の装置300にインストールされる。本実施の形態によれば、オフラインからオンラインに復帰し、プロジェクトデータの同期処理を行い、装置上のデータとクラウド上のデータとに差異がないことを実現できる。
 実施の形態2.
 本実施の形態では、主に、実施の形態1との差異について説明する。
 図11は、本実施の形態に係る環境提供システム501のブロック構成を示す図である。
 図11は実施の形態1で説明した図2に対応する図であり、図2の構成部と同様の機能を有する構成部には、同一の符号を付し、その説明を省略する場合がある。
 図11に示す環境提供システム501は、実施の形態1で説明した図2の環境提供システム500のブロック構成に加え、クラウド側システム100に操作履歴リポジトリ124を備える。
 クライアント装置200では、開発環境クライアント部250は、操作履歴出力部2511を備える。また、オンライン復帰部220は、変更情報通知部223を備える。一次記憶装置240には、作業領域管理部211により、オフライン時の操作履歴であるオフライン時操作履歴233を格納する作業エリアが確保される。
 通常、利用者は、クライアント装置200にインストールされている開発環境クライアント部250(ネットワーク型FAエンジニアリング環境クライアント)を使用して、クラウド側システム100の開発環境及びプロジェクトデータをオンラインで利用している。オンライン時において開発環境クライアント部250の操作履歴出力部2511は、クラウド側システム100の操作履歴リポジトリ124に、オンライン時操作履歴を出力する。
 操作履歴リポジトリ124は、プロジェクトデータリポジトリ122に記憶されたプロジェクトデータに対し、オンライン時にクライアント装置200から実行されるオンライン時操作を、オンライン時操作履歴として記憶する操作履歴記憶部の一例である。
 オフライン時、操作履歴出力部2511は、一次記憶装置240(記憶機器)の仮想ファイルシステム部230に格納されたプロジェクトデータ231の開発処理を実行中に開発環境クライアント部250(開発支援部)により実行されるオフライン時操作を、オフライン時操作履歴233として一次記憶装置240に蓄積する。操作履歴出力部2511は、操作履歴蓄積部の一例である。
 変更情報通知部223は、操作履歴リポジトリ124に記憶されているオンライン時操作履歴に、操作履歴出力部2511により一次記憶装置240に蓄積されているオフライン時操作履歴233を追加する。変更情報通知部223は、履歴追加部の一例である。
 図12は、本実施の形態に係るクライアント装置200のオフライン移行部210によるオフライン移行処理(オフライン移行工程)を示すフローチャートである。
 図12は、実施の形態1で説明した図4に対応する図である。図12において、図4と異なる点は、S402と、S407が追加されている点である。
 S401において、利用者が環境クライアント初期画面251(図5参照)のメニュー表示部252からオフライン移行2521を選択すると、開発環境クライアント部250は、オフライン移行2521の選択をオフライン移行要求として受け付ける。S401の処理は、図4のS101の処理と同様である。
 S402において、開発環境クライアント部250の操作履歴出力部2511は、クラウド側システム100の操作履歴リポジトリ124に対し、オフライン移行開始を出力する。
 S403~S406の処理は、図4のS102~105の処理と同様である。すなわち、S406において、開発環境複製部214は、開発環境選択画面270から利用者により選択された開発環境を、開発環境リポジトリ121からダウンロードし、仮想ファイルシステム部230に開発環境232として一時記憶する。また、プロジェクトデータ複製部213は、プロジェクトデータの一覧から利用者により選択されたプロジェクトデータを、プロジェクトデータリポジトリ122からダウンロードし、仮想ファイルシステム部230にプロジェクトデータ231として一時記憶する。
 S407において、開発環境クライアント部250の操作履歴出力部2511は、クラウド側システム100の操作履歴リポジトリ124に対し、オフライン移行完了を出力する。
 図13は、本実施の形態に係る操作履歴リポジトリ124の一例である。
 操作履歴リポジトリ124には、日時、利用者ID、プロジェクトID、プログラムID、装置ID、操作種別の項目が設けられる。
 操作履歴として、S402において操作履歴出力部2511が出力したオンライン移行開始と、S407において操作履歴出力部2511が出力したオンライン移行完了とが記録されている。
 以上で、オフライン移行要求を入力した場合の、オフライン移行処理についての説明を終わる。
 オフライン移行処理が完了した後の処理は、実施の形態1で説明した処理と同様である。すなわち、利用者は、開発環境クライアント部250を終了させる。そして、利用者は、クライアント装置200をスタンバイモードあるいは休止モードに移行させる。その後、利用者は、クライアント端末を現地などに移動させ、オフライン状態で現地調整作業を実行することになる。
 図14は、本実施の形態に係る開発環境クライアント部250によるオフライン時の開発支援処理(開発支援工程)を示すフローチャートである。
 図14は、実施の形態1で説明した図8に対応する図である。図14において、図8と異なる点は、S507とS510とが追加された点である。
 S501~S506は、図8のS201~S206の処理と同様である。以下、S501~S506の処理の概要を示す。現地で、クライアント装置200は、利用者による操作によりスタンバイモードあるいは休止モードから復帰する。クライアント装置200は、利用者により、装置300に接続される。クライアント装置200において、利用者により、仮想ファイルシステム部230の開発環境232が起動される。
 開発環境クライアント部250は、オフラインモードに移行しているため、ローカルの仮想ファイルシステム部230に接続する。そして、利用者は、開発環境クライアント部250を用いて、仮想ファイルシステム部230のプロジェクトデータ231をオープンし、装置300に対してプロジェクトデータ231のオブジェクトモジュールをインストールする。
 S507において、操作履歴出力部2511は、仮想ファイルシステム部230オフライン時操作履歴233に対して、モジュールインストールを出力する。
 S508~S509は、図8のS207~S208と同様の処理である。すなわち、S508において、利用者により、オブジェクトモジュールをインストールした装置300の稼動の検証が行われる。装置300が正しく動作する場合(S508で成功)、開発環境クライアント部250を終了する。装置300が正しく動作しない場合(S508で失敗)、S509に進む。
 S509において、開発環境クライアント部250は、利用者からの開発操作に基づいて、開発環境232を用いてプロジェクトデータ231の開発処理の実行を支援する。具体的には、開発環境クライアント部250は、利用者からの開発操作に基づいて、プロジェクトデータ231に対して、ソースコードの編集処理、翻訳処理、デバッグ処理を実行する。
 S510において、操作履歴出力部2511は、仮想ファイルシステム部230オフライン時操作履歴233に対して、S509で実行されるそれぞれの操作の履歴を出力する。操作履歴出力部2511は、仮想ファイルシステム部230オフライン時操作履歴233に対して、オープン、クローズ、編集、翻訳、デバッグ等の操作の出力をする。
 そして、S506に戻り、開発を実行したオブジェクトモジュールを装置300インストールする。装置300が正しく動作するまでこの作業を繰り返す。
 図15は、本実施の形態に係る仮想ファイルシステム部230のオフライン時操作履歴233の一例を示す図である。
 オフライン時操作履歴233の構成は、図13の操作履歴リポジトリ124の構成と同様である。オフライン時操作履歴233には、オフライン時に、仮想ファイルシステム部230のプロジェクトデータ231に対して行われた操作の履歴が記録される。
 以上で、本実施の形態に係る開発環境クライアント部250による開発支援処理の説明を終わる。
 その後の処理は、実施の形態1で説明したものと同様である。すなわち、利用者により、装置300の稼働に問題がないことが確認されると、開発環境クライアント部250が終了される。利用者により、クライアント装置200から装置300が切り離される。そして、クライアント装置200は、スタンバイモードあるいは休止モードに移行される。
 図16は、本実施の形態に係るオンライン復帰部220によるオンライン復帰処理(オンライン復帰工程)を示すフローチャートである。
 図16は、実施の形態1で説明した図9の対応する図である。図16において、図9と異なる点は、S604a,S609~S610,S612が追加されている点である。
 S601~S604の処理は、実施の形態1で説明した図9のS301~S304の処理と同様であるため、説明を省略する。
 S604aにおいて、開発環境クライアント部250の操作履歴出力部2511は、クラウド側システム100の操作履歴リポジトリ124に対し、オンライン復帰開始を出力する。
 S605~S608の処理は、実施の形態1で説明した図9のS305~S308の処理と同様であるため、説明を省略する。
 S609において、変更情報通知部223は、仮想ファイルシステム部230に記憶されているオフライン時操作履歴233を、クラウド側システム100の操作履歴リポジトリ124に追加する。変更情報通知部223は、オフライン時操作履歴233を、操作履歴リポジトリ124にマージ(コピー)する。
 S610において、操作履歴出力部2511は、クラウド側システム100の操作履歴リポジトリ124に対して、プロジェクトデータ同期完了を出力する。
 S611の処理は、S309の処理と同様である。すなわち、同期が完了した時点で、作業領域管理部211を呼出し、仮想ファイルシステム部を削除する。このように、同期が完了した時点で、作業領域管理部211が仮想ファイルシステム部230を削除することで、プロジェクトデータ231及び開発環境232が削除され、漏洩を防ぐことができる。
 次に、S612において開発環境クライアント部250の操作履歴出力部2511は、クラウド側システム100の操作履歴リポジトリ124に対し、オンライン復帰完了を出力する。
 以上で、オンライン復帰部220によるオンライン復帰処理(オンライン復帰工程)の説明を終わる。
 図17は、本実施の形態に係るオンライン復帰後の操作履歴リポジトリ124の一例である。
 図17の操作履歴リポジトリ124のうち、A範囲の操作履歴は、オフライン移行処理時に記憶された操作履歴である。B範囲の操作履歴は、オフライン時に仮想ファイルシステム部230のオフライン時操作履歴233に記憶された操作履歴であり、オンライン復帰処理時に追加されたものである。A範囲の操作履歴は、オンライン復帰処理時に記憶された操作履歴である。
 以後、開発環境クライアント部250は、オンラインモードに移行しているため、クラウド側システム100と通信しながら、プロジェクトデータの開発を行うことが可能である。
 本実施の形態に係る環境提供システム501によれば、利用者は、クラウド側システム100の操作履歴リポジトリ124を開発環境クライアント部250から参照することで、プロジェクトデータの状態を知ることができる。つまり、操作履歴リポジトリ124により、プロジェクトデータに対して操作が行われたか否かがわかるので、装置300のプロジェクトデータとクラウド側システム100のプロジェクトリポジトリ122のデータとに、差異があるかどうかを知ることができる。これにより、プロジェクトデータの一貫性を保つことが可能になり、より安全に使用できるようになる。
 また、本発明によれば、近年の複数人による大規模開発に際しても、クラウド上のプロジェクトデータリポジトリのプログラムと工場の装置上のプログラムとの状態を、クラウド上から可視にすることで、双方の一貫性を保つことが可能になる。
 実施の形態3.
 本実施の形態では、主に、実施の形態1,2との差異について説明する。
 図18は、本実施の形態に係る環境提供システム502のブロック構成を示す図である。
 図18は実施の形態2で説明した図11に対応する図であり、図11の構成部と同様の機能を有する構成部には、同一の符号を付し、その説明を省略する場合がある。
 図18に示す環境提供システム502は、実施の形態2で説明した図11の環境提供システム501のブロック構成に加え、クライアント装置200に二次記憶装置290を備える。
 一次記憶装置240は、例えば、RAM等の揮発性メモリであるが、二次記憶装置290は、例えば、ハードディスク等の不揮発性メモリである。
 実施の形態2で説明したように、操作履歴出力部2511は、オンライン時には、クラウド側システム100の操作履歴リポジトリ124に、オンライン時操作履歴を出力する。また、オフライン時には、操作履歴出力部2511は、オフライン時操作を、オフライン時操作履歴233として一次記憶装置240に蓄積する。
 本実施の形態では、さらに、操作履歴出力部2511に対し、オフライン時操作履歴のうち、特定の変更情報だけを、二次記憶装置290に変更情報291として格納する機能を有する。特定の変更情報とは、例えば、装置300への書き込み(インストール)の情報である。したがって、操作履歴出力部2511に対し、オフライン時操作履歴のうち装置300への書き込みの情報については、一次記憶装置240だけでなく、二次記憶装置290にも変更情報291として格納する。
 また、本実施の形態では、さらに、変更情報通知部223に対し、仮想ファイルシステム部230にオフライン時操作履歴233が存在しない場合に、二次記憶装置290の変更情報291を、クラウド側システム100の操作履歴リポジトリ124に反映する機能を有する。
 次に本実施の形態に係る環境提供システム502の動作について説明する。
 オンラインからオフラインへの移行に関しては、実施の形態2において説明したものと同様であるため、ここではその説明を省略する。
 図19は、本実施の形態に係る開発環境クライアント部250によるオフライン時の開発支援処理(開発支援工程)を示すフローチャートである。
 図19において、S701~S707は、図14のS501~S507の処理と同様であるため、その説明を省略する。
 S708において、操作履歴出力部2511は、オフライン時操作履歴233として格納する情報が、装置300への書き込みか否かを処理装置により判定する。装置300への書き込みの場合(S708でYES)、S710に進む。装置300への書き込みでない場合(S708でNO)、S711に進む。
 S710において、操作履歴出力部2511は、装置300への書き込みの情報を、一次記憶装置240と、二次記憶装置290との両方に格納する。操作履歴出力部2511は、装置300への書き込みの情報を、一次記憶装置240にはオフライン時操作履歴233として格納するとともに、二次記憶装置290には変更情報291として格納する。
 図20は、本実施の形態に係る変更情報291の一例である。
 変更情報291の構成は、オフライン時操作履歴233等の構成と同様である。図20に示すように、変更情報291には、装置300へのインストールの操作の情報のみが格納されている。
 S711~S712は、図14のS508~S509の処理と同様であるため、その説明を省略する。
 S713において、操作履歴出力部2511は、仮想ファイルシステム部230オフライン時操作履歴233に対して、S509で実行されるそれぞれの操作の履歴を出力する。
 S714において、操作履歴出力部2511は、オフライン時操作履歴233として格納する情報が、装置300への書き込みか否かを処理装置により判定する。装置300への書き込みの場合(S714でYES)、S715に進む。装置300への書き込みでない場合(S714でNO)、S706に戻り、S711で装置が正しく動作するまで処理を繰り返す。
 S715において、操作履歴出力部2511は、装置300への書き込みの情報を、一次記憶装置240と、二次記憶装置290との両方に格納し、S706に戻り、S711で装置が正しく動作するまで処理を繰り返す。
 操作履歴出力部2511は、装置300への書き込みの情報を、一次記憶装置240にはオフライン時操作履歴233として格納するとともに、二次記憶装置290には変更情報291として格納する。
 以上で、本実施の形態に係る開発環境クライアント部250による開発支援処理の説明を終わる。
 その後の処理は、実施の形態1,2で説明したものと同様である。すなわち、利用者により、装置300の稼働に問題がないことが確認されると、開発環境クライアント部250が終了される。利用者により、クライアント装置200から装置300が切り離される。そして、クライアント装置200は、スタンバイモードあるいは休止モードに移行される。
 図21は、本実施の形態に係るオンライン復帰部220によるオンライン復帰処理(オンライン復帰工程)を示すフローチャートである。図22は、本実施の形態に係るオンライン復帰部220によるオンライン復帰処理(オンライン復帰工程)を示すフローチャートであり、図21の続きである。
 図21において、S801~S805は、図16のS601~S605の処理と同様であるため、その説明を省略する。
 S805でYESの場合、すなわち、接続監視部221が、クライアント装置200がオンライン状態になったことを確認すると、S805aに進む。
 S805aでは、プロジェクトデータ更新部222は、ローカルの仮想ファイルシステム部230のプロジェクトデータ231、オフライン時操作履歴233の存在の有無を確認する。
 プロジェクトデータ更新部222がプロジェクトデータ231とオフライン時操作履歴233との存在を確認すると(S805aで存在)、S806に進む。
 プロジェクトデータ更新部222がプロジェクトデータ231とオフライン時操作履歴233とが存在しないと確認すると(S805aで存在しない)、S805bに進む。
 図21において、S806~S810は、図16のS606~S610の処理と同様であるため、その説明を省略する。
 プロジェクトデータ更新部222がプロジェクトデータ231とオフライン時操作履歴233とが存在しないとは、例えば、電源オフなど問題が発生したことを意味する。電源オフなど問題が発生すると、揮発性メモリである一次記憶装置240の内容は、消去されてしまう虞がある。しかし、二次記憶装置290は不揮発性の記憶装置であるため情報が残る。
 S805bにおいて、変更情報通知部223は、二次記憶装置290の変更情報291を、クラウド側システム100の操作履歴リポジトリ124に反映し、S805cに進む。
 S805cにおいて、変更情報通知部223は、クラウド側システム100の操作履歴リポジトリ124に対し、プロジェクトデータの同期不可を出力し、S811に進む。
 S811は、図16のS611の処理と同様であり、S812は、図16のS612の処理と同様であるため、その説明を省略する。
 S805dにおいて、開発環境クライアント部250は、二次記憶装置290の変更情報291を削除する。
 以後、開発環境クライアント部250は、オンラインモードに移行しているため、クラウド上のサーバと通信して開発を行うことが可能になる。また、プロジェクトデータの一貫性を保障するデータのみを二次装置上に格納し、確実にクラウド上の操作履歴リポジトリ124に反映することができるので、より安全に使用できるようになる。
 本実施の形態に係る環境提供システム502によれば、電源オフなど問題が発生しても、上記の一貫性を保つ必要最低限の情報をクラウド上に反映可能にすることで、より強固に双方の一貫性を保つことが可能になる。
 実施の形態4.
 本実施の形態では、主に、実施の形態1~3との差異について説明する。
 図23は、本実施の形態に係る開発環境対応テーブル125の構成を示す図である。本実施の形態において、実施の形態1~3の構成部と同様の機能を有する構成部には、同一の符号を付し、その説明を省略する場合がある。
 実施の形態1~3では、オフライン移行処理時に、クラウド側システム100からダウンロードする開発環境は、利用者が選択する方式であった。つまり、開発環境複製部214は、開発環境選択画面270から利用者により選択された開発環境を開発環境リポジトリ121から取得していた。
 本実施の形態では、利用者が、プロジェクトデータ選択画面260からプロジェクトデータを選択すると、選択されたプロジェクトデータに対応する開発環境が自動的にダウンロードされる方式について説明する。
 本実施の形態では、クラウド側記憶機器120に、さらに、開発環境対応テーブル125を備える。
 図23に示すように、開発環境対応テーブル125では、プロジェクトデータを識別するプログラムID、プロジェクトを識別するプロジェクトID、開発環境を特定する開発環境IDが対応付けられている。開発環境IDには、例えば、エディタID、コンパイラID、デバッガID、プロファイラID等がある。その他、プログラミング言語を指定するIDなどがあってもよい。開発環境を特定する開発環境IDは、例えば、開発ツールのバージョン情報である。
 開発環境対応テーブル125は、オンライン時に利用者がプロジェクトデータの開発を実行し、プロジェクトデータリポジトリ122にプロジェクトデータを書き込む際、利用者により開発環境IDが更新されるものとする。
 オフライン移行処理において、プロジェクトデータ複製部213は、プロジェクトデータ選択画面260から選択されたプロジェクトデータのプログラムIDを取得し、取得したプログラムIDに基づいて、開発環境対応テーブル125を検索する。
 プロジェクトデータ複製部213は、取得したプログラムIDに対応する開発環境IDを取得する。プロジェクトデータ複製部213は、取得した開発環境IDを開発環境複製部214に出力する。
 開発環境複製部214は、プロジェクトデータ複製部213から入力した開発環境IDに対応する開発環境を、開発環境リポジトリ121からダウンロードする。開発環境複製部214は、ダウンロードした開発環境を仮想ファイルシステム部230に記録する。
 以上のように、本実施形態によれば、オフライン時に利用者がプロジェクトデータ選択画面260からプロジェクトデータを選択するだけで、自動的に開発環境が仮想ファイルシステム部230にダウンロードされる方式を実現することができる。これにより、より利便性の高い環境提供システムを実現できる。
 以上、本発明の実施の形態について説明したが、これらの実施の形態のうち、2つ以上を組み合わせて実施しても構わない。あるいは、これらの実施の形態のうち、1つを部分的に実施しても構わない。あるいは、これらの実施の形態のうち、2つ以上を部分的に組み合わせて実施しても構わない。なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
 上記実施の形態1~3において説明した環境提供システム500,501,502のクラウド側システム100及びクライアント装置200のブロック構成は、上記実施の形態の構成に限られるわけではない。これらの機能ブロックを、他のどのような組み合わせで環境提供システム500,501,502を構成しても構わない。すなわち、本発明の要旨を逸脱しない範囲で当業者が上記実施の形態の修正や代用を成し得ることは可能である。例えば、クライアント端末側にオフライン移行部、オンライン復帰部なる機構を設けたが、それらの一部をサーバ側に装備しても同様に本発明を実現することが可能である。要するに、例示という形態で本発明を開示してきたのであり、構成についても、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
 100 クラウド側システム、110 サーバ、120 クラウド側記憶機器、121 開発環境リポジトリ、122 プロジェクトデータリポジトリ、123 利用者リポジトリ、124 操作履歴リポジトリ、125 開発環境対応テーブル、200 クライアント装置、210 オフライン移行部、211 作業領域管理部、212 関連抽出部、213 プロジェクトデータ複製部、214 開発環境複製部、220 オンライン復帰部、221 接続監視部、222 プロジェクトデータ更新部、223 変更情報通知部、230 仮想ファイルシステム部、231 プロジェクトデータ、232 開発環境、233 オフライン時操作履歴、240 一次記憶装置、250 開発環境クライアント部、251 環境クライアント初期画面、252 メニュー表示部、253 プロジェクトツリー表示部、254 ラダーエディター部、260 プロジェクトデータ選択画面、261 チェックボックス、262 プロジェクトID、263 プログラムID、264 最終更新日時、270 開発環境選択画面、271 チェックボックス、272 エディタ、273 バージョン選択、280 差異があるプロジェクト一覧画面、281 チェックボックス、282 プロジェクトID、283 プログラムID、284 詳細ボタン、285 OKボタン、290 二次記憶装置、291 変更情報、300 装置、400 ネットワーク、500,501,502 環境提供システム、901 演算装置、902 外部記憶装置、903 主記憶装置、904 通信装置、905 入出力装置、2511 操作履歴出力部。

Claims (9)

  1.  プログラムの開発に用いる開発環境を備えるサーバ装置と、前記サーバ装置とネットワークを介して通信する端末装置とを備える開発システムにおいて、
     前記サーバ装置は、
     開発する開発プログラムを記憶するプログラム記憶部と、
     前記開発環境を記憶する開発環境記憶部と
    を備え、
     前記端末装置は、
     記憶機器と、
     前記サーバ装置との通信をオフラインに移行させるオフライン移行要求を入力する入力部と、
     前記入力部が前記オフライン移行要求を入力した場合、前記プログラム記憶部から前記開発プログラムを取得するとともに、前記開発環境記憶部から前記開発環境を取得し、取得した前記開発プログラムと前記開発環境とを前記記憶機器に格納する格納部と、
     前記サーバ装置との通信がオフラインの状態で、利用者から開発のための操作を入力し、入力した前記開発のための操作に基づいて、前記記憶機器に格納された前記開発環境を用いて、前記記憶機器に格納された前記開発プログラムの開発処理を処理装置により実行する開発支援部と
    を備えることを特徴とする開発システム。
  2.  前記端末装置は、さらに、
     前記入力部が前記サーバ装置との通信をオンラインに復帰させるオンライン復帰要求を入力すると、前記サーバ装置との通信がオンラインであるか否かを処理装置により判定する接続判定部と、
     前記接続判定部により前記サーバ装置との通信がオンラインであると判定された場合に、前記プログラム記憶部に記憶されている前記開発プログラムを、前記記憶機器に記憶されている前記開発プログラムに更新する更新部と
    を備えることを特徴とする請求項1に記載の開発システム。
  3.  前記サーバ装置は、さらに、
     前記プログラム記憶部に記憶された前記開発プログラムに対し、オンライン時に前記端末装置から実行されるオンライン時操作を、オンライン時操作履歴として記憶する操作履歴記憶部を備え、
     前記端末装置は、
     前記記憶機器に格納された前記開発プログラムの開発処理を実行中に、前記開発支援部により前記開発プログラムに対して実行されるオフライン時操作を、オフライン時操作履歴として前記記憶機器に蓄積する操作履歴蓄積部を備え、
     前記端末装置は、さらに、
     前記操作履歴記憶部に記憶されている前記オンライン時操作履歴に、前記操作履歴蓄積部により前記記憶機器に蓄積されている前記オフライン時操作履歴を追加する履歴追加部を備えることを特徴とする請求項2に記載の開発システム。
  4.  前記端末装置は、さらに、不揮発性の端末側記憶装置を備え、
     前記操作履歴蓄積部は、
     前記オフライン時操作をオフライン時操作履歴として前記記憶機器に蓄積するとともに、前記オフライン時操作のうちの一部の操作を、前記端末側記憶装置に変更情報として記憶し、
     前記履歴追加部は、
     前記操作履歴蓄積部に前記オフライン時操作履歴が蓄積されていない場合に、前記端末側記憶装置に記憶されている前記変更情報を、前記操作履歴記憶部に記憶されている前記オンライン時操作履歴に追加することを特徴とする請求項3に記載の開発システム。
  5.  開発する開発プログラムを記憶するプログラム記憶部と前記開発プログラムの開発に用いる開発環境を記憶する開発環境記憶部とを備えるサーバ装置と、ネットワークを介して通信する端末装置において、
     記憶機器と、
     前記サーバ装置との通信をオフラインに移行させるオフライン移行要求を入力する入力部と、
     前記入力部が前記オフライン移行要求を入力した場合、前記プログラム記憶部から前記開発プログラムを取得するとともに、前記開発環境記憶部から前記開発環境を取得し、取得した前記開発プログラムと前記開発環境とを前記記憶機器に格納する格納部と、
     前記サーバ装置との通信がオフラインの状態で、利用者から開発のための操作を入力し、入力した前記開発のための操作に基づいて、前記記憶機器に格納された前記開発環境を用いて、前記記憶機器に格納された前記開発プログラムの開発処理を処理装置により実行する開発支援部と
    を備えることを特徴とする端末装置。
  6.  前記端末装置は、さらに、
     前記入力部が前記サーバ装置との通信をオンラインに復帰させるオンライン復帰要求を入力すると、前記サーバ装置との通信がオンラインであるか否かを処理装置により判定する接続判定部と、
     前記接続判定部により前記サーバ装置との通信がオンラインであると判定された場合に、前記プログラム記憶部に記憶されている前記開発プログラムを、前記記憶機器に記憶されている前記開発プログラムに更新する更新部と
    を備えることを特徴とする請求項5に記載の端末装置。
  7.  前記サーバ装置は、前記プログラム記憶部に記憶された前記開発プログラムに対し、オンライン時に前記端末装置から実行されるオンライン時操作を、オンライン時操作履歴として記憶する操作履歴記憶部を備え、
     前記端末装置は、
     前記記憶機器に格納された前記開発プログラムの開発処理の実行中に、前記開発支援部により前記開発プログラムに対して実行されるオフライン時操作を、オフライン時操作履歴として前記記憶機器に蓄積する操作履歴蓄積部を備え、
     前記端末装置の前記更新部は、
     前記操作履歴記憶部に記憶されている前記オンライン時操作履歴に、前記操作履歴蓄積部により前記記憶機器に蓄積されている前記オフライン時操作履歴を追加する履歴追加部を備えることを特徴とする請求項6に記載の端末装置。
  8.  処理装置と記憶機器とを備える端末装置であって、開発する開発プログラムを記憶するプログラム記憶部と前記開発プログラムの開発に用いる開発環境を記憶する開発環境記憶部とを備えるサーバ装置と、ネットワークを介して通信する端末装置の開発方法において、
     前記処理装置が、前記サーバ装置との通信をオフラインに移行させるオフライン移行要求を入力すると、前記プログラム記憶部から前記開発プログラムを取得するとともに、前記開発環境記憶部から前記開発環境を取得し、取得した前記開発プログラムと前記開発環境とを前記記憶機器に格納し、
     前記処理装置が、前記サーバ装置との通信がオフラインの状態で、利用者から開発のための操作を入力し、入力した前記開発のための操作に基づいて、前記記憶機器に格納された前記開発環境を用いて、前記記憶機器に格納された前記開発プログラムの開発処理を処理装置により実行する
    ことを特徴とする開発方法。
  9.  処理装置と記憶機器とを備える端末装置であって、開発する開発プログラムを記憶するプログラム記憶部と前記開発プログラムの開発に用いる開発環境を記憶する開発環境記憶部とを備えるサーバ装置と、ネットワークを介して通信する端末装置のプログラムにおいて、
     前記サーバ装置との通信をオフラインに移行させるオフライン移行要求を入力すると、前記プログラム記憶部から前記開発プログラムを取得するとともに、前記開発環境記憶部から前記開発環境を取得し、取得した前記開発プログラムと前記開発環境とを前記記憶機器に格納する格納処理と、
     前記サーバ装置との通信がオフラインの状態で、利用者から開発のための操作を入力し、入力した前記開発のための操作に基づいて、前記記憶機器に格納された前記開発環境を用いて、前記記憶機器に格納された前記開発プログラムの開発処理を処理装置により実行する開発支援処理と
    をコンピュータである前記端末装置に実行させることを特徴とするプログラム。
PCT/JP2013/079121 2013-10-28 2013-10-28 開発システム及び端末装置及び開発方法及びプログラム WO2015063831A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2013/079121 WO2015063831A1 (ja) 2013-10-28 2013-10-28 開発システム及び端末装置及び開発方法及びプログラム
TW102146546A TW201516707A (zh) 2013-10-28 2013-12-17 開發系統與終端裝置以及開發方法與程式產品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/079121 WO2015063831A1 (ja) 2013-10-28 2013-10-28 開発システム及び端末装置及び開発方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2015063831A1 true WO2015063831A1 (ja) 2015-05-07

Family

ID=53003482

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/079121 WO2015063831A1 (ja) 2013-10-28 2013-10-28 開発システム及び端末装置及び開発方法及びプログラム

Country Status (2)

Country Link
TW (1) TW201516707A (ja)
WO (1) WO2015063831A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019207534A (ja) * 2018-05-29 2019-12-05 オムロン株式会社 サポート装置、制御システム、および開発支援プログラム
US20230315397A1 (en) * 2022-03-31 2023-10-05 Accenture Global Solutions Limited Serverless environment-based provisioning and deployment system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0535451A (ja) * 1991-07-26 1993-02-12 Pfu Ltd 開発名称単位での開発環境切換方式
JPH05165610A (ja) * 1991-12-13 1993-07-02 Hitachi Ltd ソフトウェア開発環境の生成および保守方法
JP2008269277A (ja) * 2007-04-20 2008-11-06 Meidensha Corp 共有データの分散編集システム、分散編集方法およびプログラム
JP2010072672A (ja) * 2008-09-16 2010-04-02 Hitachi Software Eng Co Ltd ソフトウェア開発環境導入システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0535451A (ja) * 1991-07-26 1993-02-12 Pfu Ltd 開発名称単位での開発環境切換方式
JPH05165610A (ja) * 1991-12-13 1993-07-02 Hitachi Ltd ソフトウェア開発環境の生成および保守方法
JP2008269277A (ja) * 2007-04-20 2008-11-06 Meidensha Corp 共有データの分散編集システム、分散編集方法およびプログラム
JP2010072672A (ja) * 2008-09-16 2010-04-02 Hitachi Software Eng Co Ltd ソフトウェア開発環境導入システム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019207534A (ja) * 2018-05-29 2019-12-05 オムロン株式会社 サポート装置、制御システム、および開発支援プログラム
WO2019230262A1 (ja) * 2018-05-29 2019-12-05 オムロン株式会社 サポート装置、制御システム、および開発支援プログラム
JP7067273B2 (ja) 2018-05-29 2022-05-16 オムロン株式会社 サポート装置、制御システム、および開発支援プログラム
US20230315397A1 (en) * 2022-03-31 2023-10-05 Accenture Global Solutions Limited Serverless environment-based provisioning and deployment system
US11900075B2 (en) * 2022-03-31 2024-02-13 Accenture Global Solutions Limited Serverless environment-based provisioning and deployment system

Also Published As

Publication number Publication date
TW201516707A (zh) 2015-05-01

Similar Documents

Publication Publication Date Title
US9684505B2 (en) Development environment system, development environment apparatus, development environment providing method, and program
TWI575362B (zh) 備份方法、環境更新預先檢測方法及其系統
US20130117738A1 (en) Server Upgrades with Safety Checking and Preview
JP6529501B2 (ja) 動的にカスタマイズされた文脈依存型ヘルプを生成する方法
US10048978B2 (en) Apparatus and method for identifying a virtual machine having changeable settings
WO2017020459A1 (zh) 一种为宿主配置插件包的方法与装置
CN101477485B (zh) 一种基于ASP.net远程备份和还原MySQL数据库方法
US10452635B2 (en) Synchronizing files on different computing devices using file anchors
US8700750B2 (en) Web deployment functions and interfaces
WO2015063831A1 (ja) 開発システム及び端末装置及び開発方法及びプログラム
US7376676B2 (en) Method, system, and program for autonomic copy services solutions
CN105760456A (zh) 一种保持数据一致性的方法和装置
JP2017220114A (ja) 制御システム及び制御方法
JP7492839B2 (ja) 構成管理装置、構成管理方法、及び、構成管理プログラム
CN111385334B (zh) 一种数据配送方法、装置、设备及存储介质
CN113326145A (zh) 管理app的方法及系统
JP7023807B2 (ja) 管理システム、情報処理装置、設定管理方法、およびプログラム
JP5959535B2 (ja) クライアントからネットワークを介して携帯端末にアクセスするためのサーバ、方法、及び、コンピュータを該サーバとして機能させるプログラム
JP2012133567A (ja) 情報処理装置、情報処理装置の制御方法、プログラム。
CN113918427B (zh) 一种数据变更响应方法以及装置
JP2017091027A (ja) システム開発支援システム
WO2022239549A1 (ja) バージョン管理方法、バージョン管理のプログラム、および、バージョン管理のシステム
JP2011134269A (ja) 情報処理装置、情報処理方法、プログラム、記録媒体
JP2018005311A (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
Ballesteros et al. The Octopus: Towards building distributed smart spaces by centralizing everything

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13896413

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP