TAILIEUCHUNG - Lecture Formal methods in software engineering - Lecture 18: Abstract model specification

In this chapter, the following content will be discussed: Abstract model specification, notation, features( Z-notation), the state can occupy, the invariant relationships that are maintained as the system moves from state to state, the operations that are possible, the relationship between their inputs and outputs, the change of state that happen. | Formal Methods in SE Abstract Model Specification Lecture # 18 Abstract Model Specification Explicitly describes behavior in terms of a model using well-defined types (viz. set, sequences, relations, functions) & defines operations by showing effects on model Specification includes type - syntax of object being specified model - underlying structure invariant - properties of modeled object pre/post conditions – semantics of operations Notation Is used to test the results Independent of program code Mathematical Data model Represent both static and dynamic aspects of a system Features( Z-notation) Decompose specification into small pieces (Schemas) Schemas are used to describe both static and dynamic aspects of a system Data Refinement Direct Refinement You can ignore details in order to focus on the aspects of the problem you are interested in Schema Static Aspect The state can occupy. The invariant relationships that are maintained as the system moves from state to state Schema(cont.) Dynamic Aspect The operations that are possible The relationship between their inputs and outputs. The change of state that happen. Notation - Example Some variables are declared. Relationship between the values of the variables Name Init Birthday Book Known = Birthday Book Example Birthday book known: NAME birthday: NAME DATE Known : dom birthday Add Birthday Birthday Book name?: NAME date?: DATE name? known birthday’ = birthday { name? date} Example(cont.) Find Birthday Birthday book name?: NAME date? : DATE name? Known date != birthday(name?) Race condition We have not handled the condition when user tries to add a birthday, which is already known to the system, or tries to find the birthday of someone not known. Handle this by adding an extra result! To each operation. Result := of

TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.