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.