Information processing apparatus, information processing method, and program
By introducing the concept of step blocks, information processing devices and methods decompose programs of block-type programming languages into visual step blocks, solving the problem of complexity of large-scale program structures and realizing program simplification and visualization.
Patent Information
- Application Number
- JP2023120260
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-24
- Publication Date
- 2025-02-05
- Estimated Expiration
- 2043-07-24
AI Technical Summary
The existing block programming languages are too complex to nest conditions and control statements in large-scale programs, making the program structure difficult to understand and modify.
Using information processing equipment and methods, by introducing the concept of step block, the program is decomposed into visual step blocks, clarifying conditional conversion, logical operations and state conversion, and supporting the creation and execution of the program.
It simplifies the process of program understanding and modification, makes the structure of large-scale programs clearer, and improves the degree of visualization and modifiability of programs.
Smart Images

Figure 2025017244000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to an information processing device, an information processing method, and a program. [Background technology]
[0002] Conventionally, there are known technologies for supporting programming. For example, Patent Document 1 discloses a programming support tool that incorporates puzzle-like elements and allows users to learn programming naturally while having fun. In addition, a block-based programming language that allows users to build programs through intuitive operations is also known. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent Publication No. 2022-178061 Summary of the Invention [Problem to be solved by the invention]
[0004] However, the conventional techniques leave room for improvement in terms of making it easier to understand programs written in block-based programming languages.
[0005] An object of the present disclosure is to provide an information processing device, an information processing method, and a program that enable a program written in a block-based programming language to be more easily understood. [Means for solving the problem]
[0006] An information processing device according to some embodiments is an information processing device that supports at least one of the creation or execution of a program according to a block-based programming language, and is equipped with a control unit, and the control unit acquires the program that includes, as one of its functional blocks, a step block that associates together some of a series of processes based on the program, and in which the series of processes are executed according to a state transition from one of the step blocks to another of the step blocks.
[0007] This makes it easier to understand a program written in a block-based programming language. By acquiring a program that includes a step block as one of the function blocks, the information processing device introduces the concept of a "step" into block-based programming, making it possible to visualize the program more simply. The program is not expressed as a single piece from beginning to end, but as a subset of steps. Therefore, even if the entire program becomes large-scale, the nesting is reduced.
[0008] In one embodiment, the step block may be associated with a first function block indicating a transition condition required for the state transition, whereby a condition for causing a state transition of the program from one step block to another step block can be specified in the program acquired by the information processing device.
[0009] In one embodiment, the step block may be associated with a plurality of the first function blocks determined according to a logical operation of AND or OR. This allows an AND condition or an OR condition to be specified in a program acquired by the information processing device to cause a state transition of the program from one step block to another step block.
[0010] In one embodiment, the step block may be associated with a second function block indicating a transition process to be executed before the state transition, so that a process immediately before a state transition of the program from one step block to another step block can be specified in the program acquired by the information processing device.
[0011] In one embodiment, the step block may include a step number indicating an order in the series of processes, so that a user can easily understand which step a given step block corresponds to in the series of processes.
[0012] In an information processing device according to an embodiment, the step block may include the step number of the next step block that continues to execute processing through the state transition. This allows a transition destination to be specified when a state transition of a program is made from one step block to another step block in a program acquired by the information processing device. When a transition condition is satisfied in each step, a control unit of the information processing device can execute a specified transition process to move the processing to the next step.
[0013] In one embodiment, the step block may include an identification number for distinguishing the step block from other step blocks. This makes it possible to distinguish and specify multiple step blocks having the same step number from each other in a program acquired by the information processing device.
[0014] In one embodiment of the information processing device, the control unit may acquire the program including a plurality of step blocks in which processing is executed in parallel with each other. This enables parallel processing in the program. For example, it is possible to realize functions similar to the control syntax shown in Figures 13A to 13C in the program.
[0015] In one embodiment of the information processing device, the identification number may include a priority indicating a priority order of a process to be executed when a transition condition required for the state transition is satisfied in a plurality of the step blocks, and the control unit may execute a process of one of the step blocks based on the priority order. This allows the program to realize a function similar to the control syntax shown in Figures 13A to 13C.
[0016] In one embodiment, the control unit of the information processing device may cause a terminal device communicably connected to the information processing device to display a first screen showing the execution status of the program, thereby allowing a user to easily check the current status of the program using an output unit of the terminal device.
[0017] In one embodiment, the control unit may cause the terminal device to display a second screen for editing variables used in the step blocks that are required for executing the program, whereby a user can easily edit variables used in the program using an input unit while viewing an output unit of the terminal device.
[0018] In one embodiment of the information processing device, the control unit may cause the terminal device to display a third screen showing an instruction based on the execution of the program and a comment from the user on the instruction. This allows the user to easily check the instruction based on the execution of the program using the output unit of the terminal device. The user can easily check the comment on the instruction, which was input using the input unit of the terminal device, using the output unit of the terminal device.
[0019] In one embodiment, the control unit may cause the terminal device to display a fourth screen for constructing the program in accordance with a user's operation using the terminal device, thereby allowing the user to easily create a program in a block-based programming language using an input unit while visually checking an output unit of the terminal device.
[0020] In one embodiment of an information processing device, the fourth screen may include a selection area for selecting a specific functional block from among the plurality of functional blocks, and a construction area for arranging the selected functional blocks by step blocks to construct the program.
[0021] This improves the operability when the user constructs a program. The user can select a desired function block from among multiple function blocks, and construct a program by arranging the selected function blocks for each step block, in different areas on the fourth screen. This allows the user to construct a program more easily.
[0022] An information processing method according to some embodiments is an information processing method for supporting at least one of the creation or execution of a program according to a block-based programming language, and includes obtaining the program that includes, as one of its functional blocks, a step block that associates together some processes of a series of processes based on the program, and in which the series of processes are executed according to a state transition from one of the step blocks to another of the step blocks.
[0023] This makes it easier to understand a program written in a block-based programming language. The information processing device that executes the information processing method acquires a program that includes a step block as one of the function blocks, thereby introducing the concept of a "step" into block-based programming and making it possible to visualize the program more simply. The program is not expressed as a single piece from start to finish, but as a subset of steps. Therefore, even if the entire program becomes large-scale, the nesting is reduced.
[0024] In some embodiments, a program causes an information processing device that supports at least one of the creation and execution of a program according to a block-based programming language to perform an operation that includes acquiring the program, the program including, as one of its functional blocks, a step block that collectively associates some processes of a series of processes based on the program, and in which the series of processes are executed according to a state transition from one of the step blocks to another of the step blocks.
[0025] This makes it easier to understand a program written in a block-based programming language. By acquiring a program that includes a step block as one of the function blocks, the information processing device introduces the concept of a "step" into block-based programming, making it possible to visualize the program more simply. The program is not expressed as a single piece from beginning to end, but as a subset of steps. Therefore, even if the entire program becomes large-scale, the nesting is reduced. Effect of the Invention
[0026] According to an information processing device, an information processing method, and a program according to an embodiment of the present disclosure, a program written in a block-based programming language can be more easily understood. [Brief description of the drawings]
[0027] [Figure 1] 1 is a configuration diagram illustrating a configuration of an information processing system including an information processing device according to an embodiment of the present disclosure. [Diagram 2] FIG. 2 is a block diagram showing a schematic configuration of each of the information processing device and the terminal device of FIG. [Diagram 3] FIG. 3 is a first diagram for explaining an example of processing by the information processing device of FIG. 2; [Figure 4] FIG. 4 is a schematic diagram for explaining details of the step blocks in FIG. 3. [Figure 5A]5 is a first schematic diagram showing an example of a first functional block and a second functional block of FIG. 4. FIG. [Figure 5B] 5 is a second schematic diagram showing an example of the first functional block and the second functional block of FIG. 4. FIG. [Figure 5C] 5 is a third schematic diagram showing an example of the first functional block and the second functional block of FIG. 4. FIG. [Figure 6] FIG. 2 is a second diagram for explaining an example of processing by the information processing device of FIG. [Figure 7] FIG. 3 is a third diagram for explaining an example of processing by the information processing device of FIG. [Figure 8A] FIG. 4 is a fourth diagram for explaining an example of processing by the information processing device of FIG. [Figure 8B] FIG. 5 is a fifth diagram for explaining an example of processing by the information processing device of FIG. [Figure 9] FIG. 6 is a diagram for explaining an example of processing by the information processing device of FIG. [Figure 10] FIG. 7 is a diagram illustrating an example of processing by the information processing device of FIG. 2. [Figure 11] FIG. 8 is an eighth diagram for explaining an example of processing by the information processing device of FIG. [Figure 12] FIG. 9 is a diagram for explaining an example of processing by the information processing device of FIG. 2. [Figure 13A] FIG. 10 is a diagram for explaining an example of processing by the information processing device of FIG. 2. [Figure 13B] FIG. 11 is an eleventh diagram for explaining an example of processing by the information processing device of FIG. [Figure 13C] FIG. 12 is a twelfth diagram for explaining an example of processing by the information processing device of FIG. [Figure 14] 5 is a schematic diagram for explaining another example of the process performed by the information processing device of FIG. 2. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0028] The background and problems of the prior art will now be described in more detail.
[0029] Block-based programming languages that allow even users who are not familiar with programming to visually construct programs with intuitive operations are known. For example, Blockly provided by Google and Scratch using Blockly are widely known.
[0030] Using a block-based programming language, users can build programs by simply arranging or fitting multiple function blocks, each of which represents a single process, on the screen using operations such as drag-and-drop. However, block-based programming languages are positioned as an introduction to programming before learning programming in earnest.
[0031] In conventional block-based programming languages, control statements such as if / else statements and while statements are used. Such control statements are useful for constructing logical programs. However, in conventional block-based programming languages, which express a program from start to finish as a collection of multiple function blocks, when the entire program becomes large-scale and control statements are used frequently, conditions branch and the nesting becomes deep.
[0032] This resulted in a complex program structure, making it difficult for users to understand how conditional branching was created within a long program. The difficulty increases when trying to understand such a large-scale program not only by the user who constructed the program, but also by other users. The lack of visibility into large-scale programs hinders other users from understanding the program when modifying it.
[0033] Users, including the user who constructed the program and other users, could not easily rewrite part of the program, even if they wanted to partially modify the program, for example by adding a control statement. When users wanted to rewrite part of the program, they had to create a process for determining the current state of the program each time, which was very time-consuming.
[0034] In order to solve the above problems, an object of the present disclosure is to provide an information processing device, an information processing method, and a program that enable a program written in a block-based programming language to be more easily understood.
[0035] An embodiment of the present disclosure will be mainly described below with reference to the accompanying drawings. The following description also applies to an information processing method and a program executed by an information processing device 10 to which the present disclosure is applied.
[0036] Fig. 1 is a configuration diagram showing a configuration of an information processing system 1 including an information processing device 10 according to an embodiment of the present disclosure. An overview of the information processing system 1 including the information processing device 10 according to an embodiment of the present disclosure will be mainly described with reference to Fig. 1. The information processing system 1 includes a terminal device 20 in addition to the information processing device 10.
[0037] 1, for ease of explanation, only one information processing device 10 and one terminal device 20 are illustrated, but the information processing system 1 may have two or more information processing devices 10 and two or more terminal devices 20. Each of the information processing devices 10 and the terminal devices 20 is communicably connected to a network 30 including a mobile communication network and the Internet.
[0038] The information processing device 10 is one or more server devices that can communicate with each other. The information processing device 10 is not limited to these, and may be any general-purpose electronic device such as a PC (Personal Computer) or a smartphone, or may be another electronic device dedicated to the information processing system 1.
[0039] The terminal device 20 is a general-purpose electronic device such as a PC, a tablet PC, a smartphone, or a wearable device such as a smart watch. The terminal device 20 is an electronic device used by a user who creates or executes a program according to a block-based programming language using the information processing system 1. The terminal device 20 is not limited to these, and may be one or multiple server devices that can communicate with each other and are used by the user, or may be another electronic device dedicated to the information processing system 1.
[0040] The information processing device 10 cooperates with the terminal device 20 to assist in at least one of creating and executing a program in accordance with a block-based programming language. For example, the information processing device 10 receives a program constructed in accordance with operations by a user using the terminal device 20 from the terminal device 20 via the network 30, and stores the program in the information processing device 10 itself. For example, the information processing device 10 causes the terminal device 20 to display, via the network 30, various screens related to the execution of the program constructed by the user and screens for the user to construct a program by operations using the terminal device 20.
[0041] Fig. 2 is a block diagram showing a schematic configuration of each of the information processing device 10 and the terminal device 20 in Fig. 1. An example of the configuration of each of the information processing device 10 and the terminal device 20 included in the information processing system 1 will be mainly described with reference to Fig. 2.
[0042] As shown in FIG. 2, the information processing device 10 includes a communication unit 11, a storage unit 12, and a control unit 13.
[0043] The communication unit 11 includes one or more communication interfaces connected to the network 30. The communication interface corresponds to, for example, a mobile communication standard such as 4G (4th Generation) and 5G (5th Generation), a wired LAN (Local Area Network) standard, or a wireless LAN standard, but may correspond to any communication standard without being limited thereto. For example, the communication interface may correspond to a short-range wireless communication standard. In one embodiment, the information processing device 10 is communicably connected to the network 30 via the communication unit 11. The communication unit 11 transmits and receives various information via the network 30.
[0044] The storage unit 12 includes storage modules such as a hard disk drive (HDD), a solid state drive (SSD), an electrically erasable programmable read-only memory (EEPROM), a read-only memory (ROM), and a random access memory (RAM). The storage unit 12 stores information necessary to realize the operation of the information processing device 10. The storage unit 12 stores information obtained by the operation of the information processing device 10. For example, the storage unit 12 stores system programs, application programs, and various data obtained by any means such as communication.
[0045] The storage unit 12 may function as a main storage module, an auxiliary storage module, or a cache memory. The storage unit 12 is not limited to being built into the information processing device 10, and may include an external storage module connected via a digital input / output port such as a Universal Serial Bus (USB).
[0046] The control unit 13 includes one or more processors. In the present disclosure, a "processor" is a general-purpose processor or a dedicated processor specialized for a specific process, but is not limited thereto. The control unit 13 includes, for example, a CPU (Central Processing Unit). The control unit 13 is communicably connected to each component of the information processing device 10, and controls the operation of the information processing device 10 as a whole.
[0047] The following mainly describes the configuration of the terminal device 20 included in the information processing system 1. As shown in FIG.
[0048] The communication unit 21 includes one or more communication interfaces connected to the network 30. The communication interface corresponds to, for example, a mobile communication standard such as 4G and 5G, a wired LAN standard, or a wireless LAN standard, but may correspond to any communication standard without being limited thereto. For example, the communication interface may correspond to a short-range wireless communication standard. In one embodiment, the terminal device 20 is communicatively connected to the network 30 via the communication unit 21. The communication unit 21 transmits and receives various information via the network 30.
[0049] The storage unit 22 includes storage modules such as an HDD, an SSD, an EEPROM, a ROM, and a RAM. The storage unit 22 stores information necessary to realize the operation of the terminal device 20. The storage unit 22 stores information obtained by the operation of the terminal device 20. For example, the storage unit 22 stores a system program, an application program, and various data acquired by any means such as communication.
[0050] The storage unit 22 may function as a main storage module, an auxiliary storage module, or a cache memory. The storage unit 22 is not limited to being built into the terminal device 20, and may include an external storage module connected via a digital input / output port such as a USB.
[0051] The input unit 23 includes one or more input interfaces that detect user input and acquire input information based on the user's operation. The input interfaces include physical keys, capacitive keys, a mouse, a touch screen that is integrated with the display of the output unit 24, an imaging module such as a camera, and a microphone that accepts voice input.
[0052] The output unit 24 includes one or more output interfaces that output information to notify the user. The output interfaces include a display that outputs information as an image, a speaker that outputs information as sound, and a vibrator that outputs information as vibration. The display includes an LCD (Liquid Crystal Display) and an organic EL (Electro Luminescence) display.
[0053] The control unit 25 includes one or more processors. The control unit 25 includes, for example, a CPU. The control unit 25 is communicably connected to each component of the terminal device 20 and controls the operation of the entire terminal device 20.
[0054] First, an example of processing in the information processing system 1 when the information processing device 10 cooperates with the terminal device 20 to assist a user in creating a program in a block-based programming language will be mainly described.
[0055] Fig. 3 is a first diagram for explaining an example of processing by the information processing device 10 in Fig. 2. With reference to Fig. 3, a screen S1 that the information processing device 10 causes the output unit 24 of the terminal device 20 to display via the communication unit 11 and the network 30 will be mainly explained.
[0056] The control unit 13 of the information processing device 10 causes the terminal device 20, which is communicably connected to the information processing device 10, to display a screen S1 for constructing a program according to user operations on the terminal device 20. The control unit 25 of the terminal device 20 displays the screen S1 for constructing a program according to user operations using the input unit 23 on the output unit 24. The user creates a program in accordance with a block-based programming language by performing operations using the input unit 23 while visually checking the screen S1 displayed on the output unit 24 of the terminal device 20.
[0057] The screen S1 includes a selection area A1 for selecting a predetermined function block B from among a plurality of function blocks B. The screen S1 includes a construction area A2 in which the function blocks B selected by the user from the selection area A1 are arranged in units of step blocks B1 (described later) to construct a program. For example, when creating a program according to a block-based programming language, the user selects a required function block B from among the plurality of function blocks B arranged in the selection area A1 and moves it to the construction area A2 by an operation such as drag and drop. By repeating such operations, the user constructs a program that executes a series of processes from start to finish.
[0058] The control unit 25 of the terminal device 20 changes the type of function block B displayed in the selection area A1 as needed, according to a user's operation using the input unit 23. In the selection area A1, for example, an attribute name of a function block B is selected, and at least one function block B associated with the selected attribute name is displayed. The user updates the display in the selection area A1 so that the required function block B can be selected by clicking the attribute name of the function block B to be used in constructing a program. In the present disclosure, "attribute name" includes definition, basic, input, file operation, time data, and others.
[0059] The control unit 25 of the terminal device 20, in accordance with a user's operation using the input unit 23, arranges and displays a function block B0 for defining variables and a plurality of step blocks B1 in the construction area A2. In the function block B0, variables data1 and data2 are defined. The plurality of step blocks B1 indicate the flow of a series of processes executed as a program. The processing of the function block B associated with the step block B1 is executed in order starting from step number 1 across the plurality of step blocks B1.
[0060] Fig. 4 is a schematic diagram for explaining details of step block B1 in Fig. 3. An example of step block B1 included as one of function blocks B in the program acquired by the information processing device 10 in Fig. 2 will be explained in detail with reference to Fig. 4.
[0061] Step block B1 collectively associates some of a series of processes based on a program. A series of processes is executed according to a state transition from one step block B1 to another step block B1. In this disclosure, a "state" means, for example, a step of processing defined by a step block B1 in a program. A "state transition" means, for example, a transition of a program from a current state (step) to a next state (step) when the program is being executed.
[0062] The step block B1 is associated with a first function block B11 that indicates a transition condition required for a state transition. The first function block B11 associated with one step block B1 indicates a condition for a state transition to another step block B1. When the transition condition is satisfied while the program is being executed, the process transitions from the content based on the one step block B1 to the content based on the other step block B1.
[0063] 4 is associated with a plurality of first function blocks B11. For example, the step block B1 is associated with a plurality of first function blocks B11 that are determined according to a logical operation of AND. When a plurality of transition conditions respectively indicated by the plurality of first function blocks B11 are all satisfied, the process transitions to content based on another step block B1. For example, when the value of the variable data1 is 1 and the value of the variable data2 is also 1, the process transitions to content based on another step block B1.
[0064] The step block B1 is associated with a second function block B12 indicating a transition process executed before the above-mentioned state transition. The second function block B12 associated with one step block B1 indicates a process executed before a state transition to another step block B1. For example, in a current state determined by one step block B1, when a transition condition indicated by the first function block B11 is satisfied, a transition process indicated by the second function block B12 is executed. The transition process is, for example, a process executed after a transition condition associated with the same step block B1 is satisfied and before a state transition. Therefore, the first function block B11 and the second function block B12 are different from each other. After that, the process transitions from the content based on one step block B1 to the content based on the other step block B1.
[0065] 4 is associated with a plurality of second function blocks B12. For example, in the step block B1, when all of the plurality of transition conditions indicated by the plurality of first function blocks B11 are satisfied, all of the plurality of transition processes indicated by the plurality of second function blocks B12 are executed. For example, when the value of the variable data1 is 1 and the value of the variable data2 is also 1, a process of substituting a value of 10 for the variable data1 and a process of substituting a value of 20 for the variable data2 are executed. After that, the process transitions to the content based on another step block B1.
[0066] Step block B1 includes a step number N1 indicating the order of a series of processes based on a program. Step block B1 includes a step number N2 of a next step block B1 that executes processing successively through a state transition. For example, a step block B1 with a step number N1 of 1 is associated with a next step block B1 with a step number N2 of 2. In step block B1 shown in FIG. 4, the current state before the state transition is indicated by step number 1, and the next state after the state transition is indicated by step number 2.
[0067] A step block B1 includes a unique identification number N3 for distinguishing it from other step blocks B1. The multiple step blocks B1 are all indicated with different identification numbers N3. In the step block B1 shown in FIG. 4, 1 is indicated as the identification number N3. While it is possible that the step numbers N1 and the step numbers N2 of multiple step blocks B1 are the same, the identification numbers N3 are all different across the multiple step blocks B1.
[0068] In the following, an example of the first functional block B11 and the second functional block B12 shown in FIG. 4 will be mainly described with reference to FIGS. 5A to 5C.
[0069] Fig. 5A is a first schematic diagram showing an example of the first functional block B11 and the second functional block B12 of Fig. 4. Fig. 5A shows an example of the functional block B associated with "basic" among the attribute names of Fig. 3. The functional blocks B associated with "basic" among the attribute names include a first functional block B11 for comparison and a second functional block B12 for assignment, numerical calculation, output, and user file display.
[0070] The first comparison function block B11 is used for a process of comparing a variable input on the left side with a numerical value input on the right side to determine whether or not a transition condition that the variable matches the numerical value is satisfied. The second assignment function block B12 is used for a process of assigning a numerical value input on the right side to a variable input on the left side. The second numerical calculation function block B12 is used for a numerical calculation process of applying an arithmetic expression input on the right side to a variable input on the left side. The second output function block B12 is used for a process of outputting an input message to a user by the output unit 24 of the terminal device 20 or the like. The second user file display function block B12 is used for a process of outputting a file together with an input message to a user by the output unit 24 of the terminal device 20 or the like.
[0071] Fig. 5B is a second schematic diagram showing an example of the first functional block B11 and the second functional block B12 of Fig. 4. Fig. 5B shows an example of the functional block B associated with "input" among the attribute names of Fig. 3. The functional blocks B associated with "input" among the attribute names include a first functional block B11 for input check and second functional blocks B12 for list input, time input, numeric input, text input, and file input.
[0072] The first input check function block B11 is used for determining whether or not a transition condition that the input is correct is satisfied. The second list input function block B12 is used for processing list input, which allows variables as a list to be input together with a comment using a pull-down menu or the like. The second time input function block B12 is used for processing time input, which allows variables as time to be input together with a comment. The second numeric input function block B12 is used for processing numeric input, which allows variables as numeric values to be input together with a comment. The second text input function block B12 is used for processing text input, which allows variables as text to be input together with a comment. The second file input function block B12 is used for processing file input, which allows the contents of a file designated by the user to be held as a variable together with a comment.
[0073] Fig. 5C is a third schematic diagram showing an example of the first function block B11 and the second function block B12 in Fig. 4. Fig. 5C shows an example of the function block B associated with "file operation" among the attribute names in Fig. 3. The function blocks B associated with "file operation" among the attribute names include a first function block B11 for file confirmation and a second function block B12 for file read, file output, new Excel, read Excel, write Excel, file copy, and file move.
[0074] The first function block B11 for file confirmation is used for the process of determining whether or not the transition condition that the input file can be confirmed in the input folder is satisfied. The second function block B12 for file reading is used for the process of reading the input variable from the input file. The second function block B12 for file output is used for the process of outputting the file based on the input extension, using the input variable as the file name.
[0075] The second Excel New function block B12 is used for the process of creating a new sheet with the input file name. The second Excel Read function block B12 is used for the process of reading the input variables from the sheet range of the input file. The second Excel Write function block B12 is used for the process of writing the input variables from the first cell of the sheet of the input file.
[0076] The second file duplication function block B12 is used for a process of newly duplicating an input original file as an input new file. The second file movement function block B12 is used for a process of moving an input file to an input folder.
[0077] 3 again, the process associated with step block B1, in which both identification number N3 and step number N1 are 1, is executed first. At this time, it is determined whether or not the transition condition that the value of variable data1 is 1 is satisfied according to the first comparison function block B11 indicating the transition condition. If the value of variable data1 is 1, the value 100 is assigned to variable data2 according to the second assignment function block B12, and the program makes a state transition from step number 1 to step number 2.
[0078] The process associated with step block B1, whose identification number N3 and step number N1 are both 2, is then executed. At this time, it is determined whether or not the transition condition that the value of variable data1 is 2 is satisfied according to the first comparison function block B11 indicating the transition condition. If the value of variable data1 is 2, the message "Ending" is output according to the second output function block B12, and the program makes a state transition from step number 2 to step number 100, which indicates the end.
[0079] As described above, the control unit 13 of the information processing device 10 receives a program in which a plurality of step blocks B1, which are one of the functional blocks B, are arranged from the terminal device 20 via the network 30 and the communication unit 11. The control unit 13 stores the program acquired from the terminal device 20 in the storage unit 12.
[0080] Next, an example of processing in the information processing system 1 when the information processing device 10 cooperates with the terminal device 20 to support the execution of a program in a block-based programming language will be mainly described.
[0081] Fig. 6 is a second diagram for explaining an example of processing by the information processing device 10 in Fig. 2. With reference to Fig. 6, a screen S2 that the information processing device 10 causes the output unit 24 of the terminal device 20 to display via the communication unit 11 and the network 30 will be mainly explained.
[0082] The control unit 13 of the information processing device 10 causes the terminal device 20, which is communicatively connected to the information processing device 10, to display a screen S2 indicating the execution status of a program. The screen S2 shown in Fig. 6 indicates the execution status of the program constructed as shown in Fig. 3. The control unit 25 of the terminal device 20 displays the screen S2 indicating the execution status of the program executed by the control unit 13 of the information processing device 10 through the output unit 24. The user checks the execution status of the program while visually checking the screen S2 displayed on the output unit 24 of the terminal device 20.
[0083] The control unit 13 of the information processing device 10 highlights the function block corresponding to the currently executed process in order to show the current state of the program to the user on the screen S2. For example, when the control unit 13 is determining whether or not a transition condition is satisfied in the step block B1 whose identification number N3 and step number N1 are both 2, the control unit 13 highlights the box corresponding to the first function block B11 indicating the transition condition.
[0084] Fig. 7 is a third diagram for explaining an example of processing by the information processing device 10 in Fig. 2. With reference to Fig. 7, a screen S3 that the information processing device 10 causes the output unit 24 of the terminal device 20 to display via the communication unit 11 and the network 30 will be mainly explained.
[0085] The control unit 13 of the information processing device 10 causes the terminal device 20 to display a screen S3 for editing variables used in the step block B1 that are required for the execution of the program. The screen S3 shown in FIG. 7 is for editing variables required for the execution of the program constructed as shown in FIG. 3. The control unit 25 of the terminal device 20 displays the screen S3 for editing variables required for the execution of the program by the control unit 13 of the information processing device 10 through the output unit 24. The user operates the input unit 23 while visually checking the screen S3 displayed on the output unit 24 of the terminal device 20, thereby editing the variables required for the execution of the program. For example, the user edits the values of the variables data1 and data2 based on an input operation using the input unit 23 of the terminal device 20.
[0086] Fig. 8A is a fourth diagram for explaining an example of processing by the information processing device 10 of Fig. 2. Fig. 8B is a fifth diagram for explaining an example of processing by the information processing device 10 of Fig. 2. Figs. 8A and 8B show another example of a program constructed by a user using the input unit 23 of the terminal device 20 on the screen S1 shown in Fig. 3. As shown in Figs. 8A and 8B, six step blocks B1 are arranged in this program.
[0087] A step block B1, in which the identification number N3 and the step number N1 are both 1, is not associated with a first function block B11 indicating a transition condition, but is associated with a plurality of second function blocks B12 indicating transition processing. The plurality of second function blocks B12 include, in order, two consecutive output second function blocks B12, a text input second function block B12, a numeric input second function block B12, and a list input second function block B12. When these transition processes are executed, the program transitions to the state of step number 2.
[0088] Step block B1, whose identification number N3 and step number N1 are both 2, is associated with a first function block B11 of input check indicating a transition condition and a plurality of second function blocks B12 indicating transition processing. The plurality of second function blocks B12 include, in order, a second function block B12 of output, a second function block B12 of user file display, two consecutive second function blocks B12 of output, and a second function block B12 of time input. When these transition processes are executed, the program transitions to the state of step number 3.
[0089] Step block B1, whose identification number N3 and step number N1 are both 3, is associated with a first function block B11 of input check indicating a transition condition and a plurality of second function blocks B12 indicating transition processing. The plurality of second function blocks B12 includes, in order, a second function block B12 of output and two consecutive second function blocks B12 of user file display. When these transition processing are executed, the program transitions to the state of step number 4.
[0090] In this program, the state of step number 4 is parallelized in two by using a mutually different identification number N3.
[0091] Step block B1, whose identification number N3 and step number N1 are both 4, is associated with a plurality of first function blocks B11 indicating transition conditions and a plurality of second function blocks B12 indicating transition processing. The plurality of first function blocks B11 include, in order, a first function block B11 for comparison and a first function block B11 for time designation. The plurality of second function blocks B12 include, in order, a second function block B12 for three consecutive outputs and a second function block B12 for user file display. When these transition processes are executed, the program transitions to the state of step number 100 and ends.
[0092] A step block B1 with an identification number N3 of 5 and a step number N1 of 4 is associated with a first function block B11 of comparison indicating a transition condition and a plurality of second function blocks B12 indicating transition processing. The plurality of second function blocks B12 include, in order, two consecutive second function blocks B12 of output and a second function block B12 of user file display. When these transition processing are executed, the program transitions to the state of step number 6.
[0093] Step block B1, whose identification number N3 and step number N1 are both 6, is associated with a first function block B11 of comparison indicating a transition condition and a plurality of second function blocks B12 indicating transition processing. The plurality of second function blocks B12 include, in order, two consecutive second function blocks B12 of output and a second function block B12 of user file display. When these transition processing are executed, the program transitions to the state of step number 4.
[0094] In step number 4 of the program, step blocks B1 having different identification numbers N3 are arranged in parallel. The control unit 13 of the information processing device 10 acquires the program including the multiple step blocks B1 whose processes are executed in parallel from the terminal device 20 via the network 30 and the communication unit 11.
[0095] When a transition condition required for a state transition is satisfied in any of the step blocks B1, the control unit 13 executes only the processing of the step block B1 in which the transition condition is satisfied. For example, as shown in Fig. 6, when a transition condition required for a state transition is satisfied only in one of the two step blocks B1 with step number N1 of 4, the control unit 13 executes only the processing of one of the step blocks B1.
[0096] Conversely, when the transition conditions required for state transition are satisfied in multiple step blocks B1, the control unit 13 prioritizes execution of the process of the step block B1 with the smallest identification number N3. If the transition conditions required for state transition are both satisfied in two step blocks B1 with step number N1 of 4 in FIG. 6, the control unit 13 prioritizes execution of the process of the step block B1 with identification number N3 of 4.
[0097] The identification number N3 includes a priority indicating the priority order of the process to be executed when the transition condition required for the state transition is satisfied in multiple step blocks B1. When the identification number N3 is expressed by a number as described above, the priority order corresponds to the number itself. For example, the priority order may be higher as the number is smaller. The control unit 13 executes the process of one step block B1 among the multiple step blocks B1 based on the priority order. For example, when the transition condition required for the state transition is satisfied in multiple step blocks B1, the control unit 13 preferentially executes the process of the step block B1 with the highest priority order, i.e., the step block B1 with the smallest number of the identification number N3.
[0098] Fig. 9 is a sixth diagram for explaining an example of processing by the information processing device 10 in Fig. 2. With reference to Fig. 9, a screen S4 that the information processing device 10 causes the output unit 24 of the terminal device 20 to display via the communication unit 11 and the network 30 will be mainly explained.
[0099] The control unit 13 of the information processing device 10 causes the terminal device 20 to display a screen S4 showing instructions based on the execution of the program and comments from the user in response to the instructions. In addition to the instructions based on the execution of the program and the comments from the user in response to the instructions, an image output as a result of the execution of the program is also displayed on the screen S4.
[0100] 9 partially shows instructions based on the execution of the program constructed as shown in FIG 8A, comments from the user in response to the instructions, and an image output as a result of the execution of the program. The control unit 25 of the terminal device 20 displays the screen S4 based on the execution of the program by the control unit 13 of the information processing device 10 through the output unit 24.
[0101] The user inputs a comment for the instruction by operating the input unit 23 while checking the instruction from the program on the screen S4 displayed on the output unit 24 of the terminal device 20. For example, in response to the instruction "Please input detailed information," the user inputs the lot number, production volume, and target company as a comment.
[0102] Fig. 10 is a seventh diagram for explaining an example of processing by the information processing device 10 in Fig. 2. Fig. 11 is an eighth diagram for explaining an example of processing by the information processing device 10 in Fig. 2. Fig. 12 is a ninth diagram for explaining an example of processing by the information processing device 10 in Fig. 2. With reference to Figs. 10 to 12, a program acquired by the information processing device 10 from the terminal device 20 via the network 30 and the communication unit 11 will be mainly explained.
[0103] As described above, a program created by a user using the input unit 23 of the terminal device 20 and executed by the control unit 13 of the information processing device 10 is constructed as a flow of steps defined as states. The program is divided into a plurality of states from start to finish. In the example shown in FIG. 10, the program is divided into a step 1 state and a step 2 state from start to finish. In the example shown in FIG. 12, the program is divided into three or more states from start to finish.
[0104] 11, the user creates step rules for each step block B1 from the start to the end of the program using the input unit 23 of the terminal device 20. The step rules include transition conditions for the state transition of the program, transition processing to be executed when the transition conditions are satisfied, and the number of the step to be the transition destination.
[0105] For example, the step rule for step 1 includes two transition conditions. The step rule for step 1 includes two transition processes that are executed when both transition conditions are met. The step rule for step 1 includes the number 2 of the step that is the transition destination. For example, the step rule for step 2 includes two transition conditions. The step rule for step 2 includes two transition processes that are executed when both transition conditions are met. The step rule for step 2 includes the end of processing as a transition destination.
[0106] Fig. 13A is a tenth diagram for explaining an example of processing by the information processing device 10 of Fig. 2. Fig. 13B is an eleventh diagram for explaining an example of processing by the information processing device 10 of Fig. 2. Fig. 13C is a twelfth diagram for explaining an example of processing by the information processing device 10 of Fig. 2. With reference to Figs. 13A to 13C, a method for creating a step rule for obtaining a function similar to a control syntax such as an if / else statement in a program acquired by the information processing device 10 from the terminal device 20 via the network 30 and the communication unit 11 will be mainly described.
[0107] 13A shows a step rule for obtaining a function similar to an if / else statement for obtaining a branch. When transition condition A is satisfied in the state of step 1, the program transitions to the state of step 2. When transition condition B is satisfied in the state of step 1, the program transitions to the state of step 3. At this time, the program includes two step blocks B1.
[0108] A transition condition A is associated with the step block B1, whose identification number N3 is 01. A transition process A', which is executed when the transition condition A is satisfied, is associated with the step block B1. The step block B1 is associated with the number 2 of the step to be the transition destination.
[0109] A transition condition B is associated with the step block B1, whose identification number N3 is 02. A transition process B', which is executed when the transition condition B is satisfied, is associated with the step block B1. The step block B1 is associated with the number 3, which is the step to which the transition is to be made.
[0110] When the control unit 13 of the information processing device 10 executes a program, it executes the processing of both step 1 whose identification number N3 is 01 and step 1 whose identification number N3 is 02 in parallel. The state to which the program transitions changes depending on whether at least one of transition condition A or transition condition B is satisfied. The program transitions from the state of step 1 to the state of step 2 depending on whether only transition condition A is satisfied. The program transitions from the state of step 1 to the state of step 3 depending on whether only transition condition B is satisfied. When both transition condition A and transition condition B are satisfied, priority is given to the processing of step block B1 whose identification number N3 is the smallest, so the program transitions from the state of step 1 to the state of step 2.
[0111] FIG. 13B shows a step rule for obtaining a function similar to that of a for statement for obtaining repetition. When transition condition C is satisfied in the state of step 1, the program transitions to the state of step 2. When transition condition D is satisfied in the state of step 1, the program transitions to the state of step 1 itself. At this time, the program includes two step blocks B1.
[0112] A transition condition C is associated with the step block B1, whose identification number N3 is 01. A transition process C', which is executed when the transition condition C is satisfied, is associated with the step block B1. The step block B1 is associated with the number 2 of the step to be the transition destination.
[0113] A step block B1 having an identification number N3 of 02 is associated with a transition condition D. The step block B1 is associated with a transition process D' that is executed when the transition condition D is satisfied. The step block B1 is associated with the number 1 of the step to which the transition is to be made.
[0114] When executing a program, the control unit 13 of the information processing device 10 executes the processing of both step 1 whose identification number N3 is 01 and step 1 whose identification number N3 is 02 in parallel. The state to which the program transitions changes depending on whether at least one of transition condition C or transition condition D is satisfied. The program transitions from the state of step 1 to the state of step 2 depending on whether only transition condition C is satisfied. The program transitions from the state of step 1 to the state of step 1 depending on whether only transition condition D is satisfied. When both transition condition C and transition condition D are satisfied, priority is given to the processing of step block B1 whose identification number N3 is the smallest, so the program transitions from the state of step 1 to the state of step 2.
[0115] 13C shows a step rule for obtaining a function similar to that of a goto statement for obtaining a jump. When transition condition E is satisfied in the state of step 1, the program transitions to the state of step 2. When transition condition F is satisfied in the state of step 1, the program transitions to the state of step 3, skipping the state of step 2. At this time, the program includes two step blocks B1.
[0116] A transition condition E is associated with the step block B1, whose identification number N3 is 01. A transition process E', which is executed when the transition condition E is satisfied, is associated with the step block B1. The step block B1 is associated with the number 2 of the step to be the transition destination.
[0117] A transition condition F is associated with the step block B1, whose identification number N3 is 02. A transition process F', which is executed when the transition condition F is satisfied, is associated with the step block B1. The step block B1 is associated with the number 3, which is the step to which the transition is to be made.
[0118] When executing a program, the control unit 13 of the information processing device 10 executes the processing of both step 1 whose identification number N3 is 01 and step 1 whose identification number N3 is 02 in parallel. The state to which the program transitions changes depending on whether at least one of transition condition E or transition condition F is satisfied. The program transitions from the state of step 1 to the state of step 2 depending on whether only transition condition E is satisfied. The program transitions from the state of step 1 to the state of step 3 depending on whether only transition condition F is satisfied. When both transition condition E and transition condition F are satisfied, priority is given to the processing of step block B1 whose identification number N3 is the smallest, so the program transitions from the state of step 1 to the state of step 2.
[0119] According to the embodiment described above, a program written in a block-based programming language can be more easily understood. The information processing device 10 acquires a program including the step block B1 as one of the function blocks B, thereby introducing the concept of "step" into block-based programming and enabling the program to be visualized more simply. The program is not expressed as a single piece from beginning to end, but is expressed by a subset of steps. Therefore, even if the entire program becomes large-scale, the nesting is reduced.
[0120] This simplifies the program structure, and users can easily understand how conditional branching is created in a long program. Such large-scale programs can be easily understood not only by the user who constructed the program, but also by other users. The clarity of a large-scale program makes it easier for other users to understand the program when they modify it.
[0121] When users, including the user who constructed the program and other users, make partial changes to the program, such as adding a control statement, they need only rewrite step block B1 as part of the program. This makes it easier for users to partially edit the program, reducing the effort required for editing.
[0122] The step block B1 is associated with a first function block B11 indicating a transition condition required for a state transition of the program. This allows a condition for a state transition of the program from one step block B1 to another step block B1 to be specified in the program acquired by the information processing device 10.
[0123] The step block B1 is associated with a plurality of first function blocks B11 that are determined according to an AND logical operation. This allows an AND condition to be specified in a program acquired by the information processing device 10 to cause a state transition of the program from one step block B1 to another step block B1.
[0124] The step block B1 is associated with a second function block B12 that indicates a transition process executed before a state transition of the program. This makes it possible to specify a process immediately before a state transition of the program from one step block B1 to another step block B1 in the program acquired by the information processing device 10.
[0125] The step block B1 includes a step number N1 indicating the order of a series of processes based on the program, which allows the user to easily understand which step a given step block B1 corresponds to in the series of processes.
[0126] The step block B1 includes a step number N2 of the next step block B1 that executes processing following a state transition of the program. This allows a transition destination to be specified when the state of the program is transitioned from one step block B1 to another step block B1 in the program acquired by the information processing device 10. When the transition condition is satisfied in each step, the control unit 13 of the information processing device 10 executes the specified transition process to move the processing to the next step.
[0127] The step block B1 includes an identification number N3 for distinguishing it from other step blocks B1. This makes it possible to distinguish and specify multiple step blocks B1 having the same step number N1 from one another in a program acquired by the information processing device 10.
[0128] The information processing device 10 acquires a program including a plurality of step blocks B1 in which processing is executed in parallel with each other. This enables parallel processing in the program. For example, it is also possible to realize functions similar to the control syntax shown in Figures 13A to 13C in the program.
[0129] When a transition condition required for a state transition of a program is satisfied in multiple step blocks B1, the information processing device 10 executes the processing of one of the multiple step blocks B1 based on the priority. This makes it possible to realize the same function as the control syntax shown in Figures 13A to 13C in the program.
[0130] The program acquired by the information processing device 10 can be constructed without using control syntax such as if / else statements. Therefore, as described above, even if the entire program becomes large-scale, the nesting is reduced. Even for a large-scale program, the program structure can be kept simple.
[0131] The information processing device 10 displays a first screen S2 indicating the execution status of the program on the terminal device 20 that is communicatively connected to the information processing device 10. This allows the user to easily check the current state of the program using the output unit 24 of the terminal device 20.
[0132] The information processing device 10 causes the terminal device 20 to display the second screen S3 for editing variables used in the step block B1 that are necessary for executing the program. This allows the user to easily edit the variables used in the program using the input unit 23 while visually checking the output unit 24 of the terminal device 20.
[0133] The information processing device 10 causes the terminal device 20 to display a third screen S4 showing instructions based on the execution of the program and comments from the user regarding the instructions. This allows the user to easily check the instructions based on the execution of the program using the output unit 24 of the terminal device 20. The user can easily check the comments regarding the instructions, which the user input using the input unit 23 of the terminal device 20, using the output unit 24 of the terminal device 20.
[0134] The information processing device 10 causes the terminal device 20 to display a fourth screen S1 for constructing a program in accordance with a user's operation using the terminal device 20. This allows the user to easily create a program in accordance with a block-based programming language using the input unit 23 while visually checking the output unit 24 of the terminal device 20.
[0135] The fourth screen S1 includes a selection area A1 and a construction area A2. This improves operability when the user constructs a program. The user can perform an operation of selecting a specific function block B from a plurality of function blocks B and an operation of arranging the selected function blocks B for each step block B1 to construct a program in different areas on the fourth screen S1. The user can construct a program more easily.
[0136] The information processing device 10 can support the construction of work display logic for workers in the manufacturing industry. The information processing device 10 improves the visibility of programs written in block-based programming languages, and supports even users with little programming experience in easily constructing the necessary logic.
[0137] Although the present disclosure has been described based on the drawings and examples, it should be noted that those skilled in the art can make various modifications and alterations based on the present disclosure. Therefore, it should be noted that these modifications and alterations are included in the scope of the present disclosure. For example, the functions included in each configuration or each step can be rearranged so as not to be logically inconsistent, and multiple configurations or steps can be combined or divided into one.
[0138] For example, a general-purpose electronic device such as a smartphone or a computer can be configured to function as the information processing device 10 according to the embodiment described above. Specifically, a program describing the processing contents for realizing each function of the information processing device 10 according to the embodiment is stored in the memory of the electronic device, and the program is read and executed by the processor of the electronic device. Therefore, the present disclosure can also be realized as a program executable by a processor.
[0139] Alternatively, the present disclosure may be realized as a non-transitory computer-readable medium storing a program executable by one or more processors to cause the information processing device 10 according to an embodiment to execute each function. It should be understood that these are also included in the scope of the present disclosure.
[0140] In the above embodiment, the information processing device 10 has been described as supporting at least one of the creation and execution of a program in accordance with a block-based programming language in cooperation with the terminal device 20, but is not limited thereto. The information processing device 10 may function as a terminal rather than a server, and independently support at least one of the creation and execution of a program in accordance with a block-based programming language.
[0141] In the above embodiment, the information processing device 10 acquires a program by receiving the program from the terminal device 20 via the network 30, but this is not limiting. When the information processing device 10 functions as a terminal, it may directly acquire a program constructed in accordance with a user's operation using its own input interface.
[0142] In the above embodiment, the step block B1 is described as being associated with the first function block B11 indicating a transition condition required for a state transition of the program, but is not limited to this. The step block B1 does not have to be associated with the first function block B11.
[0143] Fig. 14 is a schematic diagram for explaining another example of the process by the information processing device 10 of Fig. 2. In the above embodiment, the step block B1 is described as being associated with a plurality of first function blocks B11 determined according to a logical operation of AND, but this is not limiting. The step block B1 may be associated with a plurality of first function blocks B11 determined according to a logical operation of OR.
[0144] 14, the step block B1 may be associated with a plurality of first function blocks B11 via an OR block B2. In this case, when executing a process based on the step block B1, the control unit 13 of the information processing device 10 determines whether or not a transition condition of any of the plurality of first function blocks B11 associated with the step block B1 via the OR block B2 is satisfied. When the control unit 13 determines that a transition condition of any of the plurality of first function blocks B11 is satisfied, the control unit 13 executes a transition process to move the process to the next step.
[0145] The OR logical operation function of the step block B1 shown on the left side of Fig. 14 is equivalent to a function based on the three step blocks B1 shown to the right. The step block B1 is a representation of the three step blocks B1 shown to the right combined into one. By combining the OR logical operation functions into one step block B1 via the OR block B2 in this way, the program structure is simplified and its visibility is further improved.
[0146] In the above embodiment, the step block B1 is described as being associated with the second function block B12 that indicates a transition process executed before a state transition of the program, but this is not limited thereto. The step block B1 does not have to be associated with the second function block B12.
[0147] The step block B1 does not need to be associated with either the first function block B11 or the second function block B12, and can be placed independently when constructing a program.
[0148] In the above embodiment, the step block B1 is described as including the step number N1 indicating the order in the series of processes, but is not limited to this. The step block B1 may indicate the order in the series of processes in any other manner instead of or in addition to the step number N1. For example, the step block B1 may include letters and symbols other than numbers that indicate the order in the series of processes based on the program. Or, the step block B1 may not even include the step number N1 indicating the order in the series of processes.
[0149] In the above embodiment, the step block B1 is described as including the step number N2 of the next step block B1 that executes processing continuously according to the state transition of the program, but is not limited to this. The step block B1 may indicate the next step block B1 in any other manner instead of or in addition to the step number N2. For example, the step block B1 may include letters and symbols other than numbers that indicate the next step block B1. Or, the step block B1 may not even include the step number N2 that indicates the next step block B1.
[0150] In the above embodiment, the step block B1 includes the identification number N3 as a number for distinguishing it from other step blocks B1, but this is not limited to this. The identification number N3 may be distinguished from other step blocks B1 in any other form instead of or in addition to a number. For example, the identification number N3 may include letters and symbols other than numbers for distinguishing it from other step blocks B1. In this case, the priority may be higher, for example, the earlier the letters and symbols are in the order. For example, the priority may be higher for alphabet characters that are earlier in the alphabet order. Or, the step block B1 may not even include the identification number N3 for distinguishing it from other step blocks B1.
[0151] In the above embodiment, the information processing device 10 acquires a program including a plurality of step blocks B1 whose processes are executed in parallel with each other, but this is not limited to the above. The program does not have to include a plurality of step blocks B1 whose processes are executed in parallel with each other.
[0152] In the above embodiment, the information processing device 10 has been described as preferentially executing the process of the step block B1 with the smallest identification number N3 when the transition condition required for the state transition of the program is satisfied in multiple step blocks B1, but this is not limited to the above. The information processing device 10 may preferentially execute the process of a step block B1 other than the step block B1 with the smallest identification number N3. For example, the information processing device 10 may preferentially execute the process of the step block B1 with the largest identification number N3.
[0153] In the above embodiment, the information processing device 10 has been described as causing the terminal device 20 communicably connected to the information processing device 10 to display the first screen S2 indicating the execution status of the program, but is not limited thereto. The information processing device 10 does not have to display the first screen S2 indicating the execution status of the program. For example, in a case where the information processing device 10 only supports the creation of a program according to a block-based programming language, the information processing device 10 does not have to display the first screen S2.
[0154] In the above embodiment, the information processing device 10 has been described as displaying the second screen S3 for editing variables used in step block B1 that are necessary for executing a program on the terminal device 20, but this is not limiting. The information processing device 10 does not need to display the second screen S3. For example, when only supporting the creation of a program according to a block-based programming language, the information processing device 10 does not need to display the second screen S3.
[0155] In the above embodiment, the information processing device 10 has been described as causing the terminal device 20 to display the third screen S4 showing instructions based on the execution of a program and comments from the user in response to the instructions, but is not limited thereto. The information processing device 10 does not need to display the third screen S4. For example, when only supporting the creation of a program according to a block-based programming language, the information processing device 10 does not need to display the third screen S4.
[0156] In the above embodiment, the information processing device 10 has been described as causing the terminal device 20 to display the fourth screen S1 for constructing a program in accordance with a user's operation using the terminal device 20, but this is not limiting. The information processing device 10 does not have to display the fourth screen S1. For example, when the information processing device 10 only supports the execution of a program according to a block-based programming language, the information processing device 10 does not have to display the fourth screen S1.
[0157] In the above embodiment, the fourth screen S1 is described as including the selection area A1 and the construction area A2, but is not limited thereto. The fourth screen S1 may be configured in any other manner. For example, the fourth screen S1 may be configured so that an area for selecting a specific function block B from among a plurality of function blocks B and an area for constructing a program by arranging the selected function blocks B for each step block B1 are the same as each other.
[0158] In the above embodiment, the program is constructed by the drag-and-drop operation of the user using the mouse included in the input unit 23 of the terminal device 20, but the present invention is not limited to this. The program may be constructed based on any other operation. For example, the program may be constructed based on the voice input operation of the user using the microphone included in the input unit 23 of the terminal device 20.
[0159] Some of the embodiments of the present disclosure will be described below as examples. However, it should be noted that the embodiments of the present disclosure are not limited to these examples. [Appendix 1] An information processing device that supports at least one of creating and executing a program according to a block programming language, A control unit is provided, the control unit being Acquire the program including, as one of the function blocks, a step block that collectively associates some processes among a series of processes based on the program, and in which the series of processes are executed according to a state transition from one of the step blocks to another of the step blocks. Information processing device. [Appendix 2] 2. The information processing device according to claim 1, The step block is associated with a first function block indicating a transition condition required for the state transition. Information processing device. [Appendix 3] The information processing device according to claim 2, The step block is associated with a plurality of the first function blocks determined according to a logical operation of AND or OR; Information processing device. [Appendix 4] An information processing device according to any one of claims 1 to 3, The step block is associated with a second function block indicating a transition process to be executed before the state transition. Information processing device. [Appendix 5] An information processing device according to any one of claims 1 to 4, The step block includes a step number indicating a sequence of steps in the series of processes. Information processing device. [Appendix 6] The information processing device according to claim 5, The step block includes the step number of the next step block that continues to execute processing due to the state transition. Information processing device. [Appendix 7] 7. An information processing device according to any one of claims 1 to 6, The step block includes an identification number for distinguishing it from other step blocks. Information processing device. [Appendix 8] 8. The information processing device according to claim 7, The control unit acquires the program including a plurality of the step blocks in which processes are executed in parallel with each other. Information processing device. [Appendix 9] 9. The information processing device according to claim 8, the identification number includes a priority indicating a priority order of a process to be executed when a transition condition required for the state transition is satisfied in a plurality of the step blocks, The control unit executes processing of one of the step blocks based on the priority. Information processing device. [Appendix 10] An information processing device according to any one of claims 1 to 9, The control unit causes a terminal device communicably connected to the information processing device to display a first screen showing an execution status of the program. Information processing device. [Appendix 11] 11. The information processing device according to claim 10, The control unit causes the terminal device to display a second screen for editing variables used in the step block that are necessary for executing the program. Information processing device. [Appendix 12] 12. The information processing device according to claim 10, the control unit causes the terminal device to display a third screen showing an instruction based on the execution of the program and a comment from the user on the instruction. Information processing device. [Appendix 13] 13. The information processing device according to any one of claims 10 to 12, the control unit causes the terminal device to display a fourth screen for constructing the program in accordance with a user's operation using the terminal device; Information processing device. [Appendix 14] 14. The information processing device according to claim 13, The fourth screen includes a selection area for selecting a predetermined function block from among the plurality of function blocks, and a construction area for arranging the selected function blocks for each step block to construct the program. Information processing device. [Appendix 15] An information processing method for supporting at least one of creation and execution of a program according to a block-based programming language, comprising: acquiring the program including, as one of the function blocks, a step block that collectively associates some processes among a series of processes based on the program, and in which the series of processes are executed according to a state transition from one of the step blocks to another of the step blocks; Including, Information processing methods. [Appendix 16] An information processing device that supports at least one of creating and executing a program according to a block programming language, acquiring the program including, as one of the function blocks, a step block that collectively associates some processes among a series of processes based on the program, and in which the series of processes are executed according to a state transition from one of the step blocks to another of the step blocks; performing an operation including program. [Explanation of symbols]
[0160] 1. Information Processing Systems 10. Information processing device 11 Communications Department 12 Storage section 13 Control section 20 Terminal Equipment 21 Communications Department 22 Memory section 23 Input section 24 Output section 25 Control Unit 30 Network A1 Selection area A2 Construction Area B Function Block B0 Function Block B1 Step Block B11 First function block B12 Second Function Block B2 OR Block N1 Step number N2 Step number N3 Identification Number S1 screen (4th screen) S2 screen (1st screen) S3 screen (second screen) S4 screen (3rd screen)
Claims
1. An information processing device that supports at least one of creating and executing a program according to a block programming language, A control unit is provided, the control unit being Acquire the program including, as one of the function blocks, a step block that collectively associates some processes among a series of processes based on the program, and in which the series of processes are executed according to a state transition from one of the step blocks to another of the step blocks. Information processing device.
2. 2. The information processing device according to claim 1, The step block is associated with a first function block indicating a transition condition required for the state transition. Information processing device.
3. 3. The information processing device according to claim 2, The step block is associated with a plurality of the first function blocks determined according to a logical operation of AND or OR. Information processing device.
4. 4. The information processing device according to claim 1, The step block is associated with a second function block indicating a transition process to be executed before the state transition. Information processing device.
5. 4. The information processing device according to claim 1, The step block includes a step number indicating a sequence of steps in the series of processes. Information processing device.
6. 6. The information processing device according to claim 5, The step block includes the step number of the next step block that continues to execute processing due to the state transition. Information processing device.
7. 4. The information processing device according to claim 1, The step block includes an identification number for distinguishing it from other step blocks. Information processing device.
8. The information processing device according to claim 7, The control unit acquires the program including a plurality of the step blocks in which processes are executed in parallel with each other. Information processing device.
9. 9. The information processing device according to claim 8, the identification number includes a priority indicating a priority order of a process to be executed when a transition condition required for the state transition is satisfied in a plurality of the step blocks, The control unit executes processing of one of the step blocks based on the priority. Information processing device.
10. 4. The information processing device according to claim 1, The control unit causes a terminal device communicably connected to the information processing device to display a first screen showing an execution status of the program. Information processing device.
11. The information processing device according to claim 10, The control unit causes the terminal device to display a second screen for editing variables used in the step block that are necessary for executing the program. Information processing device.
12. The information processing device according to claim 10, the control unit causes the terminal device to display a third screen showing an instruction based on the execution of the program and a comment from the user on the instruction. Information processing device.
13. The information processing device according to claim 10, the control unit causes the terminal device to display a fourth screen for constructing the program in accordance with a user's operation using the terminal device; Information processing device.
14. The information processing device according to claim 13, the fourth screen includes a selection area for selecting a predetermined function block from among the plurality of function blocks, and a construction area for arranging the selected function blocks for each step block to construct the program, Information processing device.
15. 1. An information processing method for supporting at least one of creation and execution of a program according to a block-based programming language, comprising: acquiring the program including, as one of the function blocks, a step block that collectively associates some processes among a series of processes based on the program, and in which the series of processes are executed according to a state transition from one of the step blocks to another of the step blocks; Including, Information processing methods.
16. An information processing device that supports at least one of creating and executing a program according to a block programming language, acquiring the program including, as one of the function blocks, a step block that collectively associates some processes among a series of processes based on the program, and in which the series of processes are executed according to a state transition from one of the step blocks to another of the step blocks; performing an action including program.
Citation Information
Patent Citations
Programming support tool
JP2022178061A