1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Khoa học máy tính: Biểu diễn và kiểm chứng tắc nghẽn với xác suất trên mạng cảm ứng không dây bằng coloured petri net

52 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • Tổng quan (12)
    • 1.1 Đặt vấn đề (12)
    • 1.2 Mục tiêu và giới hạn (14)
    • 1.3 Cấu trúc luận văn (14)
    • Chương 1: Tổng quan (14)
    • Chương 2: Kiến thức nền tảng (14)
    • Chương 3: Nghiên cứu liên quan (14)
    • Chương 4: Mô hình xác suất CPN cho WSN (14)
    • Chương 5: Xây dựng công cụ WSN Tool (15)
    • Chương 6: Thực nghiệm (15)
    • Chương 7: Tổng kết (15)
  • Kiến thức nền tảng (16)
    • 2.1 Wireless Sensor Network (WSN) (16)
    • 2.2 Petri Net (PN) (17)
    • 2.3 Coloured Petri Net (CPN) (18)
  • Nghiên cứu liên quan (22)
    • 3.1 Xây dựng WSN bằng Petri Net (22)
      • 3.1.1 Biểu diễn mô hình (22)
      • 3.1.2 Kiểm tra mô hình (24)
      • 3.1.3 Hạn chế (25)
    • 3.2 Xây dựng mô hình WSN bằng Coloured Petri (25)
      • 3.2.1 Biểu diễn mô hình (25)
      • 3.2.2 Mô hình WSN CPN với ngữ nghĩa đồng thời (concur- (30)
  • rent semantic (30)
  • Mô hình xác suất CPN cho WSN (32)
    • 4.1 Định nghĩa mô hình xác suất WSN (32)
    • 4.2 Mô hình xác suất cho WSN biểu diễn bằng CPN (35)
    • 4.3 Phương pháp phát hiện nghẽn (36)
  • Xây dựng công cụ WSN Tools (39)
    • 5.1 Kiến trúc tổng quan (40)
    • 5.2 Xây dựng mô hình CPN cho WSN (41)
  • Thực nghiệm (45)
    • 6.1 Cấu hình thí nghiệm (45)
    • 6.2 Kết quả thực nghiệm (45)
  • Kết luận (48)
    • 7.1 Tổng kết (48)
    • 7.2 Đề xuất (48)
  • Tài liệu tham khảo (50)

Nội dung

Một số đề tài nghiên cứu về vấn đề này, điển hình là biểu diễn WSN bằng môhình Petri Net hay Coloured Petri Net bước đầu đã đạt được những thành côngnhất định.. Tiếp nối những kết quả đó

Tổng quan

Đặt vấn đề

Mạng cảm biến không dây (Wireless Sensor Network - WSN) [2] là một ứng dụng điển hình trong lĩnh vực Internet of Things [1] WSN gồm hàng ngàn các cảm biến (sensors) Các cảm biến này là các thiết bị có bộ xử lý đơn giản, nhỏ gọn, mức sử dụng năng lượng thấp WSN thường được triển khai để giám sát điều kiện vật chất hay môi trường như nhiệt độ, âm thanh, áp suất , đặc biệt là những vùng hiểm trở như trong rừng sâu hay dưới biển Các cảm biến sẽ được phân bố khắp khu vực muốn khảo sát, thu thập dữ liệu, sau đó liên lạc và truyền dữ liệu với các nút khác trong WSN qua mạng Wi-Fi để đưa về một nút chính (gateway, base station).

Tuy nhiên, việc sử dụng WSN có rất nhiều thách thức trong việc đảm bảo các ràng buộc trong mạng Do đó việc phát hiện và kiểm chứng các tính chất trong WSN đang thu hút rất nhiều sự quan tâm Nghiên cứu này sẽ tập trung vào vấn đề phát hiện tắc nghẽn trên WSN [3] Tắc nghẽn trong WSN nghĩa là trong quá trình truyền dữ liệu từ cảm biến nguồn, dữ liệu có thể bị ngừng ở một điểm nào đó và không tới được cảm biến đích Vấn đề này xảy ra có thể do thiết bị bị hư hỏng, hết năng lượng, hoặc sự bùng nổ số lượng gói tin trao đổi trong mạng và dẫn đến tắc nghẽn [4]. Đã có nhiều hướng tiếp cận cho bài toán phát hiện tắc nghẽn trên WSN Một hướng tiếp là dùng các thuật toán phát hiện tắc nghẽn trên các công cụ giả lập [3] Ưu điểm của chúng là đưa ra được cái nhìn trực quan, ưu nhược điểm của một giao thức, cũng như đưa ra được thông số cảnh báo sự đe doạ hoạt động của giao thức Tuy nhiên không phải tất cả tình huống đều có thể giả lập, cũng như không thể mô phỏng được toàn bộ các thông tin đầu vào.

Một hướng tiếp cận khác là dùng phương pháp kiểm tra mô hình (model checking) [6] vào bài toán kiểm tra tắc nghẽn [3] Một WSN sẽ được mô hình hoá thành mô hình Petri Nets, sau đó các đặc điểm được kiểm chứng bằng công cụ kiểm tra mô hình (model checker) Mô hình được viết ra ở mức trừu tượng cao nên không phụ thuộc vào giả lập, cũng như thể hiện được tất cả tình huống có thể xảy ra Một vấn đề lớn là đa phần các nghiên cứu đều giả định các thành phần của WSN hoạt động trong môi trường lý tưởng, ví dụ việc mất gói tin chỉ xảy ra do hư cảm biến hoặc liên kết Tuy nhiên, trong thực tế, các thành phần của WSN không thể luôn hoạt động đúng do các yếu tố ảnh hưởng của môi trường, hay do năng lượng còn lại thấp Từ đó, ý tưởng về áp dụng yếu tố xác suất trong WSN xuất hiện để giải quyết vấn đề trên [13] Trong giải pháp đó, WSN được biểu diễn bằng PN.

Tuy nhiên một số đặc điểm của WSN rất khó thể hiện bằng Petri Nets thông thường, như buffer, cách thức truyền dữ liệu trên mạng Coloured Petri Nets (CPN) [7], mô hình Petri Nets nâng cao, đã được sử dụng để khắc phục những điểm này [14].

Với mong muốn nâng cao hiệu quả của hướng tiếp cận mô hình WSN bằngCPN trong điều kiện thực tế, chúng tôi đề xuất thêm giải pháp sử dụng mô hình xác suất kết hợp với CPN để kiểm chứng tính chất của WSN trên mô hình thu được này Tuy vậy, các đặc tính xác suất đã chưa được quan tâm.

Mục tiêu và giới hạn

Luận văn đặt ra hai mục tiêu chính (1) xây dựng mô hình xác suất cho WSN biểu diễn bằng CPN được trình bày ở [14] (2) hiện thực công cụ hỗ trợ định nghĩa và kiểm tra mô hình CPN.

Trong phạm vi đề tài, công cụ chủ yếu tập trung vào hiện thực kiểm tra tính chất tắc nghẽn cho mô hình xây dựng được ở trên.

Cấu trúc luận văn

Nội dung luận văn có tất cả 7 phần, với nội dung chính của mỗi phần như sau:

Tổng quan

Giới thiệu tổng quan về nội dụng, mục tiêu và phạm vi đề tài Cuối cùng là cấu trúc luận văn.

Kiến thức nền tảng

Chương này trình bày các kiến thức cần thiết để hiểu và xây dựng mô hình, cụ thể là kiến thức về Petri Net, Coloured Petri Net, Wireless Sensor Network và tắc nghẽn trong mạng Wireless Sensor Network.

Nghiên cứu liên quan

Phần này nói về các công trình nghiên cứu trước đó, tạo tiền đề và ý tưởng cho việc thực hiện luận văn Ở đây có 2 nghiên cứu quan trọng là biểu diễn WSN bằng PN và biểu diễn WSN bằng CPN.

Hai chương tiếp theo là nội dung chính của luận văn.

Mô hình xác suất CPN cho WSN

Phần này sẽ trình bày định nghĩa các yếu tố xác suất trong WSN và cách áp dụng các yếu tố này vào mô hình CPN của WSN.

Xây dựng công cụ WSN Tool

Nội dung chương này trình bày công cụ hỗ trợ định nghĩa và kiểm tra cho mô hình ở Chương 4.

Thực nghiệm

Trình bày việc thực nghiệm cho bài toán.

Tổng kết

Chương cuối cùng sẽ rút ra những nhận xét trong quá trình thực hiện đề tài, bao gồm những hạn chế và phương hướng phát triển trong tương lai.

Kiến thức nền tảng

Wireless Sensor Network (WSN)

Một WSN W được định nghĩa là một tập các cảm biến và kênh truyền W {S,C}, vớiSlà tập các cảm biến (sensors) vàC là tập các kênh truyền (channels).

Tuỳ thuộc vào chức năng mà các cảm biển được chia làm ba loại nguồn (source), đích (sink) và trung gian (intermediate) Cảm biến nguồn có nhiệm vụ tạo và gửi gói tin Các gói tin được nhận bởi các cảm biến trung gian và chuyển đi trong mạng cho tới khi gặp được cảm biến đích Cảm biến đích nhận các gói tin và xử lý thông tin Các cảm biến trong mạng có thể được kết nối theo chế độ unicast, multicast hoặc broadcast, tuỳ theo đó mà chỉ ra từng cặp cảm biến có thể trao đổi thông tin hay không Nếu hai cảm biến có thể giao tiếp, ta nói có một kênh truyền được hình thành giữa các cảm biến này.

Hình 2.1 là ví dụ cho một WSN, trong đó cảm biến 1 và cảm biến 7 lần lượt đóng vai trò là nguồn và đích.

Tắc nghẽn trong WSN nghĩa là trong quá trình truyền dữ liệu từ sensor nguồn, dữ liệu có thể bị ngừng ở một điểm nào đó và không tới được sensor đích Vấn đề này xảy ra có thể do thiết bị bị hư hỏng, hết năng lượng, hoặc do sự

Hình 2.1: Ví dụ WSN bùng nổ số lượng gói tin trao đổi trong mạng là rất lớn và dẫn đến tắc nghẽn [4].

Petri Net (PN)

Petri Net là ngôn ngữ mô hình đồ hoạ được sử dụng rộng rãi trong việc mô hình hoá hệ thống mạng và giao thức. Định nghĩa 1 Một Petri net là một bộ N =, trong đó:

• P là tập hữu hạn các places, kí hiệu cho các trạng thái hoặc điều kiện đạt được trước khi một hành động được thực hiện.

• T là tập hữu hạn các transitions, biểu diễn cho các hành động (action).

• Các tập P và T không giao nhauP∩T = /0.

• F ⊆(P×T)∪(T×P) biểu diễn quan hệ giữa các places và transitions.

• W :F →N + là trọng số của cạnh (arc weight).

• M 0 : p→N là marking khởi tạo (initial marking), biểu diễn cho sự phân phối ban đầu của các tokens. Định nghĩa 2 Cho Petri net N ={P,T,F,W,M 0 }vàM:P→N là một marking của N.

Một transitiont∈T được enabled tại marking M được viết dưới dạng công thức:

Một enabled transition có thể được fire, tạo ra markingM 0 :

Coloured Petri Net (CPN)

Coloured Petri Nets [7] [8](CPN) là ngôn ngữ mô hình được ứng dụng rất nhiều trong việc mô hình các hệ thống đồng thời và phân tán, từ đó phân tích các tính chất của hệ thống.

Trong [9] mô hình được xây dựng để phân tích và phát hiện sự tấn công vào mạng (network attack) Ở đây mô hình CPN định nghĩa hành vi tấn công dựa trên chuỗi những sự kiện (events) được xác định liên quan tới sự tấn công Những sự kiện đó được biểu diễn bằng mô hình CPN dựa trên thời gian hay nguyên nhân xảy ra.

Trong [10] CPN được dùng để biểu diễn mạng chuyển Ethernet (switched Ethernet network) Mô hình biểu diễn topology qua các trạm (workstations), servers, switches và đánh giá thời gian phản hồi của mạng (network response time) Các thông số về phần cứng (hardware) và phần mềm (software) cũng được đưa vào mô hình Từ đó đưa ra các hướng nghiên cứu về đánh giá hiệu năng, điều kiện ổn định vững bền (steady-stable) cũng như tối ưu lựa chọn về phần cứng.

CPN là ngôn ngữ mô hình nâng cao hơn của PN, là sự kết hợp giữa sức mạnh của PN và ngôn ngữ lập trình hàm Khác với PN, các tokens trong CPN được phân biệt bằng các "colour" thay vì chỉ là các "chấm đen", nghĩa là tokens sẽ mang nhiều thông tin hơn Ngoài ra, các cạnh trên CPN bao gồm các biểu thức (expression) mô tả xử lý biến đổi cụ thể các token này, thay vì chỉ chứa thông tin về trọng số trong mô hình PN thông thường Các "guard" gắn trên các transitions bổ sung thêm các ràng buộc cần thiết để một transition có thể được cho phép thực thi.

Gọi EXP là tập các expression trong CPN EXP được dùng để diễn tả một số thành phần của CPN như cạnh, hay các guards Trước khi các expression tính toán giá trị, các biến trong các expression phải được gán giá trị, gọi là binding.

Dưới đây là một số định nghĩa trong CPN [14]. Định nghĩa 3 ChoS={s 1 ,s 2 , } là tập khác rỗng Một multiset trên S là hàm sốm:S→N, trong đó mỗi phần tử s∈Ssẽ tương ứng với một số nguyên không âm m(s) ∈ N gọi là số lần xuất hiện của s trong m Multiset m được viết dưới dạng công thức:

Với m 1 ,m 2 và m là các multiset, các toán thử thuộc, cộng, so sánh, trừ lần lượt được định nghĩa như sau:

Tập hợp tất cả các multiset trên S được kí hiệu làS MS Định nghĩa 4 Một Coloured Petri net là một bộ < P,T,F,∑,V,c,g,f,m 0 >,

• P là tập hữu hạn khác rỗng các places.

• T là tập hữu hạn khác rỗng các transitions sao choP∩T = /0.

• F ⊆PxT∪T xPlà tập hữu hạn các cạnh có hướng.

• ∑ là tập hữu hạn khác rỗng các coloured sets.

• V là tập hữu hạn các kiểu biến sao choType[v]∈∑,∀v∈V.

• c: p→∑ là một hàm colour set gán mỗi place p∈P với một colour set c(p)∈∑.

• g: T →EX P là một hàm guard gán mỗi transitiont ∈ T một expression kiểu Boolean.

• f : F →EX P là một hàm trên cạnh gán mỗi cạnh a∈ F một expression của kiểu multiset c(p) MS , với plà place được nối tới cạnh a.

• m 0 :P→EX P là hàm khởi tạo gán mỗi place p∈P một expression khởi tạo của kiểu multiset c(p) MS Định nghĩa 5 Với một Coloured Petri NetCPN =, ta có một số khái niệm:

• Một marking là một hàm M sao cho mỗi place p∈P ứng với một multi- set các tokens thoả M(p) ∈C(p) MS , với m 0 là marking ban đầu (initial marking) của CPN.

• Các biến của một transition t được kí hiệuVar(t)∈V và bao gồm các biến tự do xuất hiện trong hàm guard của t và expression arc của cạnh liên kết với t.

• Một phần tử binding (binding element) là một cặp (t,b)thoảt ∈T vàb∈B(t) Tập tất cả các binding elementBE(t) cho một transitiont được định nghĩa bởi BE(t) ={(t,b)|b∈B(t)} Tập hợp tất cả các binding elements trong môt mô hình CPN được kí hiệu là BE.

• Một step Y ∈ BE MS là một multiset hữu hạn, khác rỗng các binding ele- ments. Định nghĩa 6 Một binding element(t,b)∈BE được enabled tại marking M nếu và chỉ nếu hai tính chất sau được thoả mãn:

Khi (t,b) được enabled tại M, nó có thể được xảy ra, dẫn đến marking M 0 được định nghĩa bởi:

M 0 đạt được (reachable) trực tiếp từ M được kí hiệu bởi M −−→ (t,b) M 0 Tập các markings đạt được từ M được kí hiệu là R(M).

Một mô hình CPN có thể được tổ chức dưới dạng tập các module phân cấp.

Mô hình CPN với nhiều module còn được gọi là Coloured Petri Net phân cấp(Hierachical Coloured Petri Net - HCPN) Một HCPN cho phép chia một mod- ule thành nhiều module con nhỏ hơn (sub modules) liên kế với nhau qua các interfaces được định nghĩa Với mô hình HCPNs, người làm mô hình có thể làm việc với hiều mức trừu tượng và tập trung vào một số chi tiết một lúc, thay vì toàn bộ mô hình Hơn thế nữa, một module được định nghĩa một lần và có thể được dùng lặp đi lặp lại Việc này giúp cho việc đọc hiểu cũng như thay đổi một mô tả nào đó khi cần trở nên dễ dàng hơn.

Nghiên cứu liên quan

Xây dựng WSN bằng Petri Net

Trong phần tiếp theo sẽ trình bày quy trình mô hình hoá WSN bằng PN và quy trình kiểm tra Place/Transition Net.

3.1.1 Biểu diễn mô hình Để biểu diễn WSN bằng mô hình PN, một hướng tiếp cận dựa trên thành phần (Component-Based PN Model) đã được đưa ra[11]. Định nghĩa 7 Một component Com là một PN mà tập các places là hợp các 3 tập hợp không giao nhau: P Com =P in ]P out ]P inter được định nghĩa như sau:

• P in là tập không rỗng các places đầu vào (input places)T×P in ∩F =∅.

• P out là tập không rỗng các places đầu ra (output places)T×P out ∩F =∅.

• P inter là tập tất các các places khác (intermediate) trong Com.

Theo như định nghĩa 7, một cảm biến nguồn trong WSN có thể được mô hình như một thành phần trong hình 3.1 dưới đây Trong đó Input tương đương với input place, Output là output place và int là một intermediate place Transition

Generate Packets cho phép Sensor tạo các gói tin (packets) mới, sau đó gửi các packets này đi bằng transition Send Packets.

Tương tự, các sensors trung gian và đích được mô hình theo như hình 3.2 và 3.3.

Tất cả các kênh truyền có hai nhiệm vụ chính: nhận gói tin (ứng với transition

Một component-based Petri net là một PN được hình thành từ tập không giao nhau các thành phần S Com = {Com 1 , ,Com n } và một tập các liên kết S C {C 1 , ,C k }, trong đó mỗi liên kếtCi là một transition từ các output places của một component tới các input places của một thành phần khác, được mô tả như trong hình 3.4:

Hình 3.5 là một ví dụ về một Component-based Petri net bao gồm 3 compo- nents Source(S 1 ),Channel(T 1 ) vàSink(S 2 ).

Hình 3.5: Component-based PN của WSN

Sau khi biểu diễn mô hình WSN bằng component-based PN, [11] đưa ra phương pháp kiểm tra tính chất quan trọng trong WSN: tắc nghẽn mạng Kỹ thuật kiểm tra mô hình (Model checking) được dùng để kiểm tra tính chất này của mạng bằng cách sinh ra tất cả không gian trạng thái có thể đạt được Không gian trạng thái (state space) là một đồ thị có hướng, trong đó các nút thể hiện trạng thái đạt được (reachable states) của hệ thống, còn các cạnh biểu diễn các transition giữa các trạng thái Đồ thị này được gọi là reachability graph.

Mỗi khi một transition trong PN được fire, một marking mới được tạo ra.

Tập các marking hình thành nên reachability graph Để kiểm tra xem một tính chất nào có được thoả mãn hay không, phương pháp được sử dụng ở đây là một giải thuật Search đơn giản (Depth-First hoặc Breadth-First Search) để duyệt đồ thị từ trạng thái ban đầu, và cố gắng đạt tới một số trạng thái mục tiêu Tuy nhiên có thể dễ dàng nhận thấy, phương pháp này vét cạn các trường hợp, do đó rất dễ dẫn đến việc bùng nổ không gian trạng thái.

Việc mô hình hoá và kiểm tra tắc nghẽn cho WSN bằng PN đã thu được một số kết quả khả quan ban đầu Tuy nhiên hướng này còn một số hạn chế Nhiều đặc điểm của WSN rất khó thể hiện trên PN như kích thước bộ đệm (buffer), số lượng gói tin, số lượng gói tin trong hàng đợi hay bộ đệm Ngoài ra, khi mô hình mạng với số lượng nhiều nút sensor, số lượng các places và transitions cũng tăng lên tương ứng, khiến mô hình trở nên khá cồng kềnh Hình 2.1 là một ví dụ điển hình, biểu diễn cho mạng WSN với 7 sensors nhưng số lượng các places, transitions là khá lớn.

Trước những vấn đề trên, một hướng tiếp cận khác đã được đưa ra để khắc phục những này, đó là sử dụng Coloured Petri Nets Các thông số về mô hình có thể biểu diễn trực tiếp thông qua các Coloured set, ngoài ra tất cả các sensors chỉ ứng với một place, các channels cũng chỉ tương ứng với một place là channel như hình 3.8 Nội dung chi tiết sẽ được trình bày trong phần 3.2.

Xây dựng mô hình WSN bằng Coloured Petri

Dựa vào những tính chất của WSN, ta nhận thấy có 2 thành phần chính là

Hình 3.6: Mô hình PN cho hình 2.1 hình bằng CPN Như đã nêu ở phần 3.1, các nút cảm biến được chia làm 3 loại gồm có cảm biến nguồn, cảm biến trung gian và cảm biến đích Mỗi loại cảm biến có những tác vụ như sau:

• Cảm biến nguồn có tác vụ tạo và gửi gói tin.

• Cảm biến trung gian và đích xử lí gói tin trong nội bộ cảm biến đó, tức chuyển gói tin từ bộ đệm sang hàng đợi.

Một kênh truyền gồm các tác vụ:

Dựa vào các đặc điểm đó, [14] giới thiệu mô hình phân cấp CPN-based cho WSN bao gồm 7 module như sơ đồ hình 3.7.

Các kiểu colour set được sử dụng trong mô hình được định nghĩa như sau:

• Colour set SENSOR_TYPE là kiểu enum với 3 giá trị"Source", "Sink"và

"Intermediate", tương ứng với 3 loại cảm biến.

Hình 3.7: Hệ thống phân cấp cho mô hình đề xuất

• Colour set SENSOR_PARAM gồm 8 trường mô tả cấu hình và trạng thái của cảm biến Các trường này bao gồmtyp (kiểu cảm biến),buf (số lượng gói tin hiện tại trong bộ đệm), queue(số lượng gói tin hiện tại trong hàng đợi), pmax(số lượng gói tin tối đa hiện tại cảm biến nguồn có thể tạo ra), sending_rate (tỉ lệ gửi tin), processing_rate (tỉ lệ xử lý), buf_size (kích thước bộ đệm) và queue_size(kích thước hàng đợi).

• Colour set CHANNEL_PARAM gồm 3 trường định nghĩa cấu hình và trạng thái của một kênh truyền là channel_buf (số lượng gói tin trong bộ đệm của kênh truyền hiện tại), trans_ratevà channel_buf_size.

• Colour set SENSOR được định nghĩa gồm sensor_id và SENSOR_PARAM.

• Colour set CHANNEL đại diện cho kênh truyền, và được định nghĩ gồm các colour sets: id của cảm biến đến (from-sensor), các thông tin còn lại của kênh truyền CHANNEL_TO_PART (được định nghĩ gồm CHAN- NEL_PARAM và INT), và id của kênh truyền.

• Colour set CHANNEL_MODE là enum biểu diễn các chế độ hỗ trợ trong mô hình, bao gồm Unicast, Broadcast và Multicast.

• Colour set NETWORK chứa các thông tin biểu diễn chung của mạng net_channel (danh sách các kênh truyền trong mạng).

Hình 3.8 trình bày module trừu tượng nhất, Top module Module này gồm 2 transition là Initialisation và Processing với các thông tin khởi tạo và 2 places hoạt động là sensors và channels.

Initialisation module để phân biệt và chuyển đổi các thông tin của place network vào các places sensors và channels Trong hình 3.9, processing module giới thiệu các hoạt động chính của WSN Module này được chia thành 4 module con, bao gồm Generate Packet, Internal Process, Receive Packet và Transmit Packet, tương ứng bởi các transition generate, process, receive và transmit.

Một module điển hình trong các module con đó là Internal Process, tương ứng với tác vụ xử lý nội bộ của một cảm biến trung gian hoặc cảm biến đích được mô tả trong hình 3.10 Tác vụ này thực hiện di chuyển gói tin từ bộ đệm sang hàng đợi tại một cảm biến Số lượng gói tin chuyển đi được xác định bởi giá trị nhỏ nhất của số lượng gói tin trong bộ đệm của cảm biến, tỉ lệ xử lý của cảm biến và hiệu kích thước hàng đợi của cảm biến và số lượng gói tin trong hàng đợi. n_process=min(bu f,processing_rate,queue_size−queue) bu f =bu f −n_processing queue=queue+n_processing

Transition này chỉ có thể được fire khi thoả thêm điều kiện guard_process. Điều kiện đạt được khi cảm biến là cảm biến trung gian hoặc cảm biến đích, số lượng gói tin hiện tại trong bộ đệm của cảm biến lớn hơn 0 và số lượng gói tin hiện tại trong hàng đợi nhỏ hơn kích thước hàng đợi.

Chi tiết các module khác được trình bày trong[14].

3.2.2 Mô hình WSN CPN với ngữ nghĩa đồng thời (concur-

rent semantic

Trong mô hình WSN, mỗi cảm biến thực hiện nhiều tác vụ đồng thời: tạo gói tin, xử lý và gửi gói tin, trong khi đó kênh truyền cũng đồng thời xử lí việc nhận và chuyển gói tin Mỗi thành phần này có thể thực thi các tác vụ độc lập với mỗi thành phần khác Do vậy, các tác vụ của cảm biến và kênh truyền trong WSN nên được thực thi đồng thời.

Mô hình CPN với ngữ nghĩa đồng thời đề mô tả cho WSN là rất cần thiết trong thực tế Theo lý thuyết, mô hình CPN với ngữ nghĩa đồng thời cho phép những binding element đang được enabled có thể xảy ra lần lượt Tuy nhiên đa phần các công cụ mô hình hiện nay không hỗ trợ hiện thực việc này Thay vào đó, ngữ nghĩa tuần tự được hiện thực (tại một marking chỉ một enable binding element có thể được fire và việc lựa chọn binding element này không được xác định trước) với chứng minh rằng những marking đạt được từ ngữ nghĩa đồng thời cũng có thẻ đạt được tương tự trong nghữ nghĩa tuần tự Tuy nhiên, không gian trạng thái của mô hình với ngữ nghĩa tuần tự là khá lớn, số lượng các marking trung gian lớn so với không gian trạng thái của mô hình với ngữ nghĩa đồng thời.

Thêm vào đó, bài toán phát hiện tắc nghẽn sử dụng ngữ nghĩa tuần tự có thể dẫn đến kết quả giả, không thể xảy ra trong thực tế với WSN.

Do đó [14] đề xuất một mô hình với ngữ nghĩa đồng thời cho WSN với các định nghĩa dưới đây.

Gọi EBE = {ebe i }(i=1,n) là tập các enable binding element tại marking M của mô hình tuần tự Do một số thành phần của WSN có thể xảy ra đồng thời, nên một số enabled binding element của EBE cũng có thể xảy ra đồng thời.

Nhưng ở chế độ unicast, một cảm biến chỉ được chọn duy nhất một channel có kết nối tới để gửi gói tin Từ đó tác giả định nghĩa unicast-set để thể hiện những ràng buộc trong chế độ unicast như định nghĩa. Định nghĩa 8 Một unicast-set U là tập các binding elements{(t 1 ,b 1 ), ,(t m ,b m )} vớim≥1thoả mãn:

• bi(f rom_s_id) =bj(f rom_s_id);∀i, j∈ {1,2, ,m}

EBE được chia thành 2 nhóm Nhóm 1 gồm các unicast-set không giao nhau U 1 , ,U m (m≥0)của EBE, tứcU i ∩U j = /0;∀i, j∈ {1, ,m};i6= j Nhóm thứ hai được đặt là NC gồm tất cả các enabled binding elements trong EBE. Định nghĩa 9 w-step của một EBE là tập các enabled binding elements thoả mãn:W =NC∪(∪(t i ,b i ));(t i ,b i ) ∈U i Tập của tất cả các w-steps có thể xảy ra được kí hiệu là WS Hàm phân phối của WS:

Ngữ nghĩa đồng thời được xây dựng dựa trên 2 định lý sau: Định lý 1 Gọi Y là một w-step tại marking M, thì Y là tập không xung đột (non- conflict set). Định lý 2 Gọi Y là một w-step tại marking MM Các binding elements của Y có thể xảy ra tuần tự với bất kỳ thứ tự nào và luôn đạt được cùng một marking.

Mô hình xác suất CPN cho WSN

Định nghĩa mô hình xác suất WSN

Xác suất độ tin cậy Độ tin cậy của một hệ thống là xác suất để hệ thống có thể vận hành đúng.

Dựa theo [11], trong mô hình WSN, mỗi thành phần đều có xác suất tin cậy, tức xác suất để thành phần đó hoạt động chính xác Theo như biểu diễn WSN trong [12], cảm biến nguồn có 2 tác vụ là tạo và gửi gói tin, cảm biến đích có tác vụ xử lý gói tin, cảm biến trung gian có 2 tác vụ xử lý và gửi gói tin Xác suất tin cậy được định nghĩa:

• λsg là xác suất tin cậy tác vụ tạo gói tin của cảm biến nguồn.

• λss là xác suất tin cậy tác vụ gửi gói tin của cảm biến nguồn hoặc cảm biến trung gian.

• λsp là xác suất tin cậy tác vụ xử lý gói tin của cảm biến đích hoặc cảm biến trung gian.

• λct là xác suất tin cậy tác vụ chuyển giao gói tin của một kênh truyền.

Xác suất thất bại hay không tin cậy là (1 - xác xuất tin cậy) Từ những định nghĩa xác suất trên sẽ áp dụng vào topology thông thường của WSN trong trường hợp unicast và broadcast.

Xác suất lựa chọn đường đi

Trong chế độ unicast, nếu một cảm biến hoạt động đúng, nó cần chọn được một cảm biến gần đó để gửi gói tin Xác suất được chọn này là khác nhau và được định nghĩa là xác suất lựa chọn đường đi. Định nghĩa 10 Một mạng cảm biến không dây có có độ tin cậy (RWSN) được ký hiệuhS source ∪Sintermediate∪S sink ,C,λsg∪λsp∪λss∪λct,αsri, trong đó:

• S source là tập hợp hữu hạn, không rỗng của các cảm biến nguồn.

• Sintermediate là tập hữu hạn của các cảm biến trung gian.

• S sink là tập hữu hạn, không rỗng của các cảm biến đích.

• C = S i=1,n ,Ci là tập hữu hạn, không rỗng của các kênh truyền Trong đó,

Ci∩Cj = /0,∀i,j ∈ 1, ,n,i 6= j Ci là tập các kênh truyền có cùng một cảm biển tới.

• λsg : S source →R là hàm xác suất gán mỗi cảm biến s ∈ S source một xác suất p ∈R p biểu diễn xác suất về độ tin cậy cho chức năng tạo gói tin của s.

• λsp:Sintermediate∪S sink →Rlà hàm xác suất gán mỗi cảm biếns∈Sintermediate∪S sink một xác suất p∈R p biểu diễn xác suất về độ tin cậy cho chức năng

• λss : Ssource∪Sintermediate → R là hàm xác suất gán mỗi cảm biến s ∈ Ssource∪Sintermediate một xác suất p∈R p biểu diễn xác suất về độ tin cậy cho chức năng gửi gói tin của cảm biến s.

• λct :C → R là hàm xác suất gán mỗi kênh truyền c∈ C một xác suất p∈ R p biểu diễn xác suất về độ tin cậy cho chức năng gửi gói tin của kênh truyền c.

• αsr :C → R là hàm xác suất gán mỗi kênh truyền c ∈C một xác suất p∈R p biểu diễn xác suất chọn đường đi của cảm biến tới kênh truyền.

Trong chế độ broadcast, biểu thức sau được thỏa mãn: αsr(c) =1.0, ∀c∈C Trong chế độ unicast, biểu thức sau được thỏa mãn: c∈C ∑ i αsr(c) =1.0, ∀i∈1, ,n

Chúng ta lấy ví dụ đơn giản về một mạng WSN như Hình 4.1 Theo định nghĩa như trên, ta có:

• C =C 1 ={c 1−2 ,c 1−3 }, cảm biến tới của các kênh truyền trong tậpC 1 là s 1

• αsr(c 1−2 ) =αsr(c 1−3 ) =0.5(chế độ unicast)

Hình 4.1: Mạng WSN với ba cảm biến gồm một cảm biến nguồn s 1 , hai cảm biến đíchs 2 vàs 3 s 1 s 2 s 3

Mô hình xác suất cho WSN biểu diễn bằng CPN

WSN được mô hình hóa bằng Coloured Petri Net nên các tác vụ của cảm biến và kênh truyền được thực hiện khi các binding elements của transition được enable Do đó, mỗi binding element của mạng sẽ được gán một xác suất và được tính dựa trên các xác suất của mạng RWSN đã được định nghĩa ở phần trên. Định nghĩa 11 Ký hiệu BE là tập các binding elements của mô hình CPN cho mạng RWSN Ta có:

• ρ :BE → R là hàm xác suất gán mỗi binding element eb ∈ BE một xác suất p∈R.

• Nếu eb= (generate packet,b) vàb(s_id) =sthì ρ(eb) =λsg(s).

• Nếu eb= (internal process,b)và b(s_id) =s thì ρ(eb) =λsp(s).

• Nếueb= (receive packet,b)vàb(f rom_s_id) =s,b(c_id) =cthìρ(eb) λss(s)×αsr(c).

Xem xét mạng WSN như hình 4.1, ta có:

• gen 1 = (generate packet,hs_id=1,s_param={typ=Source, bu f =0,queue=0,pmax=6,sending_rate=3,processing_rate=5,bu f_size 5,queue_size=5}i) thì ρ(gen 1 ) =λsg(1) =0.9

• rec1−2= (receive packet,hs_id =1,s_param={typ=Source, bu f =0,queue=3,pmax=3,sending_rate=3,processing_rate=5,bu f_size 5,queue_size=5},c_list = [({channel_bu f =0, trans_rate=3,channel_bu f_size=5},1)],c_id=1i) thì ρ(rec 1 − 2 ) =λss(1)×αsr(1) =0.9×0.5

Phương pháp phát hiện nghẽn

Định nghĩa 12 Choeclà tập các binding elements của một markingavàa− ec →b thì P[a→b] =P[ec occured] là xác suất chuyển từ marking a sang marking b.

P[ecoccured]được tính dựa theo lý thuyết của DTSPNs [16]. Định nghĩa 13 Chosq =s 0 →s 1 → →s n →s là một chuỗi các marking từ marking s 0 đến s Xác suất của chuỗi này được tính như sau:

P[sq] =P[s 0 →s 1 ]× ×P[s n →s] Định nghĩa 14 Cho P(s) là xác suất của tất cả chuỗi đạt đến marking s xuất phát từ markings 0 S là tập tất cả các chuỗi từs 0 đếns Ta có:

Hình 4.2 trong [18] biểu diễn một phần không gian trạng thái của mô hìnhCPN cho mạng WSN ở Hình 4.1 Mỗi node biển diễn một marking bằng một tuple gồm sáu phần tử (p,q 1 ,cb 1−2 ,cb 1−3 ,b 2 ,b 3 ) Trong đó, p là số gói tin, q 1 là số gói tin có trong hàng đợi của cảm biến s 1 , cb1−2 là số gói tin có trong bộ đệm của kênh truyềns 1 −s 2 ,cb1−3là số gói tin có trong bộ đệm của kênh truyền s 1 −s 3 , b 2 là số gói tin có trong bộ đệm của cảm biếns 2 , b 3 là số gói tin có trong bộ đệm của cảm biến s 3 Mỗi cạnh được gán nhãn là tập các binding elements được thực hiện để chuyển từ markingasang markingb Node màu xám thể hiện marking xảy ra sự tắc nghẽn Cụ thể, markings 8 bị nghẽn do số gói tin trong bộ đệm của kênh truyềns 1 −s 3 lớn hơn số lượng tối đa mà kênh truyền có thể chứa.

Hình 4.2: Không gian trạng thái mô hình CPN cho mô hình WSN ở hình 4.1

Dựa trên những định nghĩa ở trên, ta tính xác suất nghẽn tại marking s 8

=λsg(1)×λss(1)×αsr(2)×λsg(1)×(1−λct(2)) 2 ×λss(1)×αsr(2)

Ta thấy xác suất để đạt đến marking nghẽns 8 vô cùng thấp,P(s 8 ) =0.249e −6 Hơn nữa, chuỗi binding elements từ s 0 đến s 8 được thực hiện một cách tuần tự.

Trong thực tế, mạng cảm biến được thực hiện theo cơ chế đồng thời nên việc diễn ra tuần tự rất hiếm khi xảy ra Do đó, chúng ta có thể kết luận rằng mạng không thể nghẽn tại marking này.

Xây dựng công cụ WSN Tools

Kiến trúc tổng quan

Nhìn chung, WSN Tools sẽ phục vụ cho việc biểu diễn mô hình PN và CPN cho WSN được trình bày ở chương 3 Sau đó tiến hành kiểm tra, cụ thể ở đây là kiểm tra tính chất tắc nghẽn cho các mô hình này Trong WSN Tools, yếu tố xác suất cũng đã được hiện thực Kiến trúc tổng quan của công cụ như trong hình 5.1, gồm có 3 tầng (layer) chính: Giao diện (Interface), Bộ chuyển đổi (Adapter), và cuối cùng là Kiểm tra (Verification).

Hình 5.1: Cấu trúc tổng quan WSN Tools

Tầng Interface giúp việc biến đổi mô hình topo của WSN thành mô hình biểu diễn được dễ dàng hơn Bằng thao tác kéo thả cho các sensors và liên kết giữa chúng, định nghĩa topo cho mô hình WSN sẽ được tạo ra tầng này (file kwsn).

Dựa vào file kwsn thu được, công cụ sẽ thực hiện các phần còn lại mà người dùng chỉ phải thực hiện một số chỉnh sửa.

File kwsn thu được sẽ được đưa vào tầng tiếp theo, Adapter Tuỳ thuộc vào loại mô hình là PN hay CPN, mô hình WSN ban đầu sẽ được chuyển đổi thành mô hình PN và CPN tương ứng Ở tầng này, ngoài việc định nghĩa WSN bằng ngôn ngữ mô hình, công cụ cũng tạo ra những hàm lập trình tương ứng theo lí thuyết được trình bày ở chương 3, ứng với các thông số cũng như các luật enable, firing của mô hình

Kết quả của tầng Adapter sẽ được đưa vào tầng tiếp theo, Verification để tiến hành việc kiểm tra để xác định các trạng thái tắc nghẽn xảy ra theo phương pháp đã được trình bày ở chương 3.

Trong phạm vi luận văn sẽ chủ yếu tập trung vào hiện thực mô hình CPN cho WSN như hình 5.1 Chi tiết quá trình hiện thực sẽ được trình bày trong phần5.2.

Xây dựng mô hình CPN cho WSN

Từ file định nghĩa kwsn cho mô hình thu được ở tần Interface, tại tầng Adapter này sẽ thực hiện việc chuyển đổi thành mô hình CPN cho WSN Việc thực hiện này dựa theo PNML, ngôn ngữ mô hình dành cho CPN nói chung Các thành phần place, transition và arc được trình bày tương ứng như dưới đây Tại place có thêm định nghĩa về token và var, ứng với tên biến giá trị khởi tạo ban đầu (initial var) và biến binding ứng với cạnh nối với place này Transition lưu thêm giá trị của hàm guard, còn arc sẽ chứa thêm thông tin về hàm binding nếu là cạnh output từ transition.

Hình 5.3 mô tả chi tiết kiến trúc ở tầng này Từ PNML, file wsn-cpn.pnml được tạo ra, chứa các thông tin về mô hình CPN tương ứng Các tên hàm và biến ở file này sẽ được định nghĩa trong file rule.txt Thực chất, rule.txt là một dạng

Hình 5.2: Ví dụ cấu trúc PNML của WSN-CPN cần thiết sử dụng trong mô hình này File này sẽ chứa các biến khởi tạo, các biến và hàm binding trên các cạnh ứng với firing rule, cũng như các hàm guard để kiểm tra việc enable của một transition.

Hình 5.3: Cấu trúc CPN Adapter

Sau quá trình tạo mô hình con và các luật (rule), kết quả thu được là 2 files wsn-cpn.pnml và rule.txt Các tập này sẽ tiếp được đưa vào tầng kế tiếp State space.

CPN State space generation and verification

Trước tiên, cần hiện thực một compiler để có thể đọc và thực thi các hàm từ file rule.txt để có thể tạo ra các marking theo lí thuyết ở chương 3 Trong com- piler cần định nghĩa ngữ pháp cho ngôn ngữ, ngoài các toán tử, định nghĩa biến cơ bản, compiler này cũng bao gồm một số hàm bổ trợ cần thiết như randomInt (trả về giá trị một số nguyên trong một khoảng), min (trả về giá trị số nguyên nhỏ nhất của các tham số đầu vào) Bằng việc hiện thực compiler này, ngoài việc có thể đọc và thực thi file rule.txt được tạo ra, trong quá trình nghiên cứu, công cụ hỗ trợ người dùng việc thay đổi các hàm biến đổi, các thông số đầu vào một cách dễ dàng và rõ nghĩa Tại mỗi trạng thái (marking) của mô hình, tìm tập các enabled transition bằng việc gọi các hàm guard Sau đó thực hiện việc fire với mỗi bộ binding tương ứng trên các transition đó Ở đây hỗ trợ cho cả mô hình với ngữ nghĩa đồng thời, bằng việc fire các transition không xung đột cùng lúc Các marking đạt được sẽ được lưu vào theo dạng đồ thị để phục vụ cho việc kiểm tra trong tầng Verification.

Ngoài ra, tầng này cũng hiện thực mô hình xác suất RWSN-CPN Các yếu tố xác suất về độ tin cậy và lựa chọn được đi được tính toán và gán với marking tương ứng.

Từ State space thu được, là một đồ thị với các nốt là các marking, các nút cha và con tương ứng là các trạng thái dẫn đến và tạo thành từ nốt này Việc kiểm tra được tiến hành bằng thuật toán duyệt đồ thị thông thường Tắc nghẽn trong mạng được xác định dựa vào thông số của các token, như số lượng gói tin trong hàng đợi hoặc bộ đệm có vượt quá số lượng tối đa cho phép Cuối cùng sẽ xác định được các trạng thái có thể xảy ra, cũng như các bước dẫn đến việc tắc nghẽn này với thông số xác suất để dẫn đến trạng thái này.

Về việc tiến hành hiện thực, các tầng (layer) được hiện thực bằng ngôn ngữJava Java có cộng đồng lớn, cũng như rất nhiều thư viện hỗ trợ, giúp cho việc

Một yếu tố quan quan trọng khác là compiler cho các hàm binding Để hiện thực compiler sử dụng ANTLR (Another Tool for Language Recognition) Từ ngữ pháp (grammar) được định nghĩa, ANTLR hỗ trợ việc tạo ra parser, cũng như định nghĩa các toán tử và thực thi cho các hàm Compiler hiện tại chỉ hạn chế với một số hàm, toán tử, định nghĩa về Colour set để phục vụ mô hình CPN cho WSN

Thực nghiệm

Cấu hình thí nghiệm

Thí nghiệm được tiến hành với công cụ WSN Tool được trình bày ở chương 5 với cấu hình:

• Hệ điều hành: MAC OS Sierra

Phần tiếp theo sẽ trình bày kết quả thực nghiệm cho việc kiểm tra tắc nghẽn cho mô hình xác suất cho mô hình WSN biểu diễn bằng CPN.

Kết quả thực nghiệm

Hình 6.1 trình bày kết quả thực nghiệm của mô hình xác suất CPN với ngữ nghĩa đồng thời cho mô hình WSN Ở đây chỉ xét cho trường hợp WSN ở chế độ

Hình 6.1: Kết quả thực nghiệm là 50 Trong đó P_nghẽn là tổng xác suất nghẽn Trong quá trình tiến hành thực nghiệm, các thông số về tỉ lệ gửi gói tin (sending rate), xử lý gói tin (processing rate) hay chuyển gói tin (transmit rate) thay vì được tính cố định, tỉ lệ này sẽ được tớnh dựa vào hàm phõn phối chuẩn N(à,σ 2 ), với cỏc giỏ trị trung bỡnh à và độ lệch chuẩnσ như trên hình 6.1.

Theo hình 6.1, ta có thể nhận thấy, khi tỉ lệ tạo hoặc gửi gói tin, xử lý gói tin trong mạng càng tăng cao, xác suất xảy ra nghẽn cũng tăng lên, việc tắc nghẽn sẽ xảy ra rất nhanh chỉ sau một số bước khiến mô hình không hoạt động tiếp tục được nữa.

Khi số lượng cảm biến tăng dần trong khoảng 100 cảm biến, bộ nhớ dành cho chương trình cũng tăng lên tương ứng do vấn đề lưu trữ cũng như không gian trạng thái quá lớn Do giới hạn về mặt tài nguyên nên thực nghiệm chỉ dừng lại ở số lượng trạng thái mà chương trình cho phép.

Các kết quả này chỉ mới là mô phỏng bước đầu với bài toán xác suất CPN cho WSN Số lượng gói tin cũng như cảm biến vẫn còn khá hạn chế Tiếp theo cần tiến hành thí nghiệm với số lượng cảm biến và gói tin lớn hơn, cũng như tìm hiểu thêm một số kĩ thuật để giảm bớt không gian trạng thái.

Ngày đăng: 09/09/2024, 03:49

w