EJERCICOS TEMA 1 INGENIERIA DEL SOFTWARE Alumno: José Mª García Torres 3º Ingeniería Informática 1.-Busque ejemplos de Sistemas Software de gestión, empotrado, de tiempo real, ... • Software de sistemas: Es un conjunto de programas escritos para servir a otros programas. Algunos programas de sistemas por ejemplo compiladores, editores y utilidades de gestión de archivos procesan estructuras de información complejas. Otras aplicaciones, por ejemplo ciertos componentes del sistema operativo, utilidades de manejo de periféricos,… procesan datos en gran medida indeterminados. • Software de tiempo real: El software que coordina/analiza/controla sucesos del mundo real conforme ocurren, se denomina de tiempo real. Ejemplos de esto es el software que utilizan los médicos para operar a distancia, donde los robots responde en tiempo real a lo que a distancia ordena el médico. También aquellos sistemas de control / salida que respondan al entorno externo. • Software de gestión : Las aplicaciones en esta área reestructuran los datos existentes para facilitar las operaciones comerciales o gestionar la toma de decisiones. Por ejemplo, el procesamiento de transacciones en puntos de ventas. • Software de ingeniería y científico : Está caracterizado por los algoritmos de “manejo de números”. Un ejemplo de este tipo es el Diseño Asistido por Computador (CAD) , la simulación de sistemas, sistemas para predicción meteorológica,… • Software empotrado : Reside en memoria de solo lectura y se utiliza para controlar productos y sistemas de ls mercados industriales y de consumo. Por ejemplo , el software para controlar un microondas, una lavadora, funciones digitales en un automóvil (tales como indicar la gasolina, sistemas de frenado,…) • Sistemas de inteligencia artificial : Este software hace uso de algoritmos no numéricos para resolver problemas complejos para los que no son adecuados el cálculo o el análisis directo. Los sistemas expertos, tambien llamados sistemas basados en el conocimiento, reconocimiento de patrones (imágenes y voz) , redes neuronales artificiales, … son un ejemplo de estos sistemas. EJERCICOS TEMA 1 INGENIERIA DEL SOFTWARE Alumno: José Mª García Torres 3º Ingeniería Informática 2.- Busque informacion sobre las consecuencias que pueden llegar a tener los defectos del software. (Busque el termino "Software Disasters") * Dos desastres causados por errores de computación aritmética: - Patriot Missile Failure El 25 de Febreo de 1991, durante la Gurerra del Golfo, una bateria de misiles de la patria americana en Dharan, Arabia Saudi, falló al interceptar un misil Iraqi Scud.El Scud impacto en una barrera de la armada americana y mató 28 soldados. Un informa del la oficina del general , GAO/IMTEC-92-26, titulada Patriot Missile Defense: Software Problem Led to System Failure at Dhahran, Saudi Arabia, informó de la causa del fallo. Gira en torno a que la causa fun un calculo inexacto del tiempo debido a errores de calculo aritmético. Específicamente, en decimas de secundo como medida por el reloj interno del sistema era multiplicado por 1/10 para producir el tiempo en segundos. Este calculo fue producido usando un registro fijo de 24 bit. En particular, el valor 1/10 , que tiene una expansion binaria no-terminal, fue truncada antes del punto raiz. El pequeño error de truncado, cuando se multiplico por el gran número dando el tiempo en decimas de segundo, introduciendo un error significativo. La bateria habia estado alrededor de 100 horas y un calculo facil muestra que el resultado del error de tiempo debido al error de truncamiento era de 0.34 segundos. El número 1/10 iguala 1/24 +1/25 +1/28 +1/29 +1/212 +1/213 +....... en otras palabras, la expansión binaria de 1/10 es 0.0001100110011001100110011001100.... Ahora el registro de 24 bit almacenó en su lugar 0.00011001100110011001100 introduciendo un error de 0.0000000000000000000000011001100... binario, o sobre 0.000000095 decimal. Multiplicando por el numero de decimas de segundo en 100 horas, da 0.000000095×100×60×60×10=0.34. Un Scud viaja a 1,676 metros por segundo, y en ese tiempo recorre mas de medio kilometro. Esto fue lo suficiente. El siguiente párrafo es del informe GAO: El rango de prediccion de donde el Scud aparecerá es una funcion del la velocidad conocida del Scud y del tiempo de la ultima detección del rador. La velocidad es un numero real que puede ser expresada como un numero entero y un decimal (e.g. 3750.2563… millas por hora). El tiempo es mantenido continuamente por el reloj interno del sistema en decimas de segundos pero es expresado como un entero (e.g. 32,33,34…) .Cuando mas haya estado el sistema ejecutandose, mas largo será el numero representado. Para predecir donde el Scud apareceria, tiempo y velocidad debe ser expresado como numero real. Debido a los calculos de los ordenadores y el hecho de que sus registros son solo de 24 bits, la conversión resulta una perdida de precision causando un error acumulado.. EJERCICOS TEMA 1 INGENIERIA DEL SOFTWARE Alumno: José Mª García Torres 3º Ingeniería Informática - Explosion of the Ariane 5 El 4 de junio de 1996, un cohete sin tripular Ariane 5 lanzado por la Agencia espacial europea explotó solo cuarenta segundos después de despegar. El cohete estaba en su primer viaje, después de una decada de desarrollo que costó 7 billones de dólares. El cohete destruido fue valorado en 500 millones de dolares. Se investigaron las causas de su explosion y en 2 semanes se elaboró un informe. Se dijo que las causas del fallo era un error interno de software en el sistema de referencia inercial. Específicamente un numero de coma flotante de 64 bits relativo a la velocidad horizontal del cohete con respecto a la plataforma fue convertido en un entero de 16 bit con signo. El numeor era mas largo que 32,768, el entero mas grando almacenable en un entero con signo de 16 bits y asi, la conversión falló. El informe está disponible o in English o in the original French . Los siguientes párrafos están extraidos del informe: El 4 de junio de 1996, el vuelo del Ariane 5 terminó en fallo. Solo 40 segundos después de la iniciación de la secuencia de vuelo, a una altitud de 3700 metros, el Ariane se desvió de su ruta de vuelo, se rompió y explotó. El fallo del Ariane 5 fue causado por la completa perdida de la guia y información 37 segundos después del comienzo de la secuencia de ignición del motor principal. Esta perdida de información fue debida a una errónea especificación y diseño del software en el sistema de referencia inercial La excepción SRI* del software interno fue causada durante la ejecución de una conversión de datos de 64-bit de coma flotante a un valor entero de 16 bits.El numero de coma flotante al que fue convertido tenia un valor mas grande del que se podia representar. *SRI stands for Système de Référence Inertielle or Inertial Reference System. Great Embedded/Flight Software Disasters. El software para la primera mision de aterrizaje lunar fue de con el trabajo de 2000 personas y años de validación independiente. No habia backup para tener dos astronautas en la superficie lunar, sin posibilidad de rescate. Después de Chernobyl, los rusos compraban cada robot móvil disponible en el mercado para vigilancia dentro de la planta. Cada uno falló dentro debido al daño de la radiación a los ordenadores y componentes electrónicos. SE PUEDEN VER MAS EJEMPLOS EN EL ARCHIVO LECTURE21.PDF INCLUIDO EN EL .ZIP Y TAMBIEN SE PUEDEN LEER ESTOS ARTICULOS EN INGLES DE DONDE HAN SIDO TRADUCIDOS EN V.O.-INGLES.DOC