Section 4.1.2 describes the use of the required attribute in a way that can be misinterpreted. Indeed it is almost contradictory.
The feelings of the editors at the SBMLEditors meeting at HARMONY 2013 was that this needed to be changed. The required attribute should apply to the presence of the package in relation to the core model and should be applied on a per package basis; it is not intended to be reflective of the actual model and constructs used in a particular instance. If the package constructs could change the mathematical interpretation of the core model then the required attribute should be true. If none of the constructs within the package affect the mathematical interpretation of the core model the required attribute should be false. Thus each package should declare what the appropriate value of the required attribute is for that package.
In particular the following sentences need to be addressed:
The value of the required attribute indicates whether understanding the package is required for complete mathematical interpretation of a model,
... needs to clarify that the complete mathematical interpretation refers to the core model
If a package is declared optional, it means the time-course dynamics of the model can be correctly inferred even if the elements and attributes added by that particular SBML package are ignored.
... needs to not mention time-course dynamics as other anaylysis may well be encoded in a core model