El área de los Métodos Formales Orientados a Objetos (MFOO en
adelante) se ocupa de la descripción de software de manera
precisa y rigurosa. Tal objetivo obliga a la utilización de lenguajes
de especificación de software de naturaleza matemática.
Es interesante destacar, que en los últimos años se ha evidenciado
un acercamiento entre dos comunidades de ingeniería de software
aparentemente muy distintas: la “comunidad de los métodos
formales” y la “comunidad de los métodos convencionales”.
Syntropy [CoD94] y Catalysis [SoW98] representan dos buenos
ejemplos de este acercamiento. Históricamente, los métodos
formales centraron sus objetivos en la calidad, descuidando, en
gran medida, el entorno en el que debían aplicarse. La falta de
educación general y el déficit de herramientas los convirtieron en
recursos bastante ideales y difíciles de manejar. Si embargo, esta
crítica no recae sólo en el debe de los métodos formales. La
sistematización progresiva de la producción de software necesita
de notaciones expresivas y, evidentemente, formales. No hay
automatización sin formalización. El camino, sin duda, es largo y
las fertilizaciones cruzadas entre ambas comunidades, serán
necesarias.
La organización del presente documento es la siguiente: en la
sección 2 se establecen la definición de método formal orientado a
objetos, para ello, se definen los conceptos formal y orientación a
objetos. A continuación, se establece una organización del
conocimiento en el área MFOO mediante una descomposición en
temas. La descomposición distingue conceptos básicos y
fundamentales, conocimientos sobre formalismos matemáticos y métodos formales orientados a objetos. La sección 4 establece una
justificación razonada de la descomposición. La sección 5 permite
al lector identificar rápidamente las referencias de interés para un
determinado tema. Finalmente, se establece una selección de las
referencias recomendadas