From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Z++ (pronounced zed plus plus) is an object-oriented extension to the Z specification language.

Z++ allows for the definition of classes, and the relation of classes through inheritance, association, or aggregation. The primary construct of Z++ is a class. A Z++ class consists of a number of clauses which are optional.

Z++ class structure[edit]

CLASS ClassName
  [OWNS List_of_attributes]
  [FUNCTIONS constant_definitions]
  [TYPE type_declaration]
  [ENTENDS list_of_super_classes]
  [OPERATIONS list_of_state_change_operations_definitions]
  [RETURNS list_of_query_operations_definitions]
  [ACTIONS all_operations_declarations]
  [INVARIANT predicates]
  [HISTORY RTL_predicates]

See also[edit]


  • Lano, K.C., Z++, an Object-Oriented Extension to Z. Z User Workshop, Oxford 1990, Springer, Workshops in Computing, 1991, pp. 151–172.
  • Lano, K.C., Formal Object-Oriented Development. Springer-Verlag, London, 1995.
  • AAOB - Thesis 2009.