The Z notation: a reference manual
The Z notation: a reference manual
Using Z: specification, refinement, and proof
Using Z: specification, refinement, and proof
The way of Z: practical programming with formal methods
The way of Z: practical programming with formal methods
Learning exercises for the rest of the brain
Journal of Computing Sciences in Colleges
Software Abstractions: Logic, Language, and Analysis
Software Abstractions: Logic, Language, and Analysis
On explaining modeling principles with modeling examples: a classification catalog
Proceedings of the 8th edition of the Educators' Symposium
Hi-index | 0.00 |
Z is a well-defined and well-known specification language. Unfortunately, it takes significant expertise to use existing tools (such as theorem provers) to automatically check properties of Z specifications. Because Alloy is substantially similar to Z and the Alloy Analyzer offers a relatively simple method of model checking, we believe that Alloy should be largely employed in classes that teach Z. To this end, we present an online tutorial especially designed to help students transition from Z to Alloy. The tutorial includes both the classic Birthday Book example and a large real-world scenario based on a Kitchen Environment. Our experiences with novices studying the tutorial suggest that the tutorial helps students learn both Z and Alloy. In addition, novices can answer questions correctly about the approximately 500-line Kitchen Environment model after only a few hours of study.