Formal methods; formal specification; mathematical notation; schema calculus generic constructions; rigorous software development; semi-formal specification; cleanroom software engineering; test generation from specification; formal method tools; case studies