3.1.2 Model Checking: SAL to SMVSMV is a popular model checker with it dịch - 3.1.2 Model Checking: SAL to SMVSMV is a popular model checker with it Việt làm thế nào để nói

3.1.2 Model Checking: SAL to SMVSMV

3.1.2 Model Checking: SAL to SMV
SMV is a popular model checker with its own system description language [25]. SAL modules are mapped to
module[para:Parameters] : THEORY
BEGIN
State : TYPE = [# input : InputVars, output : OutputVars, local : LocalVars #]
state,next : VAR State
initialization(state):boolean =
(guard_init_1 AND output(state) = ... AND local(state) = ...)
OR ... OR (guard_init_n AND ...)
transitions(state, next):boolean =
(guard_trans_1 AND output(next) = output(state) WITH [...]
local(next) = local(state) WITH [... ])
OR ... OR
(guard_trans_m AND ...)
OR
(NOT guard_trans_1 AND ... AND NOT guard_trans_m AND output(next) = output(state) local(next) = local(state))
Figure 2. A SAL module in PVS
SMV modules. Type and constant definitions appearing in SAL contexts are directly expanded in the SMV specifications. Output and local variables are translated to variables in SMV. Input variables are encoded as parameters of SMV modules.
The nondeterministic assignment of SMV is used to capture the arbitrary choice of an enabled SAL transition. Roughly speaking, two extra variables are introduced. The first is assigned nondeterministically with a value representing a SAL transition. The guard of the transition represented by this variable is the first guard to be evaluated. The second variable loops over all transitions starting from the chosen one until it finds a transition which is enabled. This mechanism assures that every transition satisfying the guard has an equal chance to being fired in the first place. Composition of SAL modules and logical properties are directly translated via the specification language of SMV.
3.1.3 Animation: SAL to Java
Animation of SAL specifications is possible via compilation to Java. However, not all the features of the SAL language are supported by the compiler. In particular, the expression language that is supported is limited to that of Java. For example, only integers and booleans are accepted as basic types. Elements of enumeration types are translated as constants and record types are represented by classes.
The state type of a SAL module is represented by a class containing fields for the input, output, and local variables. In order to simulate the nondeterminism of the initialization conditions, we have implemented a random function that arbitrary chooses one of the initialization transition satisfying the guard.
Each transition is translated as a Java thread class. At execution time, all the threads share the same state object. We assume that the Java virtual Machine is nondeterministic with respect to execution of threads. The main function of the Java translation creates one state object and passes the object as an argument to the thread object constructors. It then starts all the threads. Safety properties are encoded by using the exception mechanism of Java, and are checked at run time.
3.1.4 Case Study: Flight Guidance System
Mode confusion is a concern in aviation safety. It occurs when pilots get confused about the actual states of the flight deck automation. NASA Langley conducts research to formally characterize mode confusion situations in avionics systems. In particular, a prototype of a Flight Guidance System (FGS) has been selected a case study for the application of formal techniques to identify mode confusion problems. FGS has been specified in various formalisms (see [23] for a comprehensive list of related work). Based on work by Lu¨ttgen and Carren˜o, we have developed a complete specification of FGS in SAL. The specification has been automatically translated to SMV and PVS, where it has been analyzed. We did not experience any significant overhead in model checking translated SAL models compared to hand-coded SMV models. This case study is available at http://www.icase.edu./˜munoz/ sources.html.
3.2 Invariant Generation
An invariant of a transition system is an assertion— a predicate on the state—that holds of every reachable state of the transition system. An inductive invariant is a assertion that holds of the initial states and is preserved by each transition of the transition system. An inductive invariant is also an invariant but not every invariant is inductive.
Let SP denote the formula that represents the set of all states that can be reached from any state in via a single transition of the system , and denote the formula that denotes the initial states. A formula is an inductive invariant for the transition system if (i)
; (ii) SP .
We recall that for a given transition system and a set of states described by formula , the notation SP denotes the formula that characterizes all states reachable from states using exactly one transition from . If denotes the initial state, then it follows from the definition of invariants that any fixed-point of the operator SP is an invariant.
Notice that the computation of strongest postconditions introduces existentially quantified formulas. Due to novel theorem proving techniques in PVS2.3 that are based on the combination of a set of ground decision procedures and quantifier elimination we are able to effectively reason about these formulas in many interesting cases.
It is a simple observation that not only is the greatest fixed point of the above operator an invariant, but every intermediate generated in an iterated computation procedure of greatest fixed point also is an invariant.
true
SP
A consequence of the above observation is that we do not need to detect when we have reached a fixed point in order to output an invariant.
As a technical point about implementation of the above greatest fixed point computation in SAL, we mention that we break up the (possibly infinite) state space of the system into finitely many (disjoint) control states. Thereafter, rather than working with the global invariants , we work with local invariants that hold at particular control states. The iterative greatest fixed point computation can now be seen as a method of generating invariants based on affirmation and propagation [6].
Note that rather than computing the greatest fixed point, if we performed the least fixed point computation, we would get the strongest invariant for any given system. The problem with least fixed points is that their computation does not converge as easily as those of greatest fixed points. Unlike greatest fixed points, the intermediate predicates in the computation of the least fixed point are not invariants. We are currently investigating approaches based on widening to compute invariants in a convergent manner using least fixed points [8].
The techniques described so far are noncompositional since they examine all the transitions of the given system. We use a novel composition rule defined in [29] allowing local invariants of each of the modules to be composed into global invariants for the whole system. This composition rule allows us to generate stronger invariants than the invariants generated by the techniques described in [6,7]. The generated invariants allows us to obtain booleanabstractionsof the analyzed system using the incremental analysis techniques presented in [29].
3.3 Slicing
Program analyses like slicing can help remove code irrelevant to the property under consideration from the input transition system which may result in a reduced state-space, thus easing the computational needs of subsequent formal analysis efforts. Our slicing tool [18] accepts an input transition system which may be synchronously or asynchronously composed of multiple modules written in SAL and the property under verification. The property under verification is converted into a slicing criterion and the input transition system is sliced with respect to this slicing criterion. The slicing criterion is merely a set of local/output variables of a subset of the modules in the input SAL program that are not relevant to the property. The output of the slicing algorithm is another SAL program similarly composed of modules wherein irrelevant code manipulatingirrelevant variables from each module has been sliced out. For every input module there will be an output module, empty or otherwise. In a nutshell the slicing algorithm does a dependency analysis of each module and computes backward transitive closure of the dependencies. This transitive closure would take into consideration only a subset of all transitions in the module. We call these transitions observable and the remaining transitions are called or silent transitions. We replace silent transitions with skips.
We are currently investigating reduction techniques that are simpler than slicing and also ones that are more aggressive. One example is the cone-of-influence reduction where the slicing criterion is a set of variables and the reduction computes a transition system that
includes all the variables in the transitive closure of given by the dependencies between variables [21]. In comparison with slicing, the cone-of-influence reduction is insensitive to control and is therefore easier to compute but generally not as efficient at pruning irrelevance. Slicing preserves program behavior with respect to the slicing criterion. One could obtain a more dramatic reduction by admitting slices that admitted more behaviors by introducing nondeterminism. Such aggressive slicing would be needed for example to abstract away from the internal behavior of a transition system within its critical section for the purpose of verifying mutual exclusion. Slicing for concurrent systems with respect to temporal properties has been investigated by Dwyer and Hatcliff [16].
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
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..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
3.1.2 Mô hình checking: SAL để SMV
SMV là một mô hình kiểm tra phổ biến với riêng ngôn ngữ mô tả hệ thống của nó [25]. Module SAL được ánh xạ đến
mô-đun [para: Parameters]: LÝ THUYẾT
BEGIN
Nhà nước: TYPE = [# đầu vào: InputVars, đầu ra: OutputVars, địa phương: LocalVars #]
nhà nước, tiếp theo: VAR Nhà nước
khởi tạo (nhà nước): boolean =
(guard_init_1 VÀ đầu ra (nhà nước) = ... VÀ địa phương (nhà nước) = ...)
(guard_init_n VÀ ...) OR ... HOẶC
chuyển (nhà nước, tiếp theo): boolean =
(guard_trans_1 VÀ đầu ra (tiếp theo) = sản lượng (nhà nước) VỚI [...]
địa phương (tiếp theo) = địa phương (nhà nước) VỚI [...])
OR ... OR
(guard_trans_m VÀ ...)
OR
(KHÔNG guard_trans_1 VÀ ... VÀ KHÔNG guard_trans_m VÀ đầu ra (tiếp theo) = đầu ra (trạng thái) của địa phương (tiếp theo) = địa phương (nhà nước))
Hình 2. Một SAL module trong PVS
module SMV. Kiểu và định nghĩa hằng số xuất hiện trong bối cảnh SAL được trực tiếp mở rộng trong các chi tiết kỹ thuật SMV. Sản lượng và địa phương biến được phiên dịch sang các biến trong SMV. Biến đầu vào được mã hóa như các thông số của module SMV.
Việc chuyển nhượng không xác định của SMV được sử dụng để nắm bắt các lựa chọn tùy ý của một quá trình chuyển đổi SAL kích hoạt. Nói đại khái, hai biến thêm được giới thiệu. Việc đầu tiên là giao nondeterministically với một giá trị đại diện cho một quá trình chuyển đổi SAL. Người bảo vệ của sự 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ừ lựa chọn một cho đến khi nó tìm thấy một quá trình chuyển đổi đó được kích hoạt. Cơ chế này đảm bảo rằng tất cả các quá trình chuyển đổi đáp ứng bảo vệ đều có cơ hội để được bắn ở nơi đầu tiên. Thành phần của các mô-đun SAL và tính logic được dịch trực tiếp thông qua ngôn ngữ đặc tả của SMV.
3.1.3 Animation: SAL để Java
Hoạt hình về thông số kỹ thuật SAL là 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, ngôn ngữ biểu hiện đó là hỗ trợ được giới hạn đó của Java. Ví dụ, chỉ số nguyên và các phép toán được chấp nhận như là loại cơ bản. Các yếu tố của loại liệt kê được dịch là hằng số và các loại hồ sơ được đại diện bởi các lớp học.
Các loại nhà nước của một module 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à các biến địa phương. Để mô phỏng các nondeterminism 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 mà tùy ý lựa chọn một trong các 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 thread Java. Vào thời gian thực hiện, tất cả 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à không xác định đối với thực hiện đề với. Các chức năng chính của dịch Java tạo ra một đối tượng nhà nước và vượt qua các đối tượng như là một đối số cho các nhà xây dựng đối tượng thread. Sau đó nó bắt đầu tất cả các chủ đề. Tính an toàn được mã hóa bằng cách sử dụng các cơ chế ngoại lệ của Java, và được kiểm tra tại thời gian chạy.
3.1.4 Trường hợp nghiên cứu: Flight Hướng dẫn Hệ thống
Chế độ nhầm lẫn là một mối quan tâm về an toàn hàng không. Nó xảy ra khi phi công bị lẫn lộn về các trạng thái thực tế của tự động hóa sàn đáp. NASA Langley tiến hành nghiên cứu để chính thức mô tả các tình huống chế độ nhầm lẫn trong các hệ thống điện tử hàng không. Đặc biệt, một nguyên mẫu của một hệ thống bay Hướng dẫn (FGS) đã được lựa chọn một trường hợp nghiên cứu để áp dụng các kỹ thuật chính thức để xác định các vấn đề chế độ nhầm lẫn. FGS đã được quy định tại formalisms khác nhau (xem [23] cho một danh sách toàn diện về việc liên quan). Dựa trên công trình 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 trong SAL. Các đặc điểm kỹ thuật đã được tự động dịch sang SMV và PVS, nơi mà nó đã được phân tích. Chúng tôi đã không gặp bất kỳ trên không đáng kể trong mô hình kiểm tra mô hình SAL dịch so để tay mã mô hình SMV. Nghiên cứu trường hợp này là có sẵn tại http:. Sources.html //www.icase.edu./~munoz/
3.2 Bất Biến thế hệ
An bất biến của một hệ thống chuyển tiếp là assertion- một vị từ trên nhà chứa của mỗi tiểu bang có thể truy cập các các hệ thống chuyển tiếp. Một bất biến quy nạp là một sự khẳng định rằng nắm giữ của các trạng thái đầu và được bảo quản theo mỗi sự chuyển tiếp của hệ thống chuyển tiếp. Một bất biến cảm ứng 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 tập tất cả các trạng thái có thể đạt từ bất kỳ nhà nước trong quá trình chuyển đổi qua một duy nhất của hệ thống, và biểu thị các công thức biểu thị ban đầu bang. Một công thức là một bất biến quy nạp cho các hệ thống chuyển tiếp nếu (i)
; (Ii) SP.
Chúng ta nhớ lại rằng đối với một hệ thống chuyển đổi nhất định và một tập các trạng thái được mô tả bởi công thức, các ký hiệu biểu thị SP công thức đặc trưng cho tất cả các quốc gia truy cập từ các quốc gia sử dụng chính xác 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 bất biến mà bất kỳ cố định điểm của các nhà điều hành SP là một bất biến.
Chú ý rằng các tính toán của postconditions mạnh giới thiệu existentially công thức định lượng. Do lý tiểu thuyết 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 thủ tục quyết định mặt đất và loại bỏ lượng hóa chúng ta có thể suy luận một cách hiệu quả về các công thức này trong nhiều trường hợp thú vị minh.
Nó là một quan sát đơn giản đó không phải chỉ là điểm cố định lớn nhất của các nhà điều hành trên một bất biến, nhưng mỗi trung gian được tạo ra trong một thủ tục tính toán lặp của điểm cố định lớn nhất cũng là một bất biến.
true
SP
Một hệ quả của quan sát trên là chúng ta không cần phải phát hiện khi chúng tôi đã đạt đến một cố định điểm để đầu ra một bất biến.
Như là một điểm kỹ thuật về việc thực hiện các tính toán điểm cố định trên vĩ đại nhất trong SAL, chúng tôi đề cập đến là chúng tôi chia tay (có thể vô hạn) không gian trạng thái của hệ thống vào hữu hạn nhiều tiểu bang (tách rời) điều khiển. Sau đó, hơn là làm việc với các bất biến toàn cầu, chúng tôi làm việc với các địa phương bất biến mà giữ ở trạng thái kiểm soát đặc biệt. Việc lặp đi lặp lại tính toán điểm cố định lớn nhất hiện nay có thể được xem như là một phương pháp tạo bất biến dựa trên sự khẳng định và tuyên truyền [6].
Lưu ý rằng thay vì tính toán các điểm cố định lớn nhất, nếu chúng ta thực hiện việc tính toán điểm cố định ít nhất, chúng ta sẽ có được bất biến mạnh cho bất kỳ hệ thống nhất định. Vấn đề với các điểm cố định ít nhất là tính toán của họ không hội tụ một cách dễ dàng như những người của các điểm cố định lớn nhất. Không giống như các điểm cố định lớn nhất, các vị trung gian trong việc tính toán các điểm cố định ít nhất là không phải bất biến. Chúng tôi hiện đang điều tra các cách tiếp cận dựa trên mở rộng để tính bất biến theo cách thức hội tụ bằng cách sử dụng các điểm cố định ít nhất [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 định nghĩa trong [29] cho phép bất biến địa phương của mỗi mô-đun được sáng tác vào bất biến 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 ta tạo ra bất biến mạnh hơn bất biến được tạo ra bởi các kỹ thuật được mô tả trong [6,7]. Các bất biến được tạo ra cho phép chúng ta có được booleanabstractionsof hệ thống phân tích bằng cách sử dụng các kỹ thuật phân tích gia tăng trình bày trong [29].
3.3 Slicing
Chương trình phân tích như cắt có thể giúp loại bỏ mã không liên quan đến bất động sản được xem xét từ hệ thống chuyển đổi đầu vào mà có thể dẫn đến tình trạng giảm -space, do đó giảm bớt các nhu cầu tính toán của các nỗ lực phân tích chính thức tiếp theo. Công cụ cắt lát của chúng tôi [18] chấp nhận một hệ thống chuyển đổi đầu vào có thể được đồng bộ hoặc không đồng bộ bao gồm nhiều module viết bằng SAL và tài sản thuộc thẩm tra. Các tài sản thuộc thẩm tra được chuyển đổi thành một tiêu chí cắt và hệ thống chuyển đổi đầu vào được lát liên quan đến tiêu chí slicing này với. Các tiêu chí cắt chỉ đơn thuần là một tập hợp các địa phương / các biến đầu ra của một tập hợp con của các mô-đun trong chương trình đầu vào SAL mà không liên quan đến bất động sản. Các đầu ra của thuật toán cắt lát là một chương trình tương tự SAL bao gồm các module trong đó không liên quan các biến mã manipulatingirrelevant từ mỗi mô-đun đã được cắt lát ra. Đối với mỗi mô-đun đầu vào sẽ có một mô-đun đầu ra, trống rỗng hay không. Tóm lại các thuật toán cắt không một phân tích phụ thuộc của mỗi mô-đun và tính đóng cửa transitive lạc hậu của các phụ thuộc. Đóng bắc cầu này sẽ đi vào xem xét chỉ là một tập hợp con của tất cả các quá trình chuyển đổi trong mô-đun. Chúng tôi gọi đó là các hiệu ứng chuyển tiếp quan sát được và quá trình chuyển đổi còn lại được gọi là quá trình chuyển đổi hoặc im lặng. Chúng ta thay thế chuyển im lặng với bỏ qua.
Chúng tôi đang điều tra các kỹ thuật giảm đó là đơn giản hơn slicing và cũng có những người đó là hung hăng hơn. Một ví dụ là việc giảm nón-of-ảnh hưởng hợp các tiêu chí cắt lát là một tập hợp các biến và giảm tính một hệ thống chuyển đổi đó
bao gồm tất cả các biến trong việc đóng cửa transitive của do sự phụ thuộc giữa các biến [21]. So với slicing, giảm hình nón-of-ảnh hưởng là không nhạy cảm để kiểm soát và do đó là dễ dàng hơn để tính nhưng thường không hiệu quả tại tỉa không thích hợp. Cắt lát bảo chương trình hành vi liên quan đến các tiêu chí cắt với. Một người có thể có được một sự giảm mạnh hơn bằng cách thừa nhận rằng đã thừa nhận hành vi lát hơn bằng cách đưa nondeterminism. Như slicing hung hăng sẽ là cần thiết ví dụ để trừu tượng đi từ hành vi bên trong của một hệ thống chuyển tiếp trong phần quan trọng của nó đối với các mục đích xác loại trừ lẫn nhau. Cắt lát cho hệ thống đồng thời tôn trọng tính chất tạm thời với đã được điều tra bởi Dwyer và Hatcliff [16].
đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2024 I Love Translation. All reserved.

E-mail: