The MHP 1.1.3 specification defines a new state - "INVALID".
The specification is quite mean in the description of the state usage.
It says only application shall enter this state once the app is not signalled on currently selected service.
The specification does not say if the application can be transitioned out of the "INVALID" to any other state. Shall it stay in that state infinitely?
The "INVALID" state seems to be simply redundant, as any running application may be destroyed in case of new AIT section appearance (zapping to other channel, or simply new AIT version being received) - achieving the same behaviour.
Any suggestions are welcomed,
As far as I remember, this was added because DESTROYED status is not enough to tell 'this is not in the DB anymore and you can't do anything with this.'
"DESTROYED" is not the same. If it is "DESTROYED" but signalled in the currently selected service anyhow - I mean, that AppProxy has never been INVALID-, you may restart the application with the same AppProxy instance.
This is necessary because AppProxy can be another instance or the same instance depending on implementations, and someone need to know in convenient way whether he can restart the application with the same instance or not.
I agree partly to you that it is a mean paragraph. But one may be able to blame that DESTROYED is a mean paragraph. ;)
(I mean, if either of two paragraph is clear, then it should not confuse.)