Prototyping and formal specifications