Abstract: The document describes the requirement specification for the Java-Fortgeschrittenenpraktikum in the summer term 2002. It is available also as postscript or pdf. The requirement specification is being updated und refined during the semester according the the project's progress and the decisions taken.
Besides (and prior to) type-checking, the checker detects also various situations, when the programs is considered to be ill-formed. The checker guarantees, that
SFC ::= istep : step
steps : step list
transs : transition list
actions : action list
declist : declaration list
step ::= name : string
actions : stepaction list
stepaction ::= qualifier : action_qualifier
a_name : string
action ::= a_name : string
sap : stmt list (* simple assignment program *)
stmt ::= skip
| assign
assign ::= var : variable
val : expr
variable ::= name : string
isinput : boolean
isoutput : boolean
type : type
action_qualifier ::= Nqual (* may be extended *)
transition ::= source : step list
guard : expr
target : step list
declaration ::= var : variable
type : type
val : constval
expr ::= b_expr
| u_expr
| constval
| variable
b_expr ::= left_expr : expr
right_expr : expr
op : operand
type : type
u_expr ::= sub_expr : expr
op : operand
type : type
operand ::= PLUS | MINUS | TIMES | DIV (* operand as *)
| AND | OR | NEG (* const. in expr *)
| LESS | GREATER | LEQ | GEQ | EQ | NEQ
constval ::= ...| -2 | -1 | 0 | 1 | ... | true | false
type ::= inttype
| booltype
The SFC's consist of nodes, called steps, to which actions are associated, and transitions between steps, decorated with boolean guards. Always, one ore more of the steps are active and the actions associate with this active steps are executed within one cycle. The transition from s1 to both s2 and s3 (with double horizontal line) is a parallel branching: if this transition is taken, s1 is deactivated and both s2 and s3 get activated. Since this is one transition, and each transition has exactly one guard, the guard is labeled on the upper part of the transition.
This document was translated from LATEX by HEVEA.