package Model_Viewer.Counter is type Counter_Type is new Model_Type with private; function Value (Counter : in Counter_Type) return Integer; procedure Reset (Counter : in out Counter_Type); procedure Increment (Counter : in out Counter_Type); procedure Decrement (Counter : in out Counter_Type); private type Counter_Type is new Model_Type with record My_Value : Integer := 0; end record; end Model_Viewer.Counter;