<construct> :== <name> '(' <argument+> ')' <argument+> ::= <argument> | <argument> ',' <argument+> <argument> ::= <identifier> | <role> | <time> | <properties> <properties> ::= '[' <attribute-value*> ']' <attribute-value*> ::= <attribute-value> | <attribute-value> ',' <attribute-value*> <attribute-value> ::= <attribute> ':' <value> <value> ::= <string> | <number> | <time> <role> ::= token <identifier> ::= token <attribute> ::= token