Manual Reference Pages  - net_format (n)

NAME

net_format - textual file format for Time Petri nets

Part of Tina Toolbox for analysis of Petri nets and Time Petri nets (see also nd, tina, plan, struct, ktzio, selt).

CONTENTS

Description
Examples
See Also
Authors

DESCRIPTION

This is the textual description format of Time Petri nets.

A net is described by a series of declarations of places and/or transitions, and an optional naming declaration for the net. The net described is the superposition of these declarations. The grammar of .net declarations is the following, in which nonterminals are bracketed by < .. >, terminals are in upper case or quoted. Spaces, carriage return and tabs act as separators.

Optionally, labels may be assigned to places and transitions. This should be preferably done within "tr" and "pl" declarations rather than using separate "lb" declarations. The later form ("lb") is kept for backward compatibility and might disappear in future releases.

Grammar:

.net                    ::= (<trdesc>|<pldesc>|<lbdesc>|<prdesc>|<netdesc>)*
netdesc                 ::= ’net’ <net>
trdesc                  ::= ’tr’ <transition> {":" <label>} {<interval>} {<tinput> -> <toutput>}
pldesc                  ::= ’pl’ <place> {":" <label>} {(<marking>)} {<pinput> -> <poutput>}
lbdesc                  ::= ’lb’ [<place>|<transition>] <label>
prdesc                  ::= ’pr’ (<transition>)+ ("<"|">") (<transition>)+
interval                ::= (’[’|’]’)INT’,’INT(’[’|’]’) | (’[’|’]’)INT’,’w[’
tinput                  ::= <place>{<arc>}
toutput                 ::= <place>{<normal_arc>}
pinput                  ::= <transition>{<normal_arc>}
poutput                 ::= <transition>{arc}
arc                     ::= <normal_arc> | <test_arc> | <inhibitor_arc> |
                            <stopwatch_arc> | <stopwatch-inhibitor_arc>
normal_arc              ::= ’*’<weight>
test_arc                ::= ’?’<weight>
inhibitor_arc           ::= ’?-’<weight>
stopwatch_arc           ::= ’!’<weight>
stopwatch-inhibitor_arc ::= ’!-’<weight>
weight, marking         ::= INT{’K’|’M’}
net, place, transition, label   ::= ANAME | ’{’QNAME’}’
INT                     ::= unsigned integer
ANAME                   ::= alphanumeric name, see Notes below
QNAME                   ::= arbitrary name, see Notes below

Notes:

Two forms are admitted for net, place and transition names:
- ANAME : any non empty string of letters, digits, primes ’’’ and underscores ’_’
- ’{’QNAME’}’ : any chain between braces, and in which characters ’{’, ’}’, and ’'
        are prefixed by ’'

Empty lines and lines beginning with ’#’ are considered comments.

In any closed temporal interval [eft,lft], one must have eft <= lft.

The letter ’K’ (resp. ’M’) following a weight or marking multiplies it by 10^3 (resp. 10^6).

Weight is optional for normal arcs, but mandatory for test and inhibitor arcs

By default:
- transitions have temporal interval [0,w[
- normal arcs have weight 1
- places have marking 0
- places and transitin have the empty label "{}"

When several labels are assigned to some node, only the last assigned is kept.

EXAMPLES

(see example "net" files in the "net" directory of distributions).

SEE ALSO

tina_formats, nd, tina, plan, struct, ktzio, selt

AUTHORS

Bernard Berthomieu, LAAS/CNRS, 2000-2010, Bernard.Berthomieu@laas.fr.


Tina Formats net_format (n) Version 2.9.10
Generated by manServer 1.07 from formats/net_format.n using man macros.