init
noname
named
STAUTDEF helloWorld [ Inp, Outp :: String ] ( )
::=
STATE init, noname, named
VAR name :: String
INIT init { name := "" }
Outp ! "Hello World!"
Inp ? n
[[ strinre(n, REGEX('[A-Z][a-z]+')) ]]
{ name := n }
Outp ! "Hello " ++ name ++ "!"