HMMY ?e???????a ????s - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

HMMY ?e???????a ????s

Description:

filter1. push. dataSink. write(data) write(data) filter2. push. f1 ... filter1. pull/push. dataSource. filter2. pull. f1(data) f2(data) data:=read() data:=read ... – PowerPoint PPT presentation

Number of Views:25
Avg rating:3.0/5.0
Slides: 24
Provided by: KostasKon2
Category:
Tags: hmmy | filter1

less

Transcript and Presenter's Notes

Title: HMMY ?e???????a ????s


1
HMMY ?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?µ????

5
Kruchtens 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)

8
Te???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)

16
Data 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)

17
A Push Pipeline With an Active Source
18
A Pull Pipeline With an Active Sink
19
A Mixed Push-pull Pipeline With Pasive Source and
Sink
20
A 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?µ????

23
S?????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?
Write a Comment
User Comments (0)
About PowerShow.com