Documentos de Académico
Documentos de Profesional
Documentos de Cultura
METODOS FORMALES
Las matemáticas poseen muchas propiedades útiles para quienes desarrollan grandes
sistemas. Una de las propiedades más útiles es que pueden describir de forma sucinta y
exacta una situación física, un objeto, o el resultado de una acción.
Otra de las ventajas de la utilización de las matemáticas en el proceso del software es que
proporcionan una transición suave entre las actividades de ingeniería del software. No sólo
las especificaciones funcionales, sino también los diseños del sistema, se podrán expresar
de forma matemática. El código de programa es una notación matemática, aunque sea un
tanto verbosa.
1
La propiedad fundamental de las matemáticas es que admite la abstracción, y es un
excelente medio para el modelado. Dado que es un medio exacto, hay pocas probabilidades
de ambigüedad, y las especificaciones se pueden verificar matemáticamente para descubrir
complicaciones y falta de completitud, y la vaguedad desaparece por completo. Se pueden
utilizar las matemáticas para representar niveles de abstracción en la especificación del
sistema de forma organizada.
Las matemáticas constituyen una herramienta ideal para el modelado. Hacen posible
exhibir el esquema fundamental de la especificación, y ayudan al analista y al
especificador del sistema a verificar una especificación a efectos de funcionalidad sin
problemas tales como el tiempo de respuesta, las directrices de diseño, las directrices de
implementación, y las restricciones del proyecto que siempre estorban. También ayuda al
diseñador, porque la especificación de diseño del sistema muestra las propiedades del
modelo, y ofrece tan sólo los detalles suficientes para hacer posible llevar a cabo la tarea
que tengamos entre manos.
Ejemplo 2: Un gestor de bloques: Una de las partes más importantes de los sistemas
operativos es el subsistema que mantiene archivos que hayan sido creados por usuarios.
Una parte del subsitema de archivado es el gestor de bloques. Los archivos del almacén de
archivos están formados por bloques de espacio que se almacenan en algún dispositivo de
almacenamiento de archivos.
Durante el funcionamiento de la computadora, los archivos van siendo creados y borrados,
lo cual requiere la adquisición y liberación de bloques de espacio. Para abordar este
problema, el subsistema de archivo mantendrá una reserva de bloques libres y seguirá
también la pista de aquellos bloques que se están utilizando en ese momento. Cuando se
liberen bloques procedentes de un archivo borrado lo normal será añadirlos a una cola de
bloques que están a la espera de ser añadidos al conjunto de bloques que no se utilizan.
2
Ejemplo 3: Un concentrador de impresión: en los sistemas operativos multitarea, existe
un cierto número de tareas que hacen solicitudes para imprimir archivos. Con frecuencia,
no se dispone de un número suficiente de dispositivos de impresión para satisfacer
simultáneamente todas las solicitudes de impresión en curso. Toda solicitud de impresión
que no se pueda satisfacer de forma inmediata se ubicará en una cola a la espera de su
impresión. La parte del sistema operativo que abarca la administración de estas colas se
conoce con el nombre de concentrador de impresión.
El estado del concentrador consta de cuatro componentes:
- las colas de archivos que esperan para ser impresos, en donde cada cola está asociada a
un dispositivo de salida en concreto;
- la colección de dispositivos de salida controlados por el concentrador,
- la relación entre dispositivos de salida y el tamaño de archivo máximo que puede
imprimir cada uno de ellos;
- la relación entre los archivos que esperan para ser impresos y su tamaño en líneas.
En cada uno de los ejemplos indicados es esta sección, se han presentado los conceptos
claves de la especificación. Se ha esto hecho sin hacer hincapie en las matemáticas
necesarias para hacer formal la especificación.
Para aplicar de una forma eficiente los métodos formales, el ingeniero del software debe
tener un conocimiento razonable de la noción matemática asociada a conjuntos,
sucesiones, y a la notación lógica que se emplea en el cálculo de predicado.
Ejemplo: n: N/ n < 3 * n
Posee tres componentes:
- una signatura n: N: que especifica el intervalo de valores que se considerará cuando
se forme el conjunto
- predicado: n <3: una expresión boolena que define la forma en que se debe contruir el
conjunto
- término: n: ofrece la forma general del elemento del conjunto.
Є pertenece
⊂
⊆
∪ unión
∩ intersección
3
Producto cartesiano
Los tres operadores más comunes son el operador de la unión ∪, el operador intersección
∩ y el operador diferencia de conjuntos \.
Otro componente importante de los métodos formales es la lógica: se trata del álgebra de
expresiones verdaderas y falsas.
24.2.4. SUCESIONES
Sucesión: es una estructura matemática que modela el hecho consistente en que sus
elementos están ordenados. Una sucesión es un conjunto de parejas cuyos elementos
oscilan entre 1 y el mayor elemento posible.
Por ejemplo: (1, Jones), (2, Wilson), (3, Shapiro), (4, Estevez)
Los objetos que forman los primeros elementos de las parejas se conocen en su conjunto
con el nombre de DOMINIO de una sucesión y la colocación de segundos elementos se
conoce con el nombre de INTERVALO de la sucesión.
Concatenación: es un operador binario que forma una sucesión que se construye añadiendo
el segundo operando al final de su primer operando.
4
sección 24.2. aunque la sintaxis suele ser simbólica, también se pueden utilizar iconos
( símbolos gráficos, tales como cuadros, flechas círculos) si no son ambigüos.
Resumén de la notación z:
X
Declaraciones
Predicados
Є pertenece
⊂
⊆
∪ unión
∩ intersección
5
24.6. LOS DIEZ MANDAMIENTOS DE LOS METODOS FORMALES