1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Luận văn thạc sĩ VNU UET kiểm chứng các dịch vụ web

67 1 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,54 MB

Cấu trúc

  • MỤC LỤC

  • CHƯƠNG 1. ĐẶT VẤN ĐỀ

  • 1.1 Lý do chọn đề tài

  • 1.2 Mục tiêu của luận văn

  • 1.3 Cấu trúc của luận văn

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

  • 2.1 Dịch vụ web

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

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

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

  • 1.4 Kiến trúc phân tầng của Web Service

  • 2.1.5 Các thành phần của dịch vụ web

  • 2. 2. 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ì?

  • 2.2.2 Tầm quan trọng của QoS đối với 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

  • 2.2.4 Dịch vụ Web có cho phép QoS

  • 2.2.5 Điều chỉnh và thiết lập ràng buộc QoS

  • 2.2.6 Phương pháp tiếp cận để cung cấp QoS cho dịch vụ web

  • CHƯƠNG 3. TỔNG QUAN VỀ PHƯƠNG PHÁP B

  • 3.1 Giới thiệu chung

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

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

  • 3.4 Cải tiến

  • CHƯƠNG 4. TỔNG QUAN VỀ OWL-S

  • 4.1 Ngôn ngữ OWL-S

  • 4.2 ServiceProfile và các thuộc tính

  • 4.2.1 Lớp ServiceProfile

  • 4.2.2 Tên dịch vụ, liên hệ và mô tả

  • 4.2.3 Mô tả chức năng

  • 4.2.4 Các thuộc tính bổ sung của ServiceProfile

  • 4.2.5 ServiceParameter

  • 4.2.6 ServiceCategory

  • 4.2.7 Xác định loại dịch vụ và sản phẩm

  • 4.3 Mô hình dịch vụ thành các tiến trình

  • 4.3.1 Ontology tiến trình

  • 4.3.2 Tiến trình nguyên tử

  • 4.3.3 Tiến trình đơn

  • 4.3.4 Tiến trình tổng hợp

  • CHƯƠNG 5. KIỂM CHỨNG SỰ PHÙ HỢP CHỨC NĂNG TRONG MÔ HÌNH WSD

  • 5.1 Phương pháp kiểm chứng

  • 5.2 Ví dụ minh họa

  • 5.3 Hình thức hóa và kiểm chứng

  • 5.3.1 Hình thức hóa

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

  • CHƯƠNG 6. KẾT LUẬN

  • TÀI LIỆU THAM KHẢO

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 là một giao diện truy cập mạng đến các ứng dụng chức năng, được xây dựng từ việc sử dụng các công nghệ chuẩn Internet [1] Được minh hoạ trong hình dưới đâ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

Thuật ngữ dịch vụ web diễn tả một cách thức tích hợp các ứng dụng trên nền web lại với nhau bằng cách sử dụng các công nghệ XML, SOAP, WSDL, và UDDI trên nền tảng các giao thức Internet với 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, SOAP được dùng để truyền dữ liệu, WSDL được sử dụng để mô tả các dịch vụ có sẵn và UDDI được sử dụng để liệt kê những dịch vụ nào hiện tại đang sẵn sàng để dùng

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

Ngày này, dịch vụ web có thể được triển khai trên Internet dưới dạng một Website HTML, chính vì thế, các dịch vụ ứng dụng cần phải có một cơ thế cho việc công bố, quản lý, tìm kiếm và phục hồi nội dung được người sử dụng truy cập thông qua giao thức chuẩn HTTP và định dạng dữ liệu HTML Các ứng dụng Client (như Web Browser) cần phải hiểu các chuẩn mà dịch vụ web hỗ trợ để có thể tương tác với các dịch vụ nhằm thực thi một nhiệm vụ như việc đặt mua sách, gửi thiệp mừng hoặc là đọ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, cho nên sẽ không nảy sinh ra bất kì vấn đề gì trong quá trình tương tác khi các dịch vụ được viết trên Java và trình duyệt được viết bằng C++, hoặc các dịch vụ được triển khai trên Unix trong khi các trình duyệt lại được triển khai trên Windows

Dịch vụ web cho phép giao tiếp giữa các platform khác nhau có thể hoạt động cùng nhau theo nguyên tắc tạo ra một platform trung gian có liên quan

Tính tương thích là một lợi thế vô cùng mạnh mẽ của dịch vụ web, thông thường, các công nghệ Java và công nghệ của Microsoft rất khó có thể tích hợp được với nhau, nhưng với dịch vụ web thì các ứng dụng và máy khách sử dụng

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

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

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à modun hóa có thể được công bố, nằm hoặc gọi trên Web Các dịch vụ web thực hiện các 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ụ Một dịch vụ web được triển khai, các ứng dụng khác (và cả các dịch vụ web khác) có thể phát hiện ra và gọi dịch vụ đã triển khai

Dịch vụ web cho phép các ứng dụng khác nhau từ các nguồn khác nhau có thể giao tiếp với các ứng dụng khác mà không đòi hỏi nhiều thời gian coding, do tất cả các quá trình giao tiếp đều tuân theo định dạng XML, cho nên dịch vụ web không bị phụ thuộc vào bất kì hệ điều hành hay ngôn ngữ lập trình nào Ví dụ, chương trình viết bằng ngôn ngữ Java cũng có thể trao đổi dữ liệu với các chương trình viết bằng Perl, các ứng dụng chạy trên nền Windows cũng có thể trao đổi dữ liệu với các ứng dụng chạy trên nền Linux Dịch vự web không yêu cầu phải sử dụng trình duyệt và ngôn ngữ HTML, đôi khi nó còn được gọi là các dịch vụ ứng dụng

Là sự kết hợp của việc phát triển theo hướng từng thành phần với những lĩnh vực cụ thể và cơ sở hạ tầng Web, đưa ra những lợi ích cho cả doanh nghiệp, khách hàng, những nhà cung cấp khác và cả những cá nhân thông qua mạng Internet

Ngày nay dịch vụ Web đang rất phát triển, những lĩnh vực trong cuộc sống có thể áp dụng và tích hợp dịch vụ Web là khá rộng lớn như dịch vụ chọn lọc và phân loại tin tức; ứng dụng cho các dịch vụ du lịch (cung cấp giá vé, thông tin về địa điểm…), thông tin thương mại như giá cả, tỷ giá hối đoái, đấu giá qua mạng…hay dịch vụ giao dịch trực tuyến (cho cả B2B và B2C) như đặt vé máy bay, mua sắm trực tuyến, …

Với những ưu điểm nổi trội trên, dịch vụ web đang được phát triển một cách nhanh chóng và là ưu tiên hàng đầu của các doanh nghiệp hiện nay

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ư các hệ thống phần mềm đã tồn tại bằng cách cho phép các tiến trình/chức năng nghiệp vụ đóng gói trong 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 hệ thống tích hợp, giảm sự phức tạp của hệ thống, hạ giá thành hoạt động, phát triển hệ thống nhanh và tương tác hiệu quả với hệ thống của các doanh nghiệp khác

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à một chỉ số đo lường chức năng kiểm soát và phân bổ băng thông mạng để cung cấp mức dung lượng dữ liệu trong chức năng dự kiến, dựa trên tầm quan trọng của quá trình nghiệp vụ [6]

Khi lưu lượng thông tin quá lớn, chức năng cân bằng tải có thể giúp chuyển hướng dòng thông tin sang server khác và giảm bớt tình trạng tắt nghẽn cổ chai Một vài bộ chuyển mạch có chức năng phân biệt được dòng thông tin, ví dụ giao thức truyền tập tin FTP, giao thức siêu văn bản HTTP Web mà chúng ta vẫn thường dùng và chuyển hướng chúng theo những quy tắc đã được định trước Hiệu quả sử dụng mạng được cải thiện rất tốt, tuy nhiên thực chất ở đâu?

QoS cho phép các nhà quản trị điều khiển dòng thông tin ở mức độ căn bản hơn, xác định phương thức để dòng thông tin của một ứng dụng nào đó đi qua các bộ định tuyến và chuyển mạch của mạng

Tuy nhiên, QoS còn liên quan đến nhiều yếu tố khác chứ không chỉ là việc quyết định dòng thông tin nào sẽ đi qua cổng nối trước tiên Nó là nền tảng cho chính sách vận hành mạng, một chính sách sẽ xác định cách thức sử dụng tài nguyên mạng trong những điều kiện đặc biệt với mức băng thông được phân bổ

Nhà quản trị mạng có thể cung cấp dựa vào giá trị nghiệp vụ của dòng dữ liệu – ví dụ cấp quyền ưu tiên cho giao dịch mua bán cổ phiếu cao hơn yêu cầu thông tin

Các chính sách cũng có thể nhận biết một vài dòng dữ liệu có thể thay đổi về dung lượng và tầm quan trọng vào những thời điểm khác nhau Ví dụ, dòng thông tin bán hàng có thể có mức ưu tiên cao hơn của kế toán ngoại trừ những thời điểm vào cuối mỗi quý khi mà bộ phận kế toán phải tính toán và làm 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 phóng và phổ biến của công nghệ dịch vụ web, Chất lượng các dịch vụ web sẽ trở thành một yếu tố quan trọng trong việc đánh giá sự thành công của các nhà cung cấp dịch vụ web QoS sẽ quyết định đến chức năng sử dụng và tính hữu ích của dịch vụ, cả hai yếu tố này đều ảnh hưởng đến tính phổ biến của một dịch vụ web

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

Với các chuẩn như SOAP, UDDI và WSDL đã được thống nhất sử dụng trong các lĩnh vực của dịch vụ web– bao gồm các dịch vụ tài chính, công nghệ cao, đa phương tiện và giải trí Tất cả các dịch vụ web đang cần phải được gắn kết với nhau để trở thành chuẩn, QoS sẽ là một yếu tố then chốt để đánh giá sự thành công cũng như sự khác nhau về 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: Tính sẵn sàng thể hiện một khía cạnh của chất lượng dịch vụ, tính sẵn sàng mô tả dịch vụ có sẵn để dùng tại một thời điểm cụ thể hay không Tính sẵn sàng mô tả xác suất mà dịch vụ sẵn sàng phục vụ Trong tính sẵn sàng, một giá trị thời gian được dùng để mô tả liệu một dịch vụ có sẵn sàng để phục vụ hay không Nếu giá trị lơn hơn tức là dịch vụ luôn sẵn sàng để sử dụng, ngược lại nếu giá trị nhỏ hơn tức là không thể dự đoán được liệu dịch vụ có sẵn trong khoảng thời gian cụ thể hiện tại hay không Thông thường, người ta thường sử dụng một đại luợng thời gian để kết hợp với tính sẵn sàng của một dịch vụ, đại lượng thời gian đó được gọi là Thời gian phục hồi (TTR - Time to Repair ) TTR mô tả khoảng thời gian được dùng để phục hồi một dịch vụ web nếu có lỗi xảy ra Thời gian phục hồi lý tưởng và được mong đợi là thời gian phục hồi có giá trị nhỏ

Tính truy cập được: Tính truy cập được thể hiện khía cạnh chất lượng dịch vụ qua mức độ, khả năng phục vụ các yêu cầu dịch vụ web Nó diễn tả khả năng ước lượng bao gồm tốc độ thành công hoặc sự thay đổi thành công của một dịch vụ cụ thể trong một thời điểm Tính truy cập được còn được thể hiện thông qua tính sẵn sàng của dịch vụ Web Một dịch vụ web có tính truy cập cao khi hệ thống triển khai dịch vụ web đó có độ mềm dẻo cao Độ mềm dẻo tham chiếu tới khả năng phục vụ các yêu cầu một cách nhất quán mặc dù có thể có nhiều yêu cầu khác nhau cùng tồn tại trong một tập hợp các yêu cầu

Tính toàn vẹn: Tính toàn vẹn là một khía cạnh chất lượng của một dịch vụ đảm bảo sự đúng đắn trong tương tác tác về tài nguyên Sự thực thi đúng đắn của các giao tác dịch vụ web sẽ cung cấp tính đúng đắn trong các tương tác Một giao tác sẽ tham chiếu tới trình tự làm việc của các thao tác được xử lý như một đơn vị công việc độc lập Tất cả các hoạt động được hoàn thành để tạo sự thành công cho một giao tác Khi một giao tác không được thực hiện thành công, tất cả các thay đổi sẽ được phục hồi lại trạng thái ban đầu

Tính thực thi: Tính thực thi thể hiện một khía cạnh chất lượng dịch vụ mà nó dùng để đo lường giới hạn của thông lượng và độ trễ Giá trị thông lượng cao hơn và độ trễ thấp thể hiện một dịch vụ web hoạt động tốt Thông lượng mô tả số lượng yêu cầu dịch vụ web phục vụ tại một đơn vị thời gian định kì Đỗ trễ là thời gian xoay vòng giữa việc gửi yêu cầu và nhận các đáp ứng

Tính tin cậy: Tính tin cậy là một khía cạnh của chất lượng dịch vụ mô tả khả năng đảm bảo dịch vụ và chất lượng dịch vụ Tính tin cậy được tính qua số lượng lỗi trên một tháng hay một năm Theo hướng tiếp cận khác tính tin cậy tham chiếu đến việc phân phát đúng đắn và đảm bảo các thông điệp sẽ được gửi và nhận bởi các dịch vụ yêu cầu và các dịch vụ đáp ứng

Tính linh động: Tính linh động thể hiện chất lượng dịch vụ ở khía cạnh dịch vụ có thể thích ứng với các luật, các quy tắc và khả năng kết hợp chuẩn và thiết lập các dịch vụ mức cao hơn Dịch vụ web sử dụng một số chuẩn như SOAP, UDDI, WSDL Sự tuân thủ ngặt nghèo các chuẩn để đảm bảo tính đúng đắn của các phiên bản (VD SOAP V1.2) bởi các nhà cung cấp dịch vụ web là một yếu tố cần thiết cho các yêu cầu đúng đắn của dịch vụ web từ người yêu cầu dịch vụ web

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 dùng để đặc đả, cải tiến và thực thi phần mềm Tư tưởng chính của B là bắt đầu với một mô hình rất trừu tượng của một hệ thống chưa phát triển và dần dần thêm các chi tiết bằng cách xây dựng một dãy các mô hình cụ thể Một tiến trình phát triển cần một số bước chứng minh, để đảm bảo tính chính xác Các bước chứng minh này sau đó được chứng minh tự động hoặc được chứng minh tương tác Mục tiêu của B là thu được một mô hình đã kiểm chứng [8].

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

Các pha phát triển phần mềm khác nhau được mô tả bằng tập các máy trừu tượng Một máy đóng gói một trạng thái và các toán tử trên trạng thái

Trạng thái được biểu diễn bởi một tập các biến [9]

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

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

Khi máy là một cải tiến của một máy trừu tượng nguyên thủy, một mệnh đề mới được đưa ra gọi là REFINES, nó dùng để kết nối cả hai máy.

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

Xét một ví dụ đơn giản: Tìm kiếm một phần tử v trong mảng nguyên t kích thước n Thuật toán đưa ra sẽ trả lại giá trị true (đúng) nếu phần tử v được tìm thấy trong mảng và là false (sai) nếu là không tìm thấy Đầu tiên một máy trừu tượng mô tả ý tưởng được tạo ra, gọi là máy

“search” Từ thuật toán, chúng ta thấy có các hằng số cần được định nghĩa là t và n Khí đó, t là một mảng nguyên kích thước n, n được lấy từ một tập N và mảng t có các phần tử từ t[0] đến t[n-1]

Mệnh đề OPERATIONS dùng để chỉ ra rằng chương trình tìm giá trị v và nếu v được tìm thấy trong mảng t thì b nhận giá trị là true, ngược lại là 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ải tiến kế tiếp rất gần với máy nguyên thủy, tuy nhiên nó thêm một vài chi tiết vào thiết kế Nó lấy các đặc tả thông qua một dãy các bước thiết kế hướng thực thi Nói cách khác, máy M được cải tiến thành M’ nếu và chỉ nếu M’ là một sự thay thế cho M trong tất cả các trường hợp M được định nghĩa Điều này không có nghĩa là M’ là tương đương với M Để tiến gần tới sự thực thi của một chương trình, một máy mới ‘searchR’ được tạo ra để cải tiến ‘search’ Máy làm việc trên cùng một tập các hằng số có cùng thuộc tính như trong máy ‘search’ Tuy nhiên, các thay đổi xuất hiện trong mệnh đề OPERATIONS

Máy mới ‘searchR’ sử dụng một vòng lặp while với biến đểm i để duyệt mảng t và thiết lập b là true khi tìm thấy một phần tử trong mảng và không là gì khi không tìm thấy phần tử đó, và b ban đầu được gán bằng false

Bởi vì một vòng lặp được đưa ra, lặp bất biến và biến cần được đặc tả

Lặp bất biến sẽ đả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 giá trị trả lại của hàm trong máy cải tiến có thuộc kiểu Money hay không, 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 Điều này thực hiện được dựa trên các bước chứng minh của cải tiến B Theo cách này có thể kiểm tra được sự tương quan giá trị giữa QoS của người yêu cầu dịch vụ và nhà cung cấp dịch vụ, đã đị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 [11,12], là một công cụ xây dựng ứng dụng dùng phương pháp B Nó cung cấp nhiều chức năng để quản lý các dự án theo ngôn ngữ B trong một môi trường rõ ràng, mạch lạc Các chức năng này có thể gộp lạ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ác công cụ thân thiện với người dùng: Các dự án được trình bày dưới dạng đồ họa, hiển thị các trạng thái cũng như số liệu thống kê của dự án, các dự án lưu trữ

Atelier B có thể được sử dụng thông qua giao diện đồ họa hoặc sử dụng dòng lệnh trực tiếp (chế độ lệnh) Atelier B là đa người dùng, các nhiệm vụ có thể được làm tự động trong suốt quá trình phát triển dự án như sau:

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

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

 Tự động biên dịch các cài đặt B thành ngôn ngữ C hoặc Ada Hiện nay, Atelier B có các phiên bản dùng trên Windows, Linux, Mac và Solaris Để sử dụng Atelier B, chúng ta vào trang http://www.atelierb.eu tải bản Atelier B 4.0 về máy Đây là bản hoàn toàn miễn phí, và tùy vào hệ điều hành sử dụng chúng ta chọn loại dùng cho Windows, Linux, Mac hay Solaris Trong luận văn trình bày là bản Atelierb-4.0 dùng cho Windows Sau khi tải về máy chúng ta 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 chúng ta có màn hình chào của Atelier B như trong Hình 5.5 và màn hình quản lý dự án như trong Hình 5.6 Với Atelier B chúng ta có thể thực hiện các chức năng cụ thể như sau:

 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

Hình 5.6 Màn hình quản lý dự án trong Atelier B 4.0 Để sử dụng Atelier B kiểm chứng ví dụ minh họa đã trình bày trong mục 5.2, chúng ta phải tạo ra các máy trừu tượng và máy cải tiến theo các quy tắc của Atelier B Đầu tiên chúng ta tạo ra một dự án trong Atelier B với tên là testChangeFee, trong một dự án chúng ta có thể tạo ra các thành phần con là kiểu máy, kiểu cải tiến hay kiểu thực thi

Máy Types là máy chứa các tập hợp được sử dụng trong mô hình đã được hình thức hóa trong mục 5.3.1 và tạo ra trong Atelier B như 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 là tập chứa kiểu giá trị trả lại của số tiền khách hàng phải trả cho phí thay đổi loại vé đã mua Vì trong phương pháp B không có kiểu số thực nên tập MONEY có giá trị là kiểu 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ụ Change Fee Calculation được hình thức hóa trong Hình 5.4 sẽ được mô hình hóa thành máy WS_Requester trong Atelier B như trong Hình 5.8 Các yêu cầu này gồm một yêu cầu tính phí thay đổi vé máy bay của người yêu cầu dịch vụ Change Fee Calculation và các thuộc tính chất lượng mong muốn được đưa ra trong toán tử serviceQuality gồm:

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

Hình 5.8 Máy ws_requester trong Atelier B

Các khả năng mà nhà cung cấp dịch vụ Change Fee Calculation được hình thức hóa trong Hình 5.4 sẽ được mô hình hóa thành máy WS_Provider trong Atelier B như trong Hình 5.9 Các khả năng này gồm một hàm có chức năng 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ư vậy so với các yêu cầu đặt ra của người yêu cầu dịch vụ ta thấy nhà cung cấp dịch vụ hoàn toàn có thể đáp ứng được Tuy nhiên để kiểm chứng tính đúng đắn chúng ta phải sử dụng các bước chứng minh trong Atelier B Cụ thể:

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 thực hiện các bước trên, dự án TestChangeFee tự động sinh ra tổng cộng 9 bước chứng minh, 88% các bước được chứng minh tự động còn lại 12% được chứng minh tương tác Và trạng thái cụ thể của dự án như Hình 5.11

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

Các bước chứng minh trong máy cải tiến WS_Provider được chứng minh như trong Hình 5.12 Theo đó thì, khởi tạo (Initialisation) được cải tiến đúng, các toán tử (Calcul_ChangeFee, serviceQuality) được thỏa mãn Cụ thể là hàm

Ngày đăng: 05/12/2022, 15:48

HÌNH ẢNH LIÊN QUAN

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  - Luận văn thạc sĩ VNU UET kiểm chứng các dịch vụ web
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 (Trang 8)
Hình 2.3 Kiến trúc của dịch vụ web. - Luận văn thạc sĩ VNU UET kiểm chứng các dịch vụ web
Hình 2.3 Kiến trúc của dịch vụ web (Trang 12)
Hình 2.4 Kiến trúc phân tầng của dịch vụ web - Luận văn thạc sĩ VNU UET kiểm chứng các dịch vụ web
Hình 2.4 Kiến trúc phân tầng của dịch vụ web (Trang 13)
Kiến trúc của dịch vụ web được thực hiện năm tầng như mô tả trong Hình 2.4 [1].  - Luận văn thạc sĩ VNU UET kiểm chứng các dịch vụ web
i ến trúc của dịch vụ web được thực hiện năm tầng như mô tả trong Hình 2.4 [1]. (Trang 13)
 Độc lập với nền tảng, ngôn ngữ lập trình hay mơ hình lập trình được sử dụng.  - Luận văn thạc sĩ VNU UET kiểm chứng các dịch vụ web
c lập với nền tảng, ngôn ngữ lập trình hay mơ hình lập trình được sử dụng. (Trang 16)
Hình 2.7 Mơ tả việc trao đổi thông điệp SOAP thông qua giao thức HTTP 2.1.4.2 WSDL  - Luận văn thạc sĩ VNU UET kiểm chứng các dịch vụ web
Hình 2.7 Mơ tả việc trao đổi thông điệp SOAP thông qua giao thức HTTP 2.1.4.2 WSDL (Trang 20)
Hình 3.1 Một Máy trừu tượng tổng quát - Luận văn thạc sĩ VNU UET kiểm chứng các dịch vụ web
Hình 3.1 Một Máy trừu tượng tổng quát (Trang 32)
Hình 3.2 Ví dụ máy trừu tượng search - Luận văn thạc sĩ VNU UET kiểm chứng các dịch vụ web
Hình 3.2 Ví dụ máy trừu tượng search (Trang 33)
Hình 3.3 Ví dụ về máy cải tiến searchR - Luận văn thạc sĩ VNU UET kiểm chứng các dịch vụ web
Hình 3.3 Ví dụ về máy cải tiến searchR (Trang 34)
Chúng ta hãy xem Hình 3.4 phần a, đây là một ví dụ về máy trừu tượng đơn  giản. Với mỗi máy  trừu  tượng, chúng  ta  phải  chứng  minh bất biến  của  nó  được bảo  toàn  bởi các phép thế,  tức  là  chúng  ta phải  chứng minh  máy  M thỏa  mãn:  - Luận văn thạc sĩ VNU UET kiểm chứng các dịch vụ web
h úng ta hãy xem Hình 3.4 phần a, đây là một ví dụ về máy trừu tượng đơn giản. Với mỗi máy trừu tượng, chúng ta phải chứng minh bất biến của nó được bảo toàn bởi các phép thế, tức là chúng ta phải chứng minh máy M thỏa mãn: (Trang 35)
Hình 4.1 Ontology dịch vụ mức cao [10] - Luận văn thạc sĩ VNU UET kiểm chứng các dịch vụ web
Hình 4.1 Ontology dịch vụ mức cao [10] (Trang 38)
Hình 5.2 Hình thức hóa các chức năng của nhà cung cấp thành một máy cải tiế nB - Luận văn thạc sĩ VNU UET kiểm chứng các dịch vụ web
Hình 5.2 Hình thức hóa các chức năng của nhà cung cấp thành một máy cải tiế nB (Trang 49)
Hình 5.1 Hình thức hóa các yêu cầu thành máy trừu tượng B - Luận văn thạc sĩ VNU UET kiểm chứng các dịch vụ web
Hình 5.1 Hình thức hóa các yêu cầu thành máy trừu tượng B (Trang 49)
5.3 Hình thức hóa và kiểm chứng - Luận văn thạc sĩ VNU UET kiểm chứng các dịch vụ web
5.3 Hình thức hóa và kiểm chứng (Trang 53)
Hình 5.4 Hình thức hóa mơ hình WSD của hệ thống ChangeFee bở iBSEES Types VARIABLES availabilityR, maxResTimeR, reliabilityR … - Luận văn thạc sĩ VNU UET kiểm chứng các dịch vụ web
Hình 5.4 Hình thức hóa mơ hình WSD của hệ thống ChangeFee bở iBSEES Types VARIABLES availabilityR, maxResTimeR, reliabilityR … (Trang 54)
Hình 5.6 Màn hình quản lý dự án trong AtelierB 4.0 - Luận văn thạc sĩ VNU UET kiểm chứng các dịch vụ web
Hình 5.6 Màn hình quản lý dự án trong AtelierB 4.0 (Trang 57)
Hình 5.5 Màn hình chào của AtelierB 4.0 - Luận văn thạc sĩ VNU UET kiểm chứng các dịch vụ web
Hình 5.5 Màn hình chào của AtelierB 4.0 (Trang 57)
Máy Types là máy chứa các tập hợp được sử dụng trong mơ hình đã được hình  thức  hóa  trong  mục  5.3.1  và  tạo  ra  trong  Atelier  B  như  trong  Hình  5.7 - Luận văn thạc sĩ VNU UET kiểm chứng các dịch vụ web
y Types là máy chứa các tập hợp được sử dụng trong mơ hình đã được hình thức hóa trong mục 5.3.1 và tạo ra trong Atelier B như trong Hình 5.7 (Trang 58)
Các yêu cầu của người yêu cầu dịch vụ ChangeFeeCalculation được hình thức hóa  trong Hình 5.4  sẽ  được mơ  hình hóa  thành  máy  WS_Requester  trong  Atelier B như trong Hình 5.8 - Luận văn thạc sĩ VNU UET kiểm chứng các dịch vụ web
c yêu cầu của người yêu cầu dịch vụ ChangeFeeCalculation được hình thức hóa trong Hình 5.4 sẽ được mơ hình hóa thành máy WS_Requester trong Atelier B như trong Hình 5.8 (Trang 59)
Các khả năng mà nhà cung cấp dịch vụ ChangeFeeCalculation được hình thức  hóa  trong  Hình  5.4  sẽ  được  mô  hình  hóa  thành  máy  WS_Provider  trong  Atelier  B  như trong  Hình  5.9 - Luận văn thạc sĩ VNU UET kiểm chứng các dịch vụ web
c khả năng mà nhà cung cấp dịch vụ ChangeFeeCalculation được hình thức hóa trong Hình 5.4 sẽ được mô hình hóa thành máy WS_Provider trong Atelier B như trong Hình 5.9 (Trang 60)
Hình 5.10 Kết quả sau khi kiểm tra bằng AtelierB - Luận văn thạc sĩ VNU UET kiểm chứng các dịch vụ web
Hình 5.10 Kết quả sau khi kiểm tra bằng AtelierB (Trang 61)
Hình 5.11 Trạng thái của dự án TestChangeFee - Luận văn thạc sĩ VNU UET kiểm chứng các dịch vụ web
Hình 5.11 Trạng thái của dự án TestChangeFee (Trang 61)
Hình 5.12 Các bước chứng minh trong AtelierB - Luận văn thạc sĩ VNU UET kiểm chứng các dịch vụ web
Hình 5.12 Các bước chứng minh trong AtelierB (Trang 62)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w