Formal Specification of Structural and Behavioral Aspects of Design Patterns

download Formal Specification of Structural and Behavioral Aspects of Design Patterns

of 28

Transcript of Formal Specification of Structural and Behavioral Aspects of Design Patterns

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    1/28

    !

    !"# "$% !&!& "!"% ' "% (!( &

    ()*"(#+ "% &,-! !%) %# . # / 0121 )( ..320/#%,%

    455'6#'#")521#78925-#0121#.#/#7

    "#$

    %&'$(

    !"!"!"!"

    ,,,,

    #+:+'*#'#;%+',#%+(&!%)")"+'

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    2/28

    211*+&,(+

    "%&,-!!%)E%#.#/0121

    *

    () "( (!% (&"

    (($(# " ( "!"") (% ('"' ",%$# ! '()"( , 6(% (' ' (' $ '%$ &&"(

    "() $%'(," B%(&" "'!' $ &"$#()

    "( " (%% $'%' ' '!$' "% %))( ' (%

    %))( (! ( &' :'%) ))# : ( )"%>"(

    %)) &" (!&) !("!) (%A) ' '!$) "&!( &

    (&">((($(# +"'( !%%! &(%( !"

    '&&"(!(&(($'"'%$#

    "!% ( !%' ')"$$! !! ' !">,(' (#

    )"!% ! , ,&!% $ (# "( ! , (' &"

    !)!$%6!!('$'%((!(,-!>"''()#(

    %:"")'!$$!) (&" '()(#!' !%

    %)"(%")$&&"$$"B!%(")6#"'

    (%%(,)('"('("$%%("%"'")')"$(

    ") 6 ,!( ')"$( " $" !!" ' 6

    "&"$%"&"$%%))(#")"!%(!"((%))

    ,'"'!,('!$$!%'&&"%(#

    +((!("!("'',('"':'6():

    6( $!($( " ) (%A '() "( ("%

    %!('!$((#$'%%$((!(!%((("('

    ",(!'()"(%%%!""%("$&(',

    " $(# %! & '() " $ !) $( & (

    !%((("(' ",( "$( %!'$#(

    "%&"$&"(%(#+(,(!$'%%$("!("#:'("!">"%'&"$

    " ( %' (&"(($ " ("% "(" !$,'#

    " "("%",%$('()"(" $%! (&"(($

    '()(4&"((&"'%"(!%!$$!!%((%%('

    &"%%(!'">"%'&"$(($

    '()(# !' ! " &'!$( ($ ( &" &"%(

    !","'(($'()(#"'$"B"!('",%&&"(

    ""(>)")'()"(&"$(&"(($'()(

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    3/28

    101 "#$%&'$(

    "%&,-!!%)E%#.#/0121

    ($$($(%') '"(')'%)"(#!&"$%

    (!&! & '() " !$( %!# "$% (!&! & '()

    "(($"%!6()6%")"!%'(!"(,

    "" !$%$ $ ! %%>'&' ($!( %% ")"(

    "(),$'&!%%(")

    $$"(!&!

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    4/28

    210*+&,(+

    "%&,-!!%)E%#.#/0121

    -.,

    : 6( $!($( , (' 6' 6"(( " &

    : $'% ' ""( ,-!>"' &"$" ""(,-!>"'&"$"(#"('&'(&

    ))' %( ! ! % ""( ,-!>"' &"$" $"$)&%%,:#"(&%')!$%:"&%(

    &"%'&'("('))'%(#H)""' (($(# ) )

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    5/28

    103 "#$%&'$(

    "%&,-!!%)E%#.#/0121

    ')"$$'%( ' (($J( "$#" ($!( ( '&&" &"$

    :!')"$ ($!("'" %)! ' &!(( % (!&)

    ("!"%(!(&'()"(#(",'>"?(@

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    6/28

    21F*+&,(+

    "%&,-!!%)E%#.#/0121

    /$.,

    ""($(%("',",%#

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    7/28

    105 "#$%&'$(

    "%&,-!!%)E%#.#/0121

    "(%("'(($'()&"$C:&%#($%"(%(!,%

    &)")!'&"$'()"("'!$$A"&"

    '%"#

    0*"(

    H () *"( " (%% $'%' ' '!$' "%

    %))('(%%))(#!"$'%%%6!"%%))'

    (% %)) ( &"$ ("# H "("! " $'% )%(

    %))("%%))':%((')"$((%%))#

    "!% ( " (' $% &" "" ' !%" '(!" & ("%

    '() "(# )"!% ( % (%A (($ '()#

    "!% ( (! ( : %(( ')"$( B! ')"$( !# "

    )"%%('#*%%(6%!& :!%((')"$('

    ""( &"$% # H %% ""( ("!"% (!( % !%((($'(",(&"$%(%%(,"%"%

    "%(( ((! '!"'%$) "!) !%(((#

    ($%"+(,'%'!(!,%& $%$)"('

    $!($ ' ("'()" (($# +( %(,%

    )" !' &"$("''() "#! "(,% !,

    !'#1"#$(

    )"$$""&&%$!($&*("'',%#)"$$" ("&' ,? @

    !( "!"(>'(!"&%"("'"(%")""%

    ",% %65!! ' %( '& %)) )"$$"( "

    ?455#%"#")5@ (6 ?! ( ' ?6''

    !(>""$@%@"(!%?,("!6"@(6#

    $%$( *>?@"()(")' &&"'( ",""%'&"

    '($,))$,)(#

    !$%"("(%6"'"("#-,&%6"(B&

    ("$ & !"!"( '(!" )"( !%%' (# %6" (%%

    )"("""(")(B!(&!"!"(!$!(!&!

    '&',&("%(#))("'(!",',)"$$"'

    )"$$" '"$( 6!% '&( "!%" '

    (B!(&("'!"'(%'#"("")A(("!(

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    8/28

    21/*+&,(+

    "%&,-!!%)E%#.#/0121

    %%'(B!('&',)"$$"&%))#+&%))

    ( ,) (' 6!% ( ( '&' )"$$" "(" %% , ,%

    "!)A"($!"("!"(')"()"#+&

    "(" !"( (B! & ( $! & %%'

    (B!(&(%%(("""'"(""!"&"$""",$)&(($(,"""(#

    ""('*(!&!&%6"(%%( "("

    ! ( "&' , %# !"!" ( & "('

    )"$$"!%'((L>I>A1>.M%)($(!%!"!"(L

    M# "$%( ' (") %"%( " !% ' ,%'

    "$%(($%%#

    *)"$$" & *"(" ' 6" (" &%$' (

    *#)'"4NN*N'"!"#

    *"("' 6" " & )"$$"" ( ,% 2' ,% 0

    "(!%#

    ,%24*(!&!&*"("

    !%((**"("6'(*"("D

    (LO0DM

    %'*"4("!","D

    ("!"4%'%((D

    %'%((4!%((!%?(!@P?%':'@PD

    !%((!%4!%(($"!%??Q!%((QRQ"&!Q@@PD

    "!% 4 !" "$ ?"+(!@P ##$ "% ?"%&&

    "$

    ?"+(!@P##$"%@S'($!"D

    "+(!4!")(!'($!")D

    (!4?(!"%%(!$?"!%@P@TD

    %':'4?$'$"$"!%?"!%@P?"%%""@P@TD

    "$"!%4*?"$""$"$?"%&&"$"

    "$"$@S@P'($*D

    ," 4 ??''!@P@ OU ?''!@P R??"!@P@ OU ?"!@P R

    ??$%$@P@OU

    ?$%$@PR?((!@PD

    ''!4!%(($!%(($D

    "!4!%(($!%(($D

    ((!4!%(($"%(!%(($D

    "%(4Q%+%+&,QRQ&,+%+%QRQ&,+%+&,QD

    $%$4!%(($"&!$D

    (!4#'(D

    ""4#'(D

    (!$4#'(D

    "&!$4#'(D

    ",4#'(D

    !%(($4#'(D

    $'$4#'(D

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    9/28

    107 "#$%&'$(

    "%&,-!!%)E%#.#/0121

    $'%4#'(D

    "%4#'(D

    "$"4#'(D

    "$"$4#'(D

    "$4#'(D

    (!4'(D

    ,%04*(!&!&6"

    !%((*6"6'(6"D

    (LO0DM

    H4?JJRJNJRJN&JR?QN"NQRJN"JRJNJ@L%?@DM@

    LV(?#;+*@DMD

    +4?@TD

    4JLJD

    +4JMJD

    *4J?JD

    +*4J@JD

    ;4JJRJ1J##J.J@SD

    "!'

    ++4?J1J##J.J@D

    "((%')"$$""&'(%#H

    '%''%"#-""(0#G#G&"$ '''(

    -"*",%#(-"!%'(%%"B"'&%("& &

    )"$$""(!&!%))!$%((!!((&%%#"&

    )"$$" ' )" *"(" ' 6" 6!' &%%)!$$'&"$!$$'"$4

    4NN*U-%"#%*#)

    '"(%((,%4*"("""E"(0#G#G?011/1.1/@2.9.>0117

    (""")"((()&()"$$""('((!!((&%%

    !$%''((&',%#(6(%%(($!(&

    "(')"$$""'"!!"')(!&!#(

    !$$' )"( / &%( ,!)"'# " *6"#-

    *6"#($ **"("#- **"("#($

    **"("(#- ' **"("(#6# ( "

    "(',%')($%"!')('"'(('

    -%"#%*#)

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    10/28

    219*+&,(+

    "%&,-!!%)E%#.#/0121

    !$$')"6"'*"("&%(%#

    **"("(#- ' **"("(#6 &%( !

    &"$&"$%(' (") %"%(# "6$%!&

    **"("(#6((,%8#

    ,%84&**"("(#6&%

    55V0#G#G?011/1.1/@4*#)>U**"("(#6V

    **"("55!,$

    OF

    +W!%((OQ!%((QO7

    +W"&!OQ"&!QO/

    OG

    O9

    ::O.

    +O21

    ;O22

    +;O20

    *O28

    +*O2F

    Q>>:QO27

    Q:>>QO2/

    Q:>>:QO2G

    +O29

    +O2.

    HO01

    :+O02

    ++O00

    **"("#- ' *6"#- &%( ! %% $'( &" %6!%

    %A) ' "() 6 ("$ "(!%# " 6$%

    **"("#- !( $' "+(!?@ &" "()

    "+(! "% &"$ !$) (# ! & $' (( ,% F# $%"% &" ! ' " "'! "% " 6((

    !""(')-$'**"("#-&%#

    ,%F4"+(!$'&**"("#-,%!&%'"+(!?@"(!)6!"$6!L

    "L55&""""'%)

    $!?;@D

    (!?@D

    $!?+;@D

    M

    !!?!)6!6@L

    &?#)(()OO1@L

    """""?6@D

    "!"?6WWG@D M%(L

    "6D

    M

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    11/28

    109 "#$%&'$(

    "%&,-!!%)E%#.#/0121

    M

    M

    2*3

    %%"'(!(())"$$"')""("'%6"

    !! %))# % ( %%(" %))''(!",

    "%% %( ( ! )%# " " ()( %'

    (!&!&*%))#"$&((',%6"'

    "("!!(&(!&"$(6&%))'&',

    )"$$"#K( % *"("#( ($ ,%!%(((D

    *"("!%(((&$#!"("'&'"(""("!%(((

    6'&"$*"("!%((#!""(")""!%((**"("

    6'(&"$*"("!%((("(%%"B"'&"(&("

    !%((# &&"'( ","" % ' &" '($,)) $,)(#

    ((!((''!%"$!"!"("("(%'%'

    $'!(#")"$$"(,%')'!(''($,)

    ,%)%6!"!"(#((!6%!%'&(%"%(#

    "& "(""% ("(%'*"#"%(( '()

    "(%'("!"%(%%(,"%&"$#

    %'*"4("!","D

    ("!" " & "% %'( %% !((" &"$ ,

    "!)!%((("",('$'(%,""%"'(($!&"!(!"!""""((,%(#

    K('(!(('%("!"(%%(,"%($!(#

    ("!"4!%((!%?(!@P?%':'@PD

    '& ("!"& '()" " (%', %( %' !%((

    '!%"#"$"$,(!",%("$'('!%"'

    ('!%((,%'!%(($(,'!%"' ""('()"#

    "$?(!@P"?%':'@P()&("%#+&"

    "(("$"("%%%(!!(('&

    ""("("%%%&"6,$!'6"%#

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    12/28

    221*+&,(+

    "%&,-!!%)E%#.#/0121

    !%((('!%"'&%%)"'!"%#

    !%((!%4!%(($"!%??Q!%((QRQ"&!Q@@PD

    !()&(!%(('!%"!(((&!%(($''!%"

    & '() "?(@ ! !%(( "&"$( !" "%?(@# '

    "($"'!%"($&"!%(("

    "&! , (!&) ' $) " Q!%((Q " Q"&!Q

    %"%#+&)($''%%(($('!%"&

    !%((#

    "!%"'!"%(4

    "!% 4 "$ ?"+(!@PQ5Q "% ?::"$?"+(!@PQ5Q"%@S+D

    '"+(!"'!"%('!%"'(&%%(4

    "+(!4;(!+;D

    "+(!"$%"%($'%#((,!(& !%((

    "!( % (! & '() " " ('&

    6%!%$)"(!#+&"((!"%%(($

    %(!&'()"(%,%!%(('()#

    %(!%"&,$'""'!"%(,))($%%6$%#!$,&(""%('&("!)!%((%%

    &"$!,!'&"$!$(&'()"(#"6$%%

    ((($!%((CI"!(&"((!&)%'()"

    ""&"$("%&B+(!'($!%((CI%(%(

    "% & !"!" &"( (! & ,("! !" '()

    "#(&"$!,&"$%%"("""'!

    "%(4

    !%((!% 4 CI L )%

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    13/28

    111 "#$%&'$(

    "%&,-!!%)E%#.#/0121

    (!4?(!(!$?"!%@P@TD

    ( 6$% &" '!%" & (! & !%(( CI# +&()%((!&)"'&'CI!%("%&

    B+(! &"( (! & )%'()"(!

    "%%%6!("$(,%4

    (!4)"4()%L)%

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    14/28

    220*+&,(+

    "%&,-!!%)E%#.#/0121

    ($"#"))'(!((%,"%&"$%"!&

    ,"%"&'()"#

    (%"'$',""%('&'(4

    ,"4??''!@P@OU?''!@PR??"!@P@OU?"!@P

    R??$%$@P@OU?$%$@PR?((!@PD

    "% '( (!!"'! ? Q)((Q$'@ ! ,(!%% ((

    &"( " $! ''! " & "( ( "( " 6

    %"!("!"#("!&"(!$!

    $%$ "% ' &%% ("! &" %( ( & ( ! $!

    ((!"'!"%#$')&()(!!"'!

    (!$%"!,!"!&$!)((!!((&%'"&"

    6$!)#

    ,"% (! & "% !((( & &"$

    "!)!%((("""%'!""#!%(($

    ,''"!%(((&"6$%&(!&!%(((('

    ($ $'( & !%(( & " '() " $( " (

    ''!"%(6((,!%(('!%(("(''

    #!%(($"!"!"(!(&"$($"!%((#"$

    ,(("!%(((((!'$"(!(&"

    !%(( ($ '() "# %% , ,"% "!( ! ,

    !' , " "(' )"$$"# "$%% ("%'() "( "

    !$('(&"$)%(':0#1'($!($"("(""%'&"$#&'()!,'&'()

    )"$$"'(""&!%%(&"$!,"("''

    ""'&"&""(#

    ,"% "% &"( %( &" ''! &"$ "#

    ''!&"$("'',

    ''!4!%(($!%(($D

    !'(&C'"!%((('!$%")(((

    ''!4C

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    15/28

    113 "#$%&'$(

    "%&,-!!%)E%#.#/0121

    (()&(!%((C(''!%((#$%"%"!"%%(

    %

    "!4!%(($!%(($D## &"(!%(("( &"(&"$ (!'!%((# $%$

    "%"'(&"$&!%((!($%$"&!#

    $%$4!%(($"&!$D

    $%$"'!"%())((!%((!%(($$%$(

    "&!"&!$#((!&"$,!%(((!

    ,!',&%%)((!"%#

    ((!4!%(($"%(!%(($D

    ""%("'!"%('&'(4

    "%(4Q>>:QRQ:>>QRQ:>>:QD

    ( ()&( &"( !%(( ( ((!' (!' !%(( , "

    QQ>>:Q " Q:>>Q " Q:>>:Q !"'%

    $($,"&(!(&&"(!%(((((!'$

    (!(&(!'!%((#+&%(!&!%((CI(((!'

    $%%(!(&!%((*""(%%,4

    ((!4CI>>:

    4

    + ( (! %% !( (' ' 6% '% '()

    " ! ,""(' &"$%% () * )"$$"# ((($

    (($'()$)(!!('&&"(&',(((!(

    "!%'0)2#((($"'(!!%&"!!(()!

    &',(# !! % "("!( %$ $,"&!!(((

    ',('"((!!(',(#(($(!,%

    '% '&&" (&',( !!(# !*% !%(( '&(

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    16/28

    22F*+&,(+

    "%&,-!!%)E%#.#/0121

    "&! &" !" & !! % &" "" &

    ',(#!!"!%((("!%!*%'0!*%(

    !"! " !" !""(') !!(

    "!%!'0!"(!%#%%!!(!(

    ($"&!!('&'!!%((#

    )# 2( 6"(( )"' (" $(()" "%'

    &"$ % "% &"!)%$((!(!%(($'(

    '()"#:"" ( ( (!" & !$, & '() "("$"'()"("!$(''($&"!)

    !%(((""($"'()"($%(%'!!&

    (!%((($%%"%( !&"%(!""(') "#

    ( &"$ ( "!) " ("(# '()"(

    ,("!!"')%"%'(($'()#

    !*%"!%!*% '0!*%!%((( %

    "%( & ,("! ' !!" &!"( "( !

    "!%! ' 0! !%((( % "%( & ,("! '

    !!" "'!( ,("! !" " "(!%#

    "!%!*% ' 0!*% " )% !%((( !

    "("! % %$' $," & !!( &" ! ',(# !

    "!%!*% ' 0!*% %( ""( )% '()

    "# " &"$ " "%' &"$ "% & ! &

    !"(!"(

    !*%

    !"!?@

    ####2222!*%&",(!*%&",(!*%&",(!*%&",(

    "!%!*%

    !"!?@

    0!*%

    !"!?@

    "!%! 0!

    !

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    17/28

    115 "#$%&'$(

    "%&,-!!%)E%#.#/0121

    "!)!%(( ' ($'( " $(() ')"$# ) 0 )(

    (%&((('6%""(')"$&%%(*

    (!&!#

    ( !%(( "!%!*%# + "!( '() "(

    ,("!!"' )%#() "(' (!&! !%(((

    6"((' ( "!%!*%L!"!"5,("!!"

    )%

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    18/28

    22/*+&,(+

    "%&,-!!%)E%#.#/0121

    !""%'&"$(%(%"("!$(''

    !$,'#

    %%(""(&:!%((')"$!,6''

    (%A '() " "%' &"$ " !$((# + (

    ""(('!!&))K("

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    19/28

    117 "#$%&'$(

    "%&,-!!%)E%#.#/0121

    !"!?@ ( !%(( "&"$( '% "% 4 !"*"'!

    ,("!!" " "( +(! "% '" &"( (! &

    )%"#

    ,"% (! & '() (( !%((( 0!

    "!%! 0!*% ! "!%!*% '

    !*% " ""%' ! "# + ( !%" &"$ ,% 7

    "!%!*% ( '' "!%! ($%"%

    0!*%(''0!#(($(( "!

    ""!%!*%'0!*%"&"$!*%

    !%(("("!%!'0!"&"$!!%((#

    ("(&"$"'')2")"')((!"%((

    $)!%((("%%,*""(&"((!"%#

    (!&' (($ * %))#H ' "&

    "(($(!&!("%%!!',*"(""'

    "(" "( '& (")# ( ( '(!((' 6

    (!#

    5*#$#"(

    %% '(!((' ! ""('()" &"$%% ()

    *)"$$"#H'%'($%"+%(,%"'

    '()) "$" "'%"( !""( (($ '()

    "( () : !%(( ')"$ ' % %% , ,% "&

    6% ! " ( &"$%% ""(' ( " * )"$$"

    (!&!"#"&!("(("('")"!%(&

    !%((($'( ! "%((( %%( ((! $) !%(((#6%&"$"'!%((')"$&'()"

    ("&' ,"("' ("' C: &% (($#

    C:&%!,"('&"")")"!%""(

    +%#%(%(&"&)")-!'!"&%!(

    ("!"%(%%(,"%(!(&(($'()#H!(C:

    (""&"$(,!(C:(('"'%))!(

    '()' "(" ' (" '# C: ' ( ("' 6 &"$# (

    $(("6'")"'")(($(%!(

    ","("(%()"&"$#!'()!"''

    ("'()"(' )"$$" ()%" %))?&"

    6$%!"',('%@!,6"!'"(($

    () & 6() C: "("( ' ! , "(' &" ""()")#

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    20/28

    229*+&,(+

    "%&,-!!%)E%#.#/0121

    +,"&($%"%'%',(("($%%"(((&%%)4

    "((%""(&(($'()"():!%((')"$':6($!($#

    E"&6%!&!%((')"$*"("(,)"'")%#

    "('%'()')"$"%'&"$C:&%# "()"!%""(&(($'()&"$("'

    C:&%&$#

    "(((,%-!'(&"$C:&%#! "(,% !( &'$%!!& () '() "(

    !,!'("("(!"""(%!"''()"

    $'(!"()(%)""(&

    )")-!'(!$$%$&("#

    67$#

    ( '(!(( ($%"%"(# ( !('")

    (($'()'!' )# 0#($%"%(&!%'"

    (($')"$($%")#0#&"))6%&"$(("

    )#0((%!'+%"&(%%6%

    !( %"' )"' * "("# " 6$% % ( !('"

    0!*%!%((?(,%7@#"&&!%((('&'""%

    &%%) * )"$$" " % !%%( !%((!%?@ $' &

    **"("#-#!%((!%?@$'(((")X-!."*/01"1#2.3#Y'"((

    !!"')"'!"%#+&"""(%&!%((!%?@$'

    !%%((!!((&%+%)(''!%%(6"()$'

    (!?@# ( "( (!'!%"' &" 0!*% !%((

    ())"''!!(,%#%%%6

    !%% %':'?@ & "(" (")

    X"/01 *4 #2.3

    '0Y'!!( & '!%"&$' !"!?@ ((

    " *%))" # +& "("'( "6!

    $(!%((0!*%((!&'("*%))#

    %%)($"!'"+($%"%!!(%%6%"(

    &"!%(((%!*%"!%!*%"!%!

    0! '! "$'( '",( " "

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    21/28

    119 "#$%&'$(

    "%&,-!!%)E%#.#/0121

    "%%"("*%))#%%%&'("""

    )(("!!('()&"$C:&%'("!

    (,"')$&&%#

    89:3

    ( "' ,"& '% & C: &% ! (,)("'

    (($%% "B"'&"$ & (($'()#,%/'(!",(

    !(,)('&")")C:&%,%#

    ,%/4&C:&%Z[::?S+S+S@U

    Z[:?:C@U

    Z[:?\*@U

    Z[::?\*@U

    Z[:?\*@U

    Z[:C?\*@UZ[:+?\*@U

    Z[:+?\*@U

    Z[+

    C2:;\]+

    2:;\]+U

    Z[+C

    C2:;\]+

    2:;\]+

    \]+U

    Z[++

    +\]+

    \]+

    ++\]+U

    Z[++

    C2:;\]+2:;\]+

    C0:;\]+

    0:;\]+U

    &%%) ( " & C: &% ! ""(( ("!"%

    &"$&"!%!*%!%((#

    ZU

    C2OQ567Q2OQ898Q5U

    Z:U%"*Z5:U ZU/01

    "1#263#

    Z5UZCC2OQ:;Q2OQ.57Q

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    22/28

    201*+&,(+

    "%&,-!!%)E%#.#/0121

    OQ%"*/01

    "1#263#

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    23/28

    121 "#$%&'$(

    "%&,-!!%)E%#.#/0121

    Z++OQ(>QOQ%"Q++OQ"Q5U

    Z++OQ(>QOQ-!."Q++OQ"Q5U

    "$"+++*'""((!%(((

    "!!' " !%(( '() "# " 6$%

    &%%) -=41 "% ( , " !%!*% '

    "!%! !%((( '!( "!%!*% ( ''

    "!%!#

    Z++OQ-=41Q

    OQ%"*Q++OQ%"Q

    5U

    $%"% (> "%( , "!%!*% '

    !*%!%((('!("!%!*%"(!"!"(!(

    &!*%#

    8&

    +%"'(("&!%)"!'&"$("'C:

    &%&$#+('"""!((!!"(

    - !%(( &%(# !' )( )"' %% ! ,(((

    %)!# !'%% % "&%! ("!"% ',"%&"$&

    (($'()#("!"%',"%&"$C:&%((

    "B"' )" "" - !' & (($ '()# %"((("'C:&%'!%%!(%%'()&"$#+!!(

    $!%(((""!)(($'""!!'

    " !%(((# &" )") %% ( &"$ )"( !'(

    !""(')!!%((#

    (!('""!%!*%!%((&"!!')""(

    ,%' - !'# !' )"" "(( C: &% ' ("!(

    '( !%'':!( %"!%!*%#

    &"&')""'!')"")("'""

    - !' &" !%(( "!%!*%# ' )"" "((

    "$"&!%''C')"(&"$&"%%

    '&' $'(# + ( !( &'( $' !"!?@ ('&' C: &%# +""( "$"'!%"'$'

    ""'("((&"$(,%'("!"(#6!'

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    24/28

    200*+&,(+

    "%&,-!!%)E%#.#/0121

    )"""((C:&%&"%%+'('%(&""(

    !!((&"!%!*%(%&"$"#+

    " !( &'( !%' ' "( 6(# + "

    "!%!*% ( !!' "!%! !%((

    '!"%( '(!' " (( "!%!*%("%'!*%!%(("%A"%(#!'

    )"" ( ) %% "B"' &"$ ,%' - &% &"

    "!%!*% !%((# % )"( - &% $' (

    "!%!*%#-# ('") '! "%( %

    '!%"( ' !"( (! & "!%! !%(( ('

    "!%!*%#-# " 6$% (' "!%!*% !%((

    "$,%%&%%)4

    "!%!"!%!O"!%!?@D

    $%"% !('") (> "%( ,

    "!%!*%' !*%!%((("!%!*%!%((

    %%,'!%"'(4

    ,%!!%(("!%!*%6'(!*%L

    ^^##

    ^^##

    M

    )%%((,%("!"%',"%&"$&"$C:&%

    % ("!"&"!%!*% !%(( )()"',

    !')""%%,&%%)4

    ,%!!%(("!%!*%6'(!*%L

    "!%!"!%!O"!%!?@D

    ,%!'!"!!?@D

    M

    %%)($"!((!')"")"(-&%(&""(&

    !%(((#

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    25/28

    123 "#$%&'$(

    "%&,-!!%)E%#.#/0121

    ;".,

    '"':("$%%(''(!",'()"#":'(

    "'%%!(("""%'&"$'()"((!%% "( " !$,'# "% "("!"( ': 6((

    ,'&"6%!(%A&'()"((($'()(#

    %!& '()"$!) $(&!%((("('

    ",( "!) ( " "$( & %! '$#

    ("%(!%((("('",(%("

    %(# ( ">"%' &"$ ( $" !!$%( )%( &

    '()"#H6%!%""()(&"$'()"("

    &"!'!$$!!%((',-!%%('&"%%#

    '()'!(('"'&&(!"'""%(#))

    # %

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    26/28

    20F*+&,(+

    "%&,-!!%)E%#.#/0121

    !""('):!%((')"$#""%(,%)"

    6!-!',)!!'()"("%'&"$

    ! !%((("!#" 6$% %'("'"

    "%'!'"!%!*%#-&%&"$!'%"($)

    !%(( %('% "% &! ( !"!" '"

    ,("!!"'() "' " "% ( )% '" &"(

    (!&)%'()"#-!%(((%""(("&!%

    &"$"#"&""%%%(,$'&!')"""!(((

    !((" - !' "&%!( "% & $'%) %$( !

    '()"#

    -

    2/2#

    0110#

    4:'%)))

    &",-!>"' "$"(#*"!')(&2F"

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    27/28

    125 "#$%&'$(

    "%&,-!!%)E%#.#/0121

    &"!,-!>"'*")"$$)?*@)(/8390

    %0111#

    "' &"# ''(>H(%

    *,%()$2..7#

    &':'%)))"(0#0#:011.#

    2F10118#

    2F#011G

    *)?(@40738/#

  • 7/31/2019 Formal Specification of Structural and Behavioral Aspects of Design Patterns

    28/28

    20/*+&,(+

    "%&,-!!%)E%#.#/0121

    '

    #?@-1("(%")(&")"

    +: +' *# '# ;% +'# ( "() *##

    ')" '" ("( & *"&(("

    !" &"$'""( ;% +'# (

    "&"("!"(("()*"(,-!"'

    ($( ' &" )")# $ , "!'

    ('0(a)$%#!$#

    *"&((" !"*"&((" !"*"&((" !"*"&((" !" ( "(% "!"

    %+(&!%)")"+'#%(

    %'( ( & *"&((" & $"

    !!`))# '""(;% +'# ( "' 0G "( & "&((% 6"!

    !'$! ' '("% (!"(# "! &

    )!("'2.9.'"#("!%%(

    &"$% ("!!%'") 2...>0112 *"!" (

    "'"(!"(%%""%''(,207,%!(

    "("%%&"$(#("(&"("!"(!%'"B"$(

    )") &!% (!&!( (&" () '$'%>,(' '() &

    ($>("!"'(&"(($(#$,"!',(0111a#!#