!
"
#$ % & ' ' ( $ % ) * + ,, +-. '
$ / 0 % 1 ' 2 3 !4 5 !4 #+ .#, 6.7 1 ' 2 '
#
/ & ! 8 9 / 7 ) -#.,, ' 8 $
& : ; %< =>% 4 4 4 > 4 4 > /
Abstract –
!
0 0 ? @)( ?0@
? $ / A/ / B ' %
/ A / %
/ ' / $ % C $
% ' $ % $ @ % /
$ 4 A / 4 ' 44 $
/ Service oriented Architectures D !E ?/ % $
4 4 %
/ 4 < B % !
/ %% ' ' '
' ' Service Oriented Industrial Automation $
/ / / @ !)& 4 < D
/ 4:**AAA E ?/ / F /
4 % ! 4 4 % /
% / $ / 0& - #
% ' ' D E &
/ $ % 0& - +GG D '
4 / %
E / A C 44 $ /
< $ F 4 H I
0 /
/ 4 $ 4 0 % 4 ' /
% C $ / ' ' / 4
4 J / / A % A J /
' 4 F B $ $ H I /
/ ' B $ 4 4 C
' ' '' ' /
4 $ % / $ K F @ 4
/ $ 44 /
% L / ' / 4 % / 0&
- # 0& - +GG / ' F ?/
/ '' / % Petri nets 4
A / $4 ! / ' / 4 ' '
' ' % / 0& - # 9 A 4
' % $ / B % 4
A/ / A A / ' ' 4 C
% A $ H#I / / / '
/ % / % ! /
' % / 4 %
% % A 44 % B '
1 / %% A %
' % / ' 4
?/ % / A B / 4 % %
B ' 4 % / 4 %
% B %
) / 4 C / $ F
' ' 4 / / %
A % / F / A
B A % ?/ % / 4 4 / % A ':
% / / % 44 %
?/ 4 / '$ % 44
4 # / 4 %
' + ! 44 %
/ 4 / '$ / A .
$ / 4 4 / % A B
00 &? 0 &? 0 & M0 &@ 0& ?&)0 )( ? 0!
!(?@ !?0@ : 1! N8 @( ) ! ))0 ( 0@
/ A 44 $ /
' $ 4 / $
4 $ $ 4 $ '
4 / ! $
' % / 44 % /
/ '/ D ' E 0
$ / % '
/ F / / ' % 4 C D" E
< % $ $ C 4
4 4 / '/ $ 4 ' '
A/ / A C4 ' ' 4
/ % / 44 4
% A D" E / $ 4 $
% 4 ?/ % '/ % A
4 @4
$ / % / $
4 ?/ A A 4
?/ < 44 % ! orchestration choreography
/ / % / F
A/ / " B / "
% %
/ ' 4/$ % / F % 4
/ / /
4 4 ' H.I ?/ 4 '
A / / 4 / 4 / Web
Services Business Process Execution Language D" 1 & E
H-I 4 ' 4 A % / '$ '' '
4 % $ % / '/ "
J B $ 4
% < % A 4 H7I
/ '/ /
/ ' 4/$ % ' 4 * 4 H+I
$ 4 4 H7I ' H6I
?/ 44 % 1 & $
/ $
A % $ C O B 4 ' ' DO E
4 $ A / "
4 ' A $ % / / /
1 & 4 % $ ' '
F % / 4
4 ?/ % B A
$ ' / / - # ' '
/ / B A A
4 / F % / % / 0&
- # @ / 4 / / 44 % 1 &
4 $ 4 C 4 4 $
D $4 $ E
/ % 4
4 * % A 4 1 &
4 " / % / '$
4 / %% 4 "
! 1 & ' $
44 / % / 4 /
! $ 9 A %% /
% / 44 % 1 & /
% A / D HGI H ,IE
?/ B % 4 $
/ A B / $ / ' % C
% A A / 4 $ $ %% % A 4 % /
%% $ % $ ?/ % / '/ ' %
$ 4 $ / 4 ' 4
F 4 0 /
% B 4
4 % / $ P 4
% % / $ / ?/ %
4 % ' % 4/$ $ / / /
/ $ 4 % $
' / 4 /
/ A / C 4 ?/ / $
%% / F / ' 4 ' 4/
/ 4 / ' %
4 ' ' 4/ / A / A
% 4 / $ 1 / / /
$ % C $ 4 / '/
/ % /
' $ $ / ' % C $
/ $ $ % !
' % % / F
"
# $%
●& : 4 A % ' / F
●' : % 4 F 4 4
●" : $ $
●( : % % * C 4 $
● : % A 4 0? 4
●) : 44 % ' D ' E
●" : % C $ % ' 4 4 ' / % $ '
"
●* A /
' $
4
●+ $
%
,
●" ●'
●
-Open methodology
.!
/
' ' ! $ &C %
0 !
?/ % 4 / % $ %
4 ' $ D E C
D E ' % / % $ 44 / /
4 / 4 %
4 $ / 4 % / F
% A 44 / $
! % D% % A /
E 4 $ % / A B 4
% A B D C E
000 @ & &?9@)@ @8Q @ ! 0&) &? 0 &?
C % / % /
/ $ H I ?/ % % / '/
/ $ C
/ / % % %
B % / '/ C / A
/ A H I $
'$ % / '/
A / % / A B A
4 / %
/ F < !
44 / A 4 % % / '$
/ % % / '
4 F ' 4/ A / / 4 D 4 B ' E
/ A % $ % % % ?/
/ A / / 4 4 4
/ 44
/ ' ' 4 / /
% A ' / / % A / /
4 % ?/ % / /
A B / formal definition of Petri nets C
% / A B % ? D G6GE H #I ?/ 4 B ' %
$ % $ %
4 4 % % / $
/ ?/ 4 $ $
4 E A / % %
/ 4 / % % % /
4 ? 4 /
% $ ' / 4 A / %
/ 4 ' / A / $ D H +I
C 4 E
%
$ ?
%
4 $ $
? B '
D 4 E
Petri nets rules and structures
( 4
B '
information about Petri nets analysis conflict structures and reporting information of Petri nets elements token game routines
and events about Petri net behavior
“timed” rules &C %
F
' !44 / % / 4 / '$ % 44
! % / B % / A B / B
' 4 A/ / C4 / C
0 ' C % F '
4 $ / B ' 4 / % 44
' / / / '$ !
C 4 ' . / %
% 44
0M ! ?& !?& @ ?@N& 8! &
?/ ' % / 4 4 %
token gamesD R ' S / E /
% C 4 /
% 0
$ / D 4 E 4 % / /
4 / 4 % % /
F $ 4 % ' ' / P
?/ 4 % % $
% B ' $ % %
4 % $ ' ' % /
B ' / % /
4
?/ / % $ ' / % A '
% ? 0 4 : ?/ Petri nets
transition state machine % t∈T DA/ T
4 % % % E %
$ . 4 TSMt=
(
ΣΦ Γσ,)
A/{
σ σ σ -}
=
Σ % - Φ:Σ→
{
φ φ φ-}
% % ' % / =
{
ω ω ωn}
%% % 4 * 4 $ Γ:Σ× →Σ %
' A A $ / 4 * 4
Σ ∈
,
σ % / Dσ, =σ = E Note:
/ / % edges
% A / / % /
?/ / / %
4 ' / %% % % '
/ / ' A $ %
C % 4 1 / enabled
firing % ' / % % '
sleeping jump4 A 4
% C ' % / C '
% D % AE 0 summa / %
% ' / - %% %
/ ?/ % $ A
: 0 4 $ $ ' / evolve function /
?/ % $ / % /
4 ' / /
? 0 D 4 / A/ B' A EL
&C4 $ $ E / '* ' % /
' 4 4 ' % / /
E $ ' / wake up function
% D / /
sleeping % 'E ?/ B B
B' A ? 0
?!1 & 0
?!?& ?!1 & @ ! &? 0 &? ? ! 0?0@
/ / % ' DφE / % / % ' ' % DωfE
B A / * true false
. γ ω0γ1 2 !
σ % φ ωh ωu ωf σ
J J J D E
D E &
J J . D E
J J & D E
ωheT ( ωui . D+E
ωheT ( ωui & D#E
ωheT 0 J J D E
ωheT J J D +E
D E .
ωheT J J D ,E
J J . D+E
ωhfT ( ωuo . D E
ωhfT ( ωuo & D E
ωhfT 0 J J D#E
ωhfT J J D .E
D#E &%
ωhfT J J D E
J J & D#E
ωhfT ( ωuo . D E
ωhfT ( ωuo & D E
ωhfT 0 J J D+E
ωhfT J J D -E
D+ E . %
ωhfT J J D E
J J J D.E
D.E & 3
J J . D-E
J J & D.E
J ωui . D+E
D- E . 3
J ωui & D#E
J J . D6E
J ωuo . D E
D7 E &% 3
J ωuo & D E
J J & D7E
J ωuo . D E
D6 E . % 3
J ωuo & D E
. γ ω0γ1 2 !
σ % φ ωh ωe ωx σ
J J . D ,E
J J D E
J J . D E
ωhxT " J J D E
DGE & "
ωhxT 0 J J DGE
J J J D ,E
J J & DGE
J J D E
D ,E . "
J J & D E
J J J D E
J J . D E
J J D#E
D E &% "
J J . D+E
J J J D E
J J & D E
J J D+E
D E . % "
J J & D#E
J J . D +E
J J D.E
J J . D-E
ωhxT " J J D E
D #E & 3 "
ωhxT 0 J J D #E
J J J D +E
J J & D #E
J J D-E
D +E . 3 "
J J & D.E
J J J D .E
J J . D -E
J J D7E
D .E &% 3 "
J J . D6E
J J J D -E
J J & D .E
J J D6E
D -E . % 3 "
J J & D7E
?/ 4 % % TSMt / B /
?/ % ' % σ∈Σ % $
(
φE φF φJ φS)
φσ = ?/ ' % % ' A/ :
J Enabled DφEE: / $
4 ' / B ' % / L
J FiringDφFE: / % ' 4 ! 4
/ / % ' % '
4 ' / ' ' /
% ' 4 L
J JumpDφJE: / / % D AE
J SleepingDφSE: / A ' % C '
F $ B
! 4 * 4 $ ω∈ / / $4 % %
/ $ * C F A $
{
ωh ωu ωf}
ω= ?/ % / C 4 * 4
Handler functions ωh∈
{
ωhe ωhf ωhx}
D' / 44 E % / C D
/ % E ?/ /
% % / C 4 / / 0 4
/ A % ' %
/ / % ' / % B
% / A %% $ / % ' 4
D ' $ ' E:
J Enabled functionDωheE: A/
/ 4 ' / % ' 4 D
' B E 0 $ ;U S I J= D% '
4 E ' update D % /
/ %% $ / % ' 4 $ '
F $ % / 4 % E sleepD4 /
4 ' A ' % / wake up
functionE ignore D / ' / ' /
% / E jump D /
' S C / enabled function EL
J Firing functionDωhfE: A/ % '
/ 4 ' / 4 D C4
B E ?/ / enabled
function % ' / % ' 4 L
J Exception function DωhxE: C 4 A/
' 4 ' D G # %
? 0E ' WDwake upE / 4 ' D
< 4 % E 'IDignoreE /
/ '
Update functions ωu∈
{
ωui ωuo}
D $ ' 4 E4 % ' / ' /
% % ' / $ %% $
C4 B ?/ update inputωui 4 / 4 % ' B / update outputωuo
4 % 4 ' / 4 % D C4 '
B E / flag testing functionωfD $ 4 E / % $ % ' DφE φF φJ φSE % / $ %
?/ 4 % 4 4 / %
B ' % %% ' / % $ %
/ A/ % 4
4 / 4 D ' A/ /
$ / % ' C
% E ' / C
M ( 0 8 ?9&?@N& 8! &?& !?& 0 0 )( ? 0!
& M0 && M0 @ & ? : 9! ) @ &O & 0& &
?/ 4 / '$ / B ' 4
% 44 /
' * 4 / 4 $ /
44 ?/ % A/ % '
44 / 4 / '$ D 4 $
B ' E 4 :
J / $ /
/ '$L
J ) % / handler functions % / B ' /
% / wake up functionL
J 4 % % 4 4 /
/ % / / % / L
J ) / A % ' 4 L
J ) % / % $ % / A/ /
% / ! 4 B
/ % $ ' A/ ' *% /
/ B ' B
0 / '
44 / A/
% / / ! $ / $
% A/
' ' / A
/ /
/ / A A/ /
4 / ' % A B % A A
/ @ / / '/ / % / %
/ / 4 / ' $ *
/ % ?/ C
C 4 % B '
/ 44
A. A Petri Nets Controller for Service Applications
?/ % A ' 44 $ %
/ % / ' $
C % A 44 *
0 % F
/ 4 % 4 / /
% % A B% A D
/ E ?/ 4 4 % / $ 4
% 4 4 4 C %
$
$
B' % % /
44 / / A B
4 4 % $
D / / 4 E
D ' 4 4 E
A /
4 % service interface % % /
% / % 4 / 4
% $ 4 D% E
F D% E B % 4 %
% % $ 4
D F / E 4 %
4 & / 4 % 4 $4 ! 4 $4
% 4 /
' C / ' 4
' # 4 / 4 % Petri nets controllerD $E
?/ / B
Service Infrastructure/ / $ % 4
4 L Device Interface 4 /
/ ' D % / 44 E $ %
' ' 0*@ ' L Graphical User Interface
D8(0E % 4
/ LDecision Support SystemD) E
% % C 4 / '
% / / H .I
)
0 %
%
$ 4 $ $
%
8(0 0 %
) 44 $
D) E
modeled Petri net user commands
status/analysis/ monitoring information
status device commands
provide decision
report conflicts/ exceptions
Hosting software/hardware
?
D? / E
tT
tT
tTm request services provide services service lookup receive service
calls info. about services
? B ' D 4 E ?
ΠDtE T ;label service.in_op service.out_op device.in_sig device.out_sig=
ω
heDtE %t % / 4 )
%service.in_opDtE
device.in_sigDtE
ω
hfDtE service.out_opDtE
device.out_sigDtE
ω
hxDtE 4 )
D% $ / / 'E
' # ) 4 * $ ' / 4 / '$
1 / % * $ 4
4 $ / R< S % / /
$ 4 /
' % 4 4
% / B %
4 $ $ A / / $
4 / / R A S ?
/ 4 4 '
service.in_op service.out_op device.in_sig device.out_sig
?/ 4 4 4
4 4 % 4 '
A ' % D E ' D E /
/ 4 4 % ' D E
' A D E ?/ 4 4
$ / ' $ ' / 4 '
/ / 0 % / )
0 % ?/ handler functions % / B ' 4
% / 4 / 4 4 ?/ enabled
functionωhe % % / % % /
4 / % / )
A 0% % 4 ωhe
/ service.in_op device.in_sig @ $ % / D
' ' % /
E / / % ' D 4 '
' DUE4 $ / %
DSE 4*DJE 4 % $ / / 'E 0% % /
4 4 % / $ D
/ ' E / firing function ωhf
/ service.out_op device.out_sig ' ' A ' ' D % % E ?/ exception
function ωhx $ / A
D ' % % E /
/ ) ?/ wake up function
$ / / ' % / ' /
% / / / B ' F $
/ % ' 4 % & /
/ A / % / B '
4 TSMDtE 0 A/ / % /
F 4 D ' #E 4
A
% C 4 / 8(0 % / /
/ $ '* % B /
8(0 D% 4 4 E
B. Application in Industrial Scenarios and Software Implementations
?/ C4 / A
4 A/ / $
4 ' $ A B
?/ 4 % A B 4
D4 / 4 4 ' / $ $ E
A/ / 4 / 4 / A B
A $ C
/ A/ 4 '
/ 4 / % / $ P 4
' + ) % / D E F 4
D E 4 D E % /
! % A 4 < ' 4 / $
' / % A 4 % /
?/ Continuum Project $
4 B ' ' Continuum Petri Nets Kernel J
4 % / / '$ C4 / 4 4
Continuum Petri Nets Module J / $ '
4 $ / 4 /
$ 44 / 4 < Continuum
Development Studio J % B
' / 4 %
Continuum Bot Framework J / % 4 '
% A 4 /
% C4 A A / R S
/ A / $ )& 0! !
' ' / ' % 4 % /
$ D ' +E ! % /
C4 DRIP SOCRADES Demonstration of Service Oriented Architecture integrating Real and Virtual Devices in the Electronic Assembly ScenarioSE
/ 4:**AAA $ *A /U T, F& 0
A 4 $ C % /
/ ?/ % / / '/
4 % % D4 E A/ / A/ /
A / A 4
"/ C ' /
' ' % / B ' /
' / % ' % % / C
4 % C $ A/
/ 4 C4 % $
/ / 4 ' * 4 $ A/ / A 4 % '
$ % ' % / $ / 4
$ B % / $ $ 4
/ % A 4 % C $ / $ /
$ 4 / '/ % C $ / F $ % %%
4 4 / ?/ B '
' / $ C / / $
C4 ' % / 44 ' /
% A ?/ 4 4 D / % E %
' B ' $ / % 4 %
/ A ' A / %
@ C 4 / % A / 4
/ F A/ /
4 4
M0 @ ( 0@ ! ) (?( &"@ N
?/ / 4 A B A % /
' 4 % 44
4 $ / '$
% / 4 % % A ?/
/ '/ '/ 4 '
44 / % % '
/ % 4 % B ' A/ /
% % / % @ /
/ 4 / '$
< % / A B / 4 4 L / $ 4
4 4 $ $ % % '
/ %% % A 4 ' '
/ % C ' ' % $ ?/
/ '$ / B ' 4 4 /
4 % % 44
' / % % ?/ 4
A $ / 4 % 4
% 44 $ /
% 4 4 < % / ' ' % /
$ ?/ A / ' $
C % 4 % /
% $ 4 % $
?/ C4 A / / % /
$ ' 4 4 ' /
< 4 % / % A B / %
&%% ' ' ' /
D / / ) 4 E
/ B A %
' ?/ B 4 /
% / ' / 4
4 A / / % /
4 @ / ' / % /
% /
' %% /
4 < /
C 4 $ / % A B %
4 / 4 /
! N @" &)8 & ?
?/ / A B / B / & 4
/ 4 % / &( 0 ? - 4 < R @
$ % % ) &
S D @ !)& E / &( - R A B % &C
% 0 / $ S
D0V @ E / & 4 0 ? 7 4 < R 4 '
@ < A B % &C S D @ &?E % / 44
& & & &
H I N 9 9 ! W R / ' 0 $ ! 4
% / 0& - +GG & 1 B S
' % / ./ 0&&& 0 % 0
0 % 44 6 # 6 6 ,,7
H I 8 / ! 8 ( $ Q N R % '
% ' $ / & ' ? / ' S
International Jornal of Manufacturing Technology and Management
44 # #, ,,,
H#I W < 1 $ W A N R! $
@ AS 0 Fundam. Inf. 7 44 , ,
,,-H+I 9 1 1 / R! % A
4 S ' % / +/ ! )
% 44 G ,, ,,#
H.I " ! / "# " B ' 8 4 D
/ 4:**AAA A# '*? *A /*E ,,+
H-I " 1 &C ' ' @! 0
D / 4:** 4 '*A 4 * ,*@ *A 4 ,
@ / E ,,7
H7I ! ! 8 / N B R! $ '
4 $ % 1 & S ' % / 0
% 0 " !44 *!
0 % ? 44 +7
,,-H6I 9 ' 8 3 Q R ' % "
' $ ' S ' % / /
0 ' % 44 6
,,-HGI 9 0 ) R@ / %
% ' 4 S ' % / ,/
0&&& % & ' ' ? / ' $ !
44 6 ,,.
H ,I ! R! 44 % 1 & %
/ S ' % /
0&&& 0 % & ' ' ? / ' $
! 44 .#, .#7 ,,6
H I & 1 / 8 8 R ! ' S 0 :Automata,
Languages and Programming, Lecture Notes in Computer Science
#.6, 44 7+ 7.+ ,,.
H I N R S
) 4 % 4 ( $ % ! / ) B
D / 4:**AAA B*XB< E ,,,
H #I ? R : 4 $ 44 S 0 :
Proceedings of the IEEE 77 44 .+ .6, G6G
H +I 8/ ) R! ' A $
4 S ' % / ./ A B / 4
% A 4 Y ' 44 -, -7 ! A Q B
Q ( ! G6G
H .I ! " R
/ % Y' 4 $
' % / -/ 0&&& 0 % 0