domingo, 14 de febrero de 2010

Bitácora 1

Bitácora 1

Analizando las características que debe tener el CHComputador, decidimos que el lenguajes más apropiado para el desarrollo de este es java, ya que nos permite un fácil manejo de aplicación desde internet y el manejo de hilos o threads, como se llaman en este lenguaje, no es de una manera muy complicada. Además nos permite el desarrollo de una interfaz grafica de una manera rápida, para utilizar la mayor parte del tiempo en el desarrollo de los demás componentes que representan realmente una parte importante para el proyecto.

Según los requerimientos del CHComputador, manejaremos un vector de hasta 9.963 posiciones, y este tomara por defecto 963 posiciones. El valor por defecto del kernel será de 35 posiciones del vector antes mencionado. Sobra decir que todos estos valores podrán ser modificados al inicio de la ejecución del CHMaquina por el usuario final.

El acumulador ocupará la primera posición del vector de memoria, por lo que le corresponderá la dirección 0, las posiciones siguientes serán las pociones del kernel, ocupando el valor que el usuario final decida al inicio de la ejecución del simulador, las posiciones siguientes serán las que almacenaran las instrucciones del código introducido.

Para almacenar todos los datos necesarios, se crearán un conjunto de clases que simplificaran el funcionamiento y que nos permitirá acceder a los datos de una manera más rápida y ordenada. Las clases a crear deberán tener una arquitectura parecida a la que explicaremos a continuación:

· Se deberá crear una clase que nos permita almacenar los datos correspondientes a cada instrucción, en el programa principal se creará un vector de este tipo de clase, en el cual se almacenaran todas las instrucciones de todos los programas que se cargue al CHMaquina.

En el vector de memoria principal se almacenará la posición que la instrucción ocupa en el vector de instrucciones, para sí acceder a ellas de una manera más fácil y ordenada. En este momento no es importante que instrucción corresponde a que programa puesto que posteriormente crearemos clases que nos resuelvan este problema.

· Se deberá crear una clase que nos permita almacenar los nombres de los programas, además de el numero de instrucciones, cuál es la posición de en donde inician estas y un número que lo identifique.

En programa principal se deberá crear un vector de este tipo de clases en el cual se almacenarán todos los programas que se carguen al CHMaquina.

· Se deberá crear una clase que nos permita almacenar los nombres de las diferentes variables, además del identificador del programa al que pertenecen, la dirección de la variable en el vector principal y el tipo de la variable.

En programa principal se deberá crear un vector de este tipo de clases en el cual se almacenarán todas las variables de todos los programas que se hayan cargado en el CHMaquina.

· Se deberá crear una clase que nos permita almacenar los nombres de las diferentes etiquetas, además del identificador del programa al que pertenecen y la dirección a la que tiene que ir cuando se ejecute. De La misma manera se creará en el programa principal un vector que almacene todas las etiquetas.

La idea que todo este conjunto de vectores que se crearan se relacionen entre si y permitan un correcto funcionamiento del programa cuando se ejecute. Lo mejor es que cuando se cree el objeto de clase instrucción, se lleve a cabo el análisis sintáctico y se determine si es correcto o no.

Se deben hacer depuraciones para que en ningún momento se cargue un programa que no quepa en la memoria principal del CHMaquina.

La idea es luego de tener el modelamiento de los datos terminado, iniciar con el análisis de cómo debe ser el funcionamiento del compilador y como posteriormente debe ejecutar los programas que se hayan compilado correctamente.

El cronograma tentativo del desarrollo del proyecto será el siguiente:

Semana 1:

Estudio Preliminar:

Análisis general del problema e investigación del lenguaje más apropiado para desarrollarlo.

Planeación:

Planeación de tiempo que serán utilizados para el desarrollo de cada componente. Se distribuirá según la complejidad e importancia dentro del proyecto.

Desarrollo de la interfaz grafica:

Luego de analizar cuál es el lenguaje de programación más adecuado, crearemos una interfaz gráfica que cumpla con todas las especificaciones requeridas.

Semana 2:

Desarrollo del compilador:

Desarrollar la aplicación para que compile todos los programas en lenguaje CHMaquina y nos muestre los errores que este pueda tener, se desarrollara un aplicación aparte de la interfaz gráfica ya desarrollada, para no preocuparnos por eso por el momento.

Semana 3:

Continuación del desarrollo del compilador.

Integración del compilador con la interfaz grafica:

Luego de terminar con el desarrollo del compilador, procederemos a unificarlo con la interfaz grafica desarrollada en la primera semana, dando los detalles finales a la CHMaquina.

Semana 4:

Control de calidad:

En el control de calidad, analizaremos que cumpla con todas las especificaciones requeridas.

Documentación:

Desarrollo de manual de usuario del CHMaquina.

No hay comentarios:

Publicar un comentario