Método de ejecución de creación de programa
Descripción general
 Creación de diagramas de flujo con interfaz de usuario Gurefikaru, determinar el tipo y el orden de ejecución del procedimiento (módulo) por un cambio, la creación de llevado a cabo el programa cambió, la creación programa de ejecución del método de ejecución visual se lleva a cabo, los datos de tipo fácilmente registro Intenta manejarlo. ] Los datos de tipo de registro que constan de un nombre de campo y datos básicos están representados por una estructura de árbol en la que la tabla hash es el nodo 21 y los datos básicos son la hoja 22. Para la clave de la tabla hash, use el nombre del campo de los datos del tipo de registro. El valor almacenado en la tabla hash es un puntero al área de almacenamiento de los datos básicos correspondientes al nombre del campo o un puntero al área de almacenamiento de los datos del tipo de registro en el estado anidado.
Campo técnico
La presente invención se refiere a la creación de programa eficiente esquema de ejecución, en particular, mediante la preparación de un módulo para la ejecución de diversos procedimientos anteriormente, la creación de un programa mediante la especificación de la orden de ejecución de los módulos por los medios de entrada tales como un dispositivo de puntero, A un método de ejecución de creación de programa visual en el que se ejecuta.
Antecedentes de la técnica
Convencionalmente, al crear y ejecutar un programa de ejecución, se crea un programa fuente según un lenguaje de programa, se genera un programa objeto compilando este programa fuente, los programas objeto se juntan y se vinculan, generando así un programa de ejecución Lo ha hecho. Al ejecutar este programa de ejecución, se obtiene un resultado de cálculo deseado. En un programa a gran escala, como un programa destinado al uso práctico, es común que un programa fuente contenga muchos programas pequeños que realizan diversos procesos. Un pequeño programa que realiza dichos procesos se llama procedimiento (procedimiento).
Por otro lado, en la operación real del sistema, a menudo sucede que un programa de ejecución necesita cambiar las especificaciones detalladas, como el formato de los datos de entrada. Dichos cambios pueden abordarse preparando suficientes tipos de procedimientos por adelantado y cambiando de manera apropiada el tipo y la secuencia de los procedimientos que se llamarán.
Cuando se utilizan lenguajes de programación convencionales como C o Fortran para cambiar el tipo y el orden de dichos procedimientos, es necesario volver a escribir el programa fuente y cambiar la posición de llamada y el orden de los procedimientos. . Sin embargo, es extremadamente difícil para las personas que no sean el creador del programa fuente original comprender el contenido del programa fuente y realizar cambios, lo que dificulta la realización de dichos cambios.
Para resolver este problema, es posible visualizar el tipo y la secuencia de invocación de procedimientos como un diagrama de flujo en la pantalla, seleccionando un procedimiento usando un dispositivo señalador como un mouse o un teclado y designando el orden de ejecución de estos procedimientos Existe un método de ejecución de creación de programas capaz de crear y editar programas. Aquí, dicho método de ejecución de creación de programa se denomina método de ejecución de creación de programa visual.
En el método de ejecución de creación de programa visual, un proceso requerido se divide en unidades pequeñas, lo que se denomina módulo, y varios módulos se preparan de antemano. Los módulos son generalmente en forma de programas de objetos. Al crear un programa, los módulos necesarios se muestran en la pantalla según el propósito, y el orden de ejecución se especifica conectando estos módulos con segmentos dirigidos. Tal diagrama de flujo se denomina diagrama de flujo del módulo aquí. El método de ejecución de creación de programa visual tiene la ventaja de que un programa se puede crear y editar fácilmente usando un diagrama de flujo de módulo.
Por cierto, hay un tipo de registro como un tipo de datos utilizados en un programa. Los datos de un tipo de registro son datos constituidos como una secuencia de varios valores, y el tipo de datos del valor puede ser diferente. Un componente de los datos del tipo de registro se llama campo. El contenido (formato de registro) de un registro se define mediante una secuencia de definición de un campo, y a la definición de un campo se le asigna el tipo de datos del componente y el nombre denominado nombre de campo. En general, el tipo de registro es un tipo de datos importante cuando se procesan valores de varios tipos de datos en grandes cantidades.
Tarea de solución
Sin embargo, en el método de ejecución de creación de programa visual convencional, los tipos de datos que pueden tomar los argumentos del módulo están limitados a tipos de datos básicos como entero, número real, carácter, matriz de enteros, matriz de números reales y matriz de caracteres. Como se describe por ese motivo, los datos del tipo de registro no se podían pasar entre los módulos. Este fue un problema serio del método de ejecución de creación de programas visuales al crear un programa destinado al procesamiento estadístico y al proceso de agregación utilizando una base de datos.
El motivo por el cual los datos del tipo de registro no pudieron ser manejados por el método de ejecución de creación de programa visual convencional es el siguiente. Normalmente, la estructura de los datos del tipo de registro se define en la etapa de creación del programa de origen. Luego, la representación interna de los datos del tipo de registro después de la compilación se fija como un área de memoria en la que los datos se organizan en el orden de los campos definidos. Por esta razón, no es posible definir o cambiar el formato de registro en la etapa del programa objeto o programa de ejecución. Por otro lado, en el método de ejecución de creación de programa visual, es necesario definir libremente el formato de registro que coincida con el contenido del proceso creado por el creador del programa, pero en la etapa de creación del programa visual, en realidad, el objeto después de ser compilado Solo se determina el orden de ejecución de los programas. Por esta razón, cuando se utiliza el método de ejecución de creación de programa visual convencional, el creador del programa no puede definir nuevamente el formato de registro o cambiar el formato de registro en el programa.
Un objeto de la presente invención es proporcionar un método de ejecución de creación de programa visual capaz de manejar datos de tipo de registro de cualquier formato de registro.
Solución
El método de ejecución de creación de programas de la presente invención comprende un medio de almacenamiento de módulos para almacenar diversos módulos para ejecutar un procedimiento, un medio de visualización para seleccionar un módulo y visualizar su orden de ejecución, un medio de visualización para designar el orden de ejecución del módulo Un medio de almacenamiento de datos para almacenar datos a transferir entre los módulos respectivos: una ejecución de creación de programa que tiene un medio de control para disponer los módulos de acuerdo con la secuencia de ejecución especificada a través de los medios de entrada y crear y ejecutar el programa en el esquema, los datos de tipo de registro de nombres de campo y los datos básicos se representan los datos básicos y el nodo de una tabla hash en una estructura de árbol de las hojas, la clave de la tabla hash está en un nombre de campo de un tipo de datos de registro, almacenado en la tabla hash Para el área de almacenamiento de los datos básicos correspondientes al nombre del campo Un puntero a un área de almacenamiento de un conjunto de datos de tipo de registro en la impresora o anidada.
En la presente invención, se puede proporcionar además una cola de control de ejecución para almacenar el nombre del módulo del módulo en espera de ser procesado y el puntero al área de almacenamiento de los datos para pasar al módulo dependiendo del orden de ejecución del módulo. Además, como el puntero, por ejemplo, es posible usar un puntero que indica la dirección principal del área de almacenamiento correspondiente en los medios de almacenamiento de datos.
Convencionalmente, como la representación interna de los datos del tipo de registro dentro del programa fue fija, los datos del tipo de registro no pudieron usarse en el método de ejecución de creación del programa, pero en la presente invención, utilizando los datos del tipo de registro como la representación interna, usando el árbol. Como los nodos de árbol constan de una tabla hash, puede cambiar la estructura de árbol para poder cambiar el formato de registro en tiempo de ejecución y puede usar datos de tipo de registro con el método de ejecución de creación de programa . En la tabla hash, dado que el puntero al área de almacenamiento se establece como el valor y el nombre del campo se utiliza como la clave, se mejora la eficiencia en el manejo de los datos del tipo de registro. Además, al almacenar punteros a otros datos de tipo de registro como valores en la tabla hash, también se pueden manejar los datos de tipo de registro anidado.
Las realizaciones de la presente invención se describirán ahora con referencia a los dibujos. La figura 1 es un diagrama de bloques que muestra una configuración de un sistema de ejecución de creación de programas de acuerdo con una realización de la presente invención.
Este método de ejecución de creación de programa es un método de ejecución de generación de programa visual e incluye un teclado 1, un dispositivo apuntador 2 como un mouse, una pantalla 3, una memoria de almacenamiento de módulos 4, una cola de control de ejecución 5, varios módulos Una configuración en la que un dispositivo de almacenamiento externo 6 almacenado como un programa objeto 13 y una memoria de almacenamiento de datos 7 para almacenar temporalmente datos transferidos entre módulos se conectan a una CPU (unidad de procesamiento central) 8 . El teclado 1 y el dispositivo señalador 2 se utilizan para crear y editar un diagrama de flujo del módulo. Display 3 es un diagrama de flujo región de visualización 11 y se divide en el área de visualización de menú 12, en la región de presentación diagrama de flujo 11, el módulo de la imagen gráfica (icono, se muestra en un ○ y □ Figura) y módulos de segmento dirigidas ellos diagrama de flujo conectando , Y en el área de visualización del menú 12, se visualiza una lista de módulos e iconos almacenados en el dispositivo de almacenamiento externo 6. La memoria 4 para almacenar módulos es una memoria en la que los módulos cuyos iconos se muestran en el diagrama de flujo del módulo se cargan para su ejecución. La cola de control de ejecución 5 es una cola en la que los módulos que esperan ser activados se registran para determinar el orden de activación de los módulos. CPU8 extrae el módulo del dispositivo de almacenamiento externo 6 por la instrucción desde el teclado 1 y el dispositivo de señalización 2 almacena en la memoria de almacenamiento módulo 4, la ejecución de los módulos almacenados en la memoria de almacenamiento de módulo 4, el control de la pantalla 3, se ejecutan Gestión de la cola de control 5, y similares.
A continuación, se describirá la operación de esta realización. El sistema de ejecución de creación de programa de esta realización puede crear, editar y ejecutar programas, pero primero se describirá la operación en el momento de la creación y edición del diagrama de flujo del módulo. Dado que el método de ejecución de creación de programa de la presente realización es un método de ejecución de creación de programa visual, se realiza la creación y edición de un diagrama de flujo de módulo, es decir, la creación y edición de un programa.
El diagrama de flujo del módulo está compuesto por varios módulos y segmentos dirigidos que conectan estos módulos. Los módulos se dividen aproximadamente en tres módulos: un módulo (módulo de inicio) ejecutado al comienzo del programa, un módulo ejecutado al final del programa (módulo de terminación) y un módulo (módulo general) Hay tipos.
En el estado inicial de la creación del diagrama de flujo del módulo, solo el módulo de inicio y el módulo final se muestran en el área 11 de visualización del diagrama de flujo de la pantalla 3. El creador del programa opera el dispositivo señalador 2, selecciona uno de los módulos visualizados en el área de visualización del menú 12 de la pantalla 3, y se mueve al área 11 de visualización del diagrama de flujo. El funcionamiento de dicho dispositivo señalador 2 es aceptado por la CPU 8 como una instrucción, y como resultado, el módulo correspondiente entre los módulos (programas objeto 13) en el dispositivo de almacenamiento externo 6 se carga realmente en el módulo que almacena la memoria 4 . Posteriormente, el creador del programa conecta los iconos de los módulos dispuestos en el área 11 de visualización del diagrama de flujo mediante punteros dirigidos mediante el funcionamiento del dispositivo apuntador 2. Entonces, esta operación también es aceptada por la CPU 8 como una instrucción, por lo que la información de secuencia de ejecución se agrega al módulo cargado en el módulo 4 para almacenar módulos. La información de orden de ejecución está indicada por flechas en la memoria de almacenamiento de módulo 4 en la figura 1. De esta manera, se crea el diagrama de flujo del módulo y se carga el módulo. De manera similar, modificando los segmentos dirigidos mediante el funcionamiento del dispositivo apuntador 2, se realiza la edición del diagrama de flujo del módulo, y la información en la memoria 4 para almacenar los módulos se actualiza en consecuencia.
A continuación, se describirá la operación en la ejecución del programa basada en el diagrama de flujo del módulo creado de esta manera. En primer lugar, se describirá la cola de control de ejecución 5 que juega un papel importante en la ejecución del programa con referencia a la figura 2. En la cola de control de ejecución 5, los módulos de espera en ese momento se registran secuencialmente en cada punto en el tiempo de ejecución. En la figura, el módulo registrado más antiguo se muestra como el primer elemento, y es el segundo elemento y el tercero en lo siguiente. Como se muestra en la figura 2, en la cola de control de ejecución 5, un nombre de módulo y una dirección de cabecera de un área de almacenamiento en la que se almacenan los datos que se van a pasar cuando se activa el módulo se registran por pares. El área de almacenamiento para estos datos está asegurada en la memoria de almacenamiento de datos 7, y la dirección principal del área de almacenamiento funciona como un puntero. Los datos se intercambian entre módulos mediante transferencia de puntero.
El control de ejecución de cada módulo se realiza utilizando la cola de control de ejecución 5 descrita anteriormente. La figura 3 es un diagrama de flujo que muestra el control de ejecución del módulo. Cuando el creador del programa instruye el inicio de la operación, primero se realiza el proceso de inicialización (paso 101). En el proceso de inicialización, un módulo de inicio se registra en la cola de control de ejecución 5. A continuación, se examinan los contenidos de la cola de control de ejecución 5 para determinar si está vacía (etapa 102). Si está vacía, el proceso finaliza y, si no está vacío, el elemento de encabezado se saca de la cola de control de ejecución 5 Luego, el segundo y siguientes elementos se incrementan uno por uno (paso 103). La información recuperada de la cola 5 de control de ejecución (un conjunto del nombre del módulo y la dirección principal del área de almacenamiento de datos que se pasará cuando se activa el módulo) se mantiene temporalmente en la CPU 8, y luego la CPU 8 causa el módulo La activación del módulo correspondiente en la memoria de almacenamiento 4 se realiza (paso 104). Tras la activación del módulo, se usa la información recuperada en el paso 103. Cuando se completa la ejecución del módulo, los datos resultantes se almacenan en la memoria de almacenamiento de datos 7.
A continuación, el nombre del módulo que se ejecutará junto al módulo ejecutado en el paso 104 en el diagrama de flujo del módulo se agrega al final de la cola de control de ejecución 5 (paso 105), y el proceso vuelve al paso 102. En ese momento, la dirección principal de los datos devueltos como resultado (valor de retorno) en el paso 104 se registra en la cola de control de ejecución 5 en combinación con el nombre del módulo. Si el flujo de procesamiento se divide en una pluralidad de flujos en el diagrama de flujo del módulo, se registra el número de dichos flujos de procesamiento.
A continuación, se describirán la estructura y el método de procesamiento de los datos utilizados en el método de ejecución de creación de programa visual descrito anteriormente de esta realización. En esta realización, un árbol se usa como una representación interna de datos de tipo de registro. Hay dos tipos de áreas de almacenamiento que conforman este árbol, uno correspondiente a las hojas en la estructura de árbol, y el almacenamiento de varios datos básicos como entero, número real, oración, matriz de enteros, matriz de números reales, matriz de caracteres, etc. Es un área de almacenamiento para almacenar. La otra área es un área de almacenamiento correspondiente a la porción de nodo en el árbol, que almacena una tabla hash cuyo valor es un puntero a otro área de almacenamiento y cuyo nombre de campo es una clave. Como puntero, se usa la dirección de inicio de 'otra área de almacenamiento'. Cualquiera de estas áreas de almacenamiento está asegurada en la memoria de almacenamiento de datos 7.
La figura 4 muestra un estado en el que los datos del tipo de registro están representados por un árbol. En la figura 4, el nodo 21 en la raíz del árbol (raíz) representa los datos del tipo de registro completo, y la parte de la hoja 22 representa cada campo que constituye el registro. Además, '' en la porción de la tabla hash indica que se almacena la dirección principal de 'otra área de almacenamiento'.
Al recuperar el valor del campo de los datos del tipo de registro que es la representación interna como se muestra en la figura 4, primero buscando en la tabla hash el nombre del campo como clave, el área de almacenamiento de los datos básicos del campo Recupera la dirección de inicio. Luego, al referirse al área de almacenamiento de la dirección principal recuperada (el área de almacenamiento correspondiente a la hoja 22), se obtiene el valor de ese campo. Por otro lado, al escribir un valor en un campo, como en el caso de recuperar un valor, primero, la dirección principal del área de almacenamiento de los datos básicos del campo a escribir se extrae de la tabla hash. Luego, el valor del campo se escribe en el área de almacenamiento de la dirección principal. Al extraer los valores de los campos y escribirlos en los campos como se describió anteriormente, es posible usar los árboles como representaciones internas de los datos del tipo de registro.
A continuación, utilizando la representación interna anterior, se explica que el formato de registro se puede cambiar en la etapa del programa de ejecución. La operación de agregar nuevamente un campo para registrar datos de tipo se realiza de la siguiente manera. En primer lugar, recientemente se reserva un área de almacenamiento para almacenar datos básicos en la memoria de almacenamiento de datos 7. Luego, al nodo correspondiente a la raíz del árbol, su área de almacenamiento se agrega como una hoja. Esto puede realizarse designando el nombre de campo que se agregará como clave y almacenando la dirección principal del área de almacenamiento recientemente asegurada en la tabla hash de ese nodo.
Por otro lado, la operación de eliminar un campo de datos de tipo de registro se realiza de la siguiente manera. En primer lugar, para la tabla hash correspondiente al nodo del árbol, especifique el nombre del campo que se eliminará como clave y obtenga la dirección de inicio del área de almacenamiento que almacena los datos básicos del campo. A continuación, elimine el nombre de campo y la dirección de la tabla hash. Luego, se libera el área de almacenamiento que se ha almacenado con los datos básicos obtenidos, que se indica mediante la dirección de inicio.
Además, cambie el nombre del campo de la siguiente manera. Primero, el nombre del campo anterior y su dirección superior correspondiente se borran de la tabla hash. Luego, registre la dirección superior con el nuevo nombre de campo.
Como se describió anteriormente, al usar un árbol como representación interna y manipular la estructura de árbol, es posible cambiar el formato de registro en la etapa del programa de ejecución.
Además, en esta realización, los datos del tipo de registro pueden ser estructura anidada. La figura 5 es un diagrama que muestra una representación interna de datos de tipo de registro anidado, que muestra un caso en el que están conectados dos nodos 21 constituidos por una tabla hash.
En la figura 5, el nodo situado en el nivel superior (el nodo 21 en la esquina superior izquierda de la figura) de los dos nodos 21 tiene la dirección principal de otro tipo de datos de registro como el valor del campo además de los datos básicos. Esto corresponde a los datos de tipo de registro anidado. De esta forma, al expandir la estructura del árbol, también es posible la representación interna de los datos de tipo de registro anidado. Como resultado, es posible crear y ejecutar de manera más eficiente un programa utilizando datos de tipo de registro.
Efecto de la invención
Como se describió anteriormente, de acuerdo con la presente invención, usando una estructura de árbol como una representación interna de datos de tipo de registro, existe el efecto de que un programa que usa datos de tipo de registro puede crearse y ejecutarse eficientemente en el sistema de ejecución de creación de programa visual.
La figura 1 es un diagrama de bloques que muestra una configuración de un sistema de ejecución de creación de programas de acuerdo con una realización de la presente invención.
La figura 2 es un diagrama que muestra una configuración interna de una cola de control de ejecución.
La figura 3 es un diagrama de flujo que muestra un procedimiento de control de ejecución de un módulo.
La figura 4 es un diagrama para explicar una representación interna de datos de tipo de registro.
La figura 5 es un diagrama para explicar la representación interna de datos de tipo de registro anidado.
1 teclado
2 dispositivo señalador
3 pantalla
Memoria para almacenar 4 módulos
5 Cola de control de ejecución
6 Dispositivo de almacenamiento externo
7 Memoria de almacenamiento de datos
8 CPU
11 Área de visualización del diagrama de flujo
12 Área de visualización del menú
13 Programa de objetos
21 nodos
22 hojas
101 105 pasos
Reclamo
Reclamaciones: 1. Una unidad de almacenamiento de módulos para almacenar varios módulos para ejecutar un procedimiento, visualizar medios para visualizar el orden de ejecución de los módulos, medios de entrada para seleccionar un módulo y especificar su orden de ejecución, Un medio de almacenamiento de datos para almacenar datos a transferir entre dichos medios de entrada y dichos medios de entrada, y medios de control para disponer los módulos de acuerdo con el orden de ejecución designado a través de dichos medios de entrada y crear y ejecutar el programa, un conjunto de datos de tipo de registro compuesto por los datos básicos está representado por una estructura de árbol de las hojas de los datos básicos y el nodo de una tabla hash, un nombre de campo de la clave de un conjunto de datos de tipo de registro de la tabla hash, el valor almacenado en la tabla hash Un puntero al área de almacenamiento de los datos básicos correspondientes al nombre del campo sistema de ejecución de programación, caracterizado porque es un puntero a un área de almacenamiento de un tipo de datos en el registro anidada.
2. La ejecución de creación de programa según la reivindicación 1, que comprende además una cola de control de ejecución para almacenar un nombre de módulo de un módulo en espera de ser procesado y un puntero a un área de almacenamiento de datos para pasar al módulo de acuerdo con el orden de ejecución del módulo Método.
3. El método de ejecución de creación de programa de acuerdo con la reivindicación 1 o 2, en el que el puntero es la dirección principal del área de almacenamiento correspondiente en dichos medios de almacenamiento de datos.
Dibujo :
Application number :1997-016381
Inventors :日本電信電話株式会社
Original Assignee :増田健、加藤康之、満永豊