Proyecto Fin de Carrera

Robótica, software y telecomunicaciones.

La interfaz perdida de RoboComp

Antes que nada debo aclarar el concepto de interfaz, ya que podríamos estar refiriéndonos a diferentes tipos de interfaz, y esto puede llegar a ser muy confuso para cualquier novato que empiece a programar.

El buscón online de la Real Academia Española nos dice lo siguiente:

interfaz.

(Delingl.interface, superficie de contacto).

1. f. Conexión o frontera común entre dos aparatos o sistemas independientes.

2. f. Inform. Conexión, física o lógica, entre un computador y el usuario, un dispositivo periférico o un enlace de comunicaciones.

Pero la verdad es que esa definición no nos dice mucho.

En cualquier lenguaje de programación que use funciones, la interfaz sería el nombre de la función y sus argumentos, ya que una interfaz lo que hace es proporcionar una capa de abstracción, de forma que sin conocer cómo funciona algo internamente podamos interactuar desde fuera.

En Programación Orientada a Objetos (POO) es común llamar interfaz al conjunto de funciones y variables públicas de un clase, normalmente esta interfaz es la definición de la propia clase que en el caso de C++ sería miClase.h.

En Programación Orientada a Componentes (como es el caso de RoboComp) la interfaz es el conjunto de métodos que son accesibles entre componentes, en RoboComp es ICE quien gestiona estas interfaces por lo que deben estar adaptadas a ICE (que tiene algunas restricciones como no soportar sobrecarga de funciones) y en principio en el lenguaje Slice (aunque ICE posse un script para traducir entre C++ y Slice).

Por último está la Interfaz Gráfica de Usuario, que es la interfaz compuesta por botones, ventanas, etc. que utilizarán los usuarios finales de la aplicación, normalmente me gusta llamarla GUI, aunque con frecuencia podemos ver que en algunos sitios se refieren a ella como UI.

Aclarado todo esto, quiero contar una anécdota, y es que últimamente estoy trabajando en local con un ordenador en Salabeta y de vez en cuando subo los cambios al repositorio, pero preparando mi partida a Coimbra he descargado los cambios a mi portátil y me he llevado una sorpresa cuando mis componentes no compilaban.

El error era que faltaba un archivo de la interfaz de componente, ¿pero porque?, pues porque la interfaz se guarda en una carpeta diferente de la del componente, concretamente en miusuario/robocomp/Interfaces/ y nosotros hacemos el svn add o svn ci desde la carpeta del componente de forma que no sobimos dicha interfaz, y después al intentar compilar en otro equipo le será imposible porque no tiene dicho archivo.

Anuncios

15 junio 2011 - Posted by | all

Aún no hay comentarios.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: