Title: HMMY ?e???????a ????s
1HMMY ?e???????a ????sµ??????d?s?????sta?
???t??????????ap?. ?a????t??, ?.?.?
2????te?t????? S?st?µat?? ????sµ????
- ? ????te?t????? pe?????fe? t? ?e???? stat??? d?µ?
t?? s?st?µat??, ta ßas??? d?µ??? t?? st???e?a,
p?? a?t? ta st???e?a ep??????????, ?a? p??a e??a?
ta ßas??? ?a?a?t???st??? t?? ???e st???e???. ?a
st???e?a e??a? ?p?s?st?µata ? (??a µ????te?a
s?st?µata) ??f?de?. - ? ????te?t????? pa???e? ??a t??p? a????s?? ?a?
pe????af?? t?? s?st?µat?? se ????? afa??et???
ep?ped? - ? ????te?t????? est???e? st?? ßas????
s?ed?ast???? ap?f?se?? p?? ?aµß????µe ??a ??a
s?st?µa
3???sµ?? ????te?t?????? (Shaw and Garlan)
- ? a???te?t????? ????sµ???? pe?????fe? ta st???e?a
ap? ta ?p??a ap?te?e?ta? ??a s?st?µa, t??
a????ep?d??se?? a??µesa se a?t? ta st???e?a,
?a??? ?a? p??t?pa ?a? pe?????sµ??? p?? ?a??d?????
t? s???es? a?t?? t?? st???e???. Se ?e?????
??aµµ??, ??a s?st?µa pe?????feta? se ep?ped?
a???te?t?????? sa? µ?a s?????? ?p?s?st?µ?t?? /
??f?d?? (components) ?a? t?? a????ep?d??se??
(connectors) a??µesa se a?t? ta ?p?s?st?µata /
??f?de?. ??a s?st?µa µp??e? ?a e??a? ?p?s?st?µa
se ??p??a ???? (µe?a??te?? ?a? p???p????te??)
efa?µ??? - ?a ?p?s?st?µata ?a? ?? ??f?de? (?a? s??????? ?
a???te?t?????) µp????? ?a pe?????f??? ap?
d?af??et???? s??p??? (??????, d?µ??? ??p.) - ????? ???sµ?? µp????? ?a ß?e???? st?? ?st?t?p?
http//www.sei.cmu.edu/architecture/definitions.ht
ml
4?? ???d?a???fe? ? ????te?t?????
- ?? ?e???? d??spas? ?a? ?at?tµ?s? µ?a? efa?µ????
sta s?stat??? d?µ??? t?? st???e?a - ? ?at??t?s? ???eta? ?at? ??a ?e?a????? t??p?
(?p?s?st?µata / ??f?de? / ???se??) - ? a???te?t????? µ?a? efa?µ???? µp??e? ?a
a??????e? ?a? ?a e??a? s?µßat? µe s???e???µ??e?
te???t??p?e? ?a? p??t?pa - ??? s?µa?t???? ?d??t?te? t?? s?st?µat?? p.?.
?p?d?s?, asf??e?a, e???st?a, e?????a a?aß??µ?s?? - ??? ßas???? s?ed?ast???? ap?f?se?? p??
s?s?et????? apa?t?se?? ?a? ???p???s? - ??? s?e?et? t?? efa?µ????
5Kruchtens 41 View Model of the Architecture
- P. Kruchten. The 41 View Model of Architecture.
In IEEE Software, vol. 12, no. 6, November 1995,
pp. 42-50, ? IEEE 1995
6????te?t????? ?e???t??p?a (Architectural Style)
- ?p?? a?af??aµe pa?ap??? ? a???te?t????? t??
s?st?µat?? ap?te?e?ta? ap? - ?p? µ???de? (?p?s?st?µata / ??f?de? -
Components) ??????? ?a? ???p????? t??
?e?t?????e? t?? s?st?µat?? - ?p? s??d?se?? a??µesa st?? µ???de? (Connectors)
??????? ?a? ???p????? t?? s??se?? a????ep?d?as??
a??µesa sta ?p?s?st?µata / ??f?de? - ??a a???te?t????? te???t??p?a (architectural
style) ????e? µ?a ???????e?a ap? a???te?t??????
p?? ????? - ????? t?p?????a
- S?µas?????????? pe?????sµ???
- ????? ?e??????? ??a ta components ?a? ta
connectors
7?a????µ?s? ????te?t?????? ?e???t??p???
- ?as???? ????te?t?????? ?e???t??p?e?
- ???? ?ed?µ???? (Data Flow)
- ???s??-?p?st??f?? (Call-and-return)
- ?????ep?d???t?? ?e?t??????? (Interacting
processes) - ?ed?µe??-?e?t????? ap?????? (Data-oriented
repository) - ?????? ?ed?µ???? (Data-sharing)
- ?e?a?????? (Hierarchical)
- ?te???e?e?? ????te?t?????? (heterogeneous
architectures)
8Te???t??? ???f? ?e???t??p???
- ?ta? ??????µe ?a? pe?????f??µe µ?a a???te?t?????
te???t??p?a s?????? e?????µe t?? ap?? ?a?
?e???t??? t?? µ??f? - St? p?a?t??? sp???a µ?a te???t??p?a
???s?µ?p??e?ta? st?? ap??, ?e???t??? t?? µ??f?.
S??????, ??a ?a s?ed??s??µe µ?a ??a efa?µ???,
s????t??µe ?d?e? ap? d?af??et???? te???t??p?e? - Sa? a???t??t??e? ????sµ???? p??pe? ?a ????µe µ?a
?a?? e????a t?? te???t??p??? st?? ap?? ?a?
?e???t??? t??? µ??f?, ta ?et??? ?a? a???t???
s?µe?a t?? ???e te???t??p?a?, ?a? ta ap?te??sµata
p?? ep?f????? a??a??? ?a? pa?a???se?? ap? t??
ap??, ?e???t??? µ??f? t?? te???t??p?a?
9?? ?e???t??p?e?
- ????? ?ed?µ???? (Data Flow)
- ????????a??? St??ß?da? (Sequential Batch)
- ?????/F??t??? (Pipe and Filter)
- ???s??-?p?st??f?? (Call-and-return)
- ?????ep?d???t?? ?e?t??????? (Interacting
processes) - ?ed?µe??-?e?t????? ap?????? (Data-oriented
repository) - ?????? ?ed?µ???? (Data-sharing)
- ?e?a?????? (Hierarchical)
- ?te???e?e?? ????te?t?????? (heterogeneous
architectures)
10????te?t????? ?e???t??p?a ???? ?ed?µ????
- Te????µe ?t? ? a???te?t????? e??? s?st?µat??
e??a? s?µßat? µe t?? a???te?t????? te???t??p?a
???? ded?µ???? e?? - ? d?a?es?µ?t?ta t?? ded?µ???? e??a? a?t? p??
????e? ?a? e????e? t? ??? t?? ?e?t??????? - ? d?µ? t?? s?st?µat?? ????eta? ap? t? µe??d???
??? t?? ded?µ???? ap? t? µ?a µ???da st?? ???? - ? ??? t?? ded?µ???? ??e? t?p?p???µ??? ?a? p?????
???sµ??? f??? - ? a?ta??a?? t?? ded?µ???? e??a? ? µ??? µ??f?
ep????????a? a??µesa st?? µ???de? - ?p?????? ??p??e? ßas???? d?af???p???se?? se a?t?
t? te???t??p?a s?µf??a µe - ?? p?? as?e?ta? ? ??? t?? ded?µ???? ap? µ?a
µ???da (?p?s?st?µa / ??f?da) se ??p??a ????
(p.?., push versus pull) - ?? ßa?µ? s??e??as?a? (pa???????? epe?e??as?a?)
a??µesa st?? µ???de? - ?? t?p?????a t?? µ???d?? (components) ?a? t??
s??det???? s??se?? (connectors)
11????te?t????? ?e???t??p?a ???? ?ed?µ????
- ????de? (Components) ?p?s?st?µata / ??f?de? p??
????? - ??ap??s?pe?e? (Interfaces) µe t? µ??f? p????
e?s?d?? / e??d?? ded?µ???? (input ports and
output ports) - ??a ?p?????st??? µ??t??? p?? ßas??eta? st??
e?sa???? ded?µ???? ap? t?? p??e? e?s?d??, st??
?e?t?????a t?? µ???da? p?? p??a??? µetaß???e? ta
ded?µ??a e?s?d?? ?a? pa???e? ??a ded?µ??a, ?a?
t?? ???d? t?? pa?a??µe??? ded?µ???? ap? p??e?
e??d?? - S??d?se??(Connectors) ???? ?ed?µ????
- ??a? ?ate????s??
- S?????? s?µßat?? µe as??????? ep????????a µeta??
µ???d??, µe es?te???? µ??µ? - ?a a??a?a s?µe?a t?? s??s?? ????? ?????? e?s?d??
/ e??d?? ded?µ???? - ?? ?p?????st??? t??? µ??t??? ßas??eta? st?
µetaf??? ded?µ???? ap? µ?a µ???da (µe ???? e??d??
ded?µ????) se ??p??a ???? µ???da µe ???? e?s?d??
ded?µ???? - ??p?????a
- G??f?? (??µß?? e??a? µ???de?) a?µ?? e??a?
s??det???? s??se??
12?a?ade??µata ??p??????? ?e???t??p?a? ????
?ed?µ????
???a?a s??des?
????????a?? s??des?
??ad??µ??? s??des?
13?at?????e? ????te?t?????? S?µßat?? µe t?
?e???t??p?a ???? ?ed?µ????
- ????????a??? St??ß?da? (Batch sequential)
- ?????/F??t??? (pipesfilters)
- ??e?st?? ß?????? (Closed loop control)
14?a?a?t???st??? S?st?µ?t?? µe ????te?t?????
????????a??? St??ß?da?
- M???de? (Components) e??a? a?e???t?te? efa?µ????
- S??d?se?? (Connectors) e??a? ??p??a ???sµ???
µ??f? µetaf???? ded?µ???? (p.?. magnetic tape) - ???e ß?µa p??pe? ?a te?e??se? p??? a???se? t?
ep?µe?? ß?µa
15?a?a?t???st??? S?st?µ?t?? µe ????te?t?????
?????/F??t???
- ?e? ???s?µ?p??e?ta? ???sµ??? µ??f? µetaf????
ded?µ???? - ?a ded?µ??a µetaf????ta? ap? t? µ?a µ???da st??
???? µ???? e??a? d?a??s?µa ?a? ??? ?ta? ??? ?
?e?t?????a t?? µ???da? ?????????e? - ?? ???e µ???da (f??t??) de? ??????e? t? ?pa??? ?
t? ?at?stas? t?? ????? f??t??? (no shared state)
16Data Pulling ?a? Data Pushing
- ? ??? t?? ded?µ???? ap? µ?a µ???da (f??t??) se
???? ßas??eta? st? d?µ? ?e?t?????a? t?? ???e
µ???da? ?a? t?? p???t??? d???es?? ded?µ???? st??
???e? µ???de? - ????µe t?sse??? ep??????
- ????de? ???s?? (Push) ? µ???da ??e? ded?µ??a
st?? ep?µe?? µ???da - ????de? ????? (Pull) ? µ???da ???e? ded?µ??a
ap? t?? p??????µe?? µ???da - ????de? ???s??/????? (Push/pull) µ?a µ???da
???e? ded?µ??a ap? µ?a ????, pa???e?
ap?te??sµata, ?a? ??e? ta ap?te??sµata st??
ep?µe?? µ???da - ?a??t???? ????de? (Passive) ??te ????? ??te
?????? ded?µ??a. ?p?? pa?????? ded?µ??a ap? µ??e?
t??? (sources) ? e??a? te????? ap?d??te?
ded?µ???? (sinks)
17A Push Pipeline With an Active Source
18A Pull Pipeline With an Active Sink
19A Mixed Push-pull Pipeline With Pasive Source and
Sink
20A Pipeline With Active Filters and Synchronizing
Buffering Pipes
21????te?t????? ?????/F??t??? Tet??? S?µe?a
- ? ?e???? s?µpe??f??? t?? s?st?µat?? ????eta? ap?
t?? s???es? t?? f??t??? - ?pa?a???s?µ?p???s? ?a f??t?a µp????? ?a
???s?µ?p??????? ?a? se ???e? efa?µ???? - ??????a s??t???s?? ?a?a?? f??t?a µp????? ?a
a?t??atasta???? µe ?e?te?a - ??????a d?µ??????a? p??t?t?p?? ap? ap??? µ???de?
(f??t?a) - ??????a a????s?? t?? s?µpe??f???? t?? s?st?µat??
(formal analysis - throughput and deadlock
detection). - ???a??t?ta ???p???s?? pa???????? d?ad??as???
(filters implemented as separate tasks, consuming
and producing data incrementally)
22????te?t????? ?????/F??t??? ????t??? S?µe?a
- ??? ???e f??t?? pe??µ??e? ?a te?e??se? t?
?e?t?????a t?? p??? ste??e? ded?µ??a se ???e?
µ???de? t?te ? ??? a???te?t????? ???eta? s?µßat?
µe a???te?t????? a???????a??? st??ß?da? - ?e? e??a? e????? ?a ???s?µ?p?????ta? ?????
ded?µ??a - ?e? e?de?????ta? ??a efa?µ???? µe ????? ßa?µ?
a????ep?d?as?? µe t?? ???st? ???e? efa?µ???? - S???????sµ?? t?? ???? µp??e? ?a ep?f??e?
pe?????sµ??? st? ??? a???te?t????? - ? d?a?e???s? s??t??ß?? e??? f??t??? e??a? d?s????
- ???a?? a????? ??a ????? pa????µast? st??
µ??f?????a ?a? t?p? t?? ded?µ????
23S?????s? ????te?t?????? ????????a??? St??ß?da?
?a? ?????/F??t???
- ?a? ?? d?? a???te?t?????? ßas????ta? se µ???de?
p?? ?aµß????? ded?µ??a, µeta???ss??? ? pa??????
??a ded?µ??a, ?a? e?????? ta ??a ded?µ??a se
???e? µ???de?
????????a??? St??ß?da? ????? / F??t???
?e???e? ??at???aste? µ???de? ?e???? d??st?µa e?e??sµ??-a?t?d?as?? ?ed?µ??a e?s????ta? ap? e??te????? p???? ?? d??at?t?ta pa???????? d?ad??as??? ?? d??at?t?ta d??aµ???? a????ep?d?as?? µe ???e? d?ad??as?e? / ???ste? ?ept?te??e? µ???de? ? d?a?es?µ?t?ta ded?µ???? a??e? ??a ?a a???se? µ?a ??a µ???da t? ?e?t?????a t?? ?ed?µ??a s?????? e?s????ta? ap? ???e? µ???de? ?a??????e? d?ad??as?e? e??a? p??a??? ?p?? µ??f? a????ep?d?as?? µe ???e? d?ad??as?e? e??a? ef??t?