Uppaal:

Uppaal   ::= ( T_NEW | T_NEW_SYSTEM ) XTA
           | ( T_NEW_DECLARATION | T_NEW_INST ) Declarations
           | T_NEW_LOCAL_DECLProcLocalDeclList
           | T_NEW_PARAMETERSParameterList
           | ( T_NEW_INVARIANT | T_NEW_GUARD | 'probability' | T_EXPRESSION | T_CONDITION ) Expression
           | T_NEW_SELECTSelectList
           | T_NEW_SYNCSyncExpr
           | ( T_NEW_ASSIGN | T_EXPRESSION_LIST | T_UPDATE ) ExprList
           | T_PROPERTYQueryList
           | T_XTA_PROCESSProcDecl
           | T_EXPONENTIAL_RATEExpRate
           | T_MESSAGEMessExpr
           | T_INSTANCE_LINEInstanceLineExpression

no references


XTA:

XTA      ::= DeclarationsSystemXTAQueryList

referenced by:


Instantiations:

Instantiations
         ::= Instantiation*

no references


Instantiation:

Instantiation
         ::= NonTypeIdOptionalInstanceParameterList '=' NonTypeId '(' ArgList ')' ';'

referenced by:


InstanceLineExpression:

InstanceLineExpression
         ::= NonTypeId ( '(' ArgList ')' )?

referenced by:


OptionalInstanceParameterList:

OptionalInstanceParameterList
         ::= ( '(' ParameterList? ')' )?

referenced by:


System:

System   ::= SysDeclProgressGanttDecl

referenced by:


PriorityDecl:

PriorityDecl
         ::= 'chan' 'priority' ChanElement ( ( ',' | '<' ) ChanElement )* ';'

referenced by:


ChanElement:

ChanElement
         ::= NonTypeId ( '[' Expression ']' )*
           | 'default'

referenced by:


SysDecl:

SysDecl  ::= 'system' NonTypeId ( ( ',' | '<' ) NonTypeId )* ';'

referenced by:


Progress:

Progress ::= ( 'progress' '{' ( Expression ( ':' Expression )? ';' )* '}' )?

referenced by:


GanttDecl:

GanttDecl
         ::= ( 'gantt' '{' ( NonTypeIdGanttArgs ':' GanttExpr ( ',' GanttExpr )* ';' )* '}' )?

referenced by:


GanttArgs:

GanttArgs
         ::= ( '(' Id ':' Type ( ',' Id ':' Type )* ')' )?

referenced by:


GanttExpr:

GanttExpr
         ::= ( 'for' '(' Id ':' Type ( ',' Id ':' Type )* ')' )? Expression '->' Expression

referenced by:


Declarations:

Declarations
         ::= ( FunctionDecl | ExternDecl | VariableDecl | TypeDecl | ProcDecl | BeforeUpdateDecl | AfterUpdateDecl | Instantiation | PriorityDecl | DynamicDeclaration )*

referenced by:


DynamicDeclaration:

DynamicDeclaration
         ::= 'dynamic' NonTypeIdOptionalParameterList ';'

referenced by:


BeforeUpdateDecl:

BeforeUpdateDecl
         ::= 'before_update' '{' ExprList '}'

referenced by:


AfterUpdateDecl:

AfterUpdateDecl
         ::= 'after_update' '{' ExprList '}'

referenced by:


FunctionDecl:

FunctionDecl
         ::= TypeIdOptionalParameterList '{' BlockLocalDeclListStatementList '}'

referenced by:


ExternDecl:

ExternDecl
         ::= 'import' QuotedTextFwdDeclBlock

referenced by:


FwdDeclBlock:

FwdDeclBlock
         ::= ( '{' ( FwdDecl ';' )+ '}' | FwdDecl ) ';'

referenced by:


FwdDecl:

FwdDecl  ::= ( Id '=' )? TypeIdOptionalParameterList

referenced by:


OptionalParameterList:

OptionalParameterList
         ::= '(' ParameterList? ')'

referenced by:


ParameterList:

ParameterList
         ::= Parameter ( ',' Parameter )*

referenced by:


Parameter:

Parameter
         ::= Type '&'? NonTypeIdArrayDecl

referenced by:


VariableDecl:

VariableDecl
         ::= TypeDeclId ( ',' DeclId )* ';'

referenced by:


DeclId:

DeclId   ::= IdArrayDeclVarInit

referenced by:


VarInit:

VarInit  ::= ( '=' Initializer )?

referenced by:


Initializer:

Initializer
         ::= Expression
           | '{' FieldInit ( ',' FieldInit )* '}'

referenced by:


FieldInit:

FieldInit
         ::= ( Id ':' )? Initializer

referenced by:


ArrayDecl:

ArrayDecl
         ::= ( '[' ( Expression | Type ) ']' )*

referenced by:


TypeDecl:

TypeDecl ::= 'typedef' TypeTypeId ( ',' TypeId )* ';'

referenced by:


TypeId:

TypeId   ::= IdArrayDecl

referenced by:


Type:

Type     ::= TypePrefix? ( TypeId | 'struct' '{' FieldDeclList '}' | 'bool' | 'double' | 'string' | 'int' ( '[' Expression ',' Expression ']' )? | 'chan' | 'scalar' '[' Expression ']' )
           | 'hybrid'? 'clock'
           | 'void'

referenced by:


Id:

Id       ::= NonTypeId
           | TypeId

referenced by:


NonTypeId:

NonTypeId
         ::= Identifier
           | 'A'
           | 'U'
           | 'W'
           | 'R'
           | 'E'
           | 'M'
           | 'sup'
           | 'inf'
           | 'simulation'

referenced by:


FieldDeclList:

FieldDeclList
         ::= FieldDecl+

referenced by:


FieldDecl:

FieldDecl
         ::= TypeFieldDeclId ( ',' FieldDeclId )* ';'

referenced by:


FieldDeclId:

FieldDeclId
         ::= IdArrayDecl

referenced by:


TypePrefix:

TypePrefix
         ::= 'urgent' 'broadcast'?
           | 'broadcast'
           | 'const'
           | 'meta'

referenced by:


ProcDecl:

ProcDecl ::= 'process' IdOptionalParameterList '{' ProcBody '}'

referenced by:


ProcBody:

ProcBody ::= ( ProcLocalDeclListStatesBranchpoints? LocFlagsInitTransitions )?

referenced by:


ProcLocalDeclList:

ProcLocalDeclList
         ::= ( FunctionDecl | VariableDecl | TypeDecl )*

referenced by:


States:

States   ::= 'state' StateDecl ( ',' StateDecl )* ';'

referenced by:


StateDecl:

StateDecl
         ::= NonTypeId ( '{' ( ';' ExpRate | Expression ( ';' ExpRate )? ) '}' )?

referenced by:


Branchpoints:

Branchpoints
         ::= 'branchpoint' BranchpointDecl ( ',' BranchpointDecl )* ';'

referenced by:


BranchpointDecl:

BranchpointDecl
         ::= NonTypeId

referenced by:


Init:

Init     ::= 'init' NonTypeId ';'

referenced by:


Transitions:

Transitions
         ::= ( 'trans' Transition ( ',' TransitionOpt )* ';' )?

referenced by:


Transition:

Transition
         ::= NonTypeId ( '->' | '-u->' ) NonTypeId '{' SelectGuardSyncAssignProbability '}'

referenced by:


TransitionOpt:

TransitionOpt
         ::= ( '->' | '-u->' ) NonTypeId '{' SelectGuardSyncAssign '}'
           | Transition

referenced by:


Select:

Select   ::= ( 'select' SelectList ';' )?

referenced by:


SelectList:

SelectList
         ::= Id ':' Type ( ',' Id ':' Type )*

referenced by:


Guard:

Guard    ::= ( 'guard' Expression ';' )?

referenced by:


Sync:

Sync     ::= ( 'sync' SyncExpr ';' )?

referenced by:


SyncExpr:

SyncExpr ::= Expression ( '!' | '?' )

referenced by:


MessExpr:

MessExpr ::= Expression

referenced by:


Assign:

Assign   ::= ( 'assign' ExprList ';' )?

referenced by:


Probability:

Probability
         ::= ( 'probability' Expression ';' )?

referenced by:


LocFlags:

LocFlags ::= ( Commit | Urgent )*

referenced by:


Commit:

Commit   ::= 'commit' NonTypeId ( ',' NonTypeId )* ';'

referenced by:


Urgent:

Urgent   ::= 'urgent' NonTypeId ( ',' NonTypeId )* ';'

referenced by:


ExpRate:

ExpRate  ::= Expression ( ':' Expression )?

referenced by:


Block:

Block    ::= '{' BlockLocalDeclListStatementList '}'

referenced by:


BlockLocalDeclList:

BlockLocalDeclList
         ::= ( VariableDecl | TypeDecl )*

referenced by:


StatementList:

StatementList
         ::= ( Statement ';' )*

referenced by:


Statement:

Statement
         ::= ( IfConditionThenMatched* IfCondition )* MatchedStatement

referenced by:


IfCondition:

IfCondition
         ::= 'if' '(' ExprList ')'

referenced by:


IfConditionThenMatched:

IfConditionThenMatched
         ::= IfConditionMatchedStatement 'else'

referenced by:


MatchedStatement:

MatchedStatement
         ::= IfConditionThenMatched* OtherStatement

referenced by:


OtherStatement:

OtherStatement
         ::= Block
           | ( 'assert'? Expression | 'break' | 'continue' | 'return' Expression? )? ';'
           | ForStatement
           | WhileStatement
           | 'switch' '(' ExprList ')' '{' SwitchCase+ '}'

referenced by:


ForStatement:

ForStatement
         ::= 'for' '(' ( ExprList ';' ExprList ';' ExprList | Id ':' Type ) ')' Statement

referenced by:


WhileStatement:

WhileStatement
         ::= 'while' '(' ExprList ')' Statement
           | 'do' Statement 'while' '(' ExprList ')' ';'

referenced by:


SwitchCase:

SwitchCase
         ::= ( 'case' Expression | 'default' ) ':' StatementList

referenced by:


ExprList:

ExprList ::= Expression ( ',' Expression )*

referenced by:


Expression:

Expression
         ::= 'false'
           | 'true'
           | PosInteger
           | DecimalNumber
           | QuotedText
           | ( BuiltinFunction1? '(' | ( BuiltinFunction2 '(' | BuiltinFunction3 '(' Expression ',' ) Expression ',' ) Expression ')'
           | NonTypeId
           | Expression ( '(' ArgList ')' | '[' Expression ']' | '++' | '--' | ( '<' | '<=' | '==' | '!=' | '>' | '>=' | '+' | '-' | '*' | '/' | '%' | '**' | '&' | '|' | '^' | '<<' | '>>' | '&&' | '||' | '?' Expression ':' | 'imply' | 'and' | 'or' | 'xor' | '<?' | '>?' ) Expression | '.' ( 'location' | NonTypeId ) | "\'" )
           | ( '++' | '--' | '-' | '+' | '!' | 'not' | ( 'sum' | 'forall' | 'exists' ) '(' Id ':' Type ')' ) Expression
           | '-' '2147483648'
           | 'deadlock'
           | DynamicExpression
           | MITLExpression
           | Assignment

referenced by:


DynamicExpression:

DynamicExpression
         ::= ( 'spawn' NonTypeId '(' ArgList | 'exit' '(' | 'numOf' '(' NonTypeId | ( 'forall' | 'exists' ) '(' Id ':' NonTypeId ')' '(' Expression ) ')'
           | ( 'sum' | 'foreach' ) '(' Id ':' NonTypeId ')' Expression

referenced by:


Assignment:

Assignment
         ::= ExpressionAssignOpExpression

referenced by:


AssignOp:

AssignOp ::= '='
           | '+='
           | '-='
           | '/='
           | '%='
           | '*='
           | '&='
           | '|='
           | '^='
           | '<<='
           | '>>='

referenced by:


UnaryOp:

UnaryOp  ::= '-'
           | '+'
           | '!'
           | 'not'

no references


BuiltinFunction1:

BuiltinFunction1
         ::= 'abs'
           | 'fabs'
           | 'exp'
           | 'exp2'
           | 'expm1'
           | 'ln'
           | 'log'
           | 'log10'
           | 'log2'
           | 'log1p'
           | 'sqrt'
           | 'cbrt'
           | 'sin'
           | 'cos'
           | 'tan'
           | 'asin'
           | 'acos'
           | 'atan'
           | 'sinh'
           | 'cosh'
           | 'tanh'
           | 'asinh'
           | 'acosh'
           | 'atanh'
           | 'erf'
           | 'erfc'
           | 'tgamma'
           | 'lgamma'
           | 'ceil'
           | 'floor'
           | 'trunc'
           | 'round'
           | 'fint'
           | 'ilogb'
           | 'logb'
           | 'fpclassify'
           | 'isfinite'
           | 'isinf'
           | 'isnan'
           | 'isnormal'
           | 'signbit'
           | 'isunordered'
           | 'random'
           | 'random_poisson'

referenced by:


BuiltinFunction2:

BuiltinFunction2
         ::= 'fmod'
           | 'fmax'
           | 'fmin'
           | 'fdim'
           | 'pow'
           | 'hypot'
           | 'atan2'
           | 'ldexp'
           | 'nextafter'
           | 'copysign'
           | 'random_arcsine'
           | 'random_beta'
           | 'random_gamma'
           | 'random_normal'
           | 'random_weibull'

referenced by:


BuiltinFunction3:

BuiltinFunction3
         ::= 'fma'
           | 'random_tri'

referenced by:


ArgList:

ArgList  ::= Expression? ( ',' Expression )*

referenced by:


ExpQuantifier:

ExpQuantifier
         ::= 'minE'
           | 'maxE'

no references


SubjectionList:

SubjectionList
         ::= Id

referenced by:


Subjection:

Subjection
         ::= ( 'under' SubjectionList )?

referenced by:


Imitation:

Imitation
         ::= ( 'imitate' Id )?

referenced by:


QueryList:

QueryList
         ::= Query ( '\n' Query )*

referenced by:


XTAQueryList:

XTAQueryList
         ::= ( 'query' '{' Query '}' )*

referenced by:


SymbolicQuery:

SymbolicQuery
         ::= ( 'A<>' | 'E<>' | 'E[]' | Expression '-->' ) Expression
           | 'A[]' ( Expression | '(' Expression ( 'and' | '&&' ) 'A<>' Expression ')' )
           | 'A' '[' Expression ( 'U' | 'W' ) Expression ']'
           | ( 'sup' | 'inf' ) ( '{' Expression '}' )? ':' NonEmptyExpressionList

referenced by:


Features:

Features ::= ( BracketExprList '->' BracketExprList )?

referenced by:


AssignableQuery:

AssignableQuery
         ::= ControlQuery
           | LearnQuery
           | LoadQuery

referenced by:


ControlQuery:

ControlQuery
         ::= ( 'E<>' | ObservablePredicates )? 'control' ':' SymbolicQuerySubjection
           | 'control_t' '*' ( '(' Expression ( ',' Expression )? ')' )? ':' SymbolicQuery

referenced by:


ObservablePredicates:

ObservablePredicates
         ::= '{' ExpressionList '}'

referenced by:


LearnQuery:

LearnQuery
         ::= ( 'minE' | 'maxE' ) ( '(' Expression ')' )? '[' RunBound ']' FeaturesSubjectionImitation

referenced by:


LoadQuery:

LoadQuery
         ::= 'loadStrategy' Features '(' Expression ')'

referenced by:


Query:

Query    ::= ( SymbolicQuery | SMCQuery ) Subjection
           | 'saveStrategy' '(' Expression ',' Id ')'
           | ( 'strategy' Id '=' )? AssignableQuery
           | 'Pmax' Expression
           | 'sat' ':' NonTypeId

referenced by:


SMCQuery:

SMCQuery ::= 'simulate' SMCBounds '{' NonEmptyExpressionList '}' ( ':' ( NumberOfRuns ':' )? Expression )?
           | 'Pr' ( SMCBounds '(' ( ( '<>' | '[]' ) Expression ')' ( ( '>=' | '<=' ) ProbNumber | ( 'under' SubjectionList )? '>=' 'Pr' SMCBounds '(' ( '<>' | '[]' ) Expression ')' )? | Expression 'U' Expression ')' ) | Expression )
           | 'E' SMCBounds '(' ( 'max' | 'min' ) ':' Expression ')'

referenced by:


MITLExpression:

MITLExpression
         ::= '(' ( ( Expression ( 'U' | 'R' ) | '<>' | '[]' ) '[' PosInteger ',' PosInteger ']' | 'X' ) Expression ')'

referenced by:


SMCBounds:

SMCBounds
         ::= '[' RunBound ( ';' PosInteger )? ']'

referenced by:


RunBound:

RunBound ::= ( '#' | Expression )? '<=' Expression

referenced by:


BracketExprList:

BracketExprList
         ::= '{' ExpressionList '}'

referenced by:


ExpressionList:

ExpressionList
         ::= NonEmptyExpressionList?

referenced by:


NonEmptyExpressionList:

NonEmptyExpressionList
         ::= Expression ( ',' Expression )*

referenced by:


SupPrefix:

SupPrefix
         ::= 'sup' ( '{' Expression '}' )? ':'

no references


InfPrefix:

InfPrefix
         ::= 'inf' ( '{' Expression '}' )? ':'

no references



  ... generated by RR - Railroad Diagram Generator