(12132) 10 Constraint Blocks and 10.3.2.1 ConstraintBlock: parameters never clearly defined

SysML1.0, 10 Constraint Blocks:

'A constraint block is defined by a keyword of «constraint» applied to a block definition. The properties of this block define the parameters of the constraint.'

The above does not make clear that parameters are properties that can be typed by a ValueType (yet are not value properties), and it does not exclude nested contraints, which are properties typed by a <<ConstraintBlock>> (although other sentences elsewhere in the specification do make that clearer). Also, it is not clear whether a constraint parameter can be typed by a block (although there are no examples of such in the figures).

Rewrite to specify what constraint parameters are:

'A constraint block is defined by a keyword of «constraint» applied to a block definition. The properties of this block typed by a ValueType, Unit, or DataType define the parameters of the constraint.'

SysML1.0, 10.3.2.1 ConstraintBlock:

'.. A constraint block typically defines one or more constraint parameters, which are bound to properties of other blocks in a surrounding context where the constraint is used.'

Rewrite to explain what constraint parameters are:

'.. A constraint block typically defines one or more constraint parameters, which are bound to properties of other blocks in a surrounding context where the constraint is used. Constraint parameters are properties of a Constraint Block that are typed by either a ValueType, a Unit, or a DataType.'

(NB: the resolutions suggested here depends on the unit, value, dimension metamodel being changed to admit the application of Unit as a type.)

This matter could be greatly simplified by including a ConstraintParameter stereotype as a point of documentation and specification.