Research Article

Formal Specification Based Automatic Test Generation for Embedded Network Systems

Pseudocode 6

BNF for class declaration.
class-file-declaration::= class-declaration
  (import-declaration∣ extern-declaration)?
class-declaration::= “Class” name (parameter-declaration)?
  (constant-declaration ∣ data-declaration ∣ variable-declaration
  ∣ channel-declaration ∣ timer-declaration)+
  (function-declaration ∣ invariant-declaration)+
extern-declaration::= “Extern”
  (“Const” const-name (“,” const-name)* “;”
  ∣ “Data” type-name (“,” type-name)* “;”
  ∣ “Var” variable-name (“,” variable-name)* “;”
  ∣ “Timer” timer-name (“,” timer-name)* “;”
  ∣ “Channel” channel-name (“,” channel-name)* “;”)+
parameter-declaration:: = “(” parameter-name “:” type-name (“,” parameter-name (“:” type-name)* “)”
constant-declaration::= “Const” (const-name expr “;”)+