Modeling support method, information processing device, and program
The method enhances programming and modeling tools by enabling intuitive addition of branching and iteration through simple touch or keyboard operations, improving usability and reducing complexity for beginners.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-03-21
- Publication Date
- 2026-03-17
AI Technical Summary
Conventional programming languages and modeling tools, including visual programming, face challenges in representing branching and iteration, which can disrupt the user's thought process and make operations cumbersome, especially for beginners.
A method and device that allows users to intuitively add control elements for branching and iteration by performing simple touch or keyboard operations, such as swiping, flicking, or drawing arcs, to create program structures on a touch panel or keyboard interface.
Improves the operability of modeling tools by allowing users to focus on programming without interruption, making it easier for beginners to learn and construct complex programs.
Smart Images

Figure 0007831665000001 
Figure 0007831665000002 
Figure 0007831665000003
Abstract
Description
Technical Field
[0001] The disclosure of this specification relates to a modeling support method, an information processing apparatus, and a program.
Background Art
[0002] The importance of programming education that can cultivate logical thinking and problem-solving abilities is currently recognized worldwide. In recent years, in Japan as well, programming education has been made compulsory in elementary schools, and the spread of programming education among the younger generation has been promoted.
[0003] On the other hand, conventional programming languages used in programming require writing program codes, making it too difficult for beginners including elementary school students to start learning programming for the first time.
[0004] For this reason, various programming languages for education based on GUI (Graphical User Interface) that can be easily learned by beginners have been developed. Such programming languages for education are generally called visual programming languages. In visual programming, since algorithms are graphically represented, there is no need to write codes in text, and programming is possible only by operating the GUI. Technologies related to visual programming are described in, for example, Patent Document 1.
Prior Art Documents
Patent Documents
[0005]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0006] Incidentally, branching and iteration, like sequential operation, are fundamental control structures in programming. When representing control structures graphically, the graphical representation of branching and iteration becomes more complex than that of sequential operation. Therefore, even in visual programming, the GUI operations required to implement branching and iteration tend to be more cumbersome than those for sequential operation.
[0007] Clumsy operations can easily interrupt the thought process of considering algorithms, as attention is drawn to the operations themselves. Therefore, in visual programming, there is a need for technical improvements that enable intuitive programming, particularly regarding branching and iteration, without interrupting the thought process.
[0008] While the above explanation assumes the use of programming tools for visual programming, similar challenges can arise not only in the program implementation phase but also in the design phase. Therefore, the above challenges are common to all modeling tools, including programming tools. Furthermore, these challenges in modeling tools can arise not only in the design of programs that run on a computer, but also in the design of overall processing flows, such as business process flows.
[0009] Based on the circumstances described above, one aspect of the present invention is to provide a technology that improves the operability of modeling tools used for designing or programming processing flows. [Means for solving the problem]
[0010] A modeling support method according to one aspect of the present invention is a computer that ,order Next, branch, Repetition Showing the structure In this state, multiple control elements are placed on a line. Display 1 Processing and the above The first processing is displayed line When a first operation is performed to specify two positions on the first line that enclose an element placed above, a second operation is performed to place and display a repeating element, which is a control element indicating the repetition of the element enclosed by the two positions. Processing and, of Execute. Furthermore, a modeling support method according to one aspect of the present invention includes a first process in which a computer arranges and displays a plurality of control elements on a line in a state that shows a control structure including sequential, branching, and iteration; and a second process in which, when a first operation is performed in which a first control element located at a first position on the first line displayed by the first process is specified and then a second position on the first line where no elements are located is specified, the computer moves the position of the first control element to the second position and moves the positions of control elements located between the first and second positions so as to maintain the distance between the control elements. [Effects of the Invention]
[0013] According to the above aspect, the operability of the modeling tool can be improved.
Brief Description of Drawings
[0014] [Figure 1] It is an external view of the information processing apparatus 10 according to the first embodiment. [Figure 2] It is a hardware configuration diagram of the information processing apparatus 10 according to the first embodiment. [Figure 3] It is a flowchart showing an example of the programming support process performed by the information processing apparatus 10. [Figure 4] It is a diagram showing a configuration example of the screen displayed on the information processing apparatus 10. [Figure 5] It is a diagram for explaining an example of a method for adding an element showing a control structure. [Figure 6] It is a diagram for explaining an example of a method for setting parameters of an element. <> [Figure 7] It is a diagram for explaining an example of a method for changing the order of elements showing a control structure. [Figure 8] It is a diagram for explaining an example of a method for adding an element showing a branch. <<> [Figure 9] It is a diagram for explaining an example of a method for setting parameters of an element showing a branch. [Figure 10] It is a diagram for explaining an example of an operation method for a branch. [Figure 11] It is a diagram for explaining another example of an operation method for a branch. [Figure 12] It is a diagram for explaining another example of a method for adding an element showing a branch. [Figure 13] It is a diagram for explaining an example of a method for adding an element showing a branch in a nested manner. <00> [Figure 14] It is a diagram for explaining an example of a method for adding an element showing an iteration. [Figure 15] It is a diagram for explaining an example of a method for setting parameters of an element showing an iteration. [Figure 16] It is a diagram for explaining another example of a method for adding an element showing an iteration. [Figure 17] It is a diagram for explaining yet another example of a method for adding an element indicating repetition. [Figure 18] It is a diagram for explaining yet another example of a method for adding an element indicating repetition. [Figure 19] It is a diagram for explaining an example of an operation method for an element indicating nested repetition. [Figure 20] It is an external view of the information processing apparatus 60 according to the second embodiment. [Figure 21] It is a diagram for explaining an example of a method for adding an element indicating a branch. [Figure 22] It is a diagram for explaining an example of a method for adding an element indicating repetition.
Mode for Carrying Out the Invention
[0015] Hereinafter, while specifically exemplifying the GUI provided by the modeling tool, a modeling support method, an information processing apparatus, and a program according to embodiments of the present invention will be described. In this specification, the modeling tool means an application program that supports modeling work performed by a user, and / or a computer on which the program operates. That is, the modeling tool is at least one of software, hardware, or a combination thereof that supports modeling work.
[0016] In this specification, a case where the modeling tool is a desktop application program or an information processing apparatus (hereinafter also referred to as a user terminal) directly operated by a user in which the desktop application program is installed will be described as an example. However, the modeling tool may be a web application program, or may be an information processing apparatus different from the user terminal in which the web application program is deployed. That is, the modeling tool may provide a GUI on the web browser of the user terminal.
[0017] Furthermore, this specification describes a modeling tool as a visual programming tool that converts a program graphically represented using elements (objects) such as shapes into text-based program code (source code) for execution. However, the modeling tool is not limited to a programming tool that creates and executes source code; for example, it may be a drawing tool that draws flowcharts of processes executed on a computer. The modeling tool may also be used as a drawing tool to depict business process flows.
[0018] [First Embodiment] Figure 1 is an external view of the information processing device 10 according to this embodiment. Figure 2 is a hardware configuration diagram of the information processing device 10 according to this embodiment. As shown in Figure 1, the information processing device 10 is, for example, a tablet terminal equipped with a touch panel display and a computer on which a program for visual programming is installed.
[0019] The information processing device 10 can be any touch device having a touch panel display, and is not limited to a tablet terminal. The information processing device 10 may be, for example, a laptop computer, a smartphone, or an electronic dictionary. Furthermore, it is not limited to a mobile terminal; for example, it may be a table-type computer with a touch panel display embedded in a table.
[0020] As shown in Figure 2, the information processing device 10 comprises one or more processors 1, one or more storage devices 2, an input device 3, a display device 4, and a communication device 5. These components are connected via a bus 6. The input device 3 and the display device 4 constitute a touch panel display and are arranged overlapping each other, as shown in Figure 1.
[0021] Each of the one or more processors 1 is hardware, such as a CPU (Central Processing Unit), and executes a program 2a stored in a storage device 2. The CPU includes a control unit, arithmetic unit, registers, cache memory, and interfaces with other devices. The one or more processors 1 may also include a GPU (Graphics Processing Unit), ASIC (Application Specific Integrated Circuit), FPGA (Field-Programmable Gate Array), DSP (Digital Signal Processor), etc.
[0022] Each of the one or more storage devices 2 is a non-temporary computer-readable medium, such as any semiconductor memory. The one or more storage devices 2 include volatile memory such as RAM (Random Access Memory), non-volatile memory such as ROM (Read Only Memory), and flash memory. The storage devices 2 may also include magnetic storage devices, optical storage devices, and other types of storage devices.
[0023] At least one of the one or more storage devices 2 contains program 2a. Program 2a is a visual programming tool and contains instructions for programming support processing, which will be described later. The instructions contained in program 2a are configured to cause one or more processors 1 to perform predetermined operations.
[0024] Input device 3 is a device that the user operates directly. Specifically, input device 3 is a touch sensor that constitutes a touch panel display. The detection method of the touch sensor is not particularly limited. For example, any detection method such as resistive, capacitive, electromagnetic induction, ultrasonic surface acoustic wave, or infrared can be used.
[0025] The display device 4 is, for example, a liquid crystal display or an organic EL display, but it may be any other type of display. The communication device 5 is a device for communicating with external devices. The communication device 5 is, for example, a wireless communication device such as a Wi-Fi module.
[0026] Visual programming performed by the user using the information processing device 10 configured as described above involves creating a program by arranging elements that represent the control structure of the program on the screen. The programming support processing performed by the information processing device 10 controls the screen display according to the user's input operations while visual programming is being performed.
[0027] Figure 3 is a flowchart illustrating an example of programming support processing performed by the information processing device 10. Figure 4 shows an example of the screen configuration displayed on the information processing device 10. The programming support methods implemented using the information processing device 10 will be outlined below with reference to Figures 3 and 4. Note that the programming support processing shown in Figure 3 is an example of modeling support processing and is initiated when one or more processors 1 execute instructions included in the program 2a stored in the storage device 2.
[0028] First, processor 1 displays a line on the display device 4 where one or more elements, each representing a control structure classified as sequential, branching, or iterative, can be placed (step S1). In step S1, for example, when the user taps the software button labeled "New" in area 12, processor 1 displays line L in area 12 of the display device 4 as shown in Figure 4. Area 12 is a programming area where the program designed by the user is represented using graphics. Line L displayed in area 12 shows the processing flow of the program from one end of line L labeled "START" to the other end of line L labeled "END". On line L, elements representing control structures displayed in area 11 can be selectively placed according to the user's operation. Hereafter, elements representing control structures classified as sequential, branching, or iterative will also be simply referred to as control elements.
[0029] Subsequently, processor 1 monitors input operations to input device 3. When an input operation is performed, processor 1 detects the input operation based on the output from input device 3 (step S2). In step S2, processor 1 detects the user's input operation based on the operation signal output by input device 3 (touch sensor) in response to the user's input operation on the touch panel display.
[0030] If it is determined in step S3 that the input operation detected in step S2 is (1) an operation on line L or a control element on line L, and (2) an operation in a direction that intersects line L, then the processor 1 causes the display device 4 to display a new control element on line L that is classified as a branch or a repeat (steps S4 to S7, step S9). In other words, the processor 1 detects an input operation on line L or an element on line L, and if the detected input operation includes an operation in a direction that intersects line L, it causes the display device 4 to display a new control element on line L that is classified as a branch or a repeat.
[0031] Specifically, if the input operation detected in step S2 is a unidirectional operation on line L or an element on line L in a direction intersecting line L (step S4: unidirectional), processor 1 displays a new control element (branch element) classified as a branch on line L on the display device 4. More specifically, processor 1 branches line L (step S5), adds a branch element at the branch point (step S6), and updates the screen display (step S9). Unidirectional operations include, for example, flicking, swiping, and sliding.
[0032] Furthermore, if the input operation detected in step S2 is a bidirectional operation on line L or an element on line L that intersects line L (step S4: bidirectional), processor 1 displays a new control element (repeating element) classified as a repetition on line L on the display device 4. In other words, processor 1 adds a repetitive element (step S7) and updates the screen display (step S9). Bidirectional operations include, for example, a pair of flicks in opposite directions, a pair of swipes in opposite directions, or slides that trace a trajectory that turns back and forth.
[0033] Furthermore, if the trajectory of the input operation detected in step S2 traces an arc that crosses line L (step S4: arc crossing line), processor 1 displays a new control element (repeating element) classified as a repetition on line L on the display device 4. In other words, processor 1 adds a repetitive element (step S7) and updates the screen display (step S9).
[0034] On the other hand, if it is determined in step S3 that the input operation detected in step S2 does not satisfy conditions (1) and (2) described later, the processor 1 performs processing corresponding to that input operation (step S8), and then updates the screen display of the display device 4 (step S9). The input operations targeted in step S8 are not particularly limited, but may include, for example, taps, double taps, long taps, pinch-in, pinch-out, flicks, swipes, and slides on area 11 or area 12. Processing corresponding to these input operations may include, for example, the process of displaying newly classified control elements on line L.
[0035] When the display is updated, processor 1 determines whether a termination command has been entered (step S10). If it determines that a termination command has been entered, processor 1 terminates the programming support process shown in Figure 3. On the other hand, if it determines that no termination command has been entered, processor 1 repeats the processes from step S2 to step S9 until a termination command is entered.
[0036] The information processing device 10 executes the programming support process shown in Figure 3 above, Control structures classified as branching and iteration can be added to programs with intuitive and simple operations. This improves the usability of the programming tool compared to conventional methods, allowing users to concentrate on programming without interrupting their thinking and enabling efficient programming learning. Furthermore, even beginners unfamiliar with programming or programming tools can operate it intuitively, reducing the likelihood of confusion and difficulty in using the programming tool compared to conventional programming tools. This prevents situations where users give up on learning programming altogether in the early stages due to the difficulty of mastering the programming tool. In summary, the information processing device 10 makes it possible to lower the barrier to learning programming.
[0037] The following will provide a more detailed explanation of the programming support methods implemented using the information processing device 10, with reference to Figures 5 through 19. Figure 5 is a diagram illustrating an example of how to add elements that indicate a control structure. Figure 6 is a diagram illustrating an example of how to set the parameters of an element. Figure 7 is a diagram illustrating an example of how to change the order of the elements that indicate a control structure. First, we will explain how to add control elements to the region 12, with reference to Figures 5 through 7.
[0038] To add a control element, the user simply long-presses on line L, as shown in Figure 5, and the new control element 21 is added at the long-pressed position. Furthermore, the type of control element can be freely switched from any of the control elements displayed in area 11 by flicking the control element 21 added on line L left or right.
[0039] By repeatedly adding control elements, multiple control elements can be displayed side-by-side on line L, as shown in Figure 6. This allows for the creation of the overall program framework. For example, the program shown in Figure 6 represents a processing flow consisting of input processing ("Input"), display processing ("Disp"), movement processing ("Move"), waiting processing ("Wait"), movement processing ("Move"), waiting processing ("Wait"), and movement processing ("Move").
[0040] Note that this is not the only way to add a control element. For example, you can add a control element by dragging the control element displayed in area 11 onto line L and dropping it at the desired location.
[0041] Parameter settings for each control element can be performed by long-tapping the control element added to line L, as shown in Figure 6. Long-tapping a control element displays the setting window 23 for parameter settings. Parameters can be set for the control element by entering or selecting information in the items in the setting window 23.
[0042] Furthermore, the order in which control elements are added to line L can be changed later. For example, as shown in Figure 7, tap control element 25 to select it as the target for movement. Then, drag the selected control element 25 and drop it at the desired position to move it to the desired location. Note that, for example, if the control elements are set to be aligned at regular intervals, the spacing between control elements can be maintained by moving the other control elements in accordance with the movement of control element 25. In the example shown in Figure 7, the movement of control element 25 backward causes control elements 26 through 29 to move forward.
[0043] Figure 8 illustrates an example of how to add an element indicating a branch. Figure 9 illustrates an example of how to set the parameters of an element indicating a branch. Figure 10 illustrates an example of how to operate on a branch. Figure 11 illustrates another example of how to operate on a branch. The above describes how to add any control element, but from here on, we will describe methods specific to adding control elements classified as branches (branch elements), referring to Figures 8 to 11.
[0044] To add a branching element, the user first taps and selects the control element 31 corresponding to the process they want to execute only under specific conditions, as shown in Figure 8. Then, they can drag and drop or flick the selected control element 31 in a direction that intersects line L. Note that the operation on the control element 31 is not limited to drag and drop or flick; any unidirectional operation in a direction that intersects line L is acceptable. Specifically, for example, swiping or sliding may also be used.
[0045] When processor 1 detects a unidirectional operation on the control element 31 in a direction intersecting line L, as shown in Figure 8, it adds a new line L1 branched from line L and displays the control element 31 on line L1, and also adds a branching element 32 as a new control element at the branching point where line L branches to line L1.
[0046] Parameter settings for branch elements can be performed by long-tapping the branch element 32 added to line L, as shown in Figure 9. This is the same as setting parameters for any control element, as described above in Figure 6. Branch conditions can also be set within the settings window 33.
[0047] Furthermore, if there are other processes that you want to execute only under specific conditions, you can drag the control element 34 corresponding to that process and drop it at the desired position on the branched line (line L, line L1), as shown in Figure 10. In this case, the position of other control elements (such as control element 35) may be automatically adjusted by moving control element 34.
[0048] Furthermore, if there is insufficient space to place processes that should only be executed under specific conditions, space can be created by dragging and dropping the junction where branched lines (line L, line L1) merge, as shown in Figure 10. Figure 10 shows how a new control element 36 is added to the space created by this operation.
[0049] Furthermore, the merging position of the branched lines may be adjusted by flicking the merging point toward the end of line L labeled "END". For example, as shown in Figure 11, the program may be designed so that the branch merges at the end of the processing flow by flicking, or the merging position may move backward by the amount of one control element with each flick. Alternatively, the merging position may move forward by the amount of one control element with each flick by flicking the merging point toward the beginning of line L labeled "START".
[0050] Figure 12 illustrates another example of how to add elements that indicate branching. Figure 13 illustrates an example of how to add elements that indicate branching in a nested manner. Above, we have explained how to branch processing by selecting control elements, but from here on, we will explain how to add control elements (branching elements) that are classified as branches without selecting control elements, referring to Figures 12 and 13.
[0051] To add a branch element without selecting a control element, the user first taps line L to select it, as shown in Figure 12. Then, they can drag and drop or flick line L in a direction that intersects it. Note that the operation on line L is not limited to drag and drop or flick; any unidirectional operation in a direction that intersects line L is acceptable. Specifically, for example, it could be a swipe or slide. Furthermore, the operation on line L may be a unidirectional operation performed after selecting line L as described above, or it may be a unidirectional operation performed across line L (for example, a swipe operation from an area above line L to an area below it).
[0052] When processor 1 detects a unidirectional operation on line L that intersects line L, it adds a new line L2 branched from line L, as shown in Figure 12, and also adds a branching element 38 as a new control element at the branching point where line L branches to line L2.
[0053] If the process is to branch further from line L2, the user can simply drag and drop or flick line L2 in the direction that intersects line L2. As shown in Figure 13, this adds a new line L3 that branches off from line L2, and a new control element 39 is added at the branching point where line L2 branches off to line L3. In this way, complex conditional branching can be programmed with simple operations by repeatedly branching lines.
[0054] Thus, with the information processing device 10, users can add branching elements simply by performing a one-way operation in a direction that intersects the line. A one-way operation in a direction that intersects the line is an operation that is easily recalled when imagining branching from a series of processes, and as an operation for branching processes, it is intuitively understandable and easy to remember even for beginners. Therefore, with the information processing device 10, more complex programs using branching elements can be easily constructed through intuitive operations without interrupting the thought process.
[0055] Figure 14 illustrates an example of how to add an element indicating repetition. Figure 15 illustrates an example of how to set the parameters of an element indicating repetition. Figure 16 illustrates another example of how to add an element indicating repetition. Hereafter, we will explain methods specific to adding control elements (repetition elements) that are classified as repetitions, referring to Figures 14 to 16.
[0056] To add a repeating element, the user simply needs to draw an arc around the control element 40 corresponding to the process they want to repeat, as shown in Figure 14. This ensures that an arc crossing line L is drawn at least once.
[0057] When processor 1 detects that the trajectory of the input operation performed by the user traces an arc that crosses line L, it adds repeating elements 41 and 42 to line L as new control elements, as shown in Figure 14. Repeating elements 41 and 42 are added before and after control element 40, respectively, so as to sandwich control element 40, which indicates the process to be repeated.
[0058] Parameter settings for iterative elements can be performed by tapping or long-tapping the iterative element 41 added to line L, as shown in Figure 15. This is the same as setting parameters for any control element, as described above in Figure 6. The number of iterations can be set in the settings window 43. Furthermore, by setting the parameter "Block" to ON, the iterative elements (iterative elements 41 and 42) and the control element 40 corresponding to the process to be executed repeatedly can be blocked into a single element, as shown in Figure 15.
[0059] The starting and ending points of the arc are not particularly limited. For example, as shown in Figure 14, the arc may be drawn from the region above line L to the region below line L, or as shown in Figure 16, the arc may be drawn from the region below line L, passing through the region above line L to the region below line L. Although not shown, the arc may also be drawn from the region above line L, passing through the region below line L to the region above line L.
[0060] Thus, with the information processing device 10, users can add repetitive elements simply by performing input operations such that the trajectory of the input operation traces an arc that crosses a line. An operation in which the trajectory traces an arc that crosses a line is an operation that is easily recalled when imagining repetition where processing is performed repeatedly, and as an operation for repetitive processing, it is intuitively understandable and easy to remember even for beginners. Therefore, with the information processing device 10, more complex programs using repetitive elements can be easily constructed through intuitive operations without interrupting thought.
[0061] Figures 17 and 18 illustrate yet another example of how to add elements to indicate repetition. Above, we showed an example of adding a repetition element when the trajectory of the detected input operation traces an arc across line L. Below, with reference to Figures 17 and 18, we will describe an example of adding a repetition element when the detected input operation is a bidirectional operation in a direction intersecting line L on line L or on an element on line L.
[0062] When adding a repeating element, the user may flick up or down on either side of the control element 40 corresponding to the process they want to repeat, as shown in Figure 17. Alternatively, they may flick up or down at the same position relative to line L, as shown in Figure 18. If the user flicks up or down at the same position, as shown in Figure 18, there will be no control elements between the added repeating elements (repeat element 41, repeat element 42). Therefore, after the repeating elements are added, the user may drag and drop the desired control element (control element 46) between the repeating elements. Note that a set of flicks may be performed in either an up-and-down order or a down-and-up order.
[0063] Thus, with the information processing device 10, users can add repetitive elements simply by performing bidirectional operations in directions that intersect the lines. Bidirectional operations in directions that intersect the lines are operations that are easily recalled when imagining repetition where processing is performed repeatedly, and as operations for repetitive processing, they are intuitively understandable and easy to remember even for beginners. Therefore, with the information processing device 10, more complex programs using repetitive elements can be easily constructed through intuitive operations without interrupting thought.
[0064] Figure 19 illustrates an example of how to manipulate nested elements that represent repetition. Figure 15 shows an example of blocking an iterative element and a control element corresponding to a process that is repeatedly executed into a single element. However, as shown in Figure 19, the object that is blocked together with the iterative element may also be a control element (control element 52), or it may include a block containing both a control element and an iterative element (element 56). Furthermore, element 56, which is a block of elements 51 to 53, can be displayed with an arbitrary name, and similarly, element 57, which is a block of elements 49 to 55, can also be displayed with an arbitrary name. By changing the name of the blocked element to an appropriate name that indicates the processing content, the processing content performed by that element can be recognized at a glance.
[0065] In this embodiment, an information processing device 10 with a built-in touch panel display is illustrated, but the information processing device that executes the program to realize the modeling support described above may be, for example, a desktop computer connected to the touch panel display by wire or wireless. By using a touch panel display, even users unfamiliar with keyboard operation can easily perform programming.
[0066] [Second Embodiment] In the first embodiment, the case in which the input device 3 is a touch sensor constituting a touch panel was described as an example, but the input device 3 does not necessarily have to be a touch sensor. In this embodiment, an information processing device equipped with a keyboard as an input device will be described.
[0067] Figure 20 is an external view of the information processing device 60 according to this embodiment. As shown in Figure 20, the information processing device 60 is, for example, a laptop computer with a program for visual programming installed.
[0068] The information processing device 60 includes a display device 61 and an input device 62. The information processing device 60 differs from the information processing device 10 in that the display device 61 is not a touch panel display and the input device 62 is a keyboard. In other words, the information processing device 60 differs from the information processing device 10 in that visual programming is performed by keyboard operation, but other configurations, such as having one or more processors and one or more storage devices 2, are the same as the information processing device 10.
[0069] Figure 21 illustrates an example of how to add an element indicating branching. Figure 22 illustrates an example of how to add an element indicating iteration. In the information processing device 60, as in the information processing device 10, any control elements including branching and iteration can be added to the program with simple operations. The following describes how to add branching and iteration elements to region 12 with reference to Figures 21 and 22.
[0070] When adding a branching element, the user first selects the control element corresponding to the process that they want to execute only under specific conditions, using the directional keys 80 and the selection key 90, as shown in Figure 21. For example, if the user wants to execute the process corresponding to control element 72 only under specific conditions, they move the cursor 70 from control element 71 to control element 72 using the right arrow key on the directional keys 80, and then press the select key 90 to select control element 72.
[0071] Afterward, with control element 72 selected, add a branching element using the directional pad 80. For example, press the down key on the directional pad 80. As a result, as shown in Figure 21, a new line L1 is added branching off from line L, control element 72 is displayed on line L1, and branching element 73 is added as a new control element at the branching point where line L branches off to line L1.
[0072] Note that while Figure 21 shows an example of adding a branch element using the down key, branch elements can also be added by pressing the up key. In other words, any unidirectional operation in the direction intersecting line L is sufficient.
[0073] On the other hand, when adding a repeating element, the user first selects the control element corresponding to the process they want to repeat, using the directional keys 80 and the selection key 90, as shown in Figure 22. For example, if the user wants to repeatedly execute the process corresponding to control element 72, they move the cursor 70 from control element 71 to control element 72 using the right arrow key on the directional keys 80, and then press the select key 90 to select control element 72.
[0074] Subsequently, with control element 72 selected, repeat elements are added using the directional pad 80. For example, the up and down keys of the directional pad 80 are pressed in sequence. As a result, repeat elements 74 and 75 are added to line L as new control elements, as shown in Figure 22. Repeat elements 74 and 75 are added before and after control element 72, respectively, so as to sandwich control element 72, which indicates the process to be repeated.
[0075] Note that while Figure 22 shows an example where the up key and then the down key are pressed, repeating elements may also be added by pressing the down key and then the up key. In other words, any bidirectional operation in the direction intersecting line L is acceptable.
[0076] As described above, the information processing device 60 also allows control structures classified as branching and iteration to be added to a program with intuitive and simple operation.
[0077] The embodiments described above are specific examples provided to facilitate understanding of the invention, and the present invention is not limited to these embodiments, but should be understood as encompassing various modifications and alternative forms of the embodiments described above. For example, it will be understood that each embodiment can be materialized by modifying its components without departing from its spirit and scope. It will also be understood that various embodiments can be implemented by appropriately combining the multiple components disclosed in the embodiments described above. Furthermore, it will be understood by those skilled in the art that various embodiments can be implemented by deleting some components from all the components shown in the embodiments, or by adding some components to the components shown in the embodiments. In other words, the modeling support method, information processing device, and program can be modified in various ways without departing from the scope of the claims.
[0078] The invention described in the original claims of this application is listed below. [Note 1] A process of displaying on a display device lines on which one or more elements representing control structures classified as sequential, branching, or iterative can be placed, A process for detecting an input operation on the line or an element on the line displayed on the display device, If the detected input operation includes an operation in a direction that intersects the line, the process of displaying a new element on the display device that indicates a control structure classified as a branch or a repetition on the line, A modeling support method characterized by having a computer perform the following actions. [Note 2] In the modeling support method described in Appendix 1, The process of displaying the new element on the display device includes, if the detected input operation is a unidirectional operation in a direction intersecting the line to the line or the element on the line, the process of displaying the new element on the display device that indicates a control structure classified as a branch on the line. A modeling support method characterized by the following features. [Note 3] In the modeling support method described in Appendix 1 or Appendix 2, The process of displaying the new element on the display device includes, if the detected input operation is a bidirectional operation in a direction intersecting the line to the line or the element on the line, the process of displaying the new element on the line that represents a control structure classified as a repetition on the line on the display device. A modeling support method characterized by the following features. [Note 4] In the modeling support method described in any one of the appendices 1 to 3, The computer detects the input operation based on the output from the touch sensor that detects the input operation to the display device. A modeling support method characterized by the following features. [Note 5] In the modeling support method described in Appendix 4, The process of displaying the new element on the display device includes, if the detected trajectory of the input operation draws an arc that crosses the line, the process of displaying the new element on the display device that indicates the control structure classified as a repetition on the line. A modeling support method characterized by the following features. [Note 6] One or more non-temporary computer-readable media containing instructions, Includes one or more processors that execute the aforementioned instructions, The instruction is configured to cause one or more processors to perform an operation, The aforementioned operation is, Displaying lines on a display device where one or more elements representing control structures classified as sequential, branching, or repeating can be placed, To detect input operations on the line or elements on the line displayed on the display device, If the detected input operation is an input operation in a direction intersecting the line, the display device is made to display a new element on the line that indicates a control structure classified as a branch or a repetition. An information processing device characterized by the following: [Note 7] On the computer, The display device shows lines on which one or more elements can be placed, each representing a control structure classified as sequential, branching, or repeating. The device detects an input operation on the line or an element on the line displayed on the display device. If the detected input operation is an input operation in a direction that intersects the line, the display device will display a new element on the line that indicates a control structure classified as a branch or a repetition. A program characterized by executing a process. [Explanation of symbols]
[0079] 1...Processor, 2...Memory, 2a...Program, 3, 62...Input device, 4, 61...Display device, 10, 60...Information processing device, 21, 22, 24-31, 34-36, 40, 45, 46, 52, 54, 71, 72...Control element, 32, 37-39, 73...Branch element, 41, 42, 47-49, 51, 53, 55, 74, 75...Iterative element, 44, 50, 56, 57...Element, L, L1-L3...Line
Claims
1. A computer, A first process involves arranging and displaying multiple control elements on a line in a state that shows a control structure including sequential, branching, and iteration, and When a first operation is performed to specify two positions on the first line that enclose an element placed on the first line displayed by the first process, a second process is performed to newly place and display a repeating element, which is a control element indicating the repetition of the element enclosed by the two positions, A modeling support method for performing this task.
2. In the second process, when the first operation is performed, the computer newly places and displays a first repetition element indicating the start of repetition at one of the two positions, and newly places and displays a second repetition element indicating the end of repetition at the other of the two positions. Either the first or second iteration element is an iteration element that indicates an iteration condition. The modeling support method according to claim 1.
3. A computer, A first process involves arranging and displaying multiple control elements on a line in a state that shows a control structure including sequential, branching, and iteration, and If a first operation is performed to specify a first control element located at a first position on the first line displayed by the first process, and then to specify a second position on the first line where no element is located, the second process moves the position of the first control element to the second position, and moves the positions of control elements located between the first and second positions so as to maintain the distance between the control elements. A modeling support method for performing this task.
4. The computer When a second operation is performed on a position on the first line where no control element is currently placed, a third process is performed to place and display a new control element at the position where the second operation was performed. When a third operation is performed on a control element located on the first line, a fourth process is performed to change the type of control element on which the third operation was performed. When a fourth operation is performed on a control element located on the first line, a fifth process is performed to set parameters for the control element on which the fourth operation was performed. The modeling support method according to claim 3, which performs the following:
5. The plurality of control elements include control elements that indicate both a position for branching or repeating the control and a condition for branching or repeating the control, The aforementioned line indicates the order of control and the position where the control branches. A modeling support method according to any one of claims 1 to 4.
6. Each of the plurality of control elements corresponds to either sequential, branching, or iteration, By arranging each control element on a line, the control structure corresponding to each control element at the position on the line where each control element is placed is shown. A modeling support method according to any one of claims 1 to 5.
7. An information processing device comprising a computer that performs each process in the modeling support method according to any one of claims 1 to 5.
8. A program for causing a computer to execute each process in the modeling support method according to any one of claims 1 to 5.
Citation Information
Patent Citations
Icon programming device
JP1997258971A
Device to support programming and storage medium
JP1999039145A
Test support system and image processing controller
JP2009123070A
Method and program for creating flow chart
JP2016115017A
Object operation system, object operation control program and object operation control method
JP2016115231A