3.1.2 mẫu kiểm tra: SAL để SMVSMV là một kiểm tra mô hình phổ biến với ngôn ngữ mô tả hệ thống riêng của mình [25]. SAL mô-đun được ánh xạ tớiMô-đun [para: tham số]: lý thuyếtBẮT ĐẦUTiểu bang: Loại = [# đầu vào: InputVars, đầu ra: OutputVars, địa phương: LocalVars #]nhà nước, tiếp theo: VAR bangkhởi tạo (bang): boolean =(guard_init_1 và output(state) =... VÀ local(state) =...)HOẶC... HOẶC (guard_init_n và...)Transitions(State, Next):boolean =(guard_trans_1 và output(next) = output(state) với [...]Local(Next) = local(state) với [...])HOẶC... OR(guard_trans_m và...)OR(Không guard_trans_1 và... VÀ không guard_trans_m và output(next) = output(state) local(next) = local(state))Hình 2. Một mô-đun SAL trong PVSSMV mô-đun. Loại và định nghĩa liên tục xuất hiện trong bối cảnh SAL trực tiếp mở rộng trong các đặc điểm SMV. Đầu ra và các biến địa phương được dịch để biến trong SMV. Đầu vào biến được mã hóa như là các thông số mô-đun SMV.Gán SMV, nondeterministic được sử dụng để nắm bắt sự lựa chọn tùy ý của một quá trình chuyển đổi SAL được kích hoạt. Khoảng nói, hai phụ biến được giới thiệu. Lần đầu tiên được nondeterministically với một giá trị đại diện cho một quá trình chuyển đổi SAL. Bảo vệ của quá trình chuyển đổi đại diện bởi biến này là bảo vệ đầu tiên được đánh giá. Biến thứ hai vòng qua tất cả các quá trình chuyển đổi bắt đầu từ một trong những lựa chọn cho đến khi nó tìm thấy một quá trình chuyển đổi mà được kích hoạt. Cơ chế này đảm bảo rằng mỗi quá trình chuyển đổi đáp ứng bảo vệ có một cơ hội bình đẳng để bị sa thải tại địa điểm đầu tiên. Các thành phần của mô-đun SAL và hợp lý tài sản được trực tiếp dịch qua ngôn ngữ đặc điểm kỹ thuật của SMV.3.1.3 hoạt hình: SAL JavaHình ảnh động của SAL thông số kỹ thuật có thể thông qua trình biên dịch Java. Tuy nhiên, không phải tất cả các tính năng của ngôn ngữ SAL được hỗ trợ bởi trình biên dịch. Đặc biệt, biểu hiện ngôn ngữ được hỗ trợ là giới hạn của Java. Ví dụ, chỉ số nguyên và các phép toán luận được chấp nhận như là loại hình cơ bản. Các yếu tố của các loại liệt kê được dịch là hằng số và ghi lại loại được đại diện bởi các lớp học.Loại nhà nước một mô-đun SAL được đại diện bởi một lớp có chứa các lĩnh vực cho các đầu vào, đầu ra, và biến địa phương. Để mô phỏng nondeterminism của các điều kiện khởi tạo, chúng tôi đã thực hiện một chức năng ngẫu nhiên rằng tùy ý chọn một trong quá trình chuyển đổi khởi tạo đáp ứng bảo vệ.Mỗi quá trình chuyển đổi được dịch như là một lớp Java chủ đề. Tại thời gian thực hiện, các chủ đề chia sẻ cùng một đối tượng nhà nước. Chúng tôi giả định rằng các máy ảo Java là nondeterministic đối với thực hiện của chủ đề. Chức năng chính của bản dịch Java tạo ra một nhà nước đối tượng và vượt qua các đối tượng như là đối số để nhà thầu đối tượng chủ đề. Nó sau đó bắt đầu tất cả các chủ đề. Tài sản an toàn được mã hóa bằng cách sử dụng cơ chế ngoại lệ của Java, và được kiểm tra tại thời gian chạy.3.1.4 hệ thống dẫn đường bay trường hợp nghiên cứu:Chế độ nhầm lẫn là một mối quan tâm an toàn giao. Nó xảy ra khi phi công bị lẫn lộn về bang tự động hóa sàn, thực tế. NASA Langley tiến hành nghiên cứu để chính thức mô tả chế độ nhầm lẫn tình huống trong hệ thống điện tử hệ thống. Đặc biệt, một nguyên mẫu của một hệ thống hướng dẫn chuyến bay (FGS) đã lựa chọn một trường hợp nghiên cứu để chương trình chính thức kỹ thuật xác định chế độ nhầm lẫn vấn đề. FGS đã được chỉ rõ trong các formalisms (xem [23] cho một danh sách các công việc liên quan). Dựa trên công việc của Lu¨ttgen và Carren˜o, chúng tôi đã phát triển một đặc điểm kỹ thuật đầy đủ của FGS tại SAL. Đặc điểm kỹ thuật đã được tự động dịch SMV và PVS, nơi nó đã được phân tích. Chúng tôi đã không gặp bất kỳ chi phí đáng kể trong mô hình kiểm tra dịch SAL mô hình so với tay mã hoá SMV mô hình. Nghiên cứu trường hợp này là có sẵn tại http://www.icase.edu./ ˜munoz / sources.html.3.2 bất biến thế hệMột bất biến của một hệ thống chuyển đổi là một khẳng định — một vị ngữ về tình trạng — mà giữ mỗi bang thể truy cập hệ thống quá trình chuyển đổi. Một bất biến quy nạp là một khẳng định giữ kỳ ban đầu và được bảo tồn bởi mỗi chuyển đổi của hệ thống quá trình chuyển đổi. Một bất biến quy nạp cũng là một bất biến nhưng không phải tất cả bất biến là quy nạp.Hãy để SP biểu thị công thức đại diện cho các thiết lập của tất cả các tiểu bang mà có thể đạt được từ bất kỳ tiểu bang trong thông qua một quá trình chuyển đổi duy nhất của hệ thống, và biểu thị công thức là bắt các tiểu bang ban đầu. Một công thức là một bất biến quy nạp các bộ chuyển đổi nếu (i) ; (ii) SP.Chúng tôi gợi lại rằng cho một hệ thống nhất định chuyển tiếp và bộ quốc gia được mô tả bởi công thức, ký hiệu SP biểu thị công thức đặc trưng tất cả các tiểu bang thể truy cập từ kỳ bằng cách sử dụng một quá trình chuyển đổi từ. Nếu biểu thị trạng thái ban đầu, sau đó nó sau từ định nghĩa của invariants rằng bất kỳ Brouwer của nhà điều hành SP là một bất biến.Thông báo những tính toán của mạnh nhất postconditions giới thiệu existentially định lượng công thức. Do định lý tiểu thuyết minh kỹ thuật trong PVS2.3 được dựa trên sự kết hợp của một tập hợp các mặt đất quyết định thủ tục và loại bỏ quantifier chúng tôi có thể có hiệu quả lý do về các công thức này trong nhiều trường hợp thú vị.Nó là một sự quan sát đơn giản rằng không chỉ lớn nhất cố định điểm của các nhà điều hành trên một bất biến, nhưng mỗi trung cấp tạo ra trong một thủ tục iterated tính toán lớn nhất cố định điểm cũng là một bất biến.đúngSPMột hệ quả của các quan sát ở trên là chúng tôi không cần phải phát hiện khi chúng tôi đã đạt đến một điểm cố định để ra một bất biến.Như là một điểm kỹ thuật về thực hiện các tính toán điểm lớn nhất ở trên tại SAL, chúng tôi đề cập đến rằng chúng ta chia tay không gian trạng thái (có thể là vô hạn) của hệ thống vào finitely nhiều kiểm soát (các) tiểu bang. Sau đó, thay vì làm việc với invariants toàn cầu, chúng tôi làm việc với invariants địa phương tổ chức tại tiểu bang cụ thể kiểm soát. Tính toán điểm lớn nhất lặp đi lặp lại bây giờ có thể được xem như là một phương pháp tạo ra invariants dựa trên khẳng định và tuyên truyền [6].Lưu ý rằng chứ không phải là máy tính cố định điểm lớn nhất, nếu chúng ta thực hiện ít nhất cố định điểm tính toán, chúng tôi sẽ nhận được bất biến mạnh nhất cho bất kỳ hệ thống nhất định. Vấn đề với ít nhất là cố định điểm là rằng tính toán của họ không hội tụ một cách dễ dàng như những người vĩ đại nhất điểm cố định. Không giống như lớn nhất cố định điểm, predicates trung gian trong tính toán của điểm cố định ít nhất là không có invariants. Chúng tôi hiện đang điều tra các phương pháp tiếp cận dựa trên mở rộng để tính toán invariants một cách hội tụ bằng cách sử dụng ít nhất là cố định điểm [8].Các kỹ thuật được mô tả cho đến nay là noncompositional kể từ khi họ kiểm tra tất cả các quá trình chuyển đổi của hệ thống nhất định. Chúng tôi sử dụng một quy tắc thành phần tiểu thuyết được xác định trong [29] invariants địa phương cho phép của mỗi của các mô-đun để được bao gồm vào invariants toàn cầu cho toàn bộ hệ thống. Quy tắc thành phần này cho phép chúng tôi tạo ra mạnh mẽ hơn invariants hơn invariants được tạo ra bởi các kỹ thuật được mô tả trong [6,7]. Invariants được tạo ra cho phép chúng tôi để có được booleanabstractionsof hệ thống phân tích bằng cách sử dụng các kỹ thuật gia tăng phân tích trình bày trong [29].3.3 slicingChương trình phân tích như slicing có thể giúp loại bỏ mã không liên quan đến tài sản đang được xem xét từ hệ thống đầu vào quá trình chuyển đổi có thể dẫn đến một nhà nước giảm-không gian, do đó làm giảm nhu cầu tính toán của những nỗ lực phân tích chính thức tiếp theo. Chúng tôi công cụ slicing [18] chấp nhận một quá trình chuyển đổi đầu vào hệ thống mà có thể được đồng bộ hoặc không đồng bộ gồm nhiều mô-đun viết bằng SAL và tài sản theo quy trình xác minh. Bất động sản theo quy trình xác minh được chuyển thành một tiêu chí slicing và hệ thống đầu vào quá trình chuyển đổi thái lát đối với tiêu chuẩn slicing này. Các tiêu chí slicing là chỉ đơn thuần là một tập hợp các biến địa phương/đầu ra của một tập hợp con của các mô-đun trong chương trình SAL đầu vào mà không phải là có liên quan đến tài sản. Đầu ra của các thuật toán slicing là một chương trình SAL tương tự như vậy bao gồm các mô-đun trong đó mã không liên quan manipulatingirrelevant biến từ mỗi mô-đun đã được cắt ra. Đối với mỗi mô-đun đầu vào sẽ có một mô-đun đầu ra, sản phẩm nào hoặc bằng cách khác. Tóm lại, các thuật toán slicing không phân tích sự phụ thuộc của mỗi mô-đun và tính lạc hậu tương lai đóng cửa của các phụ thuộc. Đóng cửa tương lai này sẽ đi vào xem xét chỉ là một tập hợp con của quá trình chuyển đổi tất cả trong các mô-đun. Chúng tôi gọi quan sát quá trình chuyển đổi và các quá trình chuyển đổi còn lại là chuyển tiếp được gọi là hoặc im lặng. Chúng tôi thay thế quá trình chuyển đổi im lặng với bỏ qua.Chúng tôi hiện đang điều tra kỹ thuật giảm đơn giản hơn slicing và cũng là những người tích cực hơn. Một ví dụ là việc giảm hình nón của ảnh hưởng mà các tiêu chí slicing là một tập hợp các biến và giảm tính một hệ thống chuyển tiếp màbao gồm tất cả các yếu tố trong việc đóng cửa tương lai của được đưa ra bởi các phụ thuộc giữa các biến [21]. Khi so sánh với cắt, giảm nón của ảnh hưởng là không nhạy cảm để kiểm soát và là do đó dễ dàng hơn để tính toán nhưng thường không hiệu quả tại cắt tỉa irrelevance. Slicing bảo tồn hành vi chương trình đối với các tiêu chí slicing. Một có thể có được một sự giảm đáng kể hơn bằng cách thừa nhận lát thừa nhận thêm hành vi bằng cách giới thiệu nondeterminism. Như vậy tích cực slicing sẽ là cần thiết cho các ví dụ tới bản tóm tắt ra khỏi hành vi nội bộ của một hệ thống chuyển đổi trong phần quan trọng của mình cho mục đích xác minh các loại trừ lẫn nhau. Slicing cho các hệ thống đồng thời đối với thời gian thuộc tính đã được nghiên cứu bởi Dwyer và Hatcliff [16].
đang được dịch, vui lòng đợi..