Z++

Z++ (pronounced zed, or zee in American pronunciation, 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

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]
END CLASS

See also

References