ekkart kindler a framework for the definition of variants of high-level petri nets ekkart kindler...
TRANSCRIPT
![Page 1: Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649f565503460f94c799fc/html5/thumbnails/1.jpg)
Ekkart Kindler
A framework for the definition ofvariants of high-level Petri nets
Ekkart KindlerDTU Informatics, Technical University of Denmark
Laure PetrucciLIPN, Université Paris 13
Towards a …
![Page 2: Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649f565503460f94c799fc/html5/thumbnails/2.jpg)
Ekkart Kindler
2A framework for the definition of variants of high-level Petri nets
Situation
Many different versions of high-level nets
Conceptually, many differences in the data types only
Technically, the differences are more scattered
Definitions structurally different Difficult to compare different versions Difficult to define (and understand) new versions
![Page 3: Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649f565503460f94c799fc/html5/thumbnails/3.jpg)
Ekkart Kindler
3A framework for the definition of variants of high-level Petri nets
Quest
Generic definition of high-level netsthat allows for the definition of variants
![Page 4: Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649f565503460f94c799fc/html5/thumbnails/4.jpg)
Ekkart Kindler
4A framework for the definition of variants of high-level Petri nets
Minimal distance algorithm: set of agents A connected by network N AA distinguished root agents R A
Example of a high-level net
DAWN approach(mid 90ties)
![Page 5: Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649f565503460f94c799fc/html5/thumbnails/5.jpg)
Ekkart Kindler
5A framework for the definition of variants of high-level Petri nets
Example: Net Scheme
[ x ]
[ x ]
[ (x,0) ]
[ (x,d) ]
M(x,d+1)
[ (x,d) ]
M(x,1) [ (x,d) ] [ (x,n) ]
M(x,d+1)
[ (x,d) ]
d<n
R
I
rootagents:AGENT
inneragents:AGENT
distances:AGENT x nat
x: AGENTd: natn: nat
messages:AGENT x nat
![Page 6: Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649f565503460f94c799fc/html5/thumbnails/6.jpg)
Ekkart Kindler
6A framework for the definition of variants of high-level Petri nets
Algebra IN = { 0, 1, 2, 3, ... } A A IN
addition on IN tupling M(a,n) = [ (b,n), (c,n) ]
MS(A)
Example: Algebra
Signature nat AGENT AGENTxnat
. + . ( . , . ) M
(ms,AGENT)
b
ca
![Page 7: Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649f565503460f94c799fc/html5/thumbnails/7.jpg)
Ekkart Kindler
7A framework for the definition of variants of high-level Petri nets
Example
[x]
[x]
[ (x,0) ]
[ (x,d) ]
M(x,d+1)
[ (x,d) ]
M(x,1) [ (x,d) ] [ (x,n) ]
M(x,d+1)
[ (x,d) ]
d<n
R
I
rootagents:AGENT
inneragents:AGENT
distances:AGENT x nat
x: AGENTd: natn: nat
“standard sorts”
“custom sorts”
messages:AGENT x nat
“standard
constructs on
arbitrary sorts”
“standard
operations”
“custom operators”
![Page 8: Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649f565503460f94c799fc/html5/thumbnails/8.jpg)
Ekkart Kindler
8A framework for the definition of variants of high-level Petri nets
Algebra IN = { 0, 1, 2, 3, ... } A A IN
addition on IN tupling M(a,n) = [ (b,n), (c,n) ]
MS(A)
Example
Signature nat AGENT AGENTxnat
. + . ( . , . ) M
(ms,AGENT)
“standard
interpretation”
“custom
interpretation”
“standard
interpretation”
“custom
interpretation”
“standard
interpretation”
![Page 9: Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649f565503460f94c799fc/html5/thumbnails/9.jpg)
Ekkart Kindler
9A framework for the definition of variants of high-level Petri nets
Algebraic net scheme
= ( N, SIG, sort, vars, l, c, i) a net scheme: N = (P,T,F) a net SIG = (S,OP) a signature sort: P S vars: T VSIG
l: F TSIG(VSIG ) such that for all aF with a = (p,t) or a = (t,p): l(a) T(ms, sort(p))(vars(t))
c: T TSIG(VSIG ) such that for all tT: c(t) T(bool)(vars(t))
i: P TSIG() such that for all pP: i(p) T(ms, sort(p))()
All sets of possible
variable sets for
SIG.
A term of the
multiset sort over
the places sort.
A term of sort bool
(condition).
A ground term of
the multiset sort
over the places
sort.
Compare: Jensen & Kristensen, Def. 4.2, p. 87
![Page 10: Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649f565503460f94c799fc/html5/thumbnails/10.jpg)
Ekkart Kindler
10A framework for the definition of variants of high-level Petri nets
Algebraic net
A net scheme = ( N, SIG, sort, vars, l, c, i)
together with a SIG-Algebra A is a algebraic net.
+ some restrictions on A
![Page 11: Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649f565503460f94c799fc/html5/thumbnails/11.jpg)
Ekkart Kindler
11A framework for the definition of variants of high-level Petri nets
Questions (1)
Which “standard sorts”, “standard constructs” on sorts, “and “standard operations” are there?
What do they mean?
What are the possible legal interpretations for the “custom sorts” and “custom operators” (if they are possible at all)?
Answer these questions, and you have defined a new version of high-level nets
In particular, which
multiset constructs
may be used in the
arc labels?
![Page 12: Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649f565503460f94c799fc/html5/thumbnails/12.jpg)
Ekkart Kindler
12A framework for the definition of variants of high-level Petri nets
Question (2)
Technically, all standard sorts, operations and their interpretations need to be explicitly included into every algebraic net!
Effort without any benefit!
Even worse: we must make sure that this is done in the right way (bool are the Booleans, nat are the naturals, ms are multisets, ...)
Effort without any benefit!
Can’t we avoid that?
![Page 13: Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649f565503460f94c799fc/html5/thumbnails/13.jpg)
Ekkart Kindler
13A framework for the definition of variants of high-level Petri nets
Idea: Generators
Give a signature and algebrafor the custom parts only!
”Generate” all the standard stuffon top of this
Generator A generator defines all the standard
sorts and operations, along with their
interpretation.
This generator defines what the standard
constructs are.
![Page 14: Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649f565503460f94c799fc/html5/thumbnails/14.jpg)
Ekkart Kindler
14A framework for the definition of variants of high-level Petri nets
Generator
A generator is a pair of mapping (GS,GA): GS maps a signature to a signature such that
GS(SIG) SIG
GA maps an algebra to an algebra such thatfor every SIG-algebra AGA(A ) is a GS(SIG)-algebra with GA(A ) A
![Page 15: Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649f565503460f94c799fc/html5/thumbnails/15.jpg)
Ekkart Kindler
15A framework for the definition of variants of high-level Petri nets
Generator: Examples
TRUE adds the booleans but only with the constant true (no other operators).
BOOL adds the booleans with their standard operators
DOT adds the sort dot which represents the set { ● }
PROD adds all products over all existing sorts(non recursively)
MULT adds all multisets over all existing sorts(non recursively)
![Page 16: Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649f565503460f94c799fc/html5/thumbnails/16.jpg)
Ekkart Kindler
16A framework for the definition of variants of high-level Petri nets
Generator constructions
Union of generators e.g. BOOL DOT
Sequential application ○ e.g. PROD ○ (BOOL DOT)
Recursive application * e.g. PROD* ○ (BOOL DOT)
![Page 17: Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649f565503460f94c799fc/html5/thumbnails/17.jpg)
Ekkart Kindler
17A framework for the definition of variants of high-level Petri nets
Combining generators
GBT = (PROD)* ○ BOOL
GMT = MULT
GBT = (MULT PROD)* ○ BOOL
GMT = ID
GBT = DOT TRUE
GMT = MULT
Reisig’s Algebraic
Nets 1991
Algebraic nets with
flexible arc weights
1996/1998
P/T-net restriction of
algebraic nets
![Page 18: Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649f565503460f94c799fc/html5/thumbnails/18.jpg)
Ekkart Kindler
18A framework for the definition of variants of high-level Petri nets
Net scheme of kind (GBT,GMT)
= ( N, SIG, sort, vars, l, c, i) a net scheme: N = (P,T,F) a net SIG a signature sort: P SGBT(SIG)
vars: T VGBT(SIG)
l: F TGMT(GBT(SIG))(VGBT(SIG) ) such that for all aF with a = (p,t) or a = (t,p): l(a) T(ms, sort(p))(vars(t))
c: T TGMT(GBT(SIG))(VGBT(SIG) ) such that for all tT c(t) T(bool)(vars(t))
i: P TGMT(GBT(SIG))() such that for all pP i(p) T(ms, sort(p))()
Signature with
basic sorts and
operations
Signature with
additional sorts
and operators (in
part. multisets)
![Page 19: Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649f565503460f94c799fc/html5/thumbnails/19.jpg)
Ekkart Kindler
19A framework for the definition of variants of high-level Petri nets
Net scheme of kind (GBT,GMT)
= ( N, SIG, sort, vars, l, c, i) a net scheme: N = (P,T,F) a net SIG a signature sort: P SGBT(SIG)
vars: T VGBT(SIG)
l: F TGMT(GBT(SIG))(VGBT(SIG) ) such that for all aF with a = (p,t) or a = (t,p): l(a) T(ms, sort(p))(vars(t))
c: T TGMT(GBT(SIG))(VGBT(SIG) ) such that for all tT c(t) T(bool)(vars(t))
i: P TGMT(GBT(SIG))() such that for all pP i(p) T(ms, sort(p))()
Signature with
basic sorts and
operations
Signature with
additional sorts
and operators (in
part. multisets)
![Page 20: Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649f565503460f94c799fc/html5/thumbnails/20.jpg)
Ekkart Kindler
20A framework for the definition of variants of high-level Petri nets
Questions (1)
Which “standard sorts”, “standard constructs” on sorts, “and “standard operations” are there?
What do they mean?
What are the possible legal interpretations for the “custom sorts” and “custom operators” (if they are possible at all)?
![Page 21: Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649f565503460f94c799fc/html5/thumbnails/21.jpg)
Ekkart Kindler
21A framework for the definition of variants of high-level Petri nets
Construct: Examples
Linearly ordered set:
LO = (LOSIG, { (bool) }, {o, lt} , Ao) withLOSIG = ( { o, (bool) }, { lt: o o (bool) } ) and for every algebra A in Ao we have
A(o) is a finite set and A(lt) is linear order over A(o)
Equality:
EQ = (EQSIG, { (bool) }, { } , Ae) withEQSIG = ( { e, (bool) }, { eq: o o (bool) } ) and for every algebra A in Ae we have
A(eq) is a equality on A(e)
fixed disjoint
fixed disjoint
![Page 22: Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649f565503460f94c799fc/html5/thumbnails/22.jpg)
Ekkart Kindler
22A framework for the definition of variants of high-level Petri nets
Construct
A construct CON = (SIG, F, D, A) is a signature SIG, two subset of F and D symbols of SIG, and a class of SIG-algebras A.
F symbols with a fixed interpretation (via some generator, e.g. (bool), (ms, s), …)
D disjoint symbols (may not overlap with other constructs)
A legal interpretations
![Page 23: Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649f565503460f94c799fc/html5/thumbnails/23.jpg)
Ekkart Kindler
23A framework for the definition of variants of high-level Petri nets
Construct mapping
In a legal algebra A with respect to a set of constructs C, all parts must be constructed from constructs C only.
Definition is a bit technical; we
do not go into details here!
![Page 24: Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649f565503460f94c799fc/html5/thumbnails/24.jpg)
Ekkart Kindler
24A framework for the definition of variants of high-level Petri nets
Algebraic net
An algebraic net scheme
= ( N, SIG, sort, vars, l, c, i) of kind (GBT, GMT)
together with a SIG-algebra A that is constructed from constructs C only is an
algebraic net of kind K = (GBT,GMT,C).
![Page 25: Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649f565503460f94c799fc/html5/thumbnails/25.jpg)
Ekkart Kindler
25A framework for the definition of variants of high-level Petri nets
Kinds of nets
GBT = (PROD)* ○ BOOL
GMT = MULT
GBT = (MULT PROD)* ○ BOOL
GMT = ID
GBT = DOT TRUE
GMT = MULT
Symmetric nets (well-
formed nets) 1991
Algebraic nets with
flexible arc weights
1996/1998
P/T-net restriction of
algebraic nets
C = { LO, EQ, UO, CS, PAR }
C = { }
CGBT
Reisig’s Algebraic
Nets 1991
CGBT
![Page 26: Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure](https://reader036.vdocuments.us/reader036/viewer/2022081603/56649f565503460f94c799fc/html5/thumbnails/26.jpg)
Ekkart Kindler
26A framework for the definition of variants of high-level Petri nets
Conclusion
Details of the mathematics “behind the scenes”: see paper
With the predefined generators and constructors and constructs, it is easy to define new kinds of high-level Petri nets
without changing the definition of high-level Petri nets
How to define Coloured
Petri Nets?