Examen2-2005-2

Anuncio
Desarrollo Formal de programas
Examen 2
19 de noviembre de 2005
Por favor tengan en cuenta que el examen es estrictamente individual. No se permite ninguna
consulta o comentario con otras personas. Puede consultar textos y notas de clase.
1.
Problema: Especificación de Máquinas
Se trata de modelar mediante máquinas un sistema de votación. Para votar, antes de las elecciones,
cada persona se inscribe en una cierta mesa de votación. En el momento de votar, cada persona lo
debe hacer en la mesa de votación en la que estaba inscrita. Hay jurados de votación que se preasignan a las mesas. Hay siempre más de un jurado por mesa. Los jurados no votan en las mesas
en las que estaban inscritos, sino en la mesa de la cual son jurados. Esta es la única excepción a la
regla que exige votar en la mesa en la que se está inscrito.
Pregunta 1:
Modele mediante una máquina este sistema. Su modelo debe ubicarse en
el nivel de abstracción adecuado. Especifique claramente qué significa cada
elemento (conjuntos, constantes, variables) y por qué es necesario en el modelo. Su invariante debe expresar todas las condiciones del sistema. En el
invariante NO deben aparecer cuantificadores. La máquina debe tener operaciones para inscribirse, para votar y para consultar si todos los inscritos
en una mesa han votado. No hay una operación para ser jurado.
2.
Problema: refinamiento de máquinas
Considere la siguiente máquina y su refinamiento
1
REFINEMENT MisteR
REFINES Misterio VARIABLES trap
INVARIANT
trap ⊆ escobas
INITIALIZATION
ANY t WHERE
t ⊆ ESCOBA ∧ 1 ≤ card(t) ≤ 5
OPERATIONS
agregar(ee) = ANY cc WHERE
cc ∈ trap
THEN trap := (trap − {cc}) ∪ {ee}
END
mm ← barrer = ANY ee WHERE
card(trap) > 1 ∧ ee ∈ trap
THEN
mm, trap := ee, trap − {ee}
END
MACHINE Misterio
SETS ESCOBA
VARIABLES escobas
INVARIANT
escobas ⊆ ESCOBA ∧ escobas 6= ∅
INITIALIZATION
escoba :∈ P1 (ESCOBA)
OPERATIONS
agregar(ee) = PRE ee ∈ ESCOBA
THEN escobas := escobas ∪ {ee}
END
mm ← barrer = ANY ee WHERE
card(escobas) > 1 ∧ ee ∈ escobas
THEN
mm, escobas := ee, escobas − {ee}
END
pregunta:
Es M isteR un refinamiento válido de M isterio?. Debe explicar claramente. Resouestas
sin explicación no tienen valor. Entre más clara, rigurosa y formal la explicación, más
valor tendrá.
2
Descargar