Description ::= ThingDescription | ClassicDescription | HostDescription | IncoherentDescription ThingDescription ::= Thing | (and) ClassicDescription ::= ClassicThing | ClassicConcept | (andClassicDescription+) | (oneOf ClassicIndividual+) | (atLeast PositiveInteger Role) | (atMost NonNegativeInteger Role) | (fills Role ClassicIndividual+) (fills Role HostIndividual+) | (all Role Description) | (testC ClassicTestGenerate Parameter*) HostDescription ::= HostThing | Number | Integer | Float | String | HostConcept | (and HostDescription+) | (oneOf HostIndividual+) | (minimum Number) | (maximum Number) | (testH HostTestGenerate Parameter*) IncoherentDescription ::= (one-of) Role ::= Symbol ClassicConcept ::= Symbol HostConcept ::= Symbol Rule ::= Symbol ClassicIndividual ::= Symbol HostIndividual ::= "string" | int | float ClassicTestDetail ::= Symbol HostTestDetail ::= Symbol Number ::= int | real Parameter ::= NeoObject