Herramientas software para la reutilización de Matlab™
(Matlab es una marca registrada de The
Mathworks Inc. (http://www.mathworks.com/)
Antecedentes y finalidad del proyecto
Parte de la idea de que se puede, y que sería provechoso,
reutilizar entornos propietarios existentes, posibilitando su integración en
otras aplicaciones como componentes reutilizables. La finalidad es pues la de
diseñar y producir estos componentes. Utiliza como mecanismo principal la
encapsulación de estos entornos en componentes “proxy” construídos sobre
plataformas de componentes estándar (actualmente COM y SOAP…). Estos componentes
deben ofrecer una API orientada a objetos realmente útil para desarrollar
aplicaciones.
Soporta una arquitectura modular en capas, con componentes
orientados a dominios concretos que pueden basarse en componentes más genéricos.
Es ampliamente aplicable en el desarrollo de software educativo, e incluso en el
desarrollo de software de otros tipos, especialmente el científico-técnico.
Aplicación a Matlab
La primera experiencia ha sido aplicar esta solución sobre el
entorno Matlab. Matlab es un entorno de cálculo orientado a la ingeniería que
cubre un amplísimo dominio y muchos subdominios específicos, a través de un
motor de cálculo y toolboxes. Esto permite construir una arquitectura de módulos
con niveles de especificidad crecientes, y aplicaciones en muchos dominios de
aplicación, por ejemplo:
- Cálculo numérico general
- Cálculo matricial
- Modelado y simulación
- Redes de neuronas
- Estadística
- Wavelets
- Gráficos
- etc…..
Estado actual del desarrollo
Actualmente se han desarrollado varios módulos que permiten
reutilizar diferentes funcionalidades de Matlab, así como algunas aplicaciones
destinadas al usuario final que utilizan dichos módulos:
-
IMO R-Interface for Matlab: interfaz de usuario alternativa
para el motor de Matlab. Utilizando la IMO-COMSOAP Library for Matlab,
permite al usuario acceder a toda la funcionalidad de Matlab, utilizando su
lenguaje de comandos, pero a través de una interfaz de usuario más amigable,
simplificada y donde se han potenciado los elementos como las ayudas
emergentes, menús contextuales, o exploradores de variables, entre otros,
que facilitan en gran medida su aprendizaje y manejo. Además permite
trabajar con múltiples sesiones locales o remotas e intercambiar datos entre
ellas de forma sencilla.
-
IMO Manipulador de Matrices: entorno visual de fácil
aprendizaje y utilización que permite crear, y trabajar con todos los tipos
de matrices soportados por Matlab. Ejemplo de matrices que soporta: Hadamard,
Hilbert, Hilbert Inversa, Identidad, Mágica, Pascal, ect. Así como sus
respectivas operaciones, de las cuales se pueden citar las siguientes:
Determinante, Condición recíproca, Norma, Rango, etc. Para ello, utiliza
tanto la IMO_COM_MATRIX_OPERATION_SUPPORT, como
la IMOSOAPMatLabMatrix para la parte local
y parte remota respectivamente, que son los dos componentes que encapsulan
los tipos de matrices y sus operaciones. A su vez, estos últimos componentes
utilizan la IMO-COMSOAP Library for Matlab, la cual permite al
usuario acceder a toda la funcionalidad de Matlab. De esta manera IMO
Manipulador de Matrices presenta una interfaz de usuario sencilla totalmente
gráfica, sin necesidad de conocer Matlab ni aprender un lenguaje de
comandos.
Detalles ...
Mas información grupo de investigación
IMO