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

(LUẬN VĂN THẠC SĨ) Kiểm chứng các dịch vụ web

67 2 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 67
Dung lượng 1,44 MB

Cấu trúc

  • CHƯƠNG 1. ĐẶT VẤN ĐỀ (5)
    • 1.1 Lý do chọn đề tài (5)
    • 1.2 Mục tiêu của luận văn (6)
    • 1.3 Cấu trúc của luận văn (7)
  • CHƯƠNG 2. DỊCH VỤ WEB VÀ CHẤT LƯỢNG DỊCH VỤ CỦA DỊCH VỤ (8)
    • 2.1 Dịch vụ web (8)
    • 2.2. Chất lượng dịch vụ của dịch vụ web (25)
  • CHƯƠNG 3. TỔNG QUAN VỀ PHƯƠNG PHÁP B (31)
    • 3.1 Giới thiệu chung (31)
    • 3.2 Khái niệm máy trừu tượng (31)
    • 3.3 Trạng thái ban đầu của thiết kế (32)
    • 3.4 Cải tiến (33)
  • CHƯƠNG 4. TỔNG QUAN VỀ OWL-S (37)
    • 4.1 Ngôn ngữ OWL-S (37)
    • 4.2 ServiceProfile và các thuộc tính (38)
    • 4.3 Mô hình dịch vụ thành các tiến trình (43)
  • CHƯƠNG 5. KIỂM CHỨNG SỰ PHÙ HỢP CHỨC NĂNG TRONG MÔ HÌNH (47)
    • 5.1 Phương pháp kiểm chứng (47)
    • 5.2 Ví dụ minh họa (50)
    • 5.3 Hình thức hóa và kiểm chứng (53)
  • CHƯƠNG 6. KẾT LUẬN (63)
  • TÀI LIỆU THAM KHẢO (64)

Nội dung

DỊCH VỤ WEB VÀ CHẤT LƯỢNG DỊCH VỤ CỦA DỊCH VỤ

Dịch vụ web

Dịch vụ web cung cấp giao diện truy cập mạng đến các ứng dụng chức năng, được xây dựng dựa trên các công nghệ chuẩn Internet Hình ảnh minh họa bên dưới thể hiện rõ hơn về khái niệm này.

Hình 2.1 Dịch vụ cho phép truy cập tới các code ứng dụng sử dụng chuẩn công nghệ Internet

Dịch vụ web là một phương thức tích hợp các ứng dụng trên nền web thông qua các công nghệ như XML, SOAP, WSDL và UDDI, nhằm mục tiêu tích hợp ứng dụng và truyền thông điệp XML được sử dụng để đánh dấu dữ liệu, trong khi SOAP đảm nhận việc truyền dữ liệu WSDL mô tả các dịch vụ có sẵn, và UDDI liệt kê các dịch vụ hiện đang sẵn sàng để sử dụng.

Khác với mô hình Client/Server truyền thống như hệ thống Webserver/webpage, dịch vụ web không cung cấp giao diện đồ họa cho người dùng mà chỉ chia sẻ và xử lý dữ liệu logic thông qua một giao diện chương trình ứng dụng trên mạng Tuy nhiên, nhà phát triển có thể tích hợp dịch vụ web vào giao diện đồ họa người dùng, chẳng hạn như trang web hoặc ứng dụng, để cung cấp thêm chức năng đặc biệt cho người dùng.

Ngày nay, dịch vụ web được triển khai trên Internet dưới dạng Website HTML, yêu cầu có cơ chế công bố, quản lý, tìm kiếm và phục hồi nội dung cho người sử dụng thông qua giao thức HTTP và định dạng HTML Các ứng dụng Client như Web Browser cần hiểu các chuẩn dịch vụ web hỗ trợ để tương tác và thực hiện nhiệm vụ như đặt mua sách, gửi thiệp mừng hoặc đọc bản tin.

Dịch vụ web cung cấp tính trừu tượng cho các giao diện chuẩn, giúp loại bỏ vấn đề tương tác giữa các dịch vụ viết trên Java và trình duyệt C++, cũng như giữa các dịch vụ triển khai trên Unix và trình duyệt Windows Nhờ đó, dịch vụ web cho phép giao tiếp hiệu quả giữa các nền tảng khác nhau, tạo ra một nền tảng trung gian liên kết chúng lại với nhau.

Tính tương thích của dịch vụ web là một lợi thế mạnh mẽ, cho phép tích hợp dễ dàng giữa các ứng dụng và máy khách khác nhau Mặc dù công nghệ Java và công nghệ của Microsoft thường khó hòa hợp, dịch vụ web giúp vượt qua rào cản này, mang lại khả năng kết nối linh hoạt cho các hệ thống khác nhau.

2 công nghệ trên hoàn toàn có khả năng tương tác với nhau thông qua dịch vụ web

Nhiều nhà cung cấp ứng dụng hàng đầu như IBM và Microsoft đã tích cực hỗ trợ dịch vụ web trong các sản phẩm của họ Cụ thể, IBM cung cấp dịch vụ web qua các gói sản phẩm như WebSphere, Tivoli, Lotus và DB2, trong khi Microsoft cũng hỗ trợ dịch vụ web thông qua nền tảng NET.

2.1.1 Đặc điểm của dịch vụ web

Dịch vụ web là các ứng dụng độc lập, tự mô tả và có thể được công bố trên Web Chúng thực hiện nhiều chức năng, từ các yêu cầu đơn giản đến việc kết hợp các tiến trình nghiệp vụ phức tạp Khi một dịch vụ web được triển khai, các ứng dụng khác và các dịch vụ web khác có khả năng phát hiện và gọi dịch vụ đó.

Dịch vụ web cho phép các ứng dụng từ nhiều nguồn khác nhau giao tiếp mà không cần nhiều mã hóa, nhờ vào việc sử dụng định dạng XML Điều này giúp dịch vụ web không bị ràng buộc bởi hệ điều hành hay ngôn ngữ lập trình, cho phép chương trình viết bằng Java trao đổi dữ liệu với chương trình viết bằng Perl, hoặc ứng dụng trên Windows giao tiếp với ứng dụng trên Linux Ngoài ra, dịch vụ web không yêu cầu trình duyệt hay ngôn ngữ HTML, và đôi khi được gọi là dịch vụ ứng dụng.

Sự kết hợp giữa phát triển từng thành phần với các lĩnh vực cụ thể và cơ sở hạ tầng Web mang lại lợi ích cho doanh nghiệp, khách hàng, nhà cung cấp và cá nhân thông qua mạng Internet.

Dịch vụ Web đang phát triển mạnh mẽ và có thể áp dụng rộng rãi trong nhiều lĩnh vực của cuộc sống Các ứng dụng bao gồm dịch vụ chọn lọc và phân loại tin tức, dịch vụ du lịch với thông tin về giá vé và địa điểm, thông tin thương mại như giá cả và tỷ giá hối đoái, cũng như các dịch vụ giao dịch trực tuyến cho cả B2B và B2C như đặt vé máy bay và mua sắm trực tuyến.

Dịch vụ web đang phát triển mạnh mẽ và trở thành ưu tiên hàng đầu của các doanh nghiệp hiện nay nhờ vào những ưu điểm nổi bật mà nó mang lại.

2.1.2 Ưu, nhược điểm của dịch vụ web Ưu điểm:

Dịch vụ Web cung cấp chức năng hoạt động rộng lớn với các ứng dụng phần mềm khác nhau chạy trên những nền tảng khác nhau

Sử dụng các giao thức và chuẩn mở Giao thức và định dạng dữ liệu dựa trên văn bản (text), giúp các lập trình viên dễ dàng hiểu được

Có khả năng tái sử dụng cao Do vậy và giảm chi phí sản xuất và phát triển, tăng doanh thu cho doanh nghiệp

Thúc đẩy đầu tư vào các hệ thống phần mềm hiện có bằng cách tích hợp các tiến trình và chức năng nghiệp vụ thông qua giao diện dịch vụ Web.

Tạo mối quan hệ tương tác lẫn nhau và mềm dẻo giữa các thành phần trong hệ thống, dễ dàng cho việc phát triển các ứng dụng phân tán

Thúc đẩy tích hợp hệ thống giúp giảm bớt sự phức tạp, hạ giá thành hoạt động và phát triển hệ thống nhanh chóng, đồng thời tương tác hiệu quả với các doanh nghiệp khác.

Trong thời gian chết của Dịch vụ Web, sẽ xảy ra những thiệt hại lớn do giao diện không thay đổi và khả năng lỗi nếu máy khách không được nâng cấp Ngoài ra, việc thiếu các giao thức cần thiết cho hoạt động cũng sẽ gây ra nhiều vấn đề nghiêm trọng.

Có quá nhiều chuẩn cho dịch vụ Web khiến người dùng khó nắm bắt

Do phát triển trong môi trường internet, các dịch vụ web cần được quan tâm nhiều hơn đến tính bảo mật và an toàn

2.1.3 Ki ến trúc của dịch vụ web

Kiến trúc của dịch vụ web yêu cầu phải có 3 thao tác cơ bản đó là: Find (Tìm kiếm), Publish (Công bố), Bind (Kết nối)[2]

Hình 2 3 Kiến trúc của dịch vụ web

Chất lượng dịch vụ của dịch vụ web

2.2.1 Ch ất lượng dịch vụ l à gì?

Chất lượng dịch vụ (Quality of Service - QOS) là chỉ số quan trọng để đo lường khả năng kiểm soát và phân bổ băng thông mạng, nhằm đảm bảo cung cấp dung lượng dữ liệu phù hợp với các chức năng dự kiến, dựa trên tầm quan trọng của các quy trình nghiệp vụ.

Khi lưu lượng thông tin quá lớn, chức năng cân bằng tải giúp chuyển hướng dữ liệu sang server khác, giảm tình trạng tắc nghẽn Một số bộ chuyển mạch có khả năng phân biệt dòng thông tin như giao thức FTP và HTTP, từ đó chuyển hướng theo quy tắc đã định sẵn Điều này cải thiện hiệu quả sử dụng mạng một cách đáng kể.

QoS cho phép quản trị viên kiểm soát dòng thông tin một cách chi tiết hơn, xác định cách thức mà dữ liệu từ các ứng dụng di chuyển qua các bộ định tuyến và chuyển mạch trong mạng.

QoS không chỉ đơn thuần là việc xác định thứ tự dòng thông tin qua cổng, mà còn liên quan đến nhiều yếu tố khác Nó đóng vai trò quan trọng trong việc xây dựng chính sách vận hành mạng, giúp xác định cách thức sử dụng tài nguyên mạng trong các điều kiện đặc biệt và phân bổ băng thông một cách hiệu quả.

Nhà quản trị mạng có thể ưu tiên dòng dữ liệu dựa trên giá trị nghiệp vụ, ví dụ như cấp quyền ưu tiên cho giao dịch mua bán cổ phiếu so với yêu cầu thông tin thông thường.

Các chính sách có thể xác định rằng một số dòng dữ liệu có thể thay đổi về dung lượng và tầm quan trọng theo thời gian Chẳng hạn, thông tin bán hàng thường được ưu tiên cao hơn trong bộ phận kế toán, ngoại trừ vào cuối mỗi quý khi bộ phận này cần thực hiện tính toán và báo cáo.

2.2.2 T ầm quan trọng của QoS đối với dịch vụ web

Với sự phát triển nhanh chóng của công nghệ dịch vụ web, chất lượng dịch vụ (QoS) ngày càng trở thành yếu tố quyết định sự thành công của các nhà cung cấp QoS không chỉ ảnh hưởng đến chức năng sử dụng và tính hữu ích của dịch vụ, mà còn tác động trực tiếp đến mức độ phổ biến của dịch vụ web.

Trong thời đại thương mại điện tử phát triển mạnh mẽ, việc tích hợp liền mạch các quy trình thương mại, ứng dụng và dịch vụ web qua Internet trở nên cần thiết Đánh giá chất lượng dịch vụ web là thách thức lớn do sự phát triển không ngừng của các ứng dụng Web-Base và yêu cầu chất lượng dịch vụ luôn thay đổi Các ứng dụng với đặc điểm riêng biệt cạnh tranh về tài nguyên mạng hạn chế Sự biến động lưu lượng thông tin, tấn công từ chối dịch vụ, hạ tầng công nghệ thông tin yếu kém và vấn đề an ninh đã tạo ra nhu cầu thiết lập các chuẩn chất lượng cho dịch vụ Internet Thông thường, việc không đáp ứng được yêu cầu QoS là nguyên nhân chính dẫn đến hiệu suất giao tác thấp.

Các chuẩn như SOAP, UDDI và WSDL đã được thống nhất trong lĩnh vực dịch vụ web, bao gồm tài chính, công nghệ cao, đa phương tiện và giải trí Để các dịch vụ web có thể liên kết hiệu quả, việc thiết lập chuẩn hóa là cần thiết Chất lượng dịch vụ (QoS) sẽ là yếu tố quan trọng để đánh giá thành công và sự khác biệt trong chất lượng phục vụ của các dịch vụ web.

2.2.3 Các yêu c ầu về chất lượng dịch vụ của dịch vụ web

Các yêu cầu về chất lượng dịch vụ của dịch vụ web phải đáp ứng được các yêu cầu dưới sau [7]:

Tính sẵn sàng là một yếu tố quan trọng trong chất lượng dịch vụ, phản ánh khả năng cung cấp dịch vụ tại một thời điểm cụ thể Nó thể hiện xác suất dịch vụ có thể được sử dụng và thường được đo bằng Thời gian phục hồi (TTR - Time to Repair), chỉ thời gian cần thiết để khôi phục dịch vụ web sau khi xảy ra lỗi Một TTR thấp là mong đợi, cho thấy dịch vụ luôn sẵn sàng phục vụ người dùng Ngược lại, TTR cao có thể dẫn đến sự không chắc chắn về khả năng cung cấp dịch vụ trong khoảng thời gian nhất định.

Tính truy cập được là một yếu tố quan trọng phản ánh chất lượng dịch vụ web, thể hiện qua khả năng đáp ứng các yêu cầu dịch vụ Nó đo lường tốc độ thành công và sự thay đổi thành công của dịch vụ trong một khoảng thời gian nhất định Tính sẵn sàng của dịch vụ web cũng là một chỉ số của tính truy cập được Một dịch vụ web có tính truy cập cao thường có hệ thống triển khai linh hoạt, cho phép phục vụ đồng thời nhiều yêu cầu khác nhau một cách nhất quán.

Tính toàn vẹn là một yếu tố chất lượng quan trọng trong dịch vụ, đảm bảo sự chính xác trong các tương tác liên quan đến tài nguyên Việc thực hiện đúng các giao tác dịch vụ web sẽ mang lại độ tin cậy cho các tương tác này Mỗi giao tác được xem như một chuỗi các thao tác được xử lý như một đơn vị công việc độc lập, và tất cả các hoạt động cần thiết phải hoàn thành để đảm bảo thành công cho giao tác Nếu một giao tác không thành công, tất cả các thay đổi sẽ được khôi phục về trạng thái ban đầu.

Tính thực thi là một yếu tố quan trọng trong chất lượng dịch vụ, đo lường giới hạn của thông lượng và độ trễ Một dịch vụ web hoạt động tốt sẽ có giá trị thông lượng cao và độ trễ thấp Thông lượng thể hiện số lượng yêu cầu dịch vụ web được xử lý trong một khoảng thời gian nhất định, trong khi độ trễ là thời gian giữa việc gửi yêu cầu và nhận phản hồi.

Tính tin cậy là một yếu tố quan trọng trong chất lượng dịch vụ, thể hiện khả năng cung cấp dịch vụ một cách nhất quán và hiệu quả Được đo lường qua số lượng lỗi xảy ra trong một khoảng thời gian nhất định, tính tin cậy không chỉ liên quan đến việc đảm bảo dịch vụ mà còn đến việc truyền tải chính xác thông điệp giữa các dịch vụ yêu cầu và đáp ứng.

Tính linh động trong dịch vụ web thể hiện khả năng thích ứng với các luật lệ và quy tắc, đồng thời cho phép kết hợp các chuẩn và thiết lập dịch vụ mức cao hơn Các chuẩn như SOAP, UDDI và WSDL đóng vai trò quan trọng trong việc đảm bảo tính đúng đắn của các phiên bản dịch vụ, ví dụ như SOAP V1.2 Sự tuân thủ nghiêm ngặt các chuẩn này từ các nhà cung cấp dịch vụ web là yếu tố thiết yếu để đáp ứng đúng yêu cầu của người sử dụng dịch vụ.

TỔNG QUAN VỀ PHƯƠNG PHÁP B

Giới thiệu chung

B là một phương pháp hình thức nhằm đặc đả, cải tiến và thực thi phần mềm, bắt đầu từ một mô hình trừu tượng của hệ thống chưa phát triển và dần dần thêm chi tiết thông qua các mô hình cụ thể Quá trình phát triển yêu cầu các bước chứng minh để đảm bảo tính chính xác, những bước này có thể được chứng minh tự động hoặc tương tác Mục tiêu cuối cùng của B là đạt được một mô hình đã được kiểm chứng.

Khái niệm máy trừu tượng

Các giai đoạn phát triển phần mềm được thể hiện qua các máy trừu tượng, trong đó mỗi máy bao gồm một trạng thái và các toán tử tương ứng Trạng thái này được mô tả bằng một tập hợp các biến.

Một máy trừu tượng được xác định bởi một tên nhất định chứa thông tin về các hằng số (CONSTANTS) mô tả cấu trúc bài toán Nó bao gồm các thuộc tính (PROPERTIES) mô tả các hằng số và danh sách các quy tắc (ASSERTIONS) dùng để chứng minh Máy cũng chứa các biến (VARIABLES), khởi tạo (INITIALIZATION) và bất biến (INVARIANT), mô tả các thuộc tính không đổi của một hoặc nhiều biến Các mệnh đề thao tác (OPERATIONS) mô tả các thủ tục mà máy dự định thực hiện, và mẫu của một máy được biểu diễn như trong Hình 3.1.

Hình 3.1 Một Máy trừu tượng tổng quát

Máy là một bước tiến từ một máy trừu tượng nguyên thủy, và khái niệm REFINES được giới thiệu để kết nối hai loại máy này.

Trạng thái ban đầu của thiết kế

Trong bài viết này, chúng ta sẽ xem xét một ví dụ đơn giản về việc tìm kiếm một phần tử v trong mảng nguyên t có kích thước n Thuật toán được đề xuất sẽ trả về giá trị true nếu phần tử v được tìm thấy trong mảng và false nếu không tìm thấy Đầu tiên, một máy trừu tượng mô tả ý tưởng này sẽ được tạo ra, gọi là máy.

Trong bài viết này, chúng ta sẽ tìm hiểu về thuật toán tìm kiếm với hai hằng số quan trọng là t và n Ở đây, t là một mảng số nguyên có kích thước n, trong đó n được chọn từ một tập hợp N, và các phần tử của mảng t nằm trong khoảng từ t[0] đến t[n-1].

Mệnh đề OPERATIONS xác định rằng chương trình sẽ tìm kiếm giá trị v trong mảng t; nếu giá trị v được tìm thấy, biến b sẽ nhận giá trị true, ngược lại, b sẽ có giá trị false.

Máy có dạng như sau:

Hình 3.2 Ví dụ máy trừu tượng search

Cải tiến

Máy trừu tượng đã được cải tiến gần gũi với máy nguyên thủy, với một số chi tiết mới trong thiết kế Cải tiến này diễn ra thông qua một chuỗi bước thiết kế hướng đến thực thi Một máy M được cải tiến thành M’ chỉ khi M’ có thể thay thế M trong mọi trường hợp đã định nghĩa cho M, nhưng điều này không có nghĩa là M’ hoàn toàn tương đương với M Để tiến gần hơn đến việc thực thi chương trình, một máy mới mang tên ‘searchR’ đã được phát triển nhằm cải tiến máy ‘search’ Máy mới này hoạt động trên cùng một tập hợp các hằng số với các thuộc tính tương tự như máy ‘search’, nhưng có những thay đổi đáng kể trong mệnh đề OPERATIONS.

Máy mới ‘searchR’ sử dụng vòng lặp while với biến i để duyệt qua mảng t Biến b được thiết lập là true khi tìm thấy một phần tử trong mảng và giữ giá trị false khi không tìm thấy.

Một vòng lặp được đưa ra cần có lặp bất biến và biến được xác định rõ ràng Lặp bất biến đảm bảo rằng i 0

SEES Types REFINE Requirements VARIABLES

INVARIANT ChangeFeeOf  FARETYPES  MONEY  availabilityP  AVAILABILITY  maxResTimeP  INT  reliabilityP  RELIABILITY  availabilityR  availabilityP  maxResTimeP  maxResTimeR  reliabilityR  reliabilityP

FareType  FARETYPES  seat  INT  seat >0

5.3.2 Ki ểm chứng bằng công cụ hỗ trợ B

Các công cụ hỗ trợ của B sẽ kiểm tra xem giá trị trả lại của hàm trong máy cải tiến có thuộc kiểu Money và có phù hợp với giá trị đầu ra của phương thức calcul_ChangeFee trong máy trừu tượng hay không Việc này được thực hiện thông qua các bước chứng minh của cải tiến B, giúp kiểm tra sự tương quan giữa QoS của người yêu cầu dịch vụ và nhà cung cấp dịch vụ, như đã được định nghĩa trong bất biến gắn kết của máy cải tiến.

Atelier B, được phát triển bởi ClearSy, là một công cụ xây dựng ứng dụng dựa trên phương pháp B, cung cấp nhiều chức năng quản lý dự án theo ngôn ngữ B trong một môi trường rõ ràng và mạch lạc Các chức năng của Atelier B được phân loại thành ba nhóm chính.

 Nhóm hỗ trợ chứng minh: Dùng để kiểm chứng các bước chứng minh bằng các công cụ chứng minh phù hợp

 Nhóm hỗ trợ phát triển: Quản lý tự động sự phụ thuộc giữa các thành phần B

Nhóm công cụ thân thiện với người dùng giúp người dùng dễ dàng theo dõi các dự án thông qua đồ họa trực quan, hiển thị trạng thái và số liệu thống kê của từng dự án, cũng như thông tin về các dự án lưu trữ.

Atelier B hỗ trợ người dùng qua giao diện đồ họa hoặc dòng lệnh trực tiếp, cho phép hoạt động đa người dùng Trong quá trình phát triển dự án, các nhiệm vụ có thể được tự động hóa để nâng cao hiệu quả làm việc.

 Thẩm tra cú pháp của các thành phần

 Tự động sinh các bước chứng minh

Atelier B hiện có phiên bản cho Windows, Linux, Mac và Solaris, cho phép tự động biên dịch các cài đặt B sang ngôn ngữ C hoặc Ada Để tải về, người dùng truy cập trang http://www.atelierb.eu và chọn phiên bản Atelier B 4.0 phù hợp với hệ điều hành của mình Phiên bản này hoàn toàn miễn phí Bài viết này tập trung vào phiên bản Atelier B 4.0 dành cho Windows Sau khi tải về, người dùng chỉ cần chạy file atelierb-4.0-win32-free.exe để cài đặt như các phần mềm thông thường.

Sau khi cài đặt, người dùng sẽ thấy màn hình chào của Atelier B và màn hình quản lý dự án Atelier B cung cấp nhiều chức năng cụ thể cho việc quản lý và phát triển dự án.

 Quản lý các thành phần trong dự án

 Thẩm tra cú pháp của các thành phần TC (Types Check)

 Tự động sinh các bước chứng minh PO (Generated POs)

 Tự động chứng minh mức 0 F0 (Automatic Proved Force 0)

 Tự động chứng minh mức 1 F1 (Automatic Proved Force 1)

 Tự động chứng minh lại Fr (Proof Replay)

Ngoài các chức năng trên Atelier B cũng cho phép:

 Chỉnh sửa các thành phần Ed (Edit Component)

 Chứng minh tương tác Ip (Interactive Proof), được dùng khi chứng minh tự động là thất bại

Hình 5.5 Màn hình chào của Atelier B 4.0

Màn hình quản lý dự án trong Atelier B 4.0 cho phép người dùng tạo ra các máy trừu tượng và máy cải tiến theo quy tắc của Atelier B Để kiểm chứng ví dụ minh họa trong mục 5.2, trước tiên, chúng ta cần tạo một dự án mới với tên gọi testChangeFee Trong dự án này, người dùng có thể tạo ra các thành phần con như kiểu máy, kiểu cải tiến và kiểu thực thi.

Máy Types là các máy chứa tập hợp được sử dụng trong mô hình đã được hình thức hóa theo mục 5.3.1 và được tạo ra trong Atelier B, như thể hiện trong Hình 5.7.

 FARETYPES là tập chứa các loại vé mà khách hàng có thể chọn khi mua vé

MONEY đại diện cho giá trị mà khách hàng phải trả khi thay đổi loại vé đã mua Do phương pháp B không sử dụng kiểu số thực, nên giá trị trong tập MONEY chỉ có thể là số nguyên dương.

 AVAILABILITY là tập xác định thuộc tính sẵn sàng của dịch vụ cung cấp, nó có kiểu giá trị trả lại trong khoảng từ 1 đến 100

 RELIABILITY là tập xác định thuộc tính tin cậy của dịch vụ cung cấp, nó có kiểu giá trị trả lại trong khoảng từ 1 đến 100

Hình 5.7 Máy Types trong Atelier B

Các yêu cầu của người yêu cầu dịch vụ Tính Toán Phí Thay Đổi được mô hình hóa thành máy WS_Requester trong Atelier B Những yêu cầu này bao gồm việc tính phí thay đổi vé máy bay và các thuộc tính chất lượng mong muốn được thể hiện qua toán tử serviceQuality.

 maxResTimeR:Thời gian tối đa đáp ứng

Hình 5.8 Máy ws_requester trong Atelier B

Nhà cung cấp dịch vụ Change Fee Calculation được mô hình hóa thành máy WS_Provider trong Atelier B, như thể hiện trong Hình 5.9 Các khả năng này bao gồm một hàm tính tổng số tiền mà người yêu cầu dịch vụ phải trả để thay đổi loại vé.

TotalChangeFee và các thuộc tính chất lượng được đưa ra trong toán tử serviceQuality gồm:

 maxResTimeP: Thời gian tối đa đáp ứng

Hình 5.9 Máy ws_provider trong Atelier B

Nhà cung cấp dịch vụ có khả năng đáp ứng đầy đủ các yêu cầu của khách hàng Để xác minh tính chính xác, cần thực hiện các bước chứng minh trong Atelier B.

Bước 1: Sử dụng chức năng Tc để kiểm tra cú pháp và lỗi

Bước 2: Sử dụng chức năng Po để sinh các bước chứng minh

Bước 3: Sử dụng chức năng F0 và F1 để chứng minh các bước đã sinh ra ở Bước 2

Bước 4: Sử dụng chức năng Fr để chứng minh lại một lần nữa các bước sinh ra trong Bước 2

Bước 5: Sau Bước 4, vẫn còn bước chứng minh chưa được chứng minh thì sử dụng chức năng Ip để chứng minh tương tác

Hình 5.10 Kết quả sau khi kiểm tra bằng Atelier B

Sau khi hoàn thành các bước đã đề ra, dự án TestChangeFee tự động tạo ra 9 bước chứng minh, trong đó 88% được thực hiện tự động và 12% còn lại được chứng minh thông qua tương tác Trạng thái cụ thể của dự án được thể hiện trong Hình 5.11.

Hình 5.11 Trạng thái của dự án TestChangeFee

Ngày đăng: 17/12/2023, 01:56

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Doug Tidwell, James Snell, Paval Kulchelko. Programing Web Services With Soap, December 2001 Sách, tạp chí
Tiêu đề: Programing Web Services With Soap
[8] Ewa Romanowicz , McMaster University. B method - An overview through example. April 17, 2008 Sách, tạp chí
Tiêu đề: B method - An overview through example
[9] J.-R. Abrial. The B book: Assigning Programs to Meanings. Cambridge University Press, 1996[10] OWL-S: Semantic Markup for Web Services.http://www.ai.sri.com/daml/services/owl-s/1.2/overview/ Sách, tạp chí
Tiêu đề: The B book: Assigning Programs to Meanings
[11] Steria. Atelier B: the software environment for the B method. http://i- tecs.fr/ecsi/libraryV1/uploads/lecomte.pdf Sách, tạp chí
Tiêu đề: Atelier B: the software environment for the B method
[12] Clearsy. ATELIER B: Proof Obligations Reference Manual, version 3.7. http://www.atelierb.eu/php/documents-en.php Sách, tạp chí
Tiêu đề: ATELIER B: Proof Obligations Reference Manual
[13] Clearsy. Atelier B. http://www.atelierb.eu/index-en.php Sách, tạp chí
Tiêu đề: Atelier B
[2] IBM Services Architecture Team. Web services architecture overview. http://www.ibm.com/developerworks/webservices/library/w-ovr/ Link
[3] Web Services Architecture. http://www.w3.org/TR/2002/WD-ws-arch-20021114/. 14 November 2002 Link