r t s t r s p tt r s

r tst - PowerPoint PPT Presentation

tt Pr t ss r tst rs Pttrs


  1. ❈♦♥t❡①t Pr♦❜❧❡♠ ❙♦❧✉t✐♦♥ ❈♦♥❝❧✉s✐♦♥s ❖✈❡r❧❛♣ ❛♥❞ ■♥❞❡♣❡♥❞❡♥❝❡ ✐♥ ▼✉❧t✐s❡t ❈♦♠♣r❡❤❡♥s✐♦♥ P❛tt❡r♥s ❊❞♠✉♥❞ ❙✳▲✳ ▲❛♠ ■❧✐❛♥♦ ❈❡r✈❡s❛t♦ s❧❧❛♠❅q❛t❛r✳❝♠✉✳❡❞✉ ✐❧✐❛♥♦❅❝♠✉✳❡❞✉ ❙✉♣♣♦rt❡❞ ❜② ◗◆❘❋ ❣r❛♥ts ◆P❘P ✹✲✶✺✾✸✲✶✲✷✻✵ ❛♥❞ ✹✲✸✹✶✲✶✲✵✺✾ ❏✉♥❡ ✷✵✶✻

  2. ❈♦♥t❡①t Pr♦❜❧❡♠ ❙♦❧✉t✐♦♥ ❈♦♥❝❧✉s✐♦♥s ❖✉t❧✐♥❡ ❚❤❡ ❈♦♥t❡①t ✶ ❚❤❡ Pr♦❜❧❡♠ ✷ ❚❤❡ ✭P❛rt✐❛❧✮ ❙♦❧✉t✐♦♥ ✸ ❚❤❡ ❈♦♥❝❧✉s✐♦♥s ✹

  3. ❈♦♥t❡①t Pr♦❜❧❡♠ ❙♦❧✉t✐♦♥ ❈♦♥❝❧✉s✐♦♥s ❈♦♠✐♥❣❧❡ ❆ ♣r♦❣r❛♠♠✐♥❣ ❧❛♥❣✉❛❣❡ ❢♦r ❞✐str✐❜✉t❡❞ ♠♦❜✐❧❡ ❛♣♣s ❉❡s✐❣♥❡❞ t♦ ✐♠♣❧❡♠❡♥t ♠♦❜✐❧❡ ❛♣♣s t❤❛t r✉♥ ❛❝r♦ss ❆♥❞r♦✐❞ ❞❡✈✐❝❡s ❊♥❛❜❧❡s ❤✐❣❤✲❧❡✈❡❧ s②st❡♠✲❝❡♥tr✐❝ ❛❜str❛❝t✐♦♥ s♣❡❝✐✜❡s ❞✐str✐❜✉t❡❞ ❝♦♠♣✉t❛t✐♦♥s ❛s ♦♥❡ ❞❡❝❧❛r❛t✐✈❡ ♣r♦❣r❛♠ ❝♦♠♣✐❧❡s ✐♥t♦ ♥♦❞❡✲❝❡♥tr✐❝ ❢r❛❣♠❡♥ts✱ ❡①❡❝✉t❡❞ ❜② ❡❛❝❤ ♥♦❞❡ ❚②♣❡❞ ♠✉❧t✐s❡t r❡✇r✐t✐♥❣ ✇✐t❤ ❞❡❝❡♥tr❛❧✐③❛t✐♦♥ ❝♦♠♣r❡❤❡♥s✐♦♥ ♣❛tt❡r♥s t✐♠❡ s②♥❝❤r♦♥✐③❛t✐♦♥ ♠♦❞✉❧❛r✐t② ❉❡❝❧❛r❛t✐✈❡✱ ❝♦♥❝✐s❡✱ r♦♦ts ✐♥ ❧✐♥❡❛r ❧♦❣✐❝

  4. ❈♦♥t❡①t Pr♦❜❧❡♠ ❙♦❧✉t✐♦♥ ❈♦♥❝❧✉s✐♦♥s ❈♦♠✐♥❣❧❡ ❆ ♣r♦❣r❛♠♠✐♥❣ ❧❛♥❣✉❛❣❡ ❢♦r ❞✐str✐❜✉t❡❞ ♠♦❜✐❧❡ ❛♣♣s ❉❡s✐❣♥❡❞ t♦ ✐♠♣❧❡♠❡♥t ♠♦❜✐❧❡ ❛♣♣s t❤❛t r✉♥ ❛❝r♦ss ❆♥❞r♦✐❞ ❞❡✈✐❝❡s ❊♥❛❜❧❡s ❤✐❣❤✲❧❡✈❡❧ s②st❡♠✲❝❡♥tr✐❝ ❛❜str❛❝t✐♦♥ s♣❡❝✐✜❡s ❞✐str✐❜✉t❡❞ ❝♦♠♣✉t❛t✐♦♥s ❛s ♦♥❡ ❞❡❝❧❛r❛t✐✈❡ ♣r♦❣r❛♠ ❝♦♠♣✐❧❡s ✐♥t♦ ♥♦❞❡✲❝❡♥tr✐❝ ❢r❛❣♠❡♥ts✱ ❡①❡❝✉t❡❞ ❜② ❡❛❝❤ ♥♦❞❡ ❚②♣❡❞ ♠✉❧t✐s❡t r❡✇r✐t✐♥❣ ✇✐t❤ ❞❡❝❡♥tr❛❧✐③❛t✐♦♥ ❝♦♠♣r❡❤❡♥s✐♦♥ ♣❛tt❡r♥s t✐♠❡ s②♥❝❤r♦♥✐③❛t✐♦♥ ♠♦❞✉❧❛r✐t② ❉❡❝❧❛r❛t✐✈❡✱ ❝♦♥❝✐s❡✱ r♦♦ts ✐♥ ❧✐♥❡❛r ❧♦❣✐❝

  5. ■♥ ♠❛t❤✿ ❳ s✇❛♣ ❨ P ♣✐✈♦t❙✇❛♣ ❳ ✐t❡♠ ❉ ❉ P ❨ ✐t❡♠ ❉ ❉ ❳s ❉ ❳s ❨ ✐t❡♠ ❉ ❉ P ❳ ✐t❡♠ ❉ ❉ ❨s ❉ ❨s ■♥ ❝♦❞❡✿ ❈♦♥t❡①t Pr♦❜❧❡♠ ❙♦❧✉t✐♦♥ ❈♦♥❝❧✉s✐♦♥s ❊①❛♠♣❧❡✿ ❙✇❛♣ ❉❛t❛ ❜❡t✇❡❡♥ X ❛♥❞ Y ✉♣ t♦ ❚❤r❡s❤♦❧❞ P

  6. ■♥ ❝♦❞❡✿ ❈♦♥t❡①t Pr♦❜❧❡♠ ❙♦❧✉t✐♦♥ ❈♦♥❝❧✉s✐♦♥s ❊①❛♠♣❧❡✿ ❙✇❛♣ ❉❛t❛ ❜❡t✇❡❡♥ X ❛♥❞ Y ✉♣ t♦ ❚❤r❡s❤♦❧❞ P ■♥ ♠❛t❤✿ [ ❳ ] s✇❛♣ ( ❨ , P ) ♣✐✈♦t❙✇❛♣ : � [ ❳ ] ✐t❡♠ ( ❉ ) | ❉ ≥ P � ❉ � ❳s � [ ❨ ] ✐t❡♠ ( ❉ ) � ❉ � ❳s ⊸ � [ ❨ ] ✐t❡♠ ( ❉ ) | ❉ ≤ P � ❉ � ❨s � [ ❳ ] ✐t❡♠ ( ❉ ) � ❉ � ❨s

  7. ❈♦♥t❡①t Pr♦❜❧❡♠ ❙♦❧✉t✐♦♥ ❈♦♥❝❧✉s✐♦♥s ❊①❛♠♣❧❡✿ ❙✇❛♣ ❉❛t❛ ❜❡t✇❡❡♥ X ❛♥❞ Y ✉♣ t♦ ❚❤r❡s❤♦❧❞ P ■♥ ♠❛t❤✿ [ ❳ ] s✇❛♣ ( ❨ , P ) ♣✐✈♦t❙✇❛♣ : � [ ❳ ] ✐t❡♠ ( ❉ ) | ❉ ≥ P � ❉ � ❳s � [ ❨ ] ✐t❡♠ ( ❉ ) � ❉ � ❳s ⊸ � [ ❨ ] ✐t❡♠ ( ❉ ) | ❉ ≤ P � ❉ � ❨s � [ ❳ ] ✐t❡♠ ( ❉ ) � ❉ � ❨s ■♥ ❝♦❞❡✿ predicate swap :: (loc,int) -> trigger . predicate item :: int -> fact . predicate display :: (string,A) -> actuator . rule pivotSwap :: [X]swap(Y,P), {[X]item(D)|D->Xs. D >= P}, {[Y]item(D)|D->Ys. D <= P} --o [X]display(Msg, size (Ys),Y), {[X]item(D)|D<-Ys}, [Y]display(Msg, size (Xs),X), {[Y]item(D)|D<-Xs} where Msg = "Received %s items from %s".

  8. ✶ ✷ ✸ ✶ ✷ ✷ ✶ ✷ ✶✵ ✶✽ ✸ ✹ ✻ ✽ ✷✵ ✷ ✶ ✸ ✷ ✶ ✶ ✷ ✷ ✷ ✶ ✸ ✹ ✸ ✻ ✽ ✶✽ ✷✵ ❈♦♥t❡①t Pr♦❜❧❡♠ ❙♦❧✉t✐♦♥ ❈♦♥❝❧✉s✐♦♥s ❊①❛♠♣❧❡✿ pivotSwap ❊①❡❝✉t✐♦♥ [X]swap(Y,P) {[X]item(D)|D->Xs.D>=P} --o [X]display(Msg, size (Ys),Y), {[X]item(D)|D<-Ys} {[Y]item(D)|D->Ys.D<=P} [Y]display(Msg, size (Xs),X), {[Y]item(D)|D<-Xs} where Msg = "Received %s items from %s". ▲❡t s = swap ✱ i = item ❛♥❞ d = display Node: n ✶ Node: n ✷ Node: n ✸ s ( n ✷ , ✺ ) , i ( ✹ ) , i ( ✻ ) , i ( ✽ ) i ( ✸ ) , i ( ✷✵ ) s ( n ✷ , ✶✵ ) , i ( ✶✽ )

  9. ✶ ✷ ✸ ✶ ✷ ✷ ✶ ✷ ✶✵ ✶✽ ✸ ✹ ✻ ✽ ✷✵ ✷ ✶ ✸ ✷ ✶ ✶ ✷ ✷ ✷ ✶ ✸ ✹ ✸ ✻ ✽ ✶✽ ✷✵ � ❈♦♥t❡①t Pr♦❜❧❡♠ ❙♦❧✉t✐♦♥ ❈♦♥❝❧✉s✐♦♥s ❊①❛♠♣❧❡✿ pivotSwap ❊①❡❝✉t✐♦♥ [X]swap(Y,P) {[X]item(D)|D->Xs.D>=P} --o [X]display(Msg, size (Ys),Y), {[X]item(D)|D<-Ys} {[Y]item(D)|D->Ys.D<=P} [Y]display(Msg, size (Xs),X), {[Y]item(D)|D<-Xs} where Msg = "Received %s items from %s". ▲❡t s = swap ✱ i = item ❛♥❞ d = display Node: n ✶ Node: n ✷ Node: n ✸ s ( n ✷ , ✺ ) , i ( ✹ ) , i ( ✻ ) , i ( ✽ ) i ( ✸ ) , i ( ✷✵ ) s ( n ✷ , ✶✵ ) , i ( ✶✽ )

  10. ✷ ✶ ✸ ✷ ✶ ✶ ✷ ✷ ✷ ✶ ✸ ✹ ✸ ✻ ✽ ✶✽ ✷✵ � ❈♦♥t❡①t Pr♦❜❧❡♠ ❙♦❧✉t✐♦♥ ❈♦♥❝❧✉s✐♦♥s ❊①❛♠♣❧❡✿ pivotSwap ❊①❡❝✉t✐♦♥ [X]swap(Y,P) {[X]item(D)|D->Xs.D>=P} --o [X]display(Msg, size (Ys),Y), {[X]item(D)|D<-Ys} {[Y]item(D)|D->Ys.D<=P} [Y]display(Msg, size (Xs),X), {[Y]item(D)|D<-Xs} where Msg = "Received %s items from %s". ▲❡t s = swap ✱ i = item ❛♥❞ d = display Node: n ✶ Node: n ✷ Node: n ✸ s ( n ✷ , ✺ ) , i ( ✹ ) , i ( ✻ ) , i ( ✽ ) i ( ✸ ) , i ( ✷✵ ) s ( n ✷ , ✶✵ ) , i ( ✶✽ ) �→ Node: n ✶ Node: n ✷ Node: n ✸ d (” ✶ from n ✷ ”) d (” ✷ from n ✶ ”) s ( n ✷ , ✶✵ ) , i ( ✶✽ ) i ( ✸ ) , i ( ✹ ) i ( ✻ ) , i ( ✽ ) , i ( ✷✵ )

  11. ✷ ✶ ✸ ✷ ✶ ✶ ✷ ✷ ✷ ✶ ✸ ✹ ✸ ✻ ✽ ✶✽ ✷✵ � � ❈♦♥t❡①t Pr♦❜❧❡♠ ❙♦❧✉t✐♦♥ ❈♦♥❝❧✉s✐♦♥s ❊①❛♠♣❧❡✿ pivotSwap ❊①❡❝✉t✐♦♥ [X]swap(Y,P) {[X]item(D)|D->Xs.D>=P} --o [X]display(Msg, size (Ys),Y), {[X]item(D)|D<-Ys} {[Y]item(D)|D->Ys.D<=P} [Y]display(Msg, size (Xs),X), {[Y]item(D)|D<-Xs} where Msg = "Received %s items from %s". ▲❡t s = swap ✱ i = item ❛♥❞ d = display Node: n ✶ Node: n ✷ Node: n ✸ s ( n ✷ , ✺ ) , i ( ✹ ) , i ( ✻ ) , i ( ✽ ) i ( ✸ ) , i ( ✷✵ ) s ( n ✷ , ✶✵ ) , i ( ✶✽ ) �→ Node: n ✶ Node: n ✷ Node: n ✸ d (” ✶ from n ✷ ”) d (” ✷ from n ✶ ”) s ( n ✷ , ✶✵ ) , i ( ✶✽ ) i ( ✸ ) , i ( ✹ ) i ( ✻ ) , i ( ✽ ) , i ( ✷✵ )

  12. � � ❈♦♥t❡①t Pr♦❜❧❡♠ ❙♦❧✉t✐♦♥ ❈♦♥❝❧✉s✐♦♥s ❊①❛♠♣❧❡✿ pivotSwap ❊①❡❝✉t✐♦♥ [X]swap(Y,P) {[X]item(D)|D->Xs.D>=P} --o [X]display(Msg, size (Ys),Y), {[X]item(D)|D<-Ys} {[Y]item(D)|D->Ys.D<=P} [Y]display(Msg, size (Xs),X), {[Y]item(D)|D<-Xs} where Msg = "Received %s items from %s". ▲❡t s = swap ✱ i = item ❛♥❞ d = display Node: n ✶ Node: n ✷ Node: n ✸ s ( n ✷ , ✺ ) , i ( ✹ ) , i ( ✻ ) , i ( ✽ ) i ( ✸ ) , i ( ✷✵ ) s ( n ✷ , ✶✵ ) , i ( ✶✽ ) �→ Node: n ✶ Node: n ✷ Node: n ✸ d (” ✶ from n ✷ ”) d (” ✷ from n ✶ ”) s ( n ✷ , ✶✵ ) , i ( ✶✽ ) i ( ✸ ) , i ( ✹ ) i ( ✻ ) , i ( ✽ ) , i ( ✷✵ ) �→ Node: n ✷ Node: n ✶ Node: n ✸ d (” ✷ from n ✶ ”) d (” ✶ from n ✷ ”) d (” ✷ from n ✷ ”) d (” ✶ from n ✸ ”) i ( ✹ ) , i ( ✸ ) i ( ✻ ) , i ( ✽ ) i ( ✶✽ ) , i ( ✷✵ )

Recommend


More recommend