!"# $ !" !" !" % &' ( !" ) * & ' ! " ! # $ ! !# % $ & '()* ! $ # + " , "! , $ ! # " " -! , . ! ! /012 , '(*# ! ! " " # " !$ " / 01 3 2# " , /!$, ,2 # 4 ! ! -$"! "# ! !$, # 5!$ , " ! !# !6 " "! 01 ## 4 ! "! 01 3 &# 7 " ! " ! , # & $ " # $ & # "! 01 # 8 9 5# : " -! "! # $ 5# ; !$, # 5# < & , # " , " , # = "! " " !$ / 2 !$ / !2# "! > ! $ $ # $ ! / 01 " " ! 012 # !$ $ " !$ "! ! !" ! "! " !$# " /532 8 " 4 , !" "! "# 53 " "! " " "# 53 ! 01# . !$, " 01, "! ! # 01 !$ # "! 01 $# 01 " " ! ! / 2 /2 01 ## " ! 01# 01 " , "! " " '(*# " " ?# (# " !$ " ! !" / 2 / # 2 & # !" " ! / 2 " / 2# ! !" /# 5# ;#;2# & " !$ ?# (# Abstract Syntax Active a String In Concrete Syntax String Start SN s beg end Trans TL f Final State String Helv.,12pt String String Helv.,12pt !" $ " !" & "# ?# ( ## !" ! "! # !" / !2 "! # 8 / "! ?# (2# " ! $ ! "! " # ?# : " !$ " ,& @ !# !9 " "! "4 # "4 # / 2 " /9 9 9 9 9 2# A 01 " 01 01 " # .! ! ! , /1+5 2 , / +5 2 " / " !$ 2# % ! " $ "! /B2 " " $ " # A ," # 5,3 /53C2 '((* TN 1:Trans Syntax SN SN Start SN 2:Trans TN Abstract TN 3:Trans TN 3:State SN 2:State 1:State 4:State TN 4:Trans SN 5:State Final 5:Trans d Concrete Buffer r Hungry Consumer Busy Producer Syntax c p o Idle Producer Satisfied Consumer ) + ,- & ,& =",3 /=3C2 'D* ½ # / 2 / 2 " !$ 6 1+5 " !$ # = " "# 8 "> "! /# 'E*2# Insert_State (sn: String) NAC x:State x’:SN sn L x:State x’:SN sn R ::= sn sn .&' & ?# ; !$ # ! "! " ! # , ! ## ½ ( .+/ & 0+/ ! # ! , !" # B " # " " 01 01, # 01 01 " & ! F # ?# <# 0-1 Syntax Grammar Alphabet Parse Grammar Parse Specification Simulation Grammar 0-1 VL-Specification * 1 2 !" ! !$ 01 " ! $ !$ 01# % ! , " ! , !$, # . ! " ! ¾ ! " , " ! # , !$, " 01, , # " "# $ 01 /& 5 ':*2 " !$ # ! " $, "! ! ! 8 # $ # 5 !$ !$ "! # !$ # 6 " # .! " ! # !$ ¾ 1 & !" !" # # ?# G F & !# ?# G !$ $ H ! ?# ;# " " & ! "! !"# B !" # B " " # Insert_Transition (tn: String) L sn’ y’:SN beg z:Trans endz’:TL sn’ y:State x:State x’:SN sn ::= y’:SN y:State R sn x’:SN sn sn’ sn’ Mark_Start () L x:State x:State tl x’:SN sn y:Start x:State x’:SN sn tn sn R ::= sn sn Mark_Final () NAC sn y:Final x’:SN x:State sn L x:State x’:SN sn y:Final x’:SN R x:State ::= sn sn sn .&' . 6 # $ ># ! " / ! 2 # ! , # ! 8 # .! " / ! 2 " # !8 # ! ! / " !2 " &# $ / ?# D2 ! # ! " & $! # " !$ / ! B 2# ! Remove_Transition () L beg z:Trans endz’:TN sn’ y’:SN y:State x:State tn sn’ tn sn ::= sn’ sn y:State x:State sn’ x’:SN x’:SN sn R sn sn Unmark_Final () L y:Final y’:SN x’:SN x:State x’:SN sn R ::= x:State sn sn Remove_State () L x:State x’:SN Stop R sn y:Start x:State x’:SN sn ::= sn sn + "! !"# ! !" " !" !"# > "! 6 # 8 " /?# (2 !" # , # & # !" " " # 5 $ " # ?# I # ! # !" # " !"# !" # " " $ # $ " # A " ! $! "# Init (in: String) L y:Start x:State x’:SN a:Active i:In in x:State x’:SN sn R sn ::= y:Start sn sn Trigger_Transition () L i:In in a:Active beg z:Trans sn’ y’:SN x:State y:State sn’ tl sn’ ::= z’:TL y’:SN beg sn attr. cond.: in.startsWith(tn) x’:SN a’:Active z:Trans end x:State tl tl sn tl y:State sn’ z’:TL end x’:SN R i’:In in.substring(tn.length()) sn sn . 01 " 01 /## , 2# " 01 ! /& ## 3 5 2# / 2 # + 8 "! 01 ## 5 # ! " ! ,$ , " ! # ! " ! ,$ " ! # " " ! ! # 5 ! ! !# ?# J 2 @ ?# :# # ? &# 3 8 "& &¿# ?# J "2 ! "4 # a) d Buffer Hungry Consumer Busy Producer p b) r c o Idle Producer Satisfied Consumer ) ) ! . + ,- .& & , 8 ! " 01 01 /01 4 !2 01 # ! ! # B ! , 8 " 01 " $ "! , !# !# "! " "! ! 1+5 +5 # Simulation Rule Instance d BP B deliver d BP B View Transformation Animation Rule deliver ! . ) ! ¿ % ) 3 ?# E / 2 ! "! # ?# E !# " " # & & 'I*# ! '(* /012 !$, # % " $ 4 "# B ! !$, ! " ! " # " " ! ! 8 " 01 # , / 2# > & ! 3 'G*# % " ';I* 4 ! 3 /## ! 3@ " +,1 2 " 01 # ? 4 ! " '<*# 'J(:* " 4 01 ! " / , 2 $ # 01 /" 2 # ! " 01 ! " 4 & # ! "! A , /=?A2 > 331A 3+ /53 , A2 A 3+ /B3 =1 2 > > K=?A, ? L# %! & !, " # 4 5 ! 0 6 7888 +0 & 0 - . 4999 7 5 - : ! . + . ! ( . (& . ;<= 7884 ! "#$% > 5 - : * : ? 0 .&' ) ! @ ??:0 5 A 7884,49 (..A 4B>C994; 7884 B 5 - : " 5 ) @ ) ) . @ ( D + E / 7888 ; E 6 : 6 *F D + @ GH ) ? ) + A ( *D 6 7887 C * : 5 * @ 6 F @ " " 5 ) 1 ) - ) ) ? ((% . + ) - 0 + ) ( ? 5E $& ' ( ) * +##+, -./ 0 1 2 /1 3 4 $, 2 B 7B=<>47 1 . 499= = - : 5 * : . ( ) ! + A ( 1 I4>J =;<97 K - : 5 D + ! 0 . ) : ? ( - 0 1 5 6 !57-."#$%4 *73 &&4 7 &4 +##$ 9 + ? +0 & + ? & $ & 499C 48 / 6 @ @ ? 0 : + $ * : .&'0 : ( * : ? E 8 9 3 .."+### 2 : -./ *. 0 1 >7<>9 @ 7;7= 7888 44 @ " @ 6 F ) 1 ) ) $ ) ? ( @ . @ +L @ : 4B 4K;<499 D 1& M . " 499> 47 D + - : 5 5 ! @ : ( BC=<B=; ? .E 7888 - . - 4> * 1 * : 1 5 ? & . 7884 5 ? + A & $ ? (.. .) , 0 1 +; - 3 4 4 !-3"+###% + - 3 3 ' 6 7
© Copyright 2026 Paperzz