métodos formales

21
Métodos ormales Modelo de Desarrollo de Software

Upload: natalia-herrera-rey

Post on 11-Jul-2015

382 views

Category:

Technology


7 download

TRANSCRIPT

Page 1: Métodos Formales

Métodos ormales

Modelo de Desarrollo de Software

Page 2: Métodos Formales

¿Que es un método formal?

Modelo matemático para

- Diseñar.

- Especificar.

- Implementar.

- Verificar.

Sistemas informáticos.

Page 3: Métodos Formales

istoria

Floyd (1967).Secuenciales

Ashcroft (1975).Concurrentes

Page 4: Métodos Formales

En la geniería de Software

En la Ingeniería de Software los métodos formales se utilizan para: ● Las políticas de los requisitos● La especificación● Las pruebas de correspondencia entre la especificación y los

requisitos● Las pruebas de correspondencia entre el código fuente y la ● especificación● Pruebas de correspondencia entre el código máquina y el código

fuente

Page 5: Métodos Formales

Ven ajas de los métodos formales

● Especificación

● Verificación

● Validación

Page 6: Métodos Formales

Es ecificación

La ingeniería de Software tiene problemas para la especificación de comportamientos.

La especificación formal proporciona una mayor precisión.

Detección de ambigüedades y omisiones.

Page 7: Métodos Formales

Verificación

“Se esta construyendo el producto correcto.”

Con los métodos comunes a pesar de la generación de manuales de pruebas rigurosos solo se logra eliminar los errores más evidentes.

Las técnicas de verificación formal dependen de especificaciones matemáticas precisas.

Page 8: Métodos Formales

Validación

“Se esta construyendo el producto correcto.”

Utilizado principalmente para sistemas complejos como aquellos de modelado y simulación.

Page 9: Métodos Formales

Ventajas

● Se comprende mejor el sistema.

● La comunicación con el cliente mejora ya que se dispone de una

descripción clara y no ambigua de los requisitos del usuario.

● El sistema se describe de manera más precisa.

● El sistema se asegura matemáticamente que es correcto según las

especificaciones.

● Mayor calidad software respecto al cumplimiento de las

especificaciones.

● Mayor productividad

Page 10: Métodos Formales

Desventajas

● El desarrollo de herramientas que apoyen la aplicación de métodos

formales es complicado y los programas resultantes son incómodos

para los usuarios.

● Los investigadores por lo general no conocen la realidad industrial.

● Es escasa la colaboración entre la industria y el mundo académico,

que en ocasiones se muestra demasiado dogmático.

● Se considera que la aplicación de métodos formales encarece los

productos y ralentiza su desarrollo

Page 11: Métodos Formales

Cla ificación

● Especificaciones basadas en lógica de primer orden y teoría de conjuntos

● Especificaciones algebraicas

● Especificación de comportamiento○ Métodos basados en álgebra de procesos○ Métodos basados en Redes de Petri○ Métodos basados en lógica temporal

Page 12: Métodos Formales

Los 10 andamientos(Bowen, Hinchley)1. Seleccionarás la notación adecuada.2. Formalizarás, pero no de más.3. Estimarás los costes.4. Poseerás un experto en métodos formales a tu disposición.5. No abandonarás tus métodos formales de desarrollo.6. Documentarás suficientemente.7. No comprometerás los estándares de calidad.8. No serás dogmático.9. Comprobarás, comprobarás y volverás a comprobar.10. Reutilizarás cuanto puedas.

Page 13: Métodos Formales

Los 7 itos de Hall

1. Los métodos formales pueden garantizar la corrección del software

2. Todos los métodos formales se refieren a la corrección de programas

3. Son de utilidad solamente para sistemas de altas prestaciones/alta integridad (safety-critical)

4. Su uso requiere una alta cualificación o entrenamiento matemático

5. Incrementan el coste de desarrollo6. Son inadecuados y no serán aceptados por los clientes7. No se usan en la realidad en proyectos software de gran

escala

Page 14: Métodos Formales

Fracasos de la Aplicación de MF

● Algoritmo de división del procesador Pentium (1993)Costo: 475 millones de dólares, credibilidad de Intel

● Explosión de la misión espacial Ariane 5 (1996)Costo: 500 millones de dólares

● Orbitador climático de Marte (1998)Costo: 125 millones de dólares

Page 15: Métodos Formales

Logros de la Aplicación de MF

● Metéor, Matra Transport, France:Herramienta: Atelier-BResultado: No se encontró ningún error durante el testing de 80000 líneas de código.

● SPOT 4, CS-CI, France:Herramienta: IFAD VDM-SL ToolboxResultado: Se redujo un 38% menos de código fuente y un 36%menos de esfuerzo total.

Page 16: Métodos Formales

El futuro de los métodos formales

“Un mundo en el que los productos software siempre serán fiables, y que la labor de los ingenieros de software sea realmente Ingeniería.”

Logic in Computer Science26th International Conference on

Computer Aided Verification (CAV)

Page 17: Métodos Formales

Conclusiones

Los métodos formales son técnicas matemáticas, a menudo soportadas por herramientas, para el desarrollo de sistemas software y hardware. Su rigor matemático le permite a los ingenieros analizar y verificar sus modelos en cualquier parte del ciclo de vida del desarrollo.

Page 18: Métodos Formales

Conclusiones

Mediante un método formal, el sistema se deja de ver como un generador de eventos y se empieza a tratar como un transformador de estado.

Page 19: Métodos Formales

Conclusiones

Los métodos formales tienen un nivel más elevado de precisión cuando se realizan procesos de validación y verificación del software, sobretodo en aplicaciones con grados altos de complejidad.

Page 20: Métodos Formales

Bibliografía

● Ian Somerville. Ingeniería del Software 7ma. Edición. Pearson, 2005.

● Edgar Serna Montoya. Métodos formales e Ingeniería de Software. [Internet] Septiembre 2010. Disponible en: http://www.redalyc.org/pdf/1942/194214476008.pdf

● Rodolfo Quispe-Otazu. ¿Que son los Métodos Formales?. Blog de Rodolfo Quispe-Otazu [Internet]. Febrero 2009. Disponible en: http://www.rodolfoquispe.org/blog/que-son-los-metodos-formales.php

● Carlos Gustavo Lopez Pombo. Métodos formales en la ingeniería de software: en busca de la bala de plata. 2004. Disponible en: http://www-2.dc.uba.ar/charladeborrachos/presentaciones/charla_2004-29-10.pdf

Page 21: Métodos Formales

Recursos Web 2.0