Một số giao diện chức năng của MuSimulink

Một phần của tài liệu Kiểm thử đột biến trong môi trường simulinkmatlab (Trang 146 - 152)

Giao diện của MuSimulink được tổ chức gồm bốn trang màn hình để thực hiện các chức năng của hệ thống (Mutation Generator, Mutations Viewer, Testcase Runner Testcase Generator). Trong phần này giới thiệu một số giao diện chức năng chính của MuSimulink.

Hình A.1 là giao diện đầu tiên “Mutation Generator”, cho phép người dùng thiết kế kịch bản kiểm thử bao gồm chọn tập tin đối tượng cần kiểm thử (mô hình Simulink .mdl) và chọn tập các toán tử đột biến. Sau khi nhấn “Generate”, các đột biến được sinh ra và người dùng có thể chuyển sang trang màn hình “Mutation Viewer” để xem chi tiết các đột biến này. Hình A.2 là giao diện trang xem chi tiết đột biến, gồm số lượng đột biến mỗi loại được sinh ra và thông tin cụ thể của từng đột biến.

Hình A.3 là giao diện trang màn hình “Testcase Generator”. Tại đây, người

dùng có thể đặc tả miền dữ liệu của các đầu vào của mô hình và chọn thuật toán áp dụng để sinh dữ liệu thử có thể diệt nhiều đột biến cho mô hình. Tập dữ liệu thử được sinh ra có thể được chọn lưu trữ vào tập tin Excel.

Hình A.1 Giao diện chọn toán tử đột biến và tập tin mô hình .mdl áp dụng

Hình A.2 Giao diện xem chi tiết đột biến

Chức năng thực thi đột biến trên mô hình có thể thực hiện trên trang “Testcase Runner”, minh họa ở Hình A.4. Đầu vào cho việc thực thi đột biến là tập tin Excel chứa dữ liệu thử được tổ chức đúng cấu trúc quy định: mỗi dòng tương ứng với một

trường hợp dữ liệu thử, mỗi cột tương ứng với một biến đầu vào của mô hình. Kết quả việc thực thi đột biến sẽ được hiển thị trên màn hình, cho biết số đột biến bị diệt, số đột biến còn sống, tỷ lệ đột biến, danh sách các đột biến còn sống, danh sách đột biến bị diệt…

Hình A.3 Giao diện sinh dữ liệu thử

Hình A.4 Giao diện thực thi đột biến

Khi sinh dữ liệu thử và thực thi đột biến, người dùng có thể chọn chế độ thực thi tuần tự hoặc song song. Khi chọn chế độ thực thi song song, người dùng cần cấu hình số worker làm việc.

Bảng A. 1. Bảng đặc tả các toán tử đột biến

TT Toán

tử Khối Kiểu khối Thuộc tính

liên quan ThaoTac Các giá trị thuộc tính

có thể nhận Mặc định

1 TRO Constant Constant OutDataTypeStr ReplaceRound double;single;uint8;int8;uint16;

int16;uint32;int32;fixdt(1,16)

Inherit: Inherit from ''Constant value''

2 TRO Gain Gain OutDataTypeStr ReplaceRound double;single;uint8;int8;uint16;

int16;uint32;int32 Inherit: Same as input 3 TRO Switch Switch OutDataTypeStr ReplaceRound double;single;uint8;int8;uint16;

int16;uint32;int32 Inherit: Inherit via internal rule 4 TRO Compare To Constant Compare To Constant OutDataTypeStr ReplaceRound uint8;boolean

5 TRO Logical Operator Logic OutDataTypeStr ReplaceRound fixdt(1,16);boolean

Inherit: Logical (see Configuration Parameters:

Optimization) 6 TRO Add,Subtract Sum OutDataTypeStr ReplaceRound double;single;uint8;int8;uint16;

int16;uint32;int32 Inherit: Same as first input 7 TRO Product,Divide Product OutDataTypeStr ReplaceRound double;single;uint8;int8;

uint16;int16;uint32;int32 Inherit: Same as first input

8 CCO Constant Constant Value ChangeConst 1

9 CCO Gain Gain Gain ChangeConst 1

10 CRO Constant Constant Value ReplaceConst 1

11 CRO Gain Gain Gain ReplaceConst 1

12 CRO Compare To Constant Compare To Constant const ReplaceConst 3

13 SSO Switch Switch SwapPort13

14 DCO Integrator Integrator InitialCondition ChangeConst 0

15 DCO Unit Delay UnitDelay InitialCondition ChangeConst 0

-v-

Bảng A. 1. Bảng đặc tả các toán tử đột biến (tiếp)

TT Toán

tử Khối Kiểu khối Thuộc tính

liên quan ThaoTac Các giá trị thuộc tính

có thể nhận Mặc định

16 LOR Logical Operator Logic Operator ReplaceRound AND;OR;XOR;NAND;NOR AND

17 VNO Logical Operator Logic InsertBlock Not

18 VNO Relational Operator RelationalOperator InsertBlock Not 19 VNO Compare To Zero Compare To Zero InsertBlock Not 20 VCO

All except Subsystem and Inport and block in VNO

Else InsertBlock Abs;Add;Subtract;Product;

Divide 21 VNO Compare To Constant Compare To Constant InsertBlock Not

22 ROR Relational Operator RelationalOperator Operator ReplaceRound >=;>;<=;<;==;~= >=

23 ROR Compare To Zero Compare To Zero relop ReplaceRound >=;>;<=;<;==;~= <=

24 ROR Compare To Constant Compare To Constant relop ReplaceRound >=;>;<=;<;==;~= <=

25 ASR Add,Subtract Sum Inputs Replace +- ++

27 ASR Product,Divide Product Inputs Replace */ **

28 CCO Compare To Constant Compare To Constant const ChangeConst 3

29 TRO Compare To Zero Compare To Zero OutDataTypeStr ReplaceRound uint8;boolean 31 TRO Relational Operator RelationalOperator OutDataTypeStr ReplaceRound fixdt(1,16);boolean

Inherit: Logical (see Configuration Parameters:

Optimization)

32 BRO Constant Constant DeleteBlock

-vi-

Bảng A. 1. Bảng đặc tả các toán tử đột biến (tiếp)

TT Toán

tử Khối Kiểu khối Thuộc tính

liên quan ThaoTac Các giá trị thuộc tính

có thể nhận Mặc định

33 BRO Gain Gain DeleteBlock

34 BRO Product,Divide Product DeleteBlock

35 BRO Add,Subtract Sum DeleteBlock

36 BRO Logical Operator Logic DeleteBlock

37 BRO Relational Operator RelationalOperator DeleteBlock 38 BRO Compare To Constant Compare To Constant DeleteBlock

39 BRO Compare To Zero Compare To Zero DeleteBlock

40 BRO Unit Delay UnitDelay DeleteBlock

41 BRO Integrator Integrator DeleteBlock

42 BRO Switch Switch DeleteBlock

43 CCO Switch Switch Threshold ChangeConst 0

44 SCO Switch Switch Criteria ReplaceRound u2 >= Threshold;

u2 > Threshold; u2 ~= 0 u2 >= Threshold

45 AOR Sum, Add, Subtract Sum Inputs ReplaceBlock Product ++

46 AOR Product, Divide Product Inputs ReplaceBlock Sum **

-vii-

Phụ lục B. Các mô hình Simulink được sử dụng thử nghiệm trong Luận án

Các mô hình Simulink được sử dụng để thử nghiệm trong Luận văn hầu hết được tham khảo từ các mô hình thử nghiệm trong công trình Tiến sỹ của Zhan [116].

Có hai mô hình (Constant_Accel, Motor_Model) được sử dụng trong thư viện chuẩn của Simulink/Matlab [128]. Các mô hình được lựa chọn để thử nghiệm bao gồm các mô hình từ đơn giản (ít số khối chức năng trong mô hình) đến các mô hình phức tạp (số khối chức năng có trong mô hình là nhiều). Như đã phân tích trong phần tổng quan, Luận văn chỉ tập trung vào các khối cơ bản trong một số thư viện Simulink (Math, Discrete, Logic and Bit, Sinks, Sources). Vì vậy, các mô hình được chọn để thử nghiệm cũng chỉ gồm các khối cơ bản, MuSimulink chưa hỗ trợ cho Stateflow và các khối chức năng khác.

1. Mô hình Constant_Accel

Hình B.1 mô hình hóa vị trí của một đối tượng chuyển động được xác định bởi phương trình x (t) = 0.5 * a * t2 + v0 * t + x0.

Hình B.1 Mô hình Constant_Accel

Một phần của tài liệu Kiểm thử đột biến trong môi trường simulinkmatlab (Trang 146 - 152)

Tải bản đầy đủ (PDF)

(158 trang)