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 :
- “Petri Nets for Systems Engineering: A Guide to Modeling, Verification, and Applications”, C. Girault and R. Valk (editors), Springer Verlag, 2003,
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>