Modeling support method, information processing device, and program
The modeling support method simplifies the graphical representation of branching and iteration in visual programming tools by allowing intuitive gesture-based operations, thereby improving tool operability and reducing cognitive disruptions for users.
Patent Information
- Application Number
- JP2023006264
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-01-19
- Publication Date
- 2025-04-15
- Estimated Expiration
- 2040-12-18
AI Technical Summary
Visual programming tools face complexity in representing branching and iteration control structures graphically, leading to more intricate GUI operations that can disrupt the user's thought process.
A modeling support method where a computer allows users to intuitively add control elements for branching and iteration by performing specific gestures, such as moving elements off a line to create branches or drawing arcs to indicate iterations, thereby simplifying the operation of creating complex program structures.
This approach enhances the operability of modeling tools by allowing users to focus on the algorithm without interruptions, making it easier for beginners to learn programming and reducing the likelihood of abandoning programming due to tool complexity.
Smart Images

Figure 0007661985000001 
Figure 0007661985000002 
Figure 0007661985000003
Abstract
Description
[Technical field]
[0001] The disclosure of this specification relates to a modeling support method, an information processing device, and a program. [Background technology]
[0002] The importance of programming education, which can cultivate logical thinking and problem-solving skills, is now recognized around the world. In recent years, programming education has become compulsory in elementary schools in Japan as well, and the spread of programming education among younger generations is being promoted.
[0003] On the other hand, traditional programming languages used in programming require the user to write program code, making it too difficult for beginners, including elementary school students, to learn programming for the first time.
[0004] For this reason, various GUI (Graphical User Interface)-based programming languages for education that even beginners can easily learn have been developed. Such programming languages for education are generally called visual programming languages. In visual programming, algorithms are represented graphically, so there is no need to write code in text, and programming is possible just 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] Japanese Patent Application Publication No. 9-258971 Summary of the Invention [Problem to be solved by the invention]
[0006] By the way, branching and repetition, like sequential, are basic control structures in programs. When expressing control structures graphically, the representation of branching and repetition is more complicated than that of sequential. Therefore, even in visual programming, the GUI operations to realize branching and repetition tend to be more complicated than that of sequential.
[0007] Complicated operations tend to draw attention to the operation itself, which can interrupt thinking while examining the algorithm. For this reason, there is a demand for technological improvements in visual programming, particularly in branching and repetition, that enable programming with intuitive operations without interrupting thinking.
[0008] Although the above description assumes a programming tool for visual programming, similar problems can occur not only in the program implementation process but also in the design process. Therefore, the above problems are common to all modeling tools including programming tools. Furthermore, the above problems with modeling tools can occur not only in the design of programs that run on a computer but also in the design of all process flows including business flows.
[0009] In view of the above circumstances, an object of one aspect of the present invention is to provide a technique for improving the operability of a modeling tool used for designing or programming a process flow. [Means for solving the problem]
[0010] A modeling support method according to one aspect of the present invention includes the steps of: The computer executes a first process for arranging and displaying a plurality of control elements on a line in a state showing a control structure including sequence, branching, and repetition, and a second process for, when a first operation is performed to specify a first position away from the first line after specifying a first control element arranged on the first line displayed by the first process, moving the first control element to the first position and adding and displaying a second line branching to the first control element after the movement. Effect of the Invention
[0013] According to the above aspect, the operability of the modeling tool can be improved. [Brief description of the drawings]
[0014] [Figure 1]1 is an external view of an information processing device 10 according to a first embodiment. [Diagram 2] 1 is a hardware configuration diagram of an information processing device 10 according to a first embodiment. [Diagram 3] 4 is a flowchart showing an example of a programming support process performed by the information processing device 10. [Figure 4] 2 is a diagram showing an example of the configuration of a screen displayed on the information processing device 10. FIG. [Diagram 5] 11 is a diagram for explaining an example of a method for adding an element indicating a control structure. FIG. [Figure 6] FIG. 11 is a diagram for explaining an example of a method for setting parameters of an element. [Figure 7] 11 is a diagram illustrating an example of a method for changing the order of elements indicating a control structure. FIG. [Figure 8] FIG. 13 is a diagram for explaining an example of a method for adding an element indicating a branch. [Figure 9] FIG. 13 is a diagram for explaining an example of a method for setting parameters of an element indicating a branch. [Figure 10] FIG. 13 is a diagram for explaining an example of an operation method for a branch. [Figure 11] FIG. 13 is a diagram for explaining another example of an operation method for a branch. [Figure 12] FIG. 13 is a diagram for explaining another example of a method for adding an element indicating a branch. [Figure 13] 13 is a diagram for explaining an example of a method for adding an element indicating a branch in a nested manner. FIG. [Figure 14] FIG. 13 is a diagram for explaining an example of a method for adding an element indicating repetition. [Figure 15] FIG. 13 is a diagram for explaining an example of a method for setting parameters of an element indicating repetition. [Figure 16] FIG. 13 is a diagram for explaining another example of a method for adding an element indicating repetition. [Figure 17] FIG. 13 is a diagram for explaining yet another example of a method for adding an element indicating repetition. [Figure 18] FIG. 13 is a diagram for explaining yet another example of a method for adding an element indicating repetition. [Figure 19] 13 is a diagram for explaining an example of a method of operating on an element that indicates repetition created in a nested manner. FIG. [Figure 20] FIG. 11 is an external view of an information processing device 60 according to a second embodiment. [Figure 21] FIG. 13 is a diagram for explaining an example of a method for adding an element indicating a branch. [Figure 22] FIG. 13 is a diagram for explaining an example of a method for adding an element indicating repetition. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0015] Below, a modeling support method, an information processing device, and a program according to an embodiment of the present invention will be described, while specifically illustrating a GUI provided by the modeling tool. In this specification, a modeling tool means an application program that supports a user's modeling work, and / or a computer on which the program runs. In other words, a modeling tool is at least one of software, hardware, or a combination thereof that supports a modeling work.
[0016] In this specification, the modeling tool will be described as a desktop application program or an information processing device (hereinafter, also referred to as a user terminal) on which a desktop application program is installed and which is directly operated by a user. However, the modeling tool may be a web application program, or may be an information processing device other than the user terminal on which the web application program is deployed. In other words, the modeling tool may provide a GUI on the web browser of the user terminal.
[0017] In addition, in this specification, a case will be described in which the modeling tool is a visual programming tool that converts a program graphically expressed using elements (objects) such as figures into a text-format program code (source code) and executes the program. However, the modeling tool is not limited to a programming tool that creates and executes source code, and may be, for example, a drawing tool that draws a flowchart of a process executed by a computer. The modeling tool may also be used as a drawing tool that draws a business flow.
[0018] [First embodiment] Fig. 1 is an external view of an information processing device 10 according to this embodiment. Fig. 2 is a hardware configuration diagram of the information processing device 10 according to this embodiment. As shown in Fig. 1, the information processing device 10 is, for example, a tablet terminal equipped with a touch panel display, and is a computer on which a program for visual programming is installed.
[0019] The information processing device 10 may 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, an electronic dictionary, or the like. In addition, the information processing device 10 is not limited to a mobile terminal, and may be, for example, a table-type computer in which a touch panel display is embedded in a table.
[0020] 2, the information processing device 10 includes one or more processors 1, one or more storage devices 2, an input device 3, a display device 4, and a communication device 5. In the information processing device 10, these are connected via a bus 6. The input device 3 and the display device 4 constitute a touch panel display, and are arranged on top of each other as shown in FIG.
[0021] Each of the one or more processors 1 is hardware including, for example, a CPU (Central Processing Unit) and executes a program 2a stored in a storage device 2. The CPU includes a control device, an arithmetic unit, a register, a cache memory, and further includes an interface with other devices. The one or more processors 1 may include a GPU (Graphics processing unit), an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), a DSP (Digital Signal Processor), and the like.
[0022] Each of the one or more storage devices 2 is a non-transitory computer-readable medium, for example, any semiconductor memory. The one or more storage devices 2 include volatile memory, such as Random Access Memory (RAM), non-volatile memory, such as Read Only Memory (ROM), 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 includes a program 2a. The program 2a is a visual programming tool and includes instructions for a programming support process, which will be described later. The instructions included in the program 2a are configured to cause the one or more processors 1 to execute a predetermined operation.
[0024] The input device 3 is a device that is directly operated by a user. Specifically, the 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 a resistive film method, a capacitance method, an electromagnetic induction method, an ultrasonic surface acoustic wave method, or an infrared method may be adopted.
[0025] The display device 4 is, for example, a liquid crystal display, an organic EL display, or the like, but may be another type of display. The communication device 5 is a device for communicating with an external device. The communication device 5 is, for example, a wireless communication device such as a Wi-Fi module.
[0026] Visual programming performed by a user using the information processing device 10 configured as described above involves creating a program by arranging elements that indicate the control structure of the programming on a screen. The programming support process performed by the information processing device 10 controls the screen display in accordance with the input operations of the user while visual programming is being performed.
[0027] Fig. 3 is a flow chart showing an example of a programming support process performed by the information processing device 10. Fig. 4 is a diagram showing an example of a screen configuration displayed on the information processing device 10. Below, a programming support method implemented using the information processing device 10 will be outlined with reference to Figs. 3 and 4. Note that the programming support process shown in Fig. 3 is an example of a modeling support process, and is started by one or more processors 1 executing instructions included in a program 2a stored in a storage device 2.
[0028] The processor 1 first displays on the display device 4 lines on which one or more elements showing a control structure classified as sequential, branching, or iteration can be placed (step S1). In step S1, for example, when the user taps a software button marked "New" in the area 12, the processor 1 displays a line L in the area 12 of the display device 4 shown in FIG. 4. The area 12 is a programming area in which a program designed by the user is represented using graphics. The line L displayed in the area 12 indicates the flow of program processing from one end of the line L marked "START" to the other end of the line L marked "END". On the line L, an element showing a control structure displayed in the area 11 can be selectively placed according to the user's operation. In the following, an element showing a control structure classified as sequential, branching, or iteration is also simply referred to as a control element.
[0029] After that, the processor 1 monitors an input operation to the input device 3. Then, when an input operation is performed, the processor 1 detects the input operation based on an output from the input device 3 (step S2). In step S2, the processor 1 detects the user's input operation based on an operation signal output by the 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) includes an operation in a direction intersecting line L, the processor 1 causes the display device 4 to display a new control element classified as branching or repeating on line L (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 intersecting line L, causes the display device 4 to display a new control element classified as branching or repeating on line L.
[0031] Specifically, when the input operation detected in step S2 is a one-way operation on the line L or an element on the line in a direction intersecting the line L (step S4: one-way), the processor 1 causes the display device 4 to display a new control element (branch element) classified as a branch on the line L. More specifically, the processor 1 branches the line L (step S5), adds a branch element to the branch point (step S6), and updates the screen display (step S9). The one-way operation is, for example, a flick, a swipe, a slide, etc.
[0032] Furthermore, if the input operation detected in step S2 is a bidirectional operation in a direction intersecting line L on line L or an element on the line (step S4: bidirectional), processor 1 causes display device 4 to display a new control element (repetitive element) classified as repetitive on line L. That is, processor 1 adds a repetitive element (step S7) and updates the screen display (step S9). Note that bidirectional operations include, for example, a pair of flicks in opposite directions, a pair of swipes in opposite directions, and a slide that traces a trajectory that goes back and forth with a turn in the middle.
[0033] Also, when the locus of the input operation detected in step S2 draws an arc that crosses the line L (step S4: arc that crosses the line), the processor 1 causes the display device 4 to display a new control element (repeat element) classified as a repeat on the line L. That is, the processor 1 adds a repeat 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 (1) or (2) described below, the processor 1 performs processing according to the input operation (step S8), and then updates the screen display of the display device 4 (step S9). Note that the input operation targeted in step S8 is not particularly limited, and may include, for example, operations such as tapping, double tapping, long tapping, pinching in, pinching out, flicking, swiping, and sliding on the area 11 or area 12. The processing according to these input operations may include, for example, processing for displaying new control elements that are successively classified on the line L.
[0035] When the display is updated, the processor 1 determines whether an end instruction has been input (step S10), and if it is determined that an end instruction has been input, the processor 1 ends the programming support process shown in Fig. 3. On the other hand, if it is determined that an end instruction has not been input, the processor 1 repeats the processes from step S2 to step S9 until an end instruction is input.
[0036] The information processing device 10 executes the programming support process shown in FIG. A control structure classified as a branch or an iteration can be added to a program with an intuitive and simple operation. This improves the operability of the programming tool compared to the conventional one, so that the user of the programming tool can concentrate on programming without interrupting his / her thinking, and can learn programming efficiently. In addition, even a beginner who is unfamiliar with programming and programming tools can intuitively operate the programming tool, so there is less confusion about how to use the programming tool compared to conventional programming tools. This makes it possible to avoid a situation where a person gives up learning programming at an early stage due to the difficulty of mastering the programming tool. As described above, the information processing device 10 makes it possible to lower the barrier to learning programming.
[0037] Hereinafter, the programming support method implemented by using the information processing device 10 will be described in more detail with reference to Fig. 5 to Fig. 19. Fig. 5 is a diagram for explaining an example of a method for adding an element indicating a control structure. Fig. 6 is a diagram for explaining an example of a method for setting parameters of the element. Fig. 7 is a diagram for explaining an example of a method for changing the order of elements indicating a control structure. First, a method for adding a control element to the area 12 will be described with reference to Figs. 5 to 7.
[0038] To add a control element, the user only needs to long-tap on the line L as shown in Fig. 5, and the new control element 21 is added at the position of the long-tap. Furthermore, the type of control element can be freely switched from among any of the control elements displayed in the area 11 by flicking the control element 21 added on the line L left or right.
[0039] By repeating the process of adding control elements, multiple control elements can be displayed side by side on line L, as shown in Figure 6. This makes it possible to create the overall framework of a program. For example, the program shown in Figure 6 shows 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 the method for adding a control element is not limited to this method. For example, a control element may be added by dragging a control element displayed in area 11 onto line L and dropping it at the desired position.
[0041] Parameter setting for each control element can be performed by long-tapping on the control element added on line L, as shown in Fig. 6. Long-tapping on the control element displays a setting window 23 for parameter setting. Parameters can be set for the control element by entering or selecting information in the items in the setting window 23.
[0042] In addition, the order of the control elements added on the line L can be changed later. For example, as shown in FIG. 7, the control element 25 is tapped to select it as the object to be moved. After that, the control element 25 selected as the object to be moved is dragged and dropped at the desired position, so that the control element 25 can be moved to the desired position. Note that, for example, if the control elements are set to be aligned at regular intervals, the other control elements may be moved in accordance with the movement of the control element 25, so that the intervals between the control elements can be maintained. In the example shown in FIG. 7, the control element 25 is moved backward, and the control elements 26 to 29 are each moved forward.
[0043] FIG. 8 is a diagram for explaining an example of a method for adding an element indicating a branch. FIG. 9 is a diagram for explaining an example of a method for setting parameters of an element indicating a branch. FIG. 10 is a diagram for explaining an example of an operation method for a branch. FIG. 11 is a diagram for explaining another example of an operation method for a branch. In the above, a method for adding an arbitrary control element has been explained, but hereinafter, a method specific to adding a control element classified as a branch (branch element) will be explained with reference to FIG. 8 to FIG. 11.
[0044] When adding a branching element, the user first taps and selects a control element 31 corresponding to a process that is to be executed only under a specific condition, as shown in Fig. 8. After that, the user can drag and drop or flick the selected control element 31 in a direction intersecting the line L. Note that the operation on the control element 31 is not limited to drag and drop or flick, and can be any one-directional operation in a direction intersecting the line L. Specifically, for example, it may be a swipe, a slide, or the like.
[0045] When the processor 1 detects a one-way operation on the control element 31 in a direction that intersects with the line L, it adds a new line L1 branching off from the line L and displays the control element 31 on the line L1, as shown in FIG. 8, and also adds a branch element 32 as a new control element to the branching point where the line L branches off to the line L1.
[0046] Parameter setting for a branch element can be performed by long tapping on a branch element 32 added on a line L, as shown in Fig. 9. This is the same as the case of setting parameters for an arbitrary control element, as described above in Fig. 6. Note that branch conditions can be set in the setting window 33.
[0047] Furthermore, if there is another process that you want to execute only under a specific condition, you can drag the control element 34 corresponding to that process and drop it at a desired position on the branched lines (line L, line L1) as shown in Fig. 10. In this case, the positions of the other control elements (control element 35, etc.) may be automatically adjusted by moving the control element 34.
[0048] Furthermore, if there is insufficient space to place a process that is to be executed only under a specific condition, the junction where branched lines (line L, line L1) join may be moved by drag and drop to secure space, as shown in Fig. 10. Fig. 10 shows how a new control element 36 is added to the space secured by such an operation.
[0049] Also, the joining position of the branched lines may be adjustable by flicking the joining point toward the end of the line L marked "END." For example, as shown in Fig. 11, the branch may be programmed to join at the end of the processing flow by flicking, and the joining position may move backward by one control element with each flick. Also, the joining position may move forward by one control element with each flick by flicking the joining point toward the beginning of the line L marked "START."
[0050] Fig. 12 is a diagram for explaining another example of a method for adding an element indicating a branch. Fig. 13 is a diagram for explaining an example of a method for adding an element indicating a branch in a nested manner. The method for selecting a control element and branching a process has been explained above, but hereinafter, with reference to Figs. 12 and 13, a method for adding a control element (branch element) classified as a branch without selecting a control element will be explained.
[0051] When adding a branch element without selecting a control element, the user first taps the line L to select it, as shown in FIG. 12. After that, the user may drag and drop or flick the line L in a direction intersecting the line L. Note that the operation on the line L is not limited to drag and drop or flick, and may be a one-way operation in a direction intersecting the line L. Specifically, for example, it may be a swipe or slide. Furthermore, the operation on the line L may be a one-way operation performed after selecting the line L as described above, or may be a one-way operation performed across the line L (for example, a swipe operation from an area above the line L to an area below the line L).
[0052] When processor 1 detects a one-way operation on line L in a direction intersecting line L, it adds a new line L2 branching off from line L, as shown in FIG. 12, and adds branch element 38 as a new control element to the branching point where line L branches off to line L2.
[0053] When further branching processing from line L2, the user simply drags and drops or flicks line L2 in a direction that intersects with line L2. As a result, as shown in Fig. 13, a new line L3 is added branching from line L2, and a branch element 39 is added as a new control element to the branch point where line L2 branches into line L3. In this way, by repeating line branching, complex conditional branching can be programmed with simple operations.
[0054] In this way, in the information processing device 10, the user can add a branching element simply by performing a one-way operation in a direction intersecting the line. A one-way operation in a direction intersecting the line is an operation that is easily recalled when imagining a branch from a series of processes, and is intuitively graspable and easily remembered even by beginners as an operation for branching processes. Therefore, according to the information processing device 10, a more complicated program using branching elements can be easily put together by intuitive operations without interrupting thinking.
[0055] Fig. 14 is a diagram for explaining an example of a method for adding an element indicating repetition. Fig. 15 is a diagram for explaining an example of a method for setting parameters of an element indicating repetition. Fig. 16 is a diagram for explaining another example of a method for adding an element indicating repetition. Hereinafter, a method specific to adding a control element (repetition element) classified as repetition will be described with reference to Figs. 14 to 16.
[0056] When adding a repeat element, the user simply draws an arc around the control element 40 corresponding to the process to be executed repeatedly, as shown in Fig. 14. This results in drawing an arc that crosses the line L at least once.
[0057] When the processor 1 detects that the trajectory of the input operation performed by the user draws an arc that crosses the line L, it adds a repetitive element 41 and a repetitive element 42 as new control elements onto the line L, as shown in Fig. 14. The repetitive element 41 and the repetitive element 42 are added before and after the control element 40, respectively, so as to sandwich the control element 40 indicating the process to be repeated.
[0058] The parameters for the repeat element can be set by tapping or long tapping the repeat element 41 added on the line L, as shown in FIG. 15. This is the same as when setting parameters for any control element, as described above in FIG. 6. The number of repetitions can be set in the setting window 43. Also, by setting the parameter "Block" to ON, the repeat elements (repeat elements 41, 42) and the control element 40 corresponding to the process to be repeatedly executed can be blocked into one element, as shown in FIG. 15.
[0059] The positions of the start and end of the arc are not particularly limited. For example, as shown in Fig. 14, an arc may be drawn from an area above line L to an area below line L, or as shown in Fig. 16, an arc may be drawn from an area below line L through the upper area to the lower area. Also, although not shown, an arc may be drawn from an area above line L through the lower area to the upper area.
[0060] In this way, in the information processing device 10, the user can add a repetitive element simply by performing an input operation such that the locus of the input operation draws an arc across a line. The operation of drawing an arc across a line is an operation that is easily recalled when imagining a process being repeated, and is intuitively graspable and easily remembered even by beginners as an operation for repetitive processing. Therefore, the information processing device 10 allows a user to easily build a more complicated program using repetitive elements through intuitive operations without interrupting thinking.
[0061] 17 and 18 are diagrams for explaining yet another example of a method for adding an element indicating a repetition. In the above, an example of adding a repetitive element when the trajectory of the detected input operation draws an arc that crosses the line L has been shown, but below, with reference to Figs. 17 and 18, an example of adding a repetitive element when the detected input operation is a bidirectional operation in a direction intersecting the line L on the line L or an element on the line L will be described.
[0062] When adding a repeat element, the user may flick up and down on the left and right of the control element 40 corresponding to the process to be repeatedly executed, as shown in Fig. 17. Alternatively, the user may flick up and down at the same position relative to the line L, as shown in Fig. 18. When flicking up and down at the same position, as shown in Fig. 18, since there is no control element between the repeat elements to be added (repeat element 41, repeat element 42), the desired control element (control element 46) may be moved between the repeat elements by drag and drop after the repeat elements have been added. Note that one set of flicks may be performed in the order of up and down, or bottom-up.
[0063] In this way, in the information processing device 10, the user can add a repetitive element simply by performing a bidirectional operation in a direction intersecting the line. A bidirectional operation in a direction intersecting the line is an operation that is easily recalled when imagining a process being repeated, and is intuitively understandable and easily memorable even for beginners as an operation for a repetitive process. Therefore, the information processing device 10 allows a user to easily assemble a more complicated program using a repetitive element by intuitive operations without interrupting thinking.
[0064] FIG. 19 is a diagram for explaining an example of an operation method for an element indicating a repetition created in a nested manner. FIG. 15 shows an example in which a repetition element and a control element corresponding to a process to be repeatedly executed are blocked into one element, but as shown in FIG. 19, the object blocked together with the repetition element may be a control element (control element 52), or may include a control element and a repetition element blocked together (element 56). In addition, element 56, which is a block formed by elements 51 to 53, can be displayed with an arbitrary name, and element 57, which is a block formed by elements 49 to 55, can also be displayed with an arbitrary name. By changing the name of the blocked element to an appropriate name indicating the processing content, the processing content performed by the element can be recognized at a glance.
[0065] In this embodiment, the information processing device 10 with a built-in touch panel display is exemplified, but the information processing device that executes the program to realize the above-mentioned modeling support may be, for example, a desktop computer that is connected to the touch panel display by wire or wirelessly. By using the touch panel display, even a user who is not familiar with keyboard operation can easily perform programming.
[0066] [Second embodiment] In the first embodiment, the input device 3 is a touch sensor constituting a touch panel, but the input device 3 does not necessarily have to be a touch sensor. In the present embodiment, an information processing device including a keyboard as an input device will be described.
[0067] Fig. 20 is an external view of an information processing device 60 according to this embodiment. As shown in Fig. 20, the information processing device 60 is, for example, a laptop computer, and a program for visual programming is 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. That is, the information processing device 60 differs from the information processing device 10 in that visual programming is performed by keyboard operations, but the other configurations are similar to those of the information processing device 10 in that the information processing device 60 includes, for example, one or more processors and one or more storage devices 2.
[0069] Fig. 21 is a diagram for explaining an example of a method for adding an element indicating a branch. Fig. 22 is a diagram for explaining an example of a method for adding an element indicating a repetition. In the information processing device 60, as in the information processing device 10, any control element including a branch and a repetition can be added to a program with a simple operation. Hereinafter, a method for adding a branch element and a repetition element to the area 12 will be described with reference to Figs. 21 and 22.
[0070] When adding a branch element, the user first selects a control element corresponding to a process that is to be executed only under specific conditions using the cross key 80 and the selection key 90, as shown in Fig. 21. For example, if it is desired to execute a process corresponding to control element 72 only under specific conditions, the user moves cursor 70 from control element 71 to control element 72 using the right key of the cross key 80, and then presses the enter key of the selection key 90 to select control element 72.
[0071] Thereafter, with the control element 72 selected, a branch element is added using the cross key 80. For example, the down key of the cross key 80 is pressed. As a result, as shown in Fig. 21, a new line L1 branching from the line L is added and the control element 72 is displayed on the line L1, and a branch element 73 is added as a new control element to the branch point where the line L branches into the line L1.
[0072] 21 shows an example in which a branch element is added by pressing the down key, but the branch element may be added by pressing the up key. That is, a one-way operation in a direction intersecting the line L may be performed.
[0073] On the other hand, when adding a repeat element, the user first selects the control element corresponding to the process to be executed repeatedly using the cross key 80 and the selection key 90, as shown in Fig. 22. For example, if the user wishes to execute the process corresponding to control element 72 repeatedly, the user moves the cursor 70 from control element 71 to control element 72 using the right key of the cross key 80, and then presses the enter key of the selection key 90 to select control element 72.
[0074] After that, with the control element 72 selected, a repeat element is added using the cross key 80. For example, the up and down keys of the cross key 80 are pressed in order. As a result, a repeat element 74 and a repeat element 75 are added on the line L as new control elements, as shown in Fig. 22. The repeat element 74 and the repeat element 75 are added respectively in front of and behind the control element 72, so as to sandwich the control element 72 indicating the process to be repeated.
[0075] 22 shows an example in which the up key is pressed first, then the down key, but the repeat element may be added by pressing the down key first, then the up key. In other words, it is sufficient that a bidirectional operation is performed in a direction intersecting the line L.
[0076] As described above, the information processing device 60 also makes it possible to add control structures classified as branching and repetition to a program with an intuitive and simple operation.
[0077] The above-mentioned embodiments are specific examples shown to facilitate understanding of the invention, and the present invention is not limited to these embodiments, and should be understood as including various modified and alternative forms of the above-mentioned embodiments. For example, it will be understood that each embodiment can be embodied by modifying the components within the scope of the invention. It will also be understood that various embodiments can be implemented by appropriately combining multiple components disclosed in the above-mentioned embodiments. 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. That is, the modeling support method, the information processing device, and the program can be variously modified and changed within the scope of the claims.
[0078] The invention as described in the claims of the original application is set forth below. [Appendix 1] displaying on a display device one or more lines on which elements can be placed, each of which represents a control structure classified as sequential, branching, or iterative; A process of detecting an input operation on the line or an element on the line displayed on the display device; a process of displaying, on the display device, a new element indicating a control structure classified as the branch or the iteration on the line when the detected input operation includes an operation in a direction intersecting the line; A modeling support method characterized in that the above steps are carried out by a computer. [Appendix 2] 2. The modeling support method according to claim 1, the process of displaying the new element on the display device includes a process of displaying, on the display device, the new element indicating a control structure classified as the branch on the line when the detected input operation is a one-way operation on the line or the element on the line in a direction intersecting the line. A modeling support method comprising: [Appendix 3] In the modeling support method according to claim 1 or 2, The process of displaying the new element on the display device includes a process of displaying the new element on the line, which indicates a control structure classified into the repetition, on the line when the detected input operation is a bidirectional operation on the line or the element on the line in a direction intersecting the line. A modeling support method comprising: [Appendix 4] In the modeling support method according to any one of Supplementary Note 1 to Supplementary Note 3, The computer detects the input operation based on an output from a touch sensor that detects the input operation to the display device. A modeling support method comprising: [Appendix 5] 5. The modeling support method according to claim 4, The process of displaying the new element on the display device includes a process of displaying the new element indicating a control structure classified into the repetition on the line when the detected locus of the input operation draws an arc across the line on the display device. A modeling support method comprising: [Appendix 6] one or more non-transitory computer-readable media containing instructions; one or more processors for executing the instructions; the instructions are configured to cause the one or more processors to perform an operation; The operation includes: displaying on a display device one or more lines on which elements can be placed, each of which indicates a control structure classified as sequential, branching, or iterative; Detecting an input operation on the line or an element on the line displayed on the display device; When the detected input operation is an input operation in a direction intersecting the line, a new element indicating a control structure classified as the branch or the repetition on the line is displayed on the display device. 23. An information processing apparatus comprising: [Appendix 7] On the computer, displaying on a display device one or more lines on which elements can be placed, each of which represents a control structure classified as sequential, branching, or iterative; Detecting an input operation on the line or an element on the line displayed on the display device; When the detected input operation is an input operation in a direction intersecting the line, a new element indicating a control structure classified as the branch or the repetition is displayed on the line on the display device. 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 Repeat element, 44, 50, 56, 57 Element, L, L1-L3 Line
Claims
1. The computer A first process of displaying a plurality of control elements arranged on a line in a state showing a control structure including sequential, branching, and iteration; a second process for moving a first control element located on a first line displayed by the first process to a first position away from the first line when a first operation is performed to designate the first position away from the first line, the second process for moving the first control element to the first position and for adding and displaying a second line branching off to the first control element after the movement; A modeling aid method for performing
2. When the first operation is performed, the computer further causes a branch element, which is a control element indicating a branch condition, to be newly arranged and displayed at a branch point where the first line branches into the second line in the second process. The modeling support method according to claim 1 .
3. the plurality of control elements include a control element indicating both a location where control is to branch or repeat and a condition under which control is to branch or repeat; The lines indicate the order of control and the location where the control branches.
3. The modeling support method according to claim 1.
4. each of the plurality of control elements corresponds to one of sequential, branching, and iterative; By arranging each control element on a line, a control structure corresponding to each arranged control element is shown at the position on the line where each control element is arranged.
3. The modeling support method according to claim 1.
5. 3. An information processing device comprising a computer that executes each process in the modeling support method according to claim 1.
6. 3. A program for causing a computer to execute each process in the modeling support method according to claim 1.
Citation Information
Patent Citations
Flow modeling method
CN101650798A
Method for supporting program preparation
JP1995056725A
Graphic editing device
JP1995320080A
Icon programming device
JP1997258971A
Device to support programming and storage medium
JP1999039145A