The "general representation" in 4.3.5 ServiceSpecification shows all the nodes to be optional:
*****
name: String ?
description: String ?
tags: String[] ?
id: String ?
href: URI ?
characteristics: CharacteristicSpecification[] ?
*****
However, 4.3.6.3 characteristics, says it is required