Object-Z is an extension of the Z notation, which is a formal specification language used for describing and modeling computing systems. Z notation itself is based on set theory and first-order logic and is widely used for specifying software and system requirements in a mathematically rigorous way. Object-Z adds an object-oriented aspect to Z notation, allowing for the modeling of software systems in terms of objects and classes. This incorporates concepts such as encapsulation, inheritance, and polymorphism into the specification.
New to topics? Read the docs here!