Departamento de Lenguajes y Sistemas Informáticos
Universidad de Sevilla



Grupo de Investigación en
Ingeniería del Software




Facultad de Informática y Estadística
Avda. Reina Mercedes, s/n. 41012 SEVILLA
Tlf 455 27 75 - Fax 455 71 39
is@lsi.us.es
(Utiliza esta dirección si quieres enviar un mensaje a todos los mienbros del Grupo. Si quieres enviar un mensaje sólo a uno de nosotros utiliza la dirección personal que encontrarás en la sección Personal de esta página)


Presentación

Este grupo de investigación se dedica al estudio de métodos, técnicas y herramientas necesarias en las etapas de análisis y diseño de software. Una de las líneas centrales del grupo está dedicada a la integración de métodos formales y orientación a objetos.

Uno de los resultados más interesantes de dicha línea de investigación es el lenguaje de espefificación orientado a objetos TESORO, cuya principal característica es la capacidad de expresar aspectos dinámicos de los objetos.

Otras líneas de investigación dentro del grupo son el estudio de satisfacción de restricciones, la introducción de aspectos temporales en nuestro modelo de objetos, la síntesis de programas lógicos, los sistemas multiagentes , y la aplicación de la dinámica de sistemas a la gestión de proyectos.
Objetivos
Especificación Orientada a Objetos
Esta línea de investigación persigue como objetivo primordial el desarrollo de una metodología de análisis que combine las conceptos inherentes a la orientación a objetos con los métodos formales. Con ello pretendemos aprovechar el aspecto intuitivo de metodologías semiformales (OMT, FUSION, SYNTROPY) con el rigor de las técnicas formales (especificaciones algebraicas de datos y procesos).

Como primer paso en el desarrollo de esta metodología hemos diseñado el lenguaje de especificación TESORO, las principales características de este lenguaje son:

  • La homogeneidad en el tratamiento de los aspectos estáticos y dinámicos del sistema
  • La utilización de diversos tipos de restricciones, como método declarativo de descripción
  • La definición de una semántica precisa para los operadores entre clases (asociación, agregación, relación y herencia)
Como siguiente paso, nos hemos marcado el desarrollo de herramientas de prototipado para nuestro lenguaje. En la actualidad está definido el proceso de prototipado hacia el lenguaje LOTOS, y está prevista la definición del mismo proceso para un lenguaje lógico (PROLOG) y para lenguajes imperativos (C++, JAVA).
Implementación de TESORO
Ya hemos trabajado en en desarrollo de compiladores que transforman una especificación de un sistema realizada en TESORO en un prototipo en PROLOG o LOTOS. Desgraciadamente los prototipos que se obtienen al compilar TESORO a estos lenguages no son lo suficientemente eficientes como para ser utilizados en aplicaciones prácticas.

En la actualidad estamos trabajando en un nuevo compilador que producirá código IP, un nuevo enfoque para la implementacion de sistemas reactivos distribuidos que, al contrario de otros lenguages similares, resulta también adecuado para realizar razonamiento formal, una propiedad realmente interesante si tratamos de compilar lenguages de especificación como TESORO.

En la actualidad se está trabajando en mejoras del mecanismo de sincronización y comunicación entre procesos que presenta IP así como en la adaptación a entornos de tipo distribuidos de algunas de las técnicas tradicionales de resolución de restricciones.

Gestión de Proyectos
Desde 1991, con la publicación por parte de Abdel-Hamid y Madnick de un modelo dinámico para la gestión de proyectos de desarrollo de software, surge un campo de trabajo que está permitiendo una mayor comprensión de las diferentes variables a considerar y las complejas relaciones que se producen entra las mismas durante el proceso de desarrollo de software.

Actualmente, apoyándonos en el modelo de Abdel-Hamid y Madnick estamos tarabajando en dos áreas, por un lado profundizar en el análisis de los resultados de dicho modelo, y por otro lado hemos creado un modelo dinámico reducido que permita realizar estimaciones en etapas temparanas, cuando aún se tiene poca información sobre el proyecto.

Sistemas Multiagentes
En esta línea de investigación, nos ocupamos del concepto de agente o actor. Un agente es cualquier ente capaz de alcanzar unos objetivos prefijados interactuando con el entorno en el que se desarrolla y relacionándose con otros agentes para la consecución de dichos objetivos.

A partir de esta idea de agente, analizaremos los sistemas multiagente, contemplando:

  • La creación y destrucción de agentes
  • La interface existente entre ellos
  • Los lenguajes que implementan estas características
Desde el punto de vista de la implementación, se estudia la teoría de agentes en red y el desarrollo de plataformas multiagente tomando como base el concepto de programación distribuida y las herramientas existentes que la implementan. Por último se analizan las tendencias que sobre el tema se van derivando en la actualidad.
Generación de prototipos
El uso de métodos formales dentro de la Ingeniería del Software no están centrados solamente en aspectos de especificación, podríamos aplicarlos también en la obtención de programas que resuelvan los problemas especificados.

De esta forma, el interés se centra en explotar los formalismos de especifición junto con mecanismos que automaticen la construcción de programas a partir de las especificaciones.

Estos mecanismos de refinamiento nos permitirían no sólo obtener programas correctos sino también cubrir aspectos no funcionales (p.e. rendimiento).

Con este planteamiento, tareas de interés son:

  • Soporte en la validación de especificaciones.
  • Automatización en derivación de programas.
  • Transformaciones horizontales: los programas se transforman en programas semánticamente equivalente usando un lenguaje común con vistas a mejorar el rendimiento.
  • Transformaciones verticales: posibilidad de transformar programas en un lenguaje a programas en otro lenguaje preservando la semántica con multiples objetivos (rendimiento, portabilidad, etc).
  • Registrar diferentes versiones de una misma entidad: especificación y programas en diferentes estados de implementación (programas iniciales, programas finales más eficientes, etc). Aspecto necesarios como documentación de diseño en el desarrollo del software.

Personal

Responsable Miguel Toro Bonilla mtoro@lsi.us.es
Investigadores Vicente Carrillo Montero carrillo@lsi.us.es
  Rafael Corchuelo Gil corchu@lsi.us.es
Juan Manuel Cordero Valle cordero@lsi.us.es
Victor Jesús Díaz Madrigal vjdiaz@lsi.us.es
Amador Durán Toro amador@lsi.us.es
Francisco Galán Morillo galanm@lsi.us.es
Ramón Gómez Labrador ramon@lsi.us.es
Manuel Mejías Risoto risoto@lsi.us.es
José Antonio Pérez Castellanos jperez@lsi.us.es
Isabel Ramos Román rroman@lsi.us.es
Miguel Rueda Barranco mrueda@lsi.us.es
Jesús Torres Valderrama jtorres@lsi.us.es
José Antonio Troyano Jiménez troyano@lsi.us.es

Áreas de interés

Proyectos de Investigación

Técnicas Formales Orientadas a Objetos para la Especificación de Sistemas
  • Subproyecto del proyecto coordinado MENHIR, en el que participan Departamentos de las Universidades Politécnica de Valencia, Murcia, Granada y Valladolid.
  • Fecha de inicio: 1-10-1997.
  • Fecha prevista de finalización: 30-9-2000

Docencia

Cursos de Doctorado (Informática)
Seminarios

Publicaciones

1993
  • Desde un Lenguaje de Especificación Orientado a Objetos a LOTOS. J. Torres, J.A. Troyano, M. Toro. XV Escuela de Verano de Informática. La Manga del Mar Menor (Murcia).
1994
  • Visión Orientada a Objetos en la Especificación de Sistemas Distribuidos. J. Torres, J.A. Troyano, M. Toro. XVI Escuela de Verano de Informática. Oviedo.
  • Especificación Orientada a Objetos desde un Enfoque Algebraico. J.A. Troyano, J. Torres, M. Toro. GULP-PRODE'94. Peñíscola (Castellón).
  • Desde el Lenguaje de Especificación Orientado a Objetos TESORO a LOTOS. J. Torres, J.A. Troyano, M. Toro. Revista de Informática y Automática, Vol. 27, Número 2, AEIA.
  • An Object-Oriented Technique for Systems Specification. J. Torres, J.A. Troyano, M. Toro. 4th International Conference on Information Systems Development (ISD'94). Bled (Slovenia).
1995
  • A Technique for Distributed Systems Specification. J.A. Troyano, J. Torres, M. Toro. 3rd. Euromicro Workshop on Parallel and Distributed Processing. San Remo (Italia).
  • Software Quality through Formal OO Specification. J. Torres, J.A. Troyano, M. Toro. 3rd. International Conference on Software Quality Management. Sevilla.
  • Visión Orientada a Objetos en la Especificación de Sistemas Distribuidos. J. Torres, J.A. Troyano, M. Toro. IV Jornadas de Concurrencia. El Escorial (Madrid).
  • Síntesis Constructiva de Programas Lógicos. F.J. Galán y M. Toro. I Jornadas de Informática. Puerto de la Cruz (Tenerife).
  • Síntesis de Programas Lógicos: Marco Constructivo. F.J. Galán y M. Toro. Gulp-Prode'95. Joint Conference on Declarative Programming. Marina di Vietri (Italia).
1996
  • Operadores de Asociación y Agregación en un Lenguaje de Especificación Orientado a Objetos. J. Torres, J.A. Troyano, M. Toro. II Jornadas de Informática. Almuñecar (Granada).
  • Especificaciones OO basadas en REstricciones. J. Torres, J.A. Troyano, M. Toro. I Jornadas de Trabajo en Ingeniería del Software. Sevilla.
  • Síntesis Deductiva de Programas Lógicos con Tipos. F.J. Galán y M. Toro. II Jornadas de Informática. Almuñecar (Granada).
1997
  • Modelos Dinámicos para la Gestión de Proyectos Software: un nuevo enfoque. Isabel Ramos. Revista Novática, Enero/Febrero.
  • Análisis de las Estructuras Dinámicas Comunes a los Proyectos de Desarrollo de Software y los Proyectos de Investigación y Desarrollo. Isabel Ramos, Mercedes Ruíz. III Jornadas de Informatica. Puerto de Santa María (Cádiz).
  • Modelo Dinámico Simplificado para la Gestion de Proyectos Software. Isabel Ramos, Mercedes Ruíz. II Jornadas de Ingenieria del Software. San Sebastián.
  • Prototipos y Abstracciones . F.J. Galán M. Toro. II Jornadas de Ingeniería del Software. San Sebastián.
  • Herencia y Conformidad de Comportamientos. J.A. Troyano, J. Torres, M. Toro. II Jornadas de Ingeniería del Software. San Sebastián.
Enlaces de interés

Grupo STING (Software Technology Interest Group). En este enlace puedes encontrar informacion, más enlaces, listas de correo sobre temas relacionados con la Ingeniería del Software: orientación a objetos, análisis, diseño, herramientas, interfaces hombre-máquina, etc.
La red RENOIR (Requirements Engineering Network On International cooperating Research groups) alglutina una serie de grupos de investigación en torno a la Ingeniería de Requisitos. En esta página podrás encontrar información acerca de la red, otros enlaces, congresos, etc.
En la página Métodos Formales podrás encontrar varios enlaces interesantes dentro del mundo de los métodos formales.
FME (Formal Methods Europe) es una organización europea subvencionada por la Unión Europea, cuyo objetivo es promover el uso de métodos formales en el ámbito de la industria.
En la página Rational encontrarás, entre otras cosas, información acerca de UML y Rational Rose.
En Z encontrarás todo tipo de información acerca del lenguaje de especificación formal Z.
En Cetus encontrarás múltiples enlaces relacionados con la orientación a objetos.
En CELSIUS (Corba-Equipo del depto. de Lenguajes y Sistemas Informaticos de la Universidad de Sevilla) encontrarás información de un grupo de investigación, de este mismo departamento, dedicado al estudio de CORBA.


Diseño original:
Mariano González,
mariano@lsi.us.es
Mantenimiento de la página:
José Antonio Troyano, troyano@lsi.us.es