BNF Symmetric Nets

For questions regarding the syntax, please contact Maximilien Colange, Fabrice Kordon, or Yann Thierry-Mieg.

The presentation of the syntax is divided in four parts:

  • The declaration attribute,
  • The transition guards attribute,
  • The arc valuation attribute,
  • The place marking attribute.

A precise (and formal) definition can be found here for Symmetric Nets :

Wikipedia also offers some useful basic definitions.

Grammar: Basic Elements

The grammar is presented as a Backus-Naur form.

First of all, let us define some elements of the grammar:

        <Integer> ::= any sequence of numeric character
<PositiveInteger> ::= any sequence of numeric character which value > 0
 <NaturalInteger> ::= any sequence of numeric character which value ≥ 0
     <Identifier>  ::= any sequence of character starting with a non numeric character
       <Interval> ::= <Integer> .. <Integer>

Keywords are presented like this; they are case insensitive.

Grammar for the Declaration Attribute

This attribute allows one to declare color types. There are several possibilities in the CosyVerif implementation of Symmetric Nets :

  • Basic types (integer ranges or enumerations),
  • cartesian product of these types.
<Declaration> ::= <ClassSection> 
                    [<DomainDeclaration>] 
                    <VariableSection>

Declaration of Color Classes (Basic Color Types)

Declaration of Color Domains (Composition of Color Classes)

Declaration of variables

Grammar for Arc Valuations

Grammar for Transition Guards

Grammar for Place Marking