A self-initializing attribute body is executed when other attribute initialization methods are not applied: explicit attribute setting and default initialization of expanded types. For INTEGER there is no need to execute it because it is known how to initialize the attribute (by setting its value to 0).