12
Simulación Orientada al Usuario de Sistemas basados en Microprocesadores 1 Resumen — El trabajo que aquí se presenta es una aplicación enfocada al aprendizaje y diseño de sistemas basados en microprocesadores. Está integrada por un programa de simulación con varios entornos de trabajo y un programa multimedia que colabora en facilitar el aprendizaje de los sistemas basados en microprocesadores, así como en facilitar el manejo del programa de simulación. El simulador está dotado de unas variables que proporcionan información de los errores cometidos por los usuarios, durante sus sesiones de trabajo con el programa, su frecuencia y las valoraciones realizadas por estos de los mensajes de error presentados. También se recoge información de la frecuencia de uso de los botones de la barra de herramientas u opciones del menú. Todo ello se almacena en ficheros con formato de texto plano, que se pueden enviar por correo electrónico e imprimir, con objeto de poder disponer de información que permita mejorar el programa. Palabras Clave — Interfaz de Usuario; Sistemas basados en Microprocesadores; Simulación de Sistemas; Tutoriales y Ayuda Multimedia. I. INTRODUCCIÓN L objetivo de este trabajo es conseguir una aplicación que integre toda la información necesaria para el aprendizaje de los sistemas basados en microprocesadores, junto con un programa ensamblador-simulador que facilite, por un lado, la comprensión de los conceptos manejados durante el aprendizaje de dichos sistemas, y por otro, que agilice el diseño y desarrollo de programas. Para ello se ha dotado a la aplicación de la estructura de la figura 1, [1], [2]. M. Castro 1 se encuentra actualmente en el Departamento de Ingeniería Eléctrica, Electrónica y de Control de la Universidad Nacional de Educación a Distancia, Ciudad Universitaria, s/n, 28040 Madrid, ESPAÑA (e-mail: [email protected]). E. Sancristobal 2 se encuentra colaborando actualmente en el Departamento de Ingeniería Eléctrica, Electrónica y de Control de la Escuela Técnica Superior de Ingenieros Industriales de la Universidad Nacional de Educación a Distancia, Ciudad Universitaria, s/n, 28040 Madrid, ESPAÑA. J.M. Gómez 3 se encuentra actualmente en el Departamento de Ingeniería Eléctrica, Electrónica y Automática de la Escuela Universitaria de Ingeniería Técnica Industrial de la Universidad de Castilla-La Mancha en Toledo, Campus Tecnológico Fábrica de Armas, Avda. de Carlos III, s/n, 45006Toledo, ESPAÑA. (e-mail: [email protected]). A. Fernández-Gallardo 4 , A. Justo 4 y J.I. Díaz 4 han sido alumnos y han realizado el Proyecto Fin de Carrera en el Departamento de Ingeniería Eléctrica, Electrónica y Automática de la Escuela Universitaria de Ingeniería Técnica Industrial de la Universidad de Castilla-La Mancha en Toledo, Campus Tecnológico Fábrica de Armas, Avda. de Carlos III, s/n, 45006Toledo, ESPAÑA. Fig. 1. Estructura general de la aplicación II. MULTIMEDIA Hasta la fecha se han desarrollado dos programas multimedia, uno enfocado a la introducción de sistemas basados en microprocesadores (Multimedia Introducción), [3] y otro enfocado al estudio detallado de los microprocesadores (Multimedia Desarrollo), [4], [5]. Cada uno de ellos presenta diferencias significativas, tanto en su interfaz como en su enfoque, el motivo ha sido el de experimentar con varios enfoques e interfaces, a fin de ver: - Que tipo de interfaz se adapta mejor al usuario - Que tipo de enfoque va mejor para cada finalidad A. Multimedia Introducción Como se ha dicho anteriormente está enfocada a presentar de forma básica los sistemas basados en microprocesadores, pero también con la de probar un determinado tipo de interfaz. Está estructurado en tres bloques: - Didáctico: es el bloque de interés, por su interfaz, de este programa, en él se hace una introducción a los sistemas basados en microprocesadores. - Teórico: desarrolla los contenidos teóricos, que se pueden encontrar en las ayudas del simulador. - Simulador: se trata simplemente de un enlace al simulador. SIMULACIÓN ORIENTADA AL USUARIO DE SISTEMAS BASADOS EN MICROPROCESADORES M. Castro 1 , E. Sancristobal 1 , J.M. Gómez 2 , A. Fernández-Gallardo 2 , A. Justo 2 y J.I. Díaz 2 E MULTIMEDIA LIBRO HIPERMEIDA TUTORIAL SIMULADOR TUTORIAL ENSAMBLADOR ENLACES SIMULADOR ENSAMBLA DOR

M. Castro , E. Sancristobal1 2, A. Justo2 y J.I. Díaz2 · 2008. 12. 22. · de los sistemas basados en microprocesadores, junto con un programa ensamblador-simulador que facilite,

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: M. Castro , E. Sancristobal1 2, A. Justo2 y J.I. Díaz2 · 2008. 12. 22. · de los sistemas basados en microprocesadores, junto con un programa ensamblador-simulador que facilite,

Simulación Orientada al Usuario de Sistemas basados en Microprocesadores 1

Resumen — El trabajo que aquí se presenta es una aplicación

enfocada al aprendizaje y diseño de sistemas basados enmicroprocesadores. Está integrada por un programa desimulación con varios entornos de trabajo y un programamultimedia que colabora en facilitar el aprendizaje de lossistemas basados en microprocesadores, así como en facilitar elmanejo del programa de simulación. El simulador está dotado deunas variables que proporcionan información de los errorescometidos por los usuarios, durante sus sesiones de trabajo con elprograma, su frecuencia y las valoraciones realizadas por estosde los mensajes de error presentados. También se recogeinformación de la frecuencia de uso de los botones de la barra deherramientas u opciones del menú. Todo ello se almacena enficheros con formato de texto plano, que se pueden enviar porcorreo electrónico e imprimir, con objeto de poder disponer deinformación que permita mejorar el programa.

Palabras Clave — Interfaz de Usuario; Sistemas basados enMicroprocesadores; Simulación de Sistemas; Tutoriales y AyudaMultimedia.

I. INTRODUCCIÓN

L objetivo de este trabajo es conseguir una aplicación queintegre toda la información necesaria para el aprendizaje

de los sistemas basados en microprocesadores, junto con unprograma ensamblador-simulador que facilite, por un lado, lacomprensión de los conceptos manejados durante elaprendizaje de dichos sistemas, y por otro, que agilice eldiseño y desarrollo de programas. Para ello se ha dotado a laaplicación de la estructura de la figura 1, [1], [2].

M. Castro1 se encuentra actualmente en el Departamento de IngenieríaEléctrica, Electrónica y de Control de la Universidad Nacional de Educación aDistancia, Ciudad Universitaria, s/n, 28040 Madrid, ESPAÑA (e-mail:[email protected]).

E. Sancristobal2 se encuentra colaborando actualmente en el Departamentode Ingeniería Eléctrica, Electrónica y de Control de la Escuela TécnicaSuperior de Ingenieros Industriales de la Universidad Nacional de Educacióna Distancia, Ciudad Universitaria, s/n, 28040 Madrid, ESPAÑA.

J.M. Gómez3 se encuentra actualmente en el Departamento de IngenieríaEléctrica, Electrónica y Automática de la Escuela Universitaria de IngenieríaTécnica Industrial de la Universidad de Castilla-La Mancha en Toledo,Campus Tecnológico Fábrica de Armas, Avda. de Carlos III, s/n,45006Toledo, ESPAÑA. (e-mail: [email protected]).

A. Fernández-Gallardo4, A. Justo4 y J.I. Díaz4 han sido alumnos y hanrealizado el Proyecto Fin de Carrera en el Departamento de IngenieríaEléctrica, Electrónica y Automática de la Escuela Universitaria de IngenieríaTécnica Industrial de la Universidad de Castilla-La Mancha en Toledo,Campus Tecnológico Fábrica de Armas, Avda. de Carlos III, s/n,45006Toledo, ESPAÑA.

Fig. 1. Estructura general de la aplicación

II. MULTIMEDIA

Hasta la fecha se han desarrollado dos programasmultimedia, uno enfocado a la introducción de sistemasbasados en microprocesadores (Multimedia Introducción), [3]y otro enfocado al estudio detallado de los microprocesadores(Multimedia Desarrollo), [4], [5].

Cada uno de ellos presenta diferencias significativas, tantoen su interfaz como en su enfoque, el motivo ha sido el deexperimentar con varios enfoques e interfaces, a fin de ver:

- Que tipo de interfaz se adapta mejor al usuario- Que tipo de enfoque va mejor para cada finalidad

A. Multimedia IntroducciónComo se ha dicho anteriormente está enfocada a presentar

de forma básica los sistemas basados en microprocesadores,pero también con la de probar un determinado tipo de interfaz.

Está estructurado en tres bloques:- Didáctico: es el bloque de interés, por su interfaz, de

este programa, en él se hace una introducción a lossistemas basados en microprocesadores.

- Teórico: desarrolla los contenidos teóricos, que sepueden encontrar en las ayudas del simulador.

- Simulador: se trata simplemente de un enlace alsimulador.

SIMULACIÓN ORIENTADA AL USUARIO DESISTEMAS BASADOS EN MICROPROCESADORES

M. Castro1, E. Sancristobal1, J.M. Gómez2, A. Fernández-Gallardo2, A. Justo2 y J.I. Díaz2

E

MULTIMEDIA

LIBROHIPERMEIDA

TUTORIALSIMULADOR

TUTORIALENSAMBLADOR

ENLACES

SIMULADOR

ENSAMBLADOR

Page 2: M. Castro , E. Sancristobal1 2, A. Justo2 y J.I. Díaz2 · 2008. 12. 22. · de los sistemas basados en microprocesadores, junto con un programa ensamblador-simulador que facilite,

Simulación Orientada al Usuario de Sistemas basados en Microprocesadores 2

Bloque didácticoPresenta la estructura de la figura 2.

Fig. 2. Estructura del bloque didáctico

Su interfaz es totalmente animado, y se van explicando losconceptos mediante voz, a la vez que se van resaltando sobreel diagrama en la pantalla, dividida en tres zonas, (fig. 3).

1) Zona de texto: donde se van representado laspalabras, datos o conceptos más significativos delpunto que se está tratando.

2) Zona de navegación: indica, en cada momento, elnivel en el que se encuentra la explicación.

3) Zona de visionado: es donde se representa toda lainformación gráfica de un bloque informativo.

Fig. 3. Pantalla del programa Multimedia Introducción

El programa está desarrollado en MACROMEDIADIRECTOR 8, con apoyo del programa ADOBEPHOTOSHOP para tratamiento de imágenes, SOUNDFORGE para tratamiento de sonido y 3D STUDIO yASIMETRIX para crear las animaciones de inicio y de salida.

B. Multimedia DesarrolloEn este caso el programa multimedia está enfocado a un

estudio más en profundidad de los sistemas basados enmicroprocesadores, formando un sistema integrado con elensamblador y el simulador tal como se ha indicado en lafigura 1, y queda reflejado en la figura 4.

Fig. 4. Pantalla de inicio del programa Multimedia Desarrollo

Este programa está dividido fundamentalmente en trespartes, denominadas:

1) Tutorial del Microprocesador 65C02: se trata de unlibro hipermedia que desarrolla los contenidos de lossistemas basados en microprocesadores, que incluyeademás un tutorial sobre el manejo de dicho libro.

2) Tutorial del Compilador 65C02: es un manual demanejo del Ensamblador, que incorpora un tutorialsobre dicho manejo con el fin de facilitar elaprendizaje de su manejo.

3) Tutorial del Simulador 65C02: es un manual demanejo del Simulador, que incorpora varios tutorialessobre las distintas pantallas de trabajo del Simulador.

También incorpora enlaces al Simulador como alEnsamblador, tanto en su portada como en su interior.

Libro HipermediaPuesto que el objetivo último de todo el trabajo es facilitar

el autoaprendizaje de los microprocesadores, con el mayorgrado de satisfacción posible por parte del usuario, se hadecidido elaborar este libro hipermedia, en el que el usuariopuede aprender los conceptos fundamentales sobremicroprocesadores, de varias formas según le convenga:

- Siguiendo el libro por capítulos.

ZONA CONTROL

BLOQUE DIDÁCTICO

CPU MEMORIAS CIRCUITOS E/S

PUERTOTIPOS

PUERTO

Z. OPERACIONES

REGISTROSS

ALU

CONTROLADO

REG. STATUS

REG. INSTRUC.

MAPA MEMORIA

M.

M.

CIRC. E/S

RAM

ROM

ZONA DE VISIONADO

ZONATEXTO

ZONANAVEGACIÓN

Page 3: M. Castro , E. Sancristobal1 2, A. Justo2 y J.I. Díaz2 · 2008. 12. 22. · de los sistemas basados en microprocesadores, junto con un programa ensamblador-simulador que facilite,

Simulación Orientada al Usuario de Sistemas basados en Microprocesadores 3

- Saltando directamente a los conceptos de interés através del mapa de contenidos.

- Buscando clarificación de conceptos a través de lasimulación de los ejemplos.

Para facilitarle la labor al usuario, se ha dotado a laaplicación de un cuaderno de notas, en el que el usuario puedeir copiando y editando todos aquellos conceptos que vaaprendiendo conforme navega, construyendo así unos apuntesde los conocimientos adquiridos.

En el diseño de la interfaz se han seguido los criteriosgenerales de interfaces, tales como consistencia, prevenciónde errores, etc. además de los específicos de multimedia, [6],[7], [8], [9], [10], [11], [12], como:

- Establecer un método sencillo de navegación.- Establecer un sistema de referencia claro que evite la

desorientación del usuario, como un mapa decontenidos al que puede acudir desde cualquierlugar, y en el que además se marcan los sitiosvisitados.

- Usar sin abusar de los medios y efectos queproporcionan los programas multimedia.

Fig. 5. Pantallas del libro hipermedia

Fig. 6. Mapa de navegación de contenidos

Tutorial del SimuladorTiene por finalidad explicar el funcionamiento y los

elementos de que consta el simulador, de la forma mássencilla posible y englobando los elementos de dichoprograma en grupos diferenciables, como son, barra de menús,barra de herramientas, ventana principal, barra de estado, etc.;haciendo un uso estudiado de los medios que proporcionan losprogramas multimedia como son voz, animación y video, quebien estructurado son un medio muy eficaz para explicar elmanejo de una aplicación.

Se ha establecido la misma estructura para las tres partescon el fin de conseguir consistencia. Con lo cual todo locomentado en el caso del libro hipermedia es válido para estecaso y para el caso del ensamblador.

Fig. 7. Pantalla de contenidos del tutorial del Simulador

Fig. 8. Pantalla de enlace con los tutoriales sobre los entornos del Simulador

Tutorial del ensambladorEn este caso el tutorial está enfocado hacia el manejo del

ensamblador, bajo los mismos criterios que el tutorial delsimulador. Ambos tutoriales constan de:

Page 4: M. Castro , E. Sancristobal1 2, A. Justo2 y J.I. Díaz2 · 2008. 12. 22. · de los sistemas basados en microprocesadores, junto con un programa ensamblador-simulador que facilite,

Simulación Orientada al Usuario de Sistemas basados en Microprocesadores 4

- una parte basada en textos, donde se han recogidotodos los aspectos básicos sobre los elementos yfunciones de los mismos en cada programa,permitiendo al alumno realizar unos apuntespersonalizados en cada caso.

- otra parte que contiene una serie de tutorialesmultimedia con sonido y animaciones, donde seexplican los contenidos de cada pantalla y susfunciones.

- otra parte que contiene unos videos que muestran deforma sencilla el manejo de los elementos delprograma, así como la propia simulación ycompilación, propiamente dichas.

- y por último, una parte que contiene unas conexionesdirectas con los programas para que el alumno tengala posibilidad de autoevaluarse y comprobar por simismo el grado de comprensión de lo visto hasta elmomento, y todo ello en el momento que él considereadecuado.

Fig. 9. Pantalla de contenidos del tutorial del Ensamblador

Fig. 10. Pantalla de enlace con el tutorial sobre el Ensamblador

III. SIMULADOREs el centro del sistema de desarrollo, ya que es a través de

él, desde el cual se pretende facilitar el aprendizaje y laprogramación de microprocesadores, con un alto grado desatisfacción por parte de los usuarios. Así pues, es en él dondese han centrado los esfuerzos de diseño de interfaz,[13],[14][15].

La interfaz del simulador es un entorno integrado por variasvistas, independientemente del nivel de usuario:

- Pantalla de presentación: donde se presenta laaplicación y se indica el nivel de interfaz de usuario,de iniciación, intermedio y avanzado.

- Pantallas de carga de memorias: son dos pantallasidénticas cada una para cargar un tipo de memoria,RAM y ROM.

- Pantalla de configuración de hardware: es en lapantalla donde se configura el mapa de memoria, conla posibilidad de acudir en cualquier momento a unaconfiguración por defecto.

- Pantalla de simulación: es donde se representa elproceso de simulación de un programa ejecutado enun sistema basado en un microprocesador. Es justoesta vista el principal motivo de análisis yevaluación; y sobre la que se han marcado lasdiferencias de un nivel de usuario a otro.

Aunque el entorno está integrado por varias vistas, lainformación que manejan todas es la misma, ello ha sidogracias a la arquitectura adoptada, SDI, (Single DocumentInterface), disponible en el entorno Visual C++ de Microsoftque maneja un solo documento y varias vistas; por lo que esteentorno de programación permite diseñar programas según lanueva filosofía de separar la interfaz de la aplicación, [16].

Fig. 11. Interoperabilidad interfaz/aplicación

Por otro lado, en función de la modularidad que se pretendedar a la aplicación, cada uno de los dispositivos externos se hadesarrollado mediante una DLL. De esta forma, para cadanuevo dispositivo que se incorpore bastará con desarrollar suDLL correspondiente y aplicarlo al programa principal, queserá el único módulo de la aplicación que habrá que retocar.Así pues la estructura general del programa es la representadaen la figura 12, para los distintos niveles de usuario.

APLICACIÓN

INTERFAZ DE USUARIONIVEL DE INICIACIÓN

INTERFAZ DE USUARIONIVEL INTERMEDIO

INTERFAZ DE USUARIONIVEL AVANZADO

USUARIOFINAL

Page 5: M. Castro , E. Sancristobal1 2, A. Justo2 y J.I. Díaz2 · 2008. 12. 22. · de los sistemas basados en microprocesadores, junto con un programa ensamblador-simulador que facilite,

Simulación Orientada al Usuario de Sistemas basados en Microprocesadores 5

Fig. 12. Estructura de las distintas interfaces del Simulador

Centrándose en las interfaces, se puede ver que lo únicoque cambia cuando el usuario cambia de nivel, es la vista desimulación; es decir, la interfaz en la que el usuario va a trabajara la hora de estudiar, probar o ejecutar sus programas.Además, gracias a las posibilidades que ofrece el entorno deprogramación, la consistencia se tiene asegurada, ya quesiempre se tiene la misma ventana marco, lo que implica tenerlos mismos menús y mismas barra de herramientas. Tambiénproporciona prevención de errores, entre otras soluciones,dejando inactivas aquellas opciones del menú, o botones de labarra de herramientas, que por la vista en la que se encuentra elusuario o por la actividad en la que se encuentra la aplicación,su activación provocaría un funcionamiento indeseado o notiene sentido. Y permite establecer accesos rápidos por varioscaminos:

- Mediante botones de la barra de herramientas.- Mediante combinaciones de teclas (aceleradores).- A través de un carácter significativo de la opción del

menú.Por otro lado, a la hora de establecer el menú, se ha ido a la

estructura más generalizada, la de árbol, y para agrupar lasopciones y establecer su anchura y profundidad se han tenidoen cuenta las directrices que rigen dicho diseño [17], [18].Todo lo comentado queda reflejado en la figura 13.

Fig. 13. Ventana marco. Estructura del menú

En la figura 13 se puede apreciar todo lo comentadoanteriormente, la ventana marco, que se podrá comprobar, enlas imágenes que irán apareciendo, que es siempre la misma;los botones de la barra de herramientas, los aceleradores(Alt+T, Alt+L, Alt+O) los caracteres significativos (Archivo,Editar); botones inactivos. Y como la estructura del menúcumple con las recomendaciones de anchura, menos de 8 y deprofundidad, no más de 4.

Botón inactivo

Page 6: M. Castro , E. Sancristobal1 2, A. Justo2 y J.I. Díaz2 · 2008. 12. 22. · de los sistemas basados en microprocesadores, junto con un programa ensamblador-simulador que facilite,

Simulación Orientada al Usuario de Sistemas basados en Microprocesadores 6

funcionalidades. Así pues, el primer caso a comentar será elde la vista de la memoria RAM, que se trata de una pantallaque permite al usuario:

- Ver el contenido en los dos bloques de memoriaRAM, RAM0 y RAM1.

- Editar los valores de la misma, copiar, cortar y pegar.- Introducir el programa en hexadecimal, imitando y

mejorando el proceso de escritura del micro-instructor.

- Importar ficheros del ensamblador- Otras funcionalidades, como el cálculo de offset.

Aunque son funciones muy simples, lo cual justifica lasencillez de su vista, son muy importantes, básicamente pordos razones:

- Permite la carga del programa de forma similar almicro-instructor, lo que evita un esfuerzo adicional alusuario.

- Facilita la edición y exploración del programa, aefectos de depuración, lo cual es un valor añadido delque el usuario puede disponer.

Ha sido una vista que ha experimentado pocos cambiosdesde su versión original, ni por comentarios de los usuarios,ni durante la fase de estudio, por el grupo de trabajo, (fig. 14).

Fig. 14. Pantalla de trabajo para cargar la memoria RAM

En el caso de la memoria ROM, se han seguido los mismoscriterios y ha dado lugar a resultados similares, solo que ahoralas vistas que se tienen son las de la memoria ROM pordefecto y la de la memoria ROM modificada, disponiendosiempre de la opción de carga de la ROM por defecto, (fig.15).

Otra vista común a todos los niveles es la de configuracióndel hardware. Con esta vista se han perseguido básicamentedos objetivos:

1) Facilitar la comprensión del concepto de mapa dememoria.

2) Permitir definir la configuración del mapa dememoria, dentro de ciertas limitaciones.

Fig. 15. Pantalla de trabajo para cargar la memoria ROM

Pensando en el usuario inexperto, y puesto que esta vista escomún a todos los niveles de usuario, se ha dotado de unbotón de configuración por defecto, que permite:

- Manipular la configuración del mapa de memoria sinel temor de que luego se quede desconfigurado.

- Establecer una configuración para la cual estándiseñados los ejemplos que se incorporan con laaplicación como ayuda para iniciarse.

Se trata también de una vista sencilla y que haexperimentado pocos cambios, solo los debidos a unafuncionalidad añadida.

Fig. 16. Pantalla de trabajo de la configuración del hardware

Finalmente la vista de simulación es la que maca ladiferencia de nivel de usuario. En este caso se ha dotado a laaplicación de una vista o interfaz para cada nivel de usuario.

Page 7: M. Castro , E. Sancristobal1 2, A. Justo2 y J.I. Díaz2 · 2008. 12. 22. · de los sistemas basados en microprocesadores, junto con un programa ensamblador-simulador que facilite,

Simulación Orientada al Usuario de Sistemas basados en Microprocesadores 7

Nivel de IniciaciónPuesto que lo que se pretende es facilitar el aprendizaje de

los microprocesadores con un alto grado de satisfacción delusuario ha sido en esta interfaz en la que se han llevado más afondo las tareas del ciclo vital de la ingeniería de usabilidad,[19], [20]. Así pues:

1) Se han estudiado las necesidades de una personacuando se inicia en el aprendizaje de losmicroprocesadores (descomponer la instrucción ensus microinstrucciones, seguir las transferencias delos datos a través del sistema, visualizar lainformación de los registros tras la ejecución de unainstrucción, etc.).

2) Se han estudiado los medios de que se disponía hastala fecha, para afrontar el aprendizaje (micro-instructores, programas para expertos, programasdidácticos muy básicos y/o muy específicos, etc.).

3) Se han establecido metas, fundamentalmentecualitativas de usabilidad:o Facilitar el aprendizaje de los

microprocesadores.o Fácil de aprender a manejar.o Cómodo de manejaro Interfaz agradable para trabajar.

4) Se han establecido las limitaciones tecnológicas(optando por la interfaz gráfica).

5) Se han respetado las directrices marcadas porexpertos en diseño de interfaces gráficas comoShneiderman, Preece, Laurel, Barfield, Microsoft,etc.

6) Se ha reestructurado la interfaz de la versión anteriory se han estudiado varios diseños.

7) Se ha realizado un prototipo con todas susfuncionalidades, listo para ser sometido a evaluaciónpor parte de los usuarios.

Todo lo anterior queda reflejado en la siguiente evoluciónde diseños de interfaces. En este proceso se ha partido de lainterfaz de la versión anterior, que era la que disponía elusuario para llevar a cabo su tarea de aprendizaje (fig. 17), ysobre ella y teniendo en cuenta los puntos arriba indicados, sehan ido desarrollando varios diseños de la interfaz (figura 18),hasta llegar a uno (figura 19), que se ha considerado que era elque mejor lograba los aspectos reflejados en el punto 3)anterior:

Facilitar el aprendizaje de los microprocesadoresPara lograr esta meta, en primer lugar, se ha buscado un

diseño en la línea del anterior; pero que represente de unaforma más clara el sistema:

- Cuidando la distribución de los dispositivos sobre lapantalla y la de los registros sobre los dispositivos.

- Evitando los cruces de buses y líneas de control, en lamedida de lo posible.

Por otro, lado para facilitar la comprensión de unainstrucción se permite la ejecución paso a paso, durante lacual se representa cada una de las microinstrucciones en quese descompone la instrucción; dicha representación se realizamarcando el dato origen de un color, el dato destino de otrocolor y resaltando los colores de los buses de direcciones y dedatos para facilitar el seguimiento de la instrucción; así comotambién se refleja si es lectura o escritura mediante el cambiode color de la línea R/W. El resto de los elementos y suinformación siempre están presentes, pero con unos colores ytonos que les hacen quedar en segundo plano, sin distraer laatención del usuario mientras sigue la instrucción en curso.Cuando la instrucción o microinstrucción ha terminado, elusuario puede realizar un seguimiento del programa que estáejecutando, viendo la información de las memorias, registrosdel microprocesador y del VIA.

Fácil de aprender a manejarPara ello se ha dotado de un menú muy sencillo,

estructurado de tal manera que la mayoría de las opciones sepueden deducir del manejo de programas genéricos, comotratamiento de texto, editores gráficos, etc. Además losbotones de la barra de herramientas con sus textos emergentesy las ayudas en la barra de estado facilitan enormemente elaprendizaje del manejo. Y si aún quedan dudas, se hadispuesto de dos sistemas de ayudas, el genérico y las ayudascontextuales. Hablando de ayudas conviene recordar eldesarrollo de la aplicación multimedia cuya finalidad esahondar en estos dos puntos tratados (facilitar el aprendizajede los microprocesadores y facilitar el aprendizaje delsimulador y del ensamblador).

Cómodo de manejarEn este sentido cabe decir que mientras se está siguiendo un

programa no es necesario cambiar de pantalla y que paraacceder a cualquiera de las opciones, se puede realizar devarias formas, tomando el usuario la que le sea más cómoda:

- Mediante el ratón selecciona la opción del menúcorrespondiente.

- Mediante el ratón selecciona el botón de la barra deherramientas que necesite.

- Mediante el teclado a través del acelerador o bien através de un carácter significativo de la opción.

Interfaz agradable para trabajarEn este aspecto se ha trabajado en dos líneas:

1) Establecer una configuración de pantalla por defectoque ha sido consensuada por los miembros del grupo,a la cual, siempre que lo desee, puede acudir elusuario.

2) Permitir al usuario adaptar los colores de loselementos y del fondo de su pantalla, el formato y eltamaño del texto y la velocidad a la que desea que seejecute el programa.

Page 8: M. Castro , E. Sancristobal1 2, A. Justo2 y J.I. Díaz2 · 2008. 12. 22. · de los sistemas basados en microprocesadores, junto con un programa ensamblador-simulador que facilite,

Simulación Orientada al Usuario de Sistemas basados en Microprocesadores 8

Fig. 17. Interfaz de simulación de la versión anterior

Fig. 18. Diseño preliminar de la interfaz de simulación (Nivel Iniciación)

Page 9: M. Castro , E. Sancristobal1 2, A. Justo2 y J.I. Díaz2 · 2008. 12. 22. · de los sistemas basados en microprocesadores, junto con un programa ensamblador-simulador que facilite,

Simulación Orientada al Usuario de Sistemas basados en Microprocesadores 9

Fig. 19. Interfaz de simulación del Nivel de Iniciación

Todas las características sobre la interfaz comentadas hastaaquí han sido sometidas a evaluación mediante cuestionarios.

Nivel IntermedioEsta interfaz se ha pensado para aquellos usuarios que ya

tienen claro el concepto de instrucción y comienzan adesarrollar sus primeros programas utilizando dispositivosexternos, tales como teclados y display. Aquí se hansuprimido las informaciones que ya se consideraninnecesarias, como pueden ser las indicaciones detransferencia de datos y se incorporan nuevos elementos,como son un segundo VIA, el teclado y el display. Ahora laúnica información presente de forma permanente es la de losdispositivos externos, la de los registros más significativos delmicroprocesador y la de los registros de los VIAs. El resto lapuede solicitar o eliminar el usuario según desee, (figura 20).

En cuanto a las características de facilidad de aprendizaje ycomodidad de manejo, así como la de interfaz agradable sehace extensible lo comentado en el nivel de iniciación, debidoa la consistencia que se ha perseguido y que el entorno deprogramación ha facilitado.

El diseño de esta interfaz resulta difícil de definiradecuadamente, puesto que se trata de un nivel cuyos límitesse entrecruzan con los otros dos extremos, lo que hace difícilidentificar claramente usuarios en este nivel.

Por ello, resulta complicado someter a evaluación el mismo.Su ubicación se realizaría frente a los otros niveles donde:

- el usuario de iniciación, es todo aquel que seenfrenta por primera vez a este tipo de sistemas.

- el usuario avanzado o experto, es todo aquel queviene desarrollando programas sobre este tipo desistemas y desea una herramienta cómoda y ágil deusar.

Nivel avanzadoEl tipo de usuario que va a trabajar con esta interfaz es

gente acostumbrada programar y lo que desea es que elprograma se ejecute lo más parecido al sistema real, siendoconsciente de las restricciones del tiempo. Así pues, en estainterfaz se suprimen las informaciones de registros quequedaban en la interfaz de usuario intermedio y sólo sedispone de las informaciones de los dispositivos externos,tratando de ir un paso más allá en la aproximación a lossistemas reales, todo en aras de conseguir mayor velocidad desimulación. No obstante, el usuario puede disponer de toda lainformación necesaria, para ello sólo tiene que para lasimulación, mediante el botón “Pausa”, un punto de ruptura; oejecutando el programa paso a paso (fig. 21). Por lo demásreúne las mismas características que las interfaces anteriores.

Page 10: M. Castro , E. Sancristobal1 2, A. Justo2 y J.I. Díaz2 · 2008. 12. 22. · de los sistemas basados en microprocesadores, junto con un programa ensamblador-simulador que facilite,

Simulación Orientada al Usuario de Sistemas basados en Microprocesadores 10

Fig. 20. Interfaz de simulación del Nivel Intermedio

Fig. 21. Interfaz de simulación Nivel Avanzado

Page 11: M. Castro , E. Sancristobal1 2, A. Justo2 y J.I. Díaz2 · 2008. 12. 22. · de los sistemas basados en microprocesadores, junto con un programa ensamblador-simulador que facilite,

Simulación Orientada al Usuario de Sistemas basados en Microprocesadores 11

IV. ENSAMBLADOREl diseño gráfico de su interfaz se ha planteado tenerlo en

una sola vista, válida para los distintos tipos de usuarios,debido a que su sencillez permitía englobar en una sola vistacaracterísticas aptas para los tres niveles de usuarios.

Se han estudiado las interfaces de otros ensambladores,pero la mayoría presentan una interfaz pensada básicamentepara usuarios expertos, al final se ha decidido continuar lalínea iniciada en el proyecto CICYT, [1], y a partir de ahí sehan diseñado varios bocetos que sometidos a análisis por elgrupo de trabajo se han ido retocando hasta llegar al que se haconsiderado que cumplía las condiciones impuestas.

La idea ha sido tener una zona de edición de programa, queexistía en todos los programas, y una zona de ayuda rápidaque sirva también para edición.

Fig. 22. Interfaz del ensamblador

V. CONCLUSIONESEn este documento se ha presentado un trabajo cuyo

objetivo es servir como herramienta para facilitar el auto-aprendizaje de los microprocesadores, a la ves que se habuscado proporcionar una interfaz que no suponga unasobrecarga, su aprendizaje y manejo, para el usuario. Y paraconseguir este objetivo ha sido sometida a evaluaciones porpequeños grupos de discusión y también por grandes gruposmediante cuestionarios.

Así, tras algunos retoques se ha llegado a la pantalladefinitiva, representada en la figura 22, presentando unainterfaz avanzada del ensamblador.

En el diseño de esta interfaz se ha perseguido evitarnavegar entre pantallas o usar barras de desplazamiento paratrabajar, lo cual sobrecarga la memoria de trabajo del usuario.Y se han, estableciendo dos zonas funcionales en la pantalla:

- Zona 1: es la zona de edición, en la quehabitualmente se moverá el usuario experto.

- Zona 2: es la zona de ayuda rápida y de selección deinstrucción. Permite al usuario obtener informaciónacerca de todas las instrucciones delmicroprocesador, sus tipos de direccionamiento y susfunciones; así como transferir la instrucciónseleccionada a la zona de edición.

Con la idea de obtener una mayor funcionalidad se hanincorporado variables en el propio programa para detectar elgrado de consecución de nuestro objetivo, con un mínimo decolaboración por parte de los usuarios. Actualmente se siguetrabajando en la mejora del Simulador, se está mejorando elEnsamblador existente y se está desarrollando uno nuevo,además, enfocado hacia los usuarios avanzados. También seestán desarrollando nuevos programas multimedia con dosenfoques, uno tratando de mejorar el existente y otrobuscando nuevas interfaces, con la idea de contrastar éstas, deforma que se facilite la labor a posibles evaluadores.

ZONA 1 ZONA 2

Page 12: M. Castro , E. Sancristobal1 2, A. Justo2 y J.I. Díaz2 · 2008. 12. 22. · de los sistemas basados en microprocesadores, junto con un programa ensamblador-simulador que facilite,

Simulación Orientada al Usuario de Sistemas basados en Microprocesadores 12

REFERENCIAS

[1] J. Peire, E. Mora, P. Corcuera, M. Castro, J. M. Gómez. Diseño yCreación de Herramientas Multimedia de Simulación de ProcesadoresAvanzados. TIC95-0837-C02(01 y 02), 1995-1998.

[2] R. Mayer, M. Koch y D. Tavangarian. A Multimedia Learning andDesign System for Microprocessors. Microelectronics Education.Proceedings of the 2nd European Workshop Held Woordwijkerhout. TheNetherlands, Mayo 1998.

[3] J. A. García-Cuenca. Tutor µP 65C02. Proyecto Fin de Carrera.Ingeniería Técnica Industrial. UCLM, 2001.

[4] F. López. Tutorial del Simulador y del Compilador. Proyecto Fin deCarrera. Ingeniería Técnica Industrial. UCLM, 2001.

[5] E. Mira. Tutorial del Microprocesador 65C02. Proyecto Fin de Carrera.Ingeniería Técnica Industrial. UCLM, 2001.

[6] M. Castro, A. Colmenar, J. A. Rodríguez, y J. Carpio. SistemasMultimedia: una Herramienta para profesores y Alumnos. Aplicación ala Enseñanza de la Energía en la Enseñanza de la Electrónica Básica.Congreso de la UNED – La Informática desde la Perspectiva de losEducadores, Septiembre 1997.

[7] M. Castro, P. Losada, A. López-Rey, A. Colmenar y J. Peire.Herramientas Hipermedia y/o Multimedia en los Procesos deEnseñanza/Aprendizaje en la Educación Superior a Distancia. 8ºEncuentro Iberoamericano de Educación a Distancia: MESPED –AIESAD y UNED, Julio 1998.

[8] R. Crowder, Y. W. Sim, G. Wills, R. Greenough. A Review o theBenefits of Using Hypermedia Manuals. ACM, 2001.

[9] M. Gallevij, H. van der Meij, T. de Jong y J. Pieters. The Effects ofScreen Captures in Manuals: A Textual and Two Visual ManualsCompared. IEE Transactions on Professional Communications, Junio1999. vol. 42, nº 2, pag. 77.

[10] J. Lorés, J. Abascal, I. Aedo, J. J. Cañas, M. Gea, A. B. Martínez, M.Ortega, P. Valero y M. Vélez. Curso Introducción a la InteracciónPersona-Ordenador. Libro-electrónico, 2001.http//griho.udl.es/ipo/libroe.html

[11] A. Moreno. Un nuevo Enfoque Metodologico para el desarrollo deSistemas de Información Hipermedia: Aplicación al caso de Electrónicade Potencia. Tesis Doctoral. UNED, 1998.

[12] M. Pérez, A. Rodríguez, J. González y S. Castelo. Maja: A Way toDesign Multimedia/Hypermedia Software to Teach Engineering.FIE’99-29th ASEE/IEEE Frontiers in Education Conference, 1999.

[13] J. I. Díaz . Simulador de micro-ínstructor con microprocesador 65C02.Proyecto Fin de Carrera. Ingeniería Técnica Industrial. UCLM, 2002.

[14] A. Justo Cangas. Microprocesador 65C02. Nivel Avanzado. ProyectoFin de Carrera. Ingeniería Técnica Industrial. UCLM, 2002.

[15] A. Fernández-Gallardo. Simulador del microprocesador 65C02. ProyectoFin de Carrera. Ingeniería Técnica Industrial. UCLM, 2002.

[16] J. González. Perspectivas de la Interacción Persona-Computador.Panorama Informático, 1996.

[17] J. Perece, H. Sharp, Y. Rogers. Human-Computer Interaction. Addison-Wesley, 1994.

[18] B. Shneiderman. Designing the User Inrterface. Strategies for EffectiveHuman-Computer Interaction. Addison-Wesley, 1998.

[19] D. J. Mayhew. The Usability Engineering Lifecicle. Morgan KaufmanPublishers, 1999.

[20] J. Nielsen. Usability Engineering. Nielsen Norman Group, USA, 1994.