5.9 Service declaration
(24) service ::= service-kind identifier "(" service-parameters
")" opt-properties ";"
(25) service-kind ::= "function"
| "activity"
(34) service-parameters ::= [ { service-parameter "," } service-parameter ]
(35) service-parameter ::= parameter-dir type-spec declarator
opt-initializer
(26) opt-properties ::= [ "{" properties "}" ]
(27) properties ::= { property }
(28) property ::= component-property
| interface-property
| task-property
| service-property
| codel-property
| throw-property
(29) service-property ::= ( "task" identifier | "interrupts"
identifier-list | "before" identifier-list |
"after" identifier-list | "validate" codel )
";"
(30) codel-property ::= opt-async "codel" ( codel ";" | fsm-codel ";" )
(43) opt-async ::= [ "async" ]