ES2687433T3 - Dispositivo y método de soporte de la generación de código de programa, dispositivo y método de ejecución del programa, dispositivo y método de compresión del código de programa, programa para el mismo - Google Patents

Dispositivo y método de soporte de la generación de código de programa, dispositivo y método de ejecución del programa, dispositivo y método de compresión del código de programa, programa para el mismo Download PDF

Info

Publication number
ES2687433T3
ES2687433T3 ES06712888.4T ES06712888T ES2687433T3 ES 2687433 T3 ES2687433 T3 ES 2687433T3 ES 06712888 T ES06712888 T ES 06712888T ES 2687433 T3 ES2687433 T3 ES 2687433T3
Authority
ES
Spain
Prior art keywords
program code
execution
data
command
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES06712888.4T
Other languages
English (en)
Inventor
Takahiro Ito
Shigeki Suzuki
Yoshiko Ochiai
Noriyuki Kushiro
Yoshiaki Koizumi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2005028122A external-priority patent/JP4638250B2/ja
Priority claimed from JP2005028123A external-priority patent/JP4656960B2/ja
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of ES2687433T3 publication Critical patent/ES2687433T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4434Reducing the memory space required by the program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • G06F9/30178Runtime instruction translation, e.g. macros of compressed or encrypted instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Un dispositivo de soporte de la generación de código de programa, que comprende: un medio (10) de almacenamiento para almacenar como datos, una regla de optimización que está compuesta de una condición de conversión y un contenido de conversión, estando la condición de conversión determinada en base a un número de repetición mediante el cual se continua los códigos de ejecución en base al mismo comando, con respecto a los datos de un código de programa constituido por un código de ejecución que está compuesto de datos de proceso usados para un proceso de ejecución y un comando que representa un contenido del proceso de ejecución; y un medio (4-1) de optimización de código que incluye una unidad (4A) de análisis de código para analizar el código de programa y contar el número de repetición, una unidad (4B) de búsqueda de condiciones para cotejar el código de programa analizado con la regla de optimización almacenada en el medio (10) de almacenamiento y buscar una parte que coincida con la condición de conversión en el código de programa en base al número de repetición contado, y una unidad (4D) de optimización para convertir la parte que coincide con la condición de conversión en base al contenido de conversión para generar los datos de un nuevo código de programa; comprendiendo además el dispositivo: incorporar un medio (6) de entrada de la condición del aparato incorporado para establecer una capacidad de almacenamiento del código de programa de un aparato que ejecuta el código de programa como un entorno del proceso de ejecución del código de programa; y los medios (4E, 4F) del proceso de compresión del código de programa para comprimir y procesar el código de programa en base al entorno del proceso de ejecución establecido por el medio (6) de entrada de la condición del aparato incorporado; en donde los medios (4E, 4F) del proceso de compresión del código de programa se configuran para comprimir el código de programa constituido por los códigos de ejecución, estando cada código de ejecución compuesto por los datos de proceso usados para el proceso de ejecución y el comando que representa el contenido del proceso de ejecución que se dispone en orden, discriminando los datos de proceso y el comando en cada código de ejecución, compilando y convirtiendo las piezas de los datos de proceso para cada elemento en formato binario, convertir el comando en un valor numérico correspondiente al comando, dividir los datos de proceso convertidos en formato binario y el comando convertido en un valor numérico entre una cantidad de datos predeterminada para formar una pluralidad de grupos con cada grupo correspondiendo a bien los datos de proceso o el comando, siendo el tamaño de cada uno de la pluralidad de grupos la cantidad de datos predeterminada, y, para cada grupo, añadiendo un bit que es una bandera para determinar si el grupo contiene el comando o no.

Description

DESCRIPCION
Dispositivo y metodo de soporte de la generacion de codigo de programa, dispositivo y metodo de ejecucion del programa, dispositivo y metodo de compresion del codigo de programa, programa para el mismo
Campo tecnico
5 La presente invencion se refiere a un dispositivo de soporte de la generacion de codigo de programa para realizar el soporte para generar un codigo de programa y similar. En concreto, el dispositivo es para optimizar un codigo de programa de acuerdo con un dispositivo o similar que ejecuta y procesa el codigo de programa. Tambien, la invencion se relaciona con un dispositivo, metodo, y similar de ejecucion del programa para realizar el proceso de ejecucion en base al codigo de programa. Ademas, la invencion se relaciona con un metodo y dispositivo de 10 procesamiento de compresion del codigo de programa para realizar el dispositivo y el metodo.
Antecedentes de la tecnica
En un electrodomestico (un acondicionador de aire, un refrigerador, una lavadora, un dispositivo de iluminacion de lampara luminiscente, o similar), etc., para controlar el funcionamiento del mismo, se incorpora un dispositivo de ejecucion del programa (de aqu en adelante tal como un electrodomestico, un adaptador de electrodomestico, o 15 similar es referido como un aparato incorporado). En este momento, para que el dispositivo de ejecucion del programa realice un proceso de ejecucion, se requieren unos datos predeterminados lo que es llamado un codigo de programa. Este codigo de programa se almacena, por ejemplo, en medios de almacenamiento avanzados tales como un ROM (Memoria de Solo Lectura) que se proporciona en el aparato incorporado, y el dispositivo de ejecucion del programa lee (introduce) el codigo de programa almacenado en la ROM para realizar el proceso de 20 ejecucion. Despues, se propone tambien un dispositivo para el soporte de la generacion de dicho codigo de programa (por ejemplo, consulte el Documento 1 de Patente).
Ademas, existe un dispositivo de ejecucion del programa para realizar un proceso de compresion del codigo de programa para reducir la cantidad de datos que debenan ser almacenados y para reducir la capacidad de almacenamiento de los medios de almacenamiento tales como la ROM tanto como sea posible, suprimiendo asf los 25 costes relacionados con los medios de almacenamiento (por ejemplo, consulte el Documento 2 de Patente). De esta manera, la reduccion en la cantidad de datos del codigo de programa sera, en los dfas venideros, conveniente para el caso en el que los aparatos incorporados esten mutuamente conectados a traves de una red para enviar y recibir, por ejemplo, senales que contienen los datos del codigo de programa.
Documento 1 de Patente: Publicacion de Solicitud de Patente No Examinada Japonesa N° 9-16382.
30 Documento 2 de Patente: Publicacion de Solicitud de Patente No Examinada Japonesa N° 2002-318696.
El artfculo por Hayes et. al. “Una Arquitectura para la Ejecucion Directa del Lenguaje de Programacion Forth” XP008058727 describe una arquitectura para la ejecucion directa de en concreto el lenguaje de programacion Forth. La arquitectura del microprocesador incluye una discusion de la posibilidad de ejecutar multiples primitivas Forth con micro instrucciones.
35 El artfculo por Tanenbaum A S et al: “Un Conjunto de Herramientas Practicas para Hacer Compiladores Portatiles”, XP002026989, describe un sistema de compilacion para crear codigo ejecutable. El sistema de construccion del compilador incluye un optimizador que lee un codigo maquina codificado optimizado y escribe codigo optimizado.
Descripcion de la invencion
Problemas a ser resueltos por la invencion
40 En la presente memoria, los entornos en los que se usa el codigo de programa no son necesariamente uniformes y vanan en gran medida dependiendo de, por ejemplo, el aparato incorporado (en concreto, el dispositivo de ejecucion del programa). Por tanto, se desea generar un codigo de programa de acuerdo con una caractenstica del aparato incorporado o similar. En concreto, si la cantidad de datos relacionada con el codigo de programa se puede establecer pequena, por solo eso, es posible reducir la capacidad de almacenamiento de la ROM o de una memoria 45 intermedia para el almacenamiento temporal en el momento de realizar el proceso de ejecucion en el dispositivo de ejecucion del programa. Tambien, en los dfas venideros, es conveniente tambien dicha reduccion en el caso en que los aparatos incorporados esten mutuamente conectados a traves de la red para enviar y recibir, por ejemplo, las senales que contienen el codigo de programa. Sin embargo, el dispositivo de soporte descrito anteriormente simplemente genera el codigo de programa.
50 Tambien, en los casos habituales, cuando el codigo de programa esta comprimido, se disminuye la velocidad del proceso de ejecucion del dispositivo de ejecucion del programa. En vista de lo anterior, se adopta un metodo de acumulacion de codigo de programa expandido en los medios de almacenamiento temporales (memorias intermedias) que estan compuestos de una RAM (Memoria de Acceso Aleatorio) o similar. Por esta razon, se requiere una gran capacidad RAM.
5
10
15
20
25
30
35
40
45
En vista de lo anterior, un objetivo de la presente invencion es realizar un dispositivo, metodo, y similar de soporte de la generacion de codigo de programa, capaz de optimizar mas un codigo de programa para generar un nuevo codigo de programa, en concreto, un dispositivo, metodo, y similar de soporte de la generacion de codigo de programa, capaz de generar un codigo de programa de acuerdo con un aparato incorporado.
Ademas, un objetivo de la presente invencion es obtener un dispositivo, metodo, y similar de ejecucion del programa, capaz de reducir la capacidad de almacenamiento de una memoria intermedia que se debena preparar mientras que se logra la reduccion en la capacidad de almacenamiento de la ROM con el uso de un codigo de programa comprimido y se evita la disminucion de la velocidad del proceso de ejecucion del dispositivo de ejecucion del programa. Ademas, un objetivo de la presente invencion es realizar un metodo, dispositivo, y similar de compresion del codigo de programa, para realizar el dispositivo y metodo anteriormente mencionado.
Medios para solucionar los problemas
Un dispositivo de soporte de la generacion de codigo de programa segun un primer aspecto de la presente invencion se establece en la reivindicacion 1.
Segun un segundo aspecto de la presente invencion se proporciona un metodo de soporte de la generacion de codigo de programa tal como se establece en la reivindicacion 2.
Segun un tercer aspecto de la presente invencion se proporciona un programa de un metodo de soporte de la generacion de codigo de programa tal como se establece en la reivindicacion 3.
Breve descripcion de los dibujos
[Fig. 1] Un diagrama que ilustra un sistema alrededor de un dispositivo de soporte de la generacion de codigo de programa.
[Fig. 2] Un diagrama que ilustra un ejemplo de una pantalla cuyo medio 1 de entrada de especificacion se presenta en el medio 20 de presentacion.
[Fig. 3] Un diagrama que ilustra un ejemplo de un codigo de ejecucion.
[Fig. 4] Diagramas que ilustran un ejemplo de una regla de optimizacion.
[Fig. 5] Diagramas que ilustran otro ejemplo de la regla de optimizacion.
[Fig. 6] Un diagrama que ilustra un dispositivo de soporte de la generacion de codigo de programa segun la Realizacion 2.
[Fig. 7] Un diagrama que ilustra un ejemplo de una pantalla que presenta un medio 6 de entrada de la condicion del aparato incorporado.
[Fig. 8] Un diagrama que ilustra datos de ejecucion comprimidos.
[Fig. 9] Un diagrama que ilustra un proceso de compresion del codigo de programa segun la Realizacion 1.
[Fig. 10] Un diagrama que ilustra un dispositivo de ejecucion del programa segun una Realizacion 2 de la presente invencion.
[Fig. 11] Un diagrama de flujo que describe las operaciones en el dispositivo de ejecucion del programa.
[Fig. 12] Diagramas que ilustran un codigo de ejecucion comprimido segun la Realizacion 3.
Referencias numericas
1 medio de entrada de especificacion, 2 medio de generacion de codigo, 3 medio de evaluacion de codigo, 4, 4-1 medios de optimizacion de codigo, 4A unidad de analisis de codigo, 4B unidad de busqueda de condiciones, 4C, 4D unidad de optimizacion, 4E unidad de discriminacion de datos de proceso y comando, 4F unidad de conversion, 5 medio de salida, 6 medio de entrada de la condicion del aparato incorporado, 10 medio de almacenamiento, 10A unidad de diccionario, 10B unidad de almacenamiento de reglas de optimizacion, 20 medio de presentacion, 30 medio de entrada, 40 dispositivo de impresion, 50 dispositivo de lectura y escritura en memoria, 101 medio del proceso de control, 101A unidad de discriminacion de datos de proceso y comando, 101B unidad de conversion, 102 medio de almacenamiento, 103, medio de comunicacion, 121 medio de determinacion del tipo de codigo, 122 medio de extension de codigo, 123 medio de ejecucion, 124 medio de almacenamiento del codigo de programa, 125 medio de almacenamiento de memoria intermedia.
5
10
15
20
25
30
35
40
45
50
55
60
Mejor manera de llevar a cabo la invencion
Ejemplo 1
La Fig. 1 es un diagrama que ilustra un sistema alrededor de un dispositivo de soporte de la generacion de codigo de programa segun la Realizacion 1 de la presente invencion. El dispositivo de soporte de la generacion de codigo de programa esta compuesto por el medio 1 de entrada de especificacion, el medio 2 de generacion de codigo, el medio 3 de evaluacion de codigo, el medio 4 de optimizacion de codigo, el medio 5 de salida, el medio 10 de almacenamiento, el medio 20 de presentacion, y el medio 30 de entrada.
La Fig. 2 es un diagrama que ilustra un ejemplo de la pantalla que presenta el medio 1 de entrada de especificacion en el medio 20 de presentacion. El medio 1 de entrada de especificacion presenta, por ejemplo, una pantalla que permite a un operador introducir una especificacion en el medio 20 de presentacion, y procesar los datos que se introducen desde el medio 30 de entrada como la especificacion. Los datos asf procesados resultan datos procesados que constituyen un codigo de ejecucion. En este momento, ECHONET (Conservacion de Energfa y Red de Asistencia Domiciliaria: ECHONET es una marca del consorcio ECHONET) se refiere a un estandar de una red (circuito de comunicacion) para realizar un control mientras que se hace cooperar a los electrodomesticos los unos con los otros como se muestra en la Fig. 1. Segun esta realizacion, se genera un codigo de programa para realizar un proceso de ejecucion de electrodomesticos, adaptadores, y similares, que se conectan en base al estandar. La relacion entre los elementos (objetos) de cada especificacion y los datos de proceso se describira mas adelante.
La Fig. 3 es un diagrama que ilustra un ejemplo de un codigo de ejecucion. El medio 2 de generacion de codigo genera un codigo de programa en base a los datos procesados por el medio 1 de entrada de especificacion. En la Fig. 3, se describe como datos de texto. El codigo de programa esta compuesto de uno o una pluralidad de codigos de ejecucion. El codigo de ejecucion es una unidad en la que los procesos de ejecucion se realizan de manera secuencial, por ejemplo, mediante un interprete de un dispositivo de ejecucion del programa que incluye el aparato incorporado. En esta realizacion, se usa Forth como el lenguaje que se usa para el codigo de programa. Forth es un lenguaje basado en la notacion Polaca inversa en la que el analisis de la sintaxis es simple o innecesario. Segun esta realizacion, el codigo de ejecucion esta compuesto por los datos de un comando (instruccion) que representan un proceso que el dispositivo de ejecucion del programa debena ejecutar (de aqrn en adelante referido como un comando; En Forth, referido como una palabra) y los datos para un proceso en base al comando (de aqrn en adelante referido como datos de proceso), y se describe en el orden de los datos de proceso y el comando. En este momento, cada comando y datos de su contenido de proceso se definen (asocian) y registran (lo cual es llamado diccionario) anteriormente. Por esta razon, si datos tales como una cadena de caracteres descrita en el codigo de ejecucion se registra en el diccionario, los datos son un comando, y si los datos no estan registrados, los datos son datos de proceso. Tambien, ademas de los comandos anteriormente determinados, se puede registrar el contenido del proceso del comando en el diccionario definiendo el contenido del proceso de comando. Segun esta realizacion, este diccionario se almacena en el medio 10 de almacenamiento como una unidad 10A de diccionario. En este caso, el codigo de programa se genera con el uso de Forth, pero el codigo de programa al que la presente invencion se puede aplicar no se limita a lo anterior.
Aqrn, el medio 2 de generacion de codigo genera un codigo de programa para la evaluacion de modo que el operador pueda realizar facilmente una evaluacion cuando el codigo de programa se presenta en el medio 20 de presentacion en un proceso mediante el medio 3 de soporte de la evaluacion de codigo en una etapa posterior. Por ejemplo, se realiza la generacion de modo que la cadena de caracteres del codigo de ejecucion no sea demasiado larga, o que un comando basico, que no esta definido de manera unica, se use para la generacion, facilitando asf un seguimiento.
Se describe el comando RGST_EPC para ejecutar y procesar un registro para la informacion de propiedad del aparato incorporado. El id de objeto (id_obj) es un id anadido a un objeto del aparato incorporado. La propiedad ECHONET (epc) es un codigo de una propiedad (por ejemplo, un estado de establecimiento del volumen de aire en un acondicionador de aire o similar), que se puede establecer de acuerdo con el aparato incorporado. El valor del codigo es definido por el estandar ECHONET. Tambien, se preparan 7 tipos para los tipos de datos (tipo) de la propiedad (determinados de manera automatica cuando se determinan el aparato incorporado y la propiedad). La regla de acceso (regla) representa escribir, leer, y la autorizacion o desautorizacion de notificacion. La disponibilidad o no disponibilidad del anuncio de cambio de estado (anno) es un mdice (bandera) que indica si, cuando es cambiado el estado de la propiedad, se emite una notificacion o no a traves de la red. El tamano de los datos (tamano) es para definir un tamano de datos de la propiedad, y el valor maximo del tamano se establece como 8640 bytes en el estandar ECHONET.
El medio 3 de evaluacion de codigo realiza el soporte para el operador para evaluar el codigo de programa (el codigo de ejecucion) que es generado por el medio 2 de generacion de codigo u otro medio. Por ejemplo, para que el operador evalue el codigo de programa a traves de la comprobacion, depuracion, o similar del codigo de programa asf generado, el codigo de programa se presenta en la pantalla del medio 20 de presentacion. Ademas, el dispositivo de ejecucion del programa tiene un interprete que se usa al realizar el proceso de ejecucion, haciendo asf posible realizar el proceso de ejecucion del codigo de ejecucion asf generado. Como resultado, el operador puede comprobar el proceso de ejecucion que se realiza en base al codigo de programa (el codigo de ejecucion).
5
10
15
20
25
30
35
40
45
50
55
60
El medio 4 de optimizacion de codigo optimiza el codigo de programa en base a la regla de optimizacion almacenada en una unidad 10B de almacenamiento de reglas de optimizacion del medio 10 de almacenamiento. El medio 4 de optimizacion de codigo se compone de una unidad 4A de analisis de codigo, una unidad 4B de busqueda de condiciones, y una unidad 4C de optimizacion. La regla de optimizacion es generada, por ejemplo, mediante el establecimiento de una regla de conversion dentro de los datos para que el dispositivo de ejecucion del programa pueda realizar de manera efectiva el proceso de ejecucion en base al codigo de programa, ademas de compilar una pluralidad de codigos de ejecucion, generar un nuevo codigo de ejecucion, etc. La regla de optimizacion se describira de manera adicional mas adelante.
La unidad 4A de analisis de codigo analiza el codigo de programa de entrada. En la presente memoria, la unidad 4A de analisis de codigo tiene un contador para contar el numero consecutivo de codigos de ejecucion en una parte en la que los codigos de ejecucion que tienen el mismo comando para ejecutar y procesar el mismo contenido aparecen de manera consecutiva. La unidad 4B de busqueda de condiciones realiza una busqueda en base a la condicion de conversion. Esto es, se determina si existe o no una parte que coincide con la condicion de conversion mediante el cotejo del codigo de programa analizado con la condicion de conversion que constituye la regla de optimizacion. En este momento, es referido el contador de la unidad 4A de analisis de codigo. La unidad 4C de optimizacion genera un nuevo codigo de ejecucion (finalmente, un codigo de programa) con respecto a la parte determinada por la unidad 4B de busqueda de condiciones que coincide con la condicion de conversion.
En este momento, la unidad 4A de analisis de codigo, la unidad 4B de busqueda de condiciones, y la unidad 4C de optimizacion pueden estar ffsicamente compuestas por medios independientes, pero en la presente memoria, por ejemplo, los procesos de las respectivas unidades se realizan mientras los procesos de los respectivos medios son ejecutados por un dispositivo de procesamiento de control basado en una CPU. Se debena observar que lo mismo aplica a la relacion entre el medio 1 de entrada de especificacion, el medio 2 de generacion de codigo, el medio 3 de evaluacion de codigo, el medio 4 de optimizacion de codigo, y el medio 5 de salida, y los respectivos medios pueden ser independientes los unos de los otros. Sin embargo, segun esta realizacion, como el dispositivo de procesamiento de control ejecuta los procesos de los respectivos medios, se realizan los procesos del dispositivo de soporte de la generacion de codigo de programa.
El medio 5 de salida convierte el codigo de programa en datos de un formato de acuerdo con el correspondiente dispositivo de salida y realiza un proceso para provocar que el dispositivo de salida emita. Por ejemplo, en caso de que el dispositivo de salida es un dispositivo 40 de impresion, el codigo de programa se convierte en datos que son impresos por el dispositivo de impresion en forma de codigo de barras, codigo QR (un codigo de dos dimensiones: el codigo qR es una marca registrada de DENSO WAVE INCORPORATED), o similar, y se realiza un proceso para imprimir los datos en un medio de impresion. Por esta razon, por ejemplo, sin enviar una senal proporcionando un costoso dispositivo de comunicacion que es de uso exclusivo en el aparato incorporado y conectando directamente al dispositivo de comunicacion, es posible almacenar el codigo de programa enviando una senal que incluye los datos al aparato incorporado con el uso de una camara, que se proporciona en un telefono movil, de una tecnologfa de comunicacion infrarroja, o similar. Como resultado, incluso cuando se usa un medio de bajo precio tal como un medio de papel, el codigo de programa almacenado en el aparato incorporado puede mantenerse actualizado. Ademas, por ejemplo, se puede usar un dispositivo 50 de lectura y escritura en memoria como dispositivo de salida para realizar el intercambio de datos a traves de un medio de almacenamiento electronico. Tambien, el dispositivo de comunicacion puede funcionar como dispositivo de salida. Se debena observar que el medio 10 de almacenamiento almacena, ademas del diccionario almacenado en la unidad 10A de diccionario y de la regla de optimizacion almacenada en la unidad 10B de almacenamiento de reglas de optimizacion, programas y similares para el soporte de la generacion de codigo de programa a ser realizado por el medio respectivo, asf como los datos para presentar una pantalla en el medio 20 de presentacion.
Las Fig. 4 son diagramas que ilustran un ejemplo de una regla de optimizacion. Por ejemplo, como se muestra en la Fig. 4(a), la unidad 10B de almacenamiento de las reglas de optimizacion almacena una regla como la regla de optimizacion 'si la descripcion del codigo de programa se hace para realizar de manera continua el proceso de ejecucion del comando RGST_EPC (el registro de una propiedad ECHONET es el contenido del proceso) varias veces, el comando se sustituye por el comando RGST_EPCS con los contenidos del proceso en el que los registros de la pluralidad de propiedades ECHONET son ejecutadas y procesadas de una sola vez'. La Fig. 4(b) ilustra los contenidos como datos en un formato de texto (descripcion). Un contenido antes de una flecha representa una condicion de conversion en el momento en que la unidad 4B de busqueda de condiciones realiza una busqueda, y el contenido despues de la flecha representa los contenidos de conversion en el momento en que la unidad 4C de optimizacion realiza la conversion (en la presente memoria, n es igual o mayor que 2 segun el proceso es realizado varias veces. Esta n es contada por la unidad 4A de analisis de codigo). En un codigo de ejecucion relacionado con el comando RGST_EPCS, con respecto a una propiedad ECHONET a ser registrada, los datos de proceso se hacen disponiendo conjuntos de id de objeto (id_obj), propiedad ECHONET (epc), tipo de datos (tipo), disponibilidad o no disponibilidad de anunciamiento de cambio de estado (anno) y tamano de datos (tamano) por el numero de registros repetidos y asignando el numero de repeticiones. Este comando RGST_EPCS se registra tambien en la unidad 10A de diccionario. De esta manera, los codigos de ejecucion se compilan en otro codigo de ejecucion para reducir la cantidad de datos del codigo de programa, logrando asf la optimizacion. El proceso de ejecucion se realiza mientras se compilan una pluralidad de codigos de ejecucion, mediante lo cual es posible aumentar la velocidad de proceso.
5
10
15
20
25
30
35
40
45
50
55
60
Las FIG. 5 son diagramas que ilustran otro ejemplo de regla de optimizacion. Por ejemplo, en las Fig. 5, se almacena un regla 'una consecucion de asignaciones con respecto a los diferentes elementos en la misma secuencia se sustituye por el comando ESTABLECER_C_CONJUNTO en donde se pueden asignar valores de manera colectiva' en la unidad 10B de almacenamiento de reglas de optimizacion. La Fig. 5(b) ilustra el contenido como datos en formato texto (descripcion). En la presente memoria, caracter representa un valor asignado, c-dir representa una direccion de la parte asignada, y desplazamiento representa un desplazamiento a partir de la direccion inicial. [ ] esto se anade a la c-dir de la condicion de conversion en el momento en que la unidad 4B de busqueda de condiciones realiza una busqueda y el contenido de la conversion en el momento en que la unidad 4C de optimizacion realiza una conversion representa que los contenidos de las c-dir (cadenas de caracteres) son los mismos. Ademas, n es igual o mayor que 2 y es contado por la unidad 4A de analisis de codigo. Por ejemplo, '1 MEM 0 + C! ’ es un proceso de ejecucion para asignar 1 en una parte en el byte numero 0 a partir de la direccion MEM. En un codigo de ejecucion relacionado con el comando ESTABLECER_C_CONJUNTO, los datos de proceso se hacen organizando los valores asignados (caracter) por n veces (el numero de repeticiones), ordenando 'MEM' que representa una direccion y un desplazamiento de n veces, y asignando el numero de repeticiones. Tambien, se registra el comando ESTABLECER_C_CONJUNTO en la unidad 10A de diccionario.
Como se describe anteriormente, segun el Ejemplo 1, la unidad 4A de analisis de codigo realiza el analisis en el codigo de programa generado por el medio 2 de generacion de codigo ademas de en el medio 4 de optimizacion de codigo, la unidad 4B de busqueda de condiciones busca la parte que coincide con la condicion de conversion en base a la regla de optimizacion almacenada en la unidad 10B de almacenamiento de reglas de optimizacion, y la unidad 4C de optimizacion realiza una conversion para realizar la optimizacion para la parte que coincide con la condicion de conversion que es determinada por la unidad 4B de busqueda de condiciones para generar el nuevo codigo de ejecucion (el codigo de programa). Por tanto, el dispositivo de ejecucion del programa que tiene el aparato incorporado puede realizar la optimizacion para facilitar el proceso de ejecucion o similar. En concreto, se compila la parte en la que los codigos de ejecucion basados en el mismo comando aparecen de manera consecutiva para generar el nuevo codigo de ejecucion, y asf se puede reducir la cantidad de datos del programa completo y los procesos se pueden realizar de manera colectiva al mismo tiempo en el proceso de ejecucion asf como, es posible aumentar la velocidad del proceso. En este momento, el codigo de programa relacionado a la generacion por el medio 2 de generacion de codigo se genera de tal manera que el operador realiza facilmente la evaluacion cuando el medio 3 de soporte de la evaluacion de codigo presenta el codigo de programa en el medio 20 de presentacion, mediante lo cual el operador puede realizar facilmente la comprobacion, correccion, y similar. Ademas, el codigo de programa es convertido en datos de acuerdo con el dispositivo de salida por el medio 5 de salida, y por lo tanto es posible registrar los codigos de programa correspondientes a los diversos formatos de los dispositivos de salida. En concreto, si se hace la conversion en los datos para imprimir el codigo de barras, el codigo qR, o para imprimir algo similar, el registro del codigo de programa se puede realizar en el medio de bajo precio. Tambien, por ejemplo, los medios de comunicacion generales tales como un telefono movil se pueden usar para enviar la senal que incluye el codigo de programa al aparato incorporado.
Ejemplo 2
La Fig. 6 es un dibujo que ilustra un dispositivo de soporte de la generacion de codigo de programa segun el Ejemplo 2 de la presente invencion. El entorno en el que se mantiene (almacena) el codigo de programa en el aparato incorporado y el entorno en el que el dispositivo de ejecucion del programa que incorpora el aparato ha realizado el proceso de ejecucion en base al codigo de programa vana dependiendo del tipo de dispositivo. En concreto, para la generacion del codigo de programa, una capacidad de almacenamiento de una ROM para mantener (almacenar) el codigo de programa y una capacidad de almacenamiento usable de una RAM (Memoria de Acceso Aleatorio) durante el proceso de ejecucion o similar. En vista de lo anterior, segun este ejemplo, se establece y se refleja una condicion para el aparato incorporado (un entorno del proceso de ejecucion basado en el codigo de programa) en el momento de la generacion del codigo de programa. En la Fig. 6, una parte que tiene la misma referencia numerica que la del dispositivo de soporte de la generacion de codigo de programa de la Fig. 1 realiza una operacion de proceso similar a la del medio descrito en el Ejemplo 1, por lo que se omite esta explicacion.
La Fig. 7 es un dibujo que ilustra un ejemplo de una pantalla que incorpora un medio 6 de entrada de la condicion del aparato incorporado en el medio 20 de presentacion. El medio 6 de entrada de la condicion del aparato incorporado presenta, por ejemplo, una pantalla que permite a un operador introducir una caractenstica, una condicion, y similar del aparato incorporado en el medio 20 de presentacion. El medio de entrada de la condicion del aparato incorporado realiza un proceso de configuracion de una senal de instruccion que es una entrada a partir del medio 30 de entrada y transmite la senal al medio 4 de optimizacion de codigo y al medio 5 de salida. En la Fig. 7, es posible establecer la capacidad de almacenamiento de la ROM para mantener el codigo de programa (capacidad de almacenamiento de codigo), la capacidad de almacenamiento usable de la RAM (capacidad RAM usable), si se realiza o no el proceso de compresion del codigo de programa (compresion binaria), si el codigo de programa se saca como medio de impresion o se saca como medio de almacenamiento electronico tal como una tarjeta de memoria (medio de salida), y si se realiza o no la conversion en codigo QR (el codigo QR es una marca registrada de DENSO WAVE INCORPORATED) cuando se selecciona el medio de impresion (conversion en codigo QR).
5
10
15
20
25
30
35
40
45
50
55
60
El medio 4-1 de optimizacion de codigo segun esta realizacion es diferente del medio 4 de optimizacion en que el medio 4-1 de optimizacion de codigo se proporciona con una unidad 4D de optimizacion para realizar, ademas del proceso de la unidad 4C de optimizacion, la determinacion en base a las capacidades de almacenamiento de la ROM y de la RAM del aparato incorporado que son entrada en el medio 6 de entrada de la condicion del aparato incorporado, en lugar de la unidad 4C de optimizacion. Tambien, otra diferencia reside en que se proporciona una unidad 4E de discriminacion de datos de proceso y comando y una unidad 4F de conversion para comprimir el codigo de programa. Segun esta realizacion, la unidad 4E de discriminacion de datos de proceso y comando y la unidad 4F de conversion se constituyen como parte de las funciones del medio 4-1 de optimizacion de codigo, pero se pueden constituir como un medio del proceso de compresion del codigo de programa independiente.
La unidad 4D de optimizacion realiza una conversion para realizar la optimizacion para la parte que coincide con la condicion de conversion, que es determinada por la unidad 4B de busqueda de condiciones, para generar un nuevo codigo de ejecucion, pero en ese momento, si el numero de codigos de ejecucion a compilar resulta grande, la cantidad de datos de los datos de proceso resulta grande, y existe la posibilidad de que la cantidad de datos de un nuevo codigo de ejecucion resulte grande. Por esta razon, dependiendo del aparato incorporado, cuando el dispositivo de ejecucion del programa realiza el proceso de ejecucion, la cantidad de datos puede exceder la capacidad de la RAM para almacenar de manera temporal los codigos de ejecucion y similares. En vista de lo anterior en base a los datos sobre la capacidad de la RAM usable que se introducen a traves del medio 6 de entrada de la condicion del aparato incorporado, cuando se determina que la cantidad de datos excede la capacidad, la unidad 4D de optimizacion genera una pluralidad de codigos de ejecucion cuya cantidad de datos es igual o menor que la capacidad, de manera separada. Tambien, cuando la cantidad de datos del codigo de programa completo excede la capacidad de almacenamiento de la ROM para mantener el codigo de programa que tiene el aparato incorporado, sin tener en consideracion la presencia o ausencia de la configuracion, la unidad 4E de discriminacion de datos de proceso y comando y la unidad 4F de conversion son incitadas a realizar el proceso de compresion. Las determinaciones anteriormente descritas y similares se realizan para generar un nuevo codigo de programa.
La Fig. 8 es un diagrama que ilustra los datos de ejecucion comprimidos. A continuacion, el proceso de compresion se describira en base al codigo de ejecucion que se describe en la Fig. 3. En base a la entrada de la compresion binaria en el medio 6 de entrada de la condicion del aparato incorporado y la determinacion en la unidad 4D de optimizacion, cuando se realiza el proceso de compresion, en la unidad 4E de discriminacion de datos y comando, se realiza un proceso de discriminacion para los datos de proceso y los comandos de tal manera que los respectivos codigos de ejecucion del codigo de programa se cotejan con el diccionario almacenado en la unidad 10A de diccionario para establecer las cadenas de caracteres, numeros, y similares, que no coinciden con el diccionario, como los datos de proceso y para establecer las cadenas de caracteres coincidentes (textos) como los comandos.
La unidad 4F de conversion representa respectivamente los datos de proceso y los comandos en datos binarios. En este momento, se asignan 2 bits para representar el id de objeto, 8 bits para la propiedad ECHONET (epc), 3 bits para el tipo de datos de la propiedad, 3 bits para la regla de acceso, 1 bit para la disponibilidad o no disponibilidad del anunciamiento del cambio de estado, y 14 bits para el tamano de datos. Despues de ser representados como datos binarios, los datos se generan mientras que se dividen para cada cantidad de datos predeterminada. En esta realizacion, se establecen 7 bits como la cantidad de datos predeterminada. Por ejemplo, cuando los datos de proceso tienen una cantidad de datos que no se puede dividir entre 7, por ejemplo, se rellena con “0” para el resto de los bits. Entonces, para los datos que representan los datos de proceso (de aqrn en adelante estos datos se refieren tambien como datos de proceso), se anade un “0” como un bit inicial a los bits divididos, y para los datos para determinar el comando (de aqrn en adelante estos datos se refieren tambien como comando) se anade un “1”. Esto es, esto resulta un bit de determinacion (bandera) para determinar si estos son los datos de proceso o el comando. Como resultado cada uno de los codigos de ejecucion (el codigo de programa) es dividido en codigos de byte en unidades de 1 byte (8 bits). De esta manera, las piezas de los datos de proceso divididas en la cadena de caracteres de cada objeto (elemento) se compilan y procesan como los datos binarios para realizar la reduccion en la cantidad de datos.
Por otro lado, el comando es representado por los datos binarios correspondientes al comando con una correspondencia 1 a 1. Como resultado, se puede determinar el comando representado por los datos binarios. Se asocia y almacena una relacion entre este comando y los datos binarios como datos en el medio 10 de almacenamiento, y la unidad 4F de conversion hace referencia a los datos en el momento de la generacion. En la presente memoria, si el numero de comandos es igual o menor que 128, 1 byte es suficiente para determinar el comando. Por ejemplo, en caso de que el numero de comandos sea igual o mayor que este o similar, son necesarios 2 o mas bytes. Sin embargo, incluso en tal caso, si resulta posible determinar el comando frecuentemente usado para (que aparezca en) el proceso de ejecucion (por ejemplo, relacionado a la propiedad, etc.) por medio de solo 1 byte de datos de codigo, la cantidad de datos del codigo de programa completo se puede reducir adicionalmente. Se debena observar que los datos de codigo en la unidad de byte que se genera a traves del metodo de esta realizacion se pueden comprimir adicionalmente a traves de un metodo de compresion de secuencias de bits conocido tal como un metodo de longitud de ejecucion.
Tambien, en base a los datos del medio de salida que se introducen a traves del medio 6 de entrada de la condicion del aparato incorporado, el medio 5 de salida determina un metodo para realizar la conversion. En este momento,
5
10
15
20
25
30
35
40
45
50
55
60
cuando el medio de almacenamiento electronico se selecciona como el medio de salida, la conversion a codigo QR se selecciona de manera automatica como 'a no realizar'. Entonces, cuando el medio de impresion se selecciona como el medio de salida, la conversion a codigo QR se selecciona como 'a realizar'.
En el dispositivo de ejecucion del programa que tiene el aparato incorporado, a traves del medio de almacenamiento o similar, por ejemplo, se mantiene un codigo de programa de ROM. El codigo de programa es lefdo en 1 byte, se determina si el codigo son los datos que contienen el comando o los datos que contienen los datos de proceso en base al bit de determinacion, y en caso de que los datos contengan los datos de proceso, los datos se almacenan de manera temporal en la RAM. Cuando se determinan como los datos que contienen el comando, los datos se extienden al codigo de ejecucion para realizar el proceso de ejecucion.
Como se describe anteriormente, segun el Ejemplo 2, con la provision del medio 6 de entrada de la condicion del aparato incorporado para realizar la configuracion de entrada del codigo de programa del entorno del proceso de ejecucion (la capacidad de la ROM, la RAM, o similar) del aparato incorporado (el dispositivo de ejecucion del programa que tiene el aparato incorporado), en base a la configuracion, la unidad 4D de optimizacion genera ademas el nuevo codigo de programa, a traves del cual es posible realizar la generacion detallada del codigo de programa de acuerdo con la caractenstica, la condicion, y similar del aparato incorporado. Entonces, con la provision de la unidad 4E de discriminacion de datos de proceso y comando y de la unidad 4F de conversion, se puede realizar el proceso de compresion del codigo de programa, mediante el cual se puede lograr la reduccion en la capacidad de almacenamiento de la ROM, y se pueden lograr menores costes. Entonces, en el proceso de compresion, los datos de proceso y el comando se discriminan los unos del otro en cada uno de los codigos de ejecucion para dividir los respectivos datos en los 7 bits tal como se compilan las piezas de los datos de proceso en terminos de cada elemento (objeto) dentro de los datos binarios y para los comandos, los numeros correspondientes se establecen como los datos binarios, y el bit de determinacion para determinar si los datos contienen los datos de proceso o el comando se anade a cada dato para dividir los datos en datos de 1 byte cada uno, mediante lo cual tanto los datos de proceso como los comandos se pueden comprimir.
Ejemplo 3
La Fig. 9 es un diagrama que ilustra un proceso de compresion del codigo de programa segun el Ejemplo 3 de la presente invencion. La parte superior de la Fig. 9 ilustra un ejemplo de codigo de ejecucion. Aqrn, es descrito como datos de texto. El codigo de programa esta compuesto de uno o una pluralidad de codigos de ejecucion. Primero, se describira el codigo de ejecucion. Segun esta realizacion tambien, se usa Forth como el lenguaje usado para el codigo de programa, que es un codigo para realizar el proceso de ejecucion en el estandar ECHONET. Segun este ejemplo, el medio 102 de almacenamiento como se describira mas adelante almacena un diccionario.
Como se describe en el Ejemplo 1 tambien, se describe el comando RGST_EPC para ejecutar y procesar un registro de la informacion de la propiedad del aparato incorporado. El id de objeto es un id anadido a un objeto del aparato incorporado. Se asignan 2 bits para representar el id de objeto. La propiedad ECHONET es un codigo de una propiedad que se puede establecer de acuerdo con el tipo de aparato incorporado (por ejemplo, un estado de establecimiento del volumen de aire en un acondicionador de aire o similar). Un valor del codigo se define mediante el estandar ECHONET, y se asignan 8 bits. Tambien, en la presente memoria, se preparan 7 tipos como los tipos de datos de propiedad, y se asignan 3 bits. La regla de acceso representa escritura (Establecer), lectura (Obtener) y la autorizacion o desautorizacion de notificaciones, y se asignan 3 bits. La disponibilidad o no disponibilidad del anuncio de cambio de estado es un mdice (bandera) que indica si, cuando se cambia el estado de la propiedad, se emite una notificacion o no a traves de la red, y se asigna 1 bit. El tamano de los datos es para definir el tamano de datos de la propiedad, el valor maximo del tamano se establece como 8640 bytes en el estandar ECHONET, y se asignan 14 bits para representar el valor numerico.
A continuacion, se dara una descripcion de una configuracion y un proceso del dispositivo del proceso de compresion del codigo de programa. El dispositivo de compresion del codigo de programa segun esta realizacion esta compuesto por el medio 101 del proceso de control, el medio 102 de almacenamiento, y el medio 103 de comunicacion. El medio 101 del proceso de control incluye una unidad 101A de discriminacion de datos de proceso y comando y una unidad 101B de conversion. En el medio 101 del proceso de control, con la unidad 101A de discriminacion de datos de proceso y comando, cada uno de los codigos de ejecucion del codigo de programa coteja con el diccionario almacenado en el medio 102 de almacenamiento para establecer las cadenas de caracteres, los numeros, y similares, que no coinciden con el diccionario, como los datos de proceso y para establecer las cadenas de caracteres (texto) coincidentes como el comando, realizando asf el proceso de discriminacion entre los datos de proceso y el comando. En este momento, por ejemplo, en base a una instruccion, dato, y similar, que es introducido por el operador desde el medio de entrada, el codigo de ejecucion puede ser generado por la unidad de generacion de codigo de programa (no mostrada en el dibujo) proporcionada en una etapa anterior de la unidad 101A de discriminacion de datos de proceso y comando del medio 101 del proceso de control o se puede generar en otro dispositivo y se puede procesar el codigo de ejecucion contenido en la senal que se envfa a traves de un circuito de comunicacion (no necesariamente relacionada con ECHONET).
La unidad 101B de conversion expresa los datos de proceso y el comando en datos de formato binario (de aqrn en adelante referidos como datos binarios) y genera los datos que se dividen en una cantidad de datos predeterminada.
5
10
15
20
25
30
35
40
45
50
55
En este ejemplo, se establecen 7 bits como la cantidad de datos predeterminada. Por ejemplo, cuando los datos de proceso tienen una cantidad de datos que no se puede dividir entre 7, por ejemplo, se rellena con “0” para el resto de bits. Entonces, para los datos que representan los datos de proceso (de aqm en adelante estos datos son referidos tambien como datos de proceso), se anade un “0” como un bit inicial a los bits divididos, y para los datos para determinar el comando (de aqm en adelante estos datos se refieren tambien como comando) se anade un “1”. Esto es, esto resulta un bit de determinacion (bandera) para determinar si estos son los datos de proceso o el comando. Como resultado, como se muestra en la parte inferior de la Fig. 9, cada uno de los codigos de ejecucion (el codigo de programa) es dividido en codigos de byte en unidades de 1 byte (8 bits). De esta manera, las piezas de los datos de proceso divididas en las cadenas de caracteres de cada objeto (elemento) se compilan como los datos binarios y se realiza un proceso de codificacion del mismo para realizar la reduccion en la cantidad de datos.
Por otro lado, el comando es representado por los datos binarios correspondientes al comando con una correspondencia 1 a 1. Como resultado, se puede determinar el comando representado por los datos binarios. Se asocia una relacion entre este comando y los datos binarios y se almacena como datos en el medio 102 de almacenamiento, y la unidad 101B de conversion se refiere a los datos en el momento de la generacion. En la presente memoria, si el numero de comandos es igual o menor que 128, 1 byte es suficiente para determinar el comando. Por ejemplo, en caso de que el numero de comandos sea igual o mayor que este o similar, son necesarios 2 o mas bytes. Sin embargo, incluso en tal caso, si resulta posible determinar el comando frecuentemente usado para (que aparezca en) el proceso de ejecucion (por ejemplo, relacionado a la propiedad, etc.) por medio de solo datos de codigo de 1 byte, la cantidad de datos del codigo de programa completo se puede reducir adicionalmente. Se debena observar que los datos de codigo en la unidad de byte que se genera a traves del metodo de esta realizacion se pueden comprimir adicionalmente a traves de un metodo de compresion de secuencias de bits conocidas tal como un metodo de longitud de ejecucion.
El codigo de programa comprimido que se genera de la manera anteriormente descrita se almacena en el medio 124 de almacenamiento del codigo de programa del aparato incorporado segun la Realizacion 4 como se describira a traves del medio 103 de comunicacion o un circuito de comunicacion por cable o inalambrico, por ejemplo, en respuesta a la solicitud de descarga enviada desde el lado del aparato incorporado a traves de la red o por medio de una distribucion activa desde el lado del dispositivo del proceso de compresion del codigo de programa (el medio 101 del proceso de control).
Como se describe anteriormente, segun el Ejemplo 3, los datos de proceso y el comando se discriminan los unos del otro en cada uno de los codigos de ejecucion para dividir los respectivos datos en una unidad predeterminada (7 bits, segun esta realizacion), dichas piezas de los datos de proceso se compilan en terminos de cada elemento (objeto) en datos binarios y para los comandos, se establecen los numeros correspondientes como los datos binarios, y el bit de determinacion para determinar si los datos contienen datos de proceso o el comando se anade a cada dato para dividir los datos en datos de 1 byte, mediante lo cual se pueden comprimir tanto los datos de proceso como los comandos. Entonces, en el momento de realizar el proceso de ejecucion, se realiza la lectura para cada byte, y es posible determinar de manera facil si los datos incluyen datos de proceso o el comando. Tambien, segun se establece el codigo de programa con el uso de un lenguaje basado en la notacion Polaca inversa tal como el Forth, el codigo de ejecucion esta compuesto en el orden de datos de proceso y comando, mediante lo cual es posible discriminar entre los datos de proceso y el comando facilmente. Ademas, estableciendo la unidad para dividir el codigo de programa como de 1 byte, por ejemplo, dicho dispositivo de procesamiento tal como un micro ordenador de un chip puede hacer frente a la realizacion del proceso de ejecucion. Entonces, por ejemplo, mediante la realizacion de un ajuste de acuerdo con la frecuencia tal como el descenso del numero de bytes que contienen un comando frecuentemente usado (que aparezca) en el proceso de ejecucion, es posible mejorar mas el efecto de la compresion.
Ejemplo 4
La Fig. 10 es un dibujo que ilustra un dispositivo de ejecucion del programa segun el Ejemplo 4 de la presente invencion. En esta realizacion, el dispositivo de ejecucion del programa esta compuesto de un medio 121 de determinacion del tipo de codigo, un medio 122 de extension del codigo, un medio 123 de ejecucion, un medio 124 de almacenamiento del codigo de programa, y un medio 125 de almacenamiento de memoria intermedia. Entonces, se realiza el proceso de ejecucion basado en el codigo de programa que se genera en el Ejemplo 3.
El medio 121 de determinacion del tipo de codigo lee (introduce) el codigo de programa comprimido (codificado) almacenado en el medio 124 de almacenamiento del codigo de programa en una cantidad de datos predeterminada. Segun este ejemplo, en conformidad con el Ejemplo 3, la cantidad de datos predeterminada se establece como de 1 byte (8 bits). Entonces, se determina si los datos lefdos son datos que contienen datos de proceso (bytes de datos. Datos que no contienen ningun comando) o datos que contienen un comando (byte de comando). El medio 121 de determinacion del tipo de codigo realiza la determinacion en base al bit de determinacion (bandera) descrito en el Ejemplo 3. Entonces, cuando se determinan como datos de proceso, los datos de proceso se almacenan en el medio 125 de almacenamiento de memoria intermedia, y cuando se determina como el comando, el control del proceso se pasa al medio 122 de extension de codigo.
5
10
15
20
25
30
35
40
45
50
55
60
Cuando el medio 121 de determinacion del tipo de codigo determina los datos como el comando, el medio 122 de extension de codigo genera (extiende, decodifica) el codigo de ejecucion en base a los datos de proceso almacenados en el medio 125 de memoria intermedia y el comando. Cuando se genera el codigo de ejecucion, el control del proceso se pasa al medio 123 de ejecucion.
El medio 123 de ejecucion realiza el proceso de ejecucion en base al codigo de ejecucion generado por el medio 122 de extension de codigo. En este momento, segun este ejemplo, el medio 123 de ejecucion es un interprete para realizar el proceso de ejecucion del comando con respecto a los datos de proceso mientras analiza (traduce) el codigo de ejecucion. Por lo tanto, el codigo de programa se ejecuta y procesa de manera secuencial para cada codigo de ejecucion. En este momento, el medio 123 de ejecucion tiene el diccionario descrito en la Realizacion 3 en el medio de almacenamiento (no mostrado en el dibujo) para analizar el codigo de ejecucion. Cuando se finaliza el proceso de ejecucion, el control del proceso se pasa al medio 121 de determinacion del tipo de codigo.
El medio 124 de almacenamiento del codigo de programa y el medio 125 de almacenamiento de memoria intermedia son ambos medios de almacenamiento. En este momento, segun este ejemplo, el medio 124 de almacenamiento del codigo de programa es una memoria no volatil, pero no es simplemente una ROM, y es un medio de almacenamiento (por ejemplo, una EPROM, una EEPROM, o similar) en el que se puede realizar la reescritura del codigo de programa mediante un anadido, un cambio parcial o completo, una eliminacion, etc. En el caso de la reescritura del codigo de programa, como se ha descrito en el Ejemplo 1, por ejemplo, mediante la descarga a traves de la red, la senal que contiene el codigo de programa es recibida por el medio de comunicacion (no mostrado en el dibujo) que tiene el aparato incorporado, y se almacena y mantiene en el medio 124 de almacenamiento del codigo de programa.
Este medio 125 de almacenamiento de memoria intermedia es, por ejemplo, una memoria volatil. El medio 125 de almacenamiento de memoria intermedia es un medio de almacenamiento temporal para almacenar al menos los datos de proceso hasta que el medio 122 de extension del codigo genere el codigo de ejecucion, y no deja nada si se introducen los siguientes datos de proceso. Por lo tanto, la capacidad de almacenamiento que el medio 125 de almacenamiento de memoria intermedia tiene es arbitraria, pero preferiblemente, se establece como la capacidad de almacenamiento maxima que es necesaria para almacenar la parte de los datos de proceso (o el codigo de ejecucion) del codigo de ejecucion ejecutados y procesados por el aparato incorporado (el dispositivo de ejecucion del programa) para un momento.
Segun este ejemplo, los datos del codigo de programa comprimido a ser ejecutados y procesados se leen en un byte cada uno, y se realiza la determinacion de si los datos contenidos en el mismo son los datos de proceso o el comando. En el caso de los datos de proceso, los datos se almacenan en el medio 125 de almacenamiento de memoria intermedia, y cuando se determina como el comando, el medio 122 de extension pone los datos de proceso almacenados en el medio 125 de almacenamiento de memoria intermedia y el comando en el codigo de ejecucion. El medio 123 de ejecucion ejecuta y procesa el codigo de ejecucion. Como resultado, en base al codigo de programa mantenido en el medio 124 de almacenamiento del codigo de programa por el dispositivo de ejecucion del programa, se realiza el proceso de ejecucion para cada codigo de ejecucion. En este momento, el codigo de ejecucion (el codigo de programa) que se ha sometido al proceso de ejecucion no se deja de manera descuidada en un medio 125 de almacenamiento de memoria interna tal como la RAM, y la capacidad de almacenamiento del medio 125 de almacenamiento de memoria intermedia se suprime para no exceder la cantidad necesaria para almacenar de manera temporal los datos de proceso del codigo de ejecucion (o el codigo de ejecucion) necesarios para el proceso de ejecucion por una vez. Tambien, el medio 121 de determinacion del tipo de codigo, el medio 122 de extension de codigo, y el medio 123 de ejecucion pueden ser respectivamente medios ffsicamente independientes, pero en los casos habituales, el dispositivo de ejecucion del programa esta compuesto de un ordenador tal como un asf llamado micro ordenador o similar, y estos medios se constituyen, por ejemplo, mediante el dispositivo de procesamiento de control basado en una CPU. Entonces, segun el dispositivo de procesamiento del control ejecuta los procesos del medio respectivo, se realizan los procesos de ejecucion del dispositivo de ejecucion del programa.
La Fig. 11 es un diagrama de flujo que describe las operaciones en el momento en que se realiza el proceso de ejecucion en el dispositivo de ejecucion del programa. En este momento, en concreto, se describiran principalmente las operaciones realizadas por el medio 121 de determinacion del tipo de codigo, el medio 122 de extension del codigo, y el medio 123 de ejecucion del dispositivo de ejecucion del programa. El medio 121 de determinacion del tipo de codigo lee los datos del codigo de programa comprimido del medio 124 de almacenamiento del codigo de programa en una unidad de 1 byte (S1). Entonces, el medio 121 de determinacion del tipo de codigo realiza la determinacion de si los datos lefdos son o no el comando o los datos de proceso (no el comando) en base al bit de determinacion descrito en la Realizacion 1 que es “0” o “1” (S2). Cuando se determinan como datos de proceso (no el comando), los datos se almacenan en el medio 125 de almacenamiento de memoria intermedia mientras el bit de determinacion se elimina del mismo (S3), y los datos comprimidos adicionales del codigo de programa se leen en una unidad de 1 byte (S1).
Por otro lado, cuando se determina que los datos lefdos son el comando, el control se pasa al medio 122 de extension del codigo. El medio 122 de extension del codigo discrimina el comando representado por los datos en
5
10
15
20
25
30
35
40
45
50
55
60
base a los datos lefdos (los datos binarios) para convertir los datos en un comando en formato de texto. La relacion entre los datos binarios y el comando descrita en la Realizacion 1 se usa para esta discriminacion. Despues de que el comando se discrimine, se descubre el elemento (objeto) de los datos de proceso ejecutados y procesados por el comando y la cantidad de datos asignados (la cantidad de bits), mediante lo cual en base a los datos binarios de los datos de proceso, se realiza la division de los datos de proceso para cada elemento (objeto). Se realiza el proceso de extension anteriormente descrito, mediante el cual se genera la ejecucion del codigo (S4).
Entonces, cuando se pasa el control desde el medio 122 de extension del codigo al medio 123 de ejecucion, se realiza el proceso de ejecucion en base al codigo de ejecucion generado por el medio 122 de extension del codigo (S5). En el lenguaje basado en la notacion Polaca inversa, cada elemento (objeto) se apila en una pila y se procesa en base al comando. Cuando se finaliza el proceso de ejecucion basado en el comando, se pasa el control al medio 121 de determinacion del tipo de codigo, y se realiza un proceso para el siguiente proceso de ejecucion en base al codigo de ejecucion. Como se describe anteriormente, el proceso de ejecucion para cada codigo de ejecucion se realiza de manera secuencial para ejecutar y procesar el codigo de programa, y se hace funcionar el aparato incorporado. Tambien, la senal que contiene los datos basados en el proceso de ejecucion se envfa a un aparato distinto del aparato incorporado a traves de la red para su operacion.
Como se describe anteriormente, segun el Ejemplo 4, los datos comprimidos del codigo de programa son lefdos en una cantidad de datos predeterminada (1 byte segun esta realizacion) desde el medio 124 de almacenamiento del codigo de programa. Cuando el medio 121 de determinacion del tipo de codigo determina los datos lefdos como los datos que contienen los datos de proceso, los datos de proceso se almacenan de manera temporal en el medio 125 de almacenamiento de memoria intermedia. Cuando se determina como los datos que contienen el comando, el medio 122 de extension del codigo genera posteriormente el codigo de ejecucion, y el medio 123 de ejecucion realiza el proceso de ejecucion en base al codigo de ejecucion. Por tanto, basta que el medio 125 de almacenamiento de memoria intermedia simplemente almacene los datos de proceso hasta que el codigo de ejecucion se genere, y como resultado, se puede reducir la capacidad de almacenamiento proporcionada como el medio 125 de almacenamiento de memoria intermedia. Ademas, como el proceso completo en el dispositivo de ejecucion del programa desde la lectura de los datos comprimidos del codigo de programa hasta el proceso de ejecucion del codigo de ejecucion es simple, es posible evitar la disminucion en la velocidad incluso no se mantiene el asf generado codigo de ejecucion (el codigo de programa). Como se describe anteriormente, el dispositivo de ejecucion del programa segun este ejemplo realiza un buen balance entre la reduccion en la capacidad de almacenamiento relacionada con el proceso y el mantenimiento de la velocidad del proceso de ejecucion, y se logra concretamente un efecto en el caso de que el dispositivo de ejecucion del programa se incorpore en un electrodomestico que requiere altamente la supresion de costes para el control del funcionamiento. Ademas, la senal que contiene los datos comprimidos del codigo de programa se envfan a traves del circuito de comunicacion al aparato incorporado o similar de modo que los datos del medio 124 de almacenamiento del codigo de programa se pueden volver a escribir, mediante lo cual es posible mantener el codigo de programa del medio 124 de almacenamiento del codigo de programa actualizado de manera mas eficiente en un estado desarrollado.
Ejemplo 5
La Fig. 12 es un dibujo que ilustra una configuracion de datos del codigo de ejecucion comprimido segun el Ejemplo 5 de la presente invencion. Segun el Ejemplo 1 descrito anteriormente, los datos de proceso puestos en los datos binarios se dividen en 7 bits cada uno desde la cabecera (la asf llamada alineacion izquierda en la secuencia de datos representada), y si los datos de proceso no se dividen entre 7, el bit restante se rellena con un “0” o similar.
En este momento, cuando se realiza el proceso de ejecucion en base al codigo de ejecucion, en el caso de adoptar una configuracion de datos tal como una pila, los datos apilados en el final resultan la cabecera, y el proceso se realiza desde los datos (esto es, el proceso de los datos en el lado derecho en la secuencia de datos representada). Por ejemplo, cuando se puede cambiar el numero de elementos (objetos), los datos de este numero se indican en la cabecera de la pila. Desde dicho punto, puede ser ventajosa la unificacion en el mismo sistema de proceso. En vista de lo anterior, como se muestra en la Fig. 12(a), los datos binarios se establecen segun la asf llamada alineacion derecha, y en el proceso de extension en el medio 122 de extension del codigo tambien, la cabecera resulta una parte de los datos de proceso (no los datos de relleno).
Ademas, segun la Fig. 12(b), como se incluyen los datos que indican el numero de bytes de datos que no contienen comandos en los datos de 1 byte (los datos que no contienen comandos) a ser lefdos primero, es posible determinar si los datos contienen el comando o no en el medio 121 de determinacion del tipo de codigo. En la Fig. 12(b), se asignan 5 bits (valores numericos desde 0 a 31) a los datos que indican el numero de bytes de los datos de proceso. Como resultado, no es necesario proporcionar el bit de determinacion para cada byte de datos. Por esta razon, en concreto, como el numero de bytes (el numero de bits) de los datos que contienen los datos de proceso es mayor, se puede realizar una compresion mas eficiente. Ademas, se descubre el numero de bytes de los datos de proceso y el comando sigue posteriormente a los datos de proceso, y por lo tanto es innecesario proporciona el bit de determinacion para el comando. Como resultado, comparado con el caso de proporcionar el bit de determinacion, por ejemplo, el numero de comandos que pueden ser discriminados en 1 byte es doble. Por esta razon, es efectivo tambien en el caso en que el numero de comandos sea grande.
Ejemplo 6
Segun los ejemplos anteriormente descritos, el codigo de programa se describe en el lenguaje basado en la notacion Polaca inversa, y el medio 123 de ejecucion es el interprete para analizar la descripcion para realizar el proceso de ejecucion. La presente invencion no se limita a esto. Por ejemplo, el interprete puede estar compuesto de JavaVM (o 5 JVM (Java y Java Virtual Machine JVM son nombres de marcas o marcas de Sun Microsystems, Inc. en los Estados Unidas de America y otros pafses) o similar, para realizar el proceso de ejecucion en base al codigo de ejecucion en el lenguaje de tipo pila, como un sistema de proceso. Como es aplicable a un lenguaje mas general, existe la posibilidad de que se pueda realizar una generacion de codigo mas desarrollada.

Claims (3)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    REIVINDICACIONES
    1. Un dispositivo de soporte de la generacion de codigo de programa, que comprende:
    un medio (10) de almacenamiento para almacenar como datos, una regla de optimizacion que esta compuesta de una condicion de conversion y un contenido de conversion, estando la condicion de conversion determinada en base a un numero de repeticion mediante el cual se continua los codigos de ejecucion en base al mismo comando, con respecto a los datos de un codigo de programa constituido por un codigo de ejecucion que esta compuesto de datos de proceso usados para un proceso de ejecucion y un comando que representa un contenido del proceso de ejecucion; y
    un medio (4-1) de optimizacion de codigo que incluye una unidad (4A) de analisis de codigo para analizar el codigo de programa y contar el numero de repeticion, una unidad (4B) de busqueda de condiciones para cotejar el codigo de programa analizado con la regla de optimizacion almacenada en el medio (10) de almacenamiento y buscar una parte que coincida con la condicion de conversion en el codigo de programa en base al numero de repeticion contado, y una unidad (4D) de optimizacion para convertir la parte que coincide con la condicion de conversion en base al contenido de conversion para generar los datos de un nuevo codigo de programa;
    comprendiendo ademas el dispositivo:
    incorporar un medio (6) de entrada de la condicion del aparato incorporado para establecer una capacidad de almacenamiento del codigo de programa de un aparato que ejecuta el codigo de programa como un entorno del proceso de ejecucion del codigo de programa; y
    los medios (4E, 4F) del proceso de compresion del codigo de programa para comprimir y procesar el codigo de programa en base al entorno del proceso de ejecucion establecido por el medio (6) de entrada de la condicion del aparato incorporado;
    en donde los medios (4E, 4F) del proceso de compresion del codigo de programa se configuran para comprimir el codigo de programa constituido por los codigos de ejecucion, estando cada codigo de ejecucion compuesto por los datos de proceso usados para el proceso de ejecucion y el comando que representa el contenido del proceso de ejecucion que se dispone en orden, discriminando los datos de proceso y el comando en cada codigo de ejecucion, compilando y convirtiendo las piezas de los datos de proceso para cada elemento en formato binario,
    convertir el comando en un valor numerico correspondiente al comando, dividir los datos de proceso convertidos en formato binario y el comando convertido en un valor numerico entre una cantidad de datos predeterminada para formar una pluralidad de grupos con cada grupo correspondiendo a bien los datos de proceso o el comando, siendo el tamano de cada uno de la pluralidad de grupos la cantidad de datos predeterminada, y, para cada grupo, anadiendo un bit que es una bandera para determinar si el grupo contiene el comando o no.
  2. 2. Un metodo de soporte de la generacion de codigo del programa que comprende los pasos de:
    analizar un codigo de programa generado en el medio (4A) de analisis, estando el codigo de programa generado constituido por codigos de ejecucion, estando cada codigo de ejecucion compuesto de datos de proceso usados para un proceso de ejecucion y un comando que representa un contenido del proceso de ejecucion, y contando un numero de repeticion mediante el cual son continuados los codigos de ejecucion en base al mismo comando,
    buscar para una parte que coincida con la conversion, la condicion de conversion que se determina en base al numero de repeticion, en el codigo de programa analizado en base al numero de repeticion contado mientras que el medio (4B) de busqueda de condiciones coteja los datos de la condicion de conversion que constituyen una regla de optimizacion para convertir el codigo de programa que se almacena en el medio (10) de almacenamiento con el codigo de programa analizado; y
    generar los datos de un nuevo codigo de programa mientras el medio (4F) de conversion convierte la parte que coincide con la condicion de conversion en base a los datos del contenido de conversion que constituyen la regla de optimizacion almacenada en el medio (10) de almacenamiento;
    comprendiendo el metodo los pasos de:
    establecer, mediante el medio (6) de entrada de la condicion del aparato incorporado, una capacidad de almacenamiento del codigo de programa de un aparato que ejecuta el codigo de programa como un entorno del proceso de ejecucion del codigo de programa; y
    comprimir, mediante los medios (4E, 4F) del proceso de compresion del codigo de programa, el codigo de programa constituido por el codigo de ejecucion, cada codigo de ejecucion esta compuesto de los datos de proceso usados para el proceso de ejecucion y el comando que representa el contenido del proceso de ejecucion que se dispone en orden, discriminar los datos de proceso y el comando en cada codigo de ejecucion, compilar y convertir las partes de los datos de proceso para cada elemento en formato binario, convertir el comando en un valor numerico
    5
    10
    15
    20
    25
    30
    correspondiente al comando, dividir los datos de proceso convertidos en formato binario y el comando convertido en un valor numerico entre una cantidad de datos predeterminada para formar una pluralidad de grupos con cada grupo correspondiendo a bien los datos de proceso o el comando, siendo el tamano de cada uno de la pluralidad de grupos la cantidad de datos predeterminada, y, para cada grupo, anadir un bit que es una bandera para determinar si el grupo contiene el comando o no.
  3. 3. Un programa de un metodo de soporte de generacion de codigo de programa que provoca que un ordenador ejecute los pasos de:
    analizar un codigo de programa generado que esta constituido por codigos de ejecucion, estando cada codigo de ejecucion compuesto de datos de proceso usados para un proceso de ejecucion y un comando que representa el contenido del proceso de ejecucion, y contar un numero de repeticion mediante el cual son continuados los codigos de ejecucion en base al mismo comando;
    buscar para una parte que coincida con la condicion de conversion, estando la condicion de conversion determinada en base al numero de repeticion, en el codigo de programa analizado en base al numero de repeticion contado cotejando los datos de la condicion de conversion que constituyen una regla de optimizacion para convertir el codigo de programa que se almacena en el medio (10) de almacenamiento con el codigo de programa analizado; y
    generar los datos de un nuevo codigo de programa convirtiendo la parte que coincide con la condicion de conversion en base a los datos del contenido de conversion que constituyen la regla de optimizacion almacenada en el medio (10) de almacenamiento;
    provocando que el ordenador ejecute los pasos de:
    establecer una capacidad de almacenamiento de codigo de programa de un aparato que ejecuta el codigo de programa como un entorno del proceso de ejecucion del codigo de programa; y
    comprimir el codigo de programa constituido por el codigo de ejecucion, estando cada codigo de ejecucion compuesto de los datos de proceso usados para el proceso de ejecucion y el comando que representa el contenido del proceso de ejecucion que se dispone en orden, discriminar los datos de proceso y el comando en cada codigo de ejecucion, compilar y convertir las partes de los datos de proceso para cada elemento en formato binario, convertir el comando en un valor numerico correspondiente al comando, dividir los datos de proceso convertidos en formato binario y el comando convertido en un valor numerico entre una cantidad de datos predeterminada para formar una pluralidad de grupos con cada grupo correspondiendo bien a los datos de proceso o al comando, siendo el tamano de cada uno de la pluralidad de grupos la cantidad de datos predeterminada, y, para cada grupo, anadir un bit que es una bandera para determinar si el grupo contiene o no el comando.
ES06712888.4T 2005-02-03 2006-02-02 Dispositivo y método de soporte de la generación de código de programa, dispositivo y método de ejecución del programa, dispositivo y método de compresión del código de programa, programa para el mismo Active ES2687433T3 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2005028123 2005-02-03
JP2005028122A JP4638250B2 (ja) 2005-02-03 2005-02-03 プログラムコード生成支援装置及び方法並びにプログラムコード生成支援方法のプログラム
JP2005028122 2005-02-03
JP2005028123A JP4656960B2 (ja) 2005-02-03 2005-02-03 プログラム実行装置、方法及びプログラム実行方法のプログラム並びにプログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム
PCT/JP2006/301745 WO2006082878A1 (ja) 2005-02-03 2006-02-02 プログラムコード生成支援装置及び方法、プログラム実行装置及び方法並びにプログラムコード圧縮処理装置及び方法並びにそれらのプログラム

Publications (1)

Publication Number Publication Date
ES2687433T3 true ES2687433T3 (es) 2018-10-25

Family

ID=36777261

Family Applications (3)

Application Number Title Priority Date Filing Date
ES06712888.4T Active ES2687433T3 (es) 2005-02-03 2006-02-02 Dispositivo y método de soporte de la generación de código de programa, dispositivo y método de ejecución del programa, dispositivo y método de compresión del código de programa, programa para el mismo
ES09014774T Active ES2728318T3 (es) 2005-02-03 2006-02-02 Dispositivo y método de soporte de la generación de código de programa, dispositivo y método de ejecución del programa, y dispositivo y método de procesamiento de la compresión del código de programa y programa para el mismo
ES10014002T Active ES2708499T3 (es) 2005-02-03 2006-02-02 Dispositivo y método de soporte de la generación de código de programa, dispositivo y método de ejecución del programa, y dispositivo y método de procesamiento de la compresión del código de programa y programa para el mismo

Family Applications After (2)

Application Number Title Priority Date Filing Date
ES09014774T Active ES2728318T3 (es) 2005-02-03 2006-02-02 Dispositivo y método de soporte de la generación de código de programa, dispositivo y método de ejecución del programa, y dispositivo y método de procesamiento de la compresión del código de programa y programa para el mismo
ES10014002T Active ES2708499T3 (es) 2005-02-03 2006-02-02 Dispositivo y método de soporte de la generación de código de programa, dispositivo y método de ejecución del programa, y dispositivo y método de procesamiento de la compresión del código de programa y programa para el mismo

Country Status (7)

Country Link
US (2) US8527967B2 (es)
EP (3) EP2330502B1 (es)
KR (1) KR100902461B1 (es)
ES (3) ES2687433T3 (es)
HK (1) HK1130916A1 (es)
TW (1) TWI312482B (es)
WO (1) WO2006082878A1 (es)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2687433T3 (es) 2005-02-03 2018-10-25 Mitsubishi Denki Kabushiki Kaisha Dispositivo y método de soporte de la generación de código de programa, dispositivo y método de ejecución del programa, dispositivo y método de compresión del código de programa, programa para el mismo
CN102317877B (zh) * 2009-02-18 2014-07-09 三菱电机株式会社 程序分析支援装置
WO2012046460A1 (ja) * 2010-10-04 2012-04-12 三菱電機株式会社 ソフトウエア生成装置、ソフトウエア生成方法及びプログラム
KR101940265B1 (ko) * 2012-05-23 2019-01-18 충남대학교산학협력단 명령어 집합 아키텍처 자동 맵핑 기법
WO2015145556A1 (ja) * 2014-03-25 2015-10-01 株式会社 日立製作所 ソフトウェア仕様間依存関係検証装置、及びソフトウェア仕様間依存関係検証方法
KR102243532B1 (ko) * 2019-02-08 2021-04-22 주식회사 센스톤 칩 고유값 기반의 가상코드를 이용하여 장치를 식별하는 방법, 프로그램 및 장치

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61204741A (ja) 1985-03-06 1986-09-10 Nec Corp ソ−スプログラムの圧縮方法
JPS63139646A (ja) 1986-11-27 1988-06-11 Nec Corp 手順表管理方式
JPS63139646U (es) * 1987-02-28 1988-09-14
JPH04130541A (ja) * 1990-09-20 1992-05-01 Fujikura Ltd Basicインタプリタ
US5452457A (en) 1993-01-29 1995-09-19 International Business Machines Corporation Program construct and methods/systems for optimizing assembled code for execution
JPH06314203A (ja) 1993-04-28 1994-11-08 Fujitsu Ltd コンパイラの最適化方法および装置
JPH0721032A (ja) * 1993-07-01 1995-01-24 Mitsubishi Electric Corp プログラム最適化処理方式
US6064819A (en) * 1993-12-08 2000-05-16 Imec Control flow and memory management optimization
JP2755154B2 (ja) 1994-02-23 1998-05-20 日本電気株式会社 プログラム変換処理装置およびプログラム変換処理方法
JPH0916382A (ja) 1995-06-30 1997-01-17 Oki Electric Ind Co Ltd プログラム開発支援システム
US6216213B1 (en) * 1996-06-07 2001-04-10 Motorola, Inc. Method and apparatus for compression, decompression, and execution of program code
JP3728858B2 (ja) 1996-12-20 2005-12-21 ソニー株式会社 演算装置の演算方法、記憶媒体及び演算装置
DE69804708T2 (de) 1997-03-29 2002-11-14 Imec Vzw, Leuven Heverlee Verfahren und Gerät für Grössenoptimierung von Speichereinheiten
JPH10320172A (ja) 1997-05-15 1998-12-04 Seiko Epson Corp プログラム圧縮方法およびプログラム復号方法ならびにプログラム格納装置
US6071317A (en) 1997-12-11 2000-06-06 Digits Corp. Object code logic analysis and automated modification system and method
JP4020500B2 (ja) * 1998-07-03 2007-12-12 富士通株式会社 メモリアクセス命令削減装置および記録媒体
JP2000278672A (ja) 1999-01-21 2000-10-06 Matsushita Electric Ind Co Ltd ネットワーク型監視装置
JP2000305781A (ja) 1999-04-21 2000-11-02 Mitsubishi Electric Corp Vliw方式プロセッサ、コード圧縮装置、コード圧縮方法およびコード圧縮プログラムを記録した媒体
JP4462676B2 (ja) * 1999-10-27 2010-05-12 富士通株式会社 プログラム変換装置、コンパイラ装置およびプログラム変換プログラムを記録したコンピュータ読み取り可能な記録媒体
US6691305B1 (en) * 1999-11-10 2004-02-10 Nec Corporation Object code compression using different schemes for different instruction types
US6516305B1 (en) * 2000-01-14 2003-02-04 Microsoft Corporation Automatic inference of models for statistical code compression
JP2002099312A (ja) 2000-09-22 2002-04-05 Mitsubishi Electric Corp プログラマブルコントローラおよび制御プログラム開発支援装置
US6823504B1 (en) * 2000-11-15 2004-11-23 Sun Microsystems, Inc. Method and apparatus for interfacing a javascript interpreter with library of host objects implemented in java
JP2002318696A (ja) 2001-04-23 2002-10-31 Mitsubishi Electric Corp プログラム実行装置および方法
FR2827974B1 (fr) * 2001-07-26 2005-02-11 Trusted Logic Procede pour la compression d'un code interprete par analyse semantique
US6920550B2 (en) 2001-11-15 2005-07-19 Hewlett-Packard Development Company, L.P. System and method for decoding and executing program binaries
JP3956131B2 (ja) 2002-12-26 2007-08-08 インターナショナル・ビジネス・マシーンズ・コーポレーション プログラム変換装置、プログラム変換方法及びプログラム
ES2687433T3 (es) 2005-02-03 2018-10-25 Mitsubishi Denki Kabushiki Kaisha Dispositivo y método de soporte de la generación de código de programa, dispositivo y método de ejecución del programa, dispositivo y método de compresión del código de programa, programa para el mismo
US8448158B2 (en) 2005-02-03 2013-05-21 Mitsubishi Electric Corporation Program code generation support device and method, program execution device and method, and program code compression processing device and method and program thereof

Also Published As

Publication number Publication date
TWI312482B (en) 2009-07-21
EP2330502A1 (en) 2011-06-08
US8572557B2 (en) 2013-10-29
EP1881401A1 (en) 2008-01-23
EP2161659A1 (en) 2010-03-10
KR100902461B1 (ko) 2009-06-11
ES2708499T3 (es) 2019-04-09
KR20070088810A (ko) 2007-08-29
EP1881401B1 (en) 2018-08-08
EP2330502B1 (en) 2018-12-05
ES2728318T3 (es) 2019-10-23
US20110289492A1 (en) 2011-11-24
US20110283255A1 (en) 2011-11-17
HK1130916A1 (en) 2010-01-08
EP1881401A4 (en) 2009-03-11
EP2161659B1 (en) 2019-05-01
US8527967B2 (en) 2013-09-03
WO2006082878A1 (ja) 2006-08-10

Similar Documents

Publication Publication Date Title
US8448158B2 (en) Program code generation support device and method, program execution device and method, and program code compression processing device and method and program thereof
ES2687433T3 (es) Dispositivo y método de soporte de la generación de código de programa, dispositivo y método de ejecución del programa, dispositivo y método de compresión del código de programa, programa para el mismo
TWI730654B (zh) 部署和執行智能合約的方法及裝置
CN103443767B (zh) 展开量化以控制自动机的入度和/或出度
BRPI0007945B1 (pt) processo para conexão de código neutro de arquitetura transferido para um computador de recursos restritos
RU2607622C2 (ru) Запись данных в энергонезависимое запоминающее устройство смарт-карты
US20110016275A1 (en) Mobile communication device and method for implementing mifare memory multiple sectors mechanisms
KR20140006913A (ko) 정규 표현을 컴파일하기 위한 방법 및 장치
JP4638250B2 (ja) プログラムコード生成支援装置及び方法並びにプログラムコード生成支援方法のプログラム
JP5118745B2 (ja) メモリアクセス命令のベクトル化
CN107479531B (zh) 嵌入式plc的接入设备通信协议帧格式信息远程确定方法
US9835461B2 (en) Database management using format description
BRPI0807361A2 (pt) Dispositivo pessoal de autenticação, e método para implementar uma aplicação de cartão-java em um dipositivo pessoal de autenticação.
EA001598B1 (ru) Переносимая защищенная система осуществления транзакций для программируемых устройств с микропроцессорами
CN101853154A (zh) 简化具有动态库的接口的方法
CN101794221B (zh) .net文件中引用类型的压缩方法和装置
JP4656960B2 (ja) プログラム実行装置、方法及びプログラム実行方法のプログラム並びにプログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム
CN101770368A (zh) .net文件中命名空间的压缩方法和装置
JP6823289B2 (ja) Icカードおよびコンピュータプログラム
US7079054B2 (en) V.42bis standalone hardware accelerator and architecture of construction
JP4260895B2 (ja) マイクロコントローラにおける複数フォーマットアドレス指定
JP6772545B2 (ja) Icカード,tlvオブジェクトへのアクセス方法
Jeff Design of a standalone forth intepreter for the microchip pic24f family
JP2011076619A (ja) プログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム