Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler...

26
Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler DTU Informatics, Technical University of Denmark Laure Petrucci LIPN, Université Paris 13 Towards a …

Transcript of Ekkart Kindler A framework for the definition of variants of high-level Petri nets Ekkart Kindler...

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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?