Académique Documents
Professionnel Documents
Culture Documents
ndice
Definicin de mtodos formales. Disminucin de la fiabilidad del software. Crisis del software. Conferencia sobre IS y MF:
Michael Anthony Jackson.
Patrick Cousot.
Byron Cook.
mtodos formales son una notacin de especificacin con una semntica formal, que se utiliza para especificar, analizar, disear, y verificar el software. los mismos se pueden aplicar mtodos formales, pero unos mnimos conocimientos facilitarn su uso y mejorarn el resultado final.
falta de fiabilidad.
Hay sistemas en los cuales los fallos son permisibles,
su mundo debe ser lo ms correcto y completo posible, cualquier variacin sobre el mismo provocar un fallo.
Hay sistemas que deben ser tolerantes a fallos, tienen que
ser capaces de reaccionar ante los fallos que se puedan producir. Pueden ser diseados con mtodos formales.
Patrick Cousot
En la ingeniera de software, los mtodos formales son
Patrick Cousot
Propone como solucin a la complejidad del uso de los
aproximacin consistente a las estructuras matemticas, particularmente las involucradas en el comportamiento de los computadores.
Verificacin formal mediante anlisis esttico:
es un anlisis de un sistema informtico por la inspeccin directa del cdigo fuente-objeto que describe el sistema con respecto a la semntica del cdigo.
Byron Cook
La concurrencia es la propiedad de los sistemas que
permiten que mltiples procesos sean ejecutados al mismo tiempo, y que potencialmente puedan interactuar entre s.
La concurrencia puede provocar efectos secundarios si
sistemas concurrentes deben ser verificados correctamente, usando por ejemplo mtodos formales. modular los programas concurrentes y demostrar que cada mdulo funciona correctamente y termina.
Nuestras conclusiones
Los mtodos formales ayudan a desarrollar software de calidad.
Es necesario tener conocimientos matemticos para el uso de los mismos y puede ser complejo su aprendizaje.
La fiabilidad del software ha disminuido en los ltimos aos. Los sistemas actuales necesitan mayor fiabilidad porque se usan
concurrentes y sistemas tolerantes a fallos, y tambin para verificar todo tipo de sistemas.
ESEI
Tabla de contenido
Introduccin ...................................................................................................................... 3 Problemtica actual del software ...................................................................................... 3 Congreso sobre Ingeniera del Software y Mtodos Formales ......................................... 4 Michael Anthony Jackson ............................................................................................. 4 Patrick Cousot ............................................................................................................... 4 Byron Cook ................................................................................................................... 5 Conclusiones del artculo ................................................................................................. 5 Nuestras conclusiones ...................................................................................................... 6 Preguntas tipo test ............................................................................................................. 7 Justificacin de las preguntas tipo test ............................................................................. 8
Introduccin
Nuestro artculo trata sobre la relacin que existe entre Ingeniera del Software y mtodos formales. Los mtodos formales son una parte de la Ingeniera del Software, pero se distinguen claramente de los mtodos tradicionales de la misma. Los mtodos formales son una notacin de especificacin con una semntica formal, que se utiliza para especificar, analizar, disear, y verificar el software. Para su utilizacin se requieren conocimientos matemticos, aunque no son imprescindibles, son muy recomendables para una comprensin profunda de los mismos y un mejor resultado final. Con mtodos formales podemos asegurar que nuestro sistema es completamente fiable, que no va a tener fallos, algo imposible de afirmar con los mtodos de la Ingeniera del Software, como el Proceso Unificado de Desarrollo.
El diseo normal nos garantiza la fiabilidad del software (meta que la Ingeniera del Software quiere alcanzar en un futuro), mientras que el diseo radical no puede garantizar ni siquiera una pequea parte de la misma.
Patrick Cousot
Es el especialista en interpretacin abstracta. Define los mtodos formales como tcnicas matemticas para la especificacin, desarrollo y verificacin de sistemas software y hardware. Dos de los conceptos fundamentales de mtodos formales para l son: La semntica del dominio: es un conjunto de todos los modelos formales de un sistema de comportamientos. Una propiedad del sistema: es un conjunto de modelos semnticos que satisfacen esa propiedad.
La aplicacin ms interesante de los mtodos formales para este experto es la verificacin del software, pero es demasiado compleja y laboriosa de llevar a cabo. Para disminuir la complejidad que entraa el uso de mtodos formales propone dos mtodos: Interpretacin abstracta: es una teora que trata de una aproximacin consistente a las estructuras matemticas, particularmente las involucradas en el comportamiento de los computadores. Verificacin formal mediante anlisis esttico: es un anlisis de un sistema informtico por la inspeccin directa del cdigo fuente-objeto que describe el sistema con respecto a la semntica del cdigo.
Byron Cook
Es el especialista en sistemas concurrentes. La concurrencia es la propiedad de los sistemas que permiten que mltiples procesos sean ejecutados al mismo tiempo, y que potencialmente puedan interactuar entre s. Ejecutar procesos concurrentes puede ocasionar distintos problemas: Invasin de sectores de memorias asignados a otros procesos. Procesos que no acaban y que colapsan el sistema. Competencia entre procesos. Conflictos al acceder a recursos compartidos. Etc.
Para que los sistemas concurrentes funcionen correctamente y nos se produzcan los problemas citados anteriormente, deben ser verificados correctamente. La mejor manera de hacerlo es con mtodos formales, ya que nos van garantizar la ausencia de fallos. Una alternativa al uso de mtodos formales para desarrollar o verificar sistemas concurrentes es modular los programas concurrentes y demostrar que cada mdulo funciona correctamente y termina. La complejidad es mucho menor en este caso.
Nuestras conclusiones
Los mtodos formales ayudan a desarrollar software de calidad. Es necesario tener conocimientos matemticos para el uso de los mismos y puede ser complejo su aprendizaje. La fiabilidad del software ha disminuido en los ltimos aos. Los sistemas actuales necesitan mayor fiabilidad porque se usan en casi todos los aspectos de la vida. El objetivo de la Ingeniera del Software actualmente es aumentar su fiabilidad. Los mtodos formales son aptos para desarrollar sistemas concurrentes y sistemas tolerantes a fallos, y tambin para verificar todo tipo de sistemas.
3. Para que un sistema sea fiable cmo debe ser su modelo formal? a. b. c. d. Lo ms correcto y completo posible. Ajustado a nuestro problema. No influye como se defina en la ejecucin del sistema. Ninguna de las anteriores.
4. Para solucionar los problemas de los procesos concurrentes se puede: a. b. c. d. Verificarlos con mtodos formales. Usar modularidad. Usar como mucho cinco procesos concurrentes. La a y la b.
5. La verificacin formal sobre anlisis esttico es: a. Un anlisis de un sistema informtico por la inspeccin directa del cdigo fuente-objeto que describe el sistema con respecto a la semntica del cdigo. b. Un anlisis de un sistema informtico por la inspeccin directa de la especificacin que describe el sistema con respecto a la semntica del diseo. c. Un sistema de prueba y error. d. Ninguna de las anteriores.
2. Cul es la problemtica fundamental del software actual? a. La falta de especializacin de los ingenieros. Es INCORRECTA porque la falta de especializacin no es lo que ms influye, un ingeniero puede desarrollar un determinado sistema con unos mnimos conocimientos del mtodo que uso para hacerlo. b. La escasa fiabilidad del hardware que ocasiona errores software. Es INCORRECTA porque la fiabilidad del hardware es muy superior a la del software y en los ltimos aos ha aumentado considerablemente. c. La falta de fiabilidad. Es CORRECTA porque la falta de fiabilidad del software es la que ha producido la crisis del mismo y es un problema que tiende a empeorar. d. Un mal diseo de los sistemas. Es INCORRECTA porque aunque es uno de los problemas del software actual, el mayor es la fiabilidad del mismo.
3. Para que un sistema sea fiable cmo debe ser su modelo formal? a. Lo ms correcto y completo posible. Es CORRECTA porque solo si el modelo formal es completo y correcto se puede garantizar que el sistema no tiene fallos. b. Ajustado a nuestro problema. Es INCORRECTA porque el modelo formal debe ser lo ms completo posible para evitar fallos. c. No influye como se defina en la ejecucin del sistema. Es INCORRECTA porque la definicin de su modelo formal influye en su funcionamiento, cualquier variacin que no aparezca en el mismo puede ocasionar un fallo del sistema. d. Ninguna de las anteriores. Es INCORRECTA porque la a es correcta.
4. Para solucionar los problemas de los procesos concurrentes se puede: a. Verificarlos con mtodos formales. Es INCORRECTA porque la correcta es la d, ya que se pueden usar tanto verificacin formal como modularidad para solucionar los problemas de los mtodos formales. b. Usar modularidad. Es INCORRECTA porque la correcta es la d, ya que se pueden usar tanto verificacin formal como modularidad para solucionar los problemas de los mtodos formales. c. Usar como mucho cinco procesos concurrentes. Es INCORRECTA porque no tiene sentido restringir el nmero de procesos concurrentes, ya que existen sistemas que necesitan mucho ms de cinco procesos de este tipo para funcionar. d. La a y la b. Es CORRECTA porque ambas respuestas son correctas, los dos mtodos son vlidos para solucionar este problema.
5. La verificacin formal sobre anlisis esttico es: a. Un anlisis de un sistema informtico por la inspeccin directa del cdigo fuente-objeto que describe el sistema con respecto a la semntica del cdigo. Es CORRECTA porque esta es la definicin que Patrick Cousot da de este trmino. b. Un anlisis de un sistema informtico por la inspeccin directa de la especificacin que describe el sistema con respecto a la semntica del diseo. Es INCORRECTA porque la verificacin formal sobre anlisis esttico es un mtodo que analiza el cdigo no la especificacin del diseo. c. Un sistema de prueba y error. Es INCORRECTA porque se trata de un anlisis de cdigo fuenteobjeto y no de este tipo de sistema. d. Ninguna de las anteriores. Es INCORRECTA porque la respuesta correcta es la a.
10