1. Trang chủ
  2. » Công Nghệ Thông Tin

Sinh dữ liệu thử cho ứng dụng Lustre Scade sử dụng điều kiện kích hoạt

12 2 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

Nội dung

Bài viết Sinh dữ liệu thử cho ứng dụng Lustre Scade sử dụng điều kiện kích hoạt tập trung nghiên cứu việc kiểm thử tự động cho các ứng dụng Lustre/SCADE. Bài viết đề xuất kỹ thuật sử dụng các điều kiện kích hoạt trên mạng lưới toán tử (operator network) để sinh ra các dữ liệu thử một cách tự động.

Kỷ yếu Hội nghị Quốc gia lần thứ VIII Nghiên cứu ứng dụng Công nghệ thông tin (FAIR); Hà Nội, ngày 9-10/7/2015 DOI: 10.15625/vap.2015.000202 SINH DỮ LIỆU THỬ CHO ỨNG DỤNG LUSTRE/SCADE SỬ DỤNG ĐIỀU KIỆN KÍCH HOẠT Trịnh Cơng Duy1, Nguyễn Thanh Bình1, Ioannis Parissis2 Trường Đại học Bách Khoa, Đại học Đà Nẵng, Đà Nẵng, Việt Nam Viện Đại học Bách khoa Grenoble, Cộng hịa Pháp tcduy@dut.udn.vn, ntbinh@dut.udn.vn, ioannis.parissis@grenoble-inp.fr TĨM TẮT - Kiểm thử hoạt động quan trọng tiến trình phát triển phần mềm Phần mềm phát triển ngày phức tạp, yêu cầu chất lượng ngày cao hơn, vai trò kiểm thử quan trọng hơn, đặc biệt phát triển phần mềm cho hệ thống phản ứng Hệ thống phản ứng phát triển phổ biến lĩnh vực hàng không, lượng, hạt nhân… Những hệ thống thường yêu cầu cao chất lượng đòi hỏi hoạt động kiểm thử nghiêm ngặt trước chúng triển khai sử dụng Lustre/SCADE ngôn ngữ sử dụng rộng rãi để phát triển phần mềm cho hệ thống phản ứng, lĩnh vực mà chất lượng phần mềm yêu cầu nghiêm ngặt, gần không phép xảy lỗi nhỏ Điều đòi hỏi việc kiểm thử phải tiến hành thường xuyên liên tục có thay đổi ứng dụng Bên cạnh đó, ứng dụng lĩnh vực này, việc kiểm thử thủ công khó thực khơng mang lại hiệu quả, yêu cầu cần phải tự động hóa hoạt động kiểm thử cho ứng dụng Lustre/SCADE Trong báo này, tập trung nghiên cứu việc kiểm thử tự động cho ứng dụng Lustre/SCADE Chúng đề xuất kỹ thuật sử dụng điều kiện kích hoạt mạng lưới toán tử (operator network) để sinh liệu thử cách tự động Trong đó, kỹ thuật kiểm chứng mơ hình (model checking) sử dụng việc sinh tự động liệu thử Cuối cùng, thử nghiệm giải pháp chương trình Lustre/SCADE hệ thống điều khiển nhiệt độ mơi trường Từ khóa - Hệ thống phản ứng; Kiểm chứng mơ hình; Kiểm thử; Thuộc tính bẫy; Lustre/SCADE; Sinh liệu thử I GIỚI THIỆU Việc phát khắc phục lỗi cho phần mềm cơng việc địi hỏi nhiều nỗ lực chi phí phát triển phần mềm Hiện nay, phần mềm ứng dụng ngày rộng rãi nhiều lĩnh vực, chất lượng phần mềm ngày quan tâm Trong công nghệ phần mềm, kiểm thử hoạt động nhằm phát lỗi phần mềm Trong đó, kiểm thử tự động nhằm xử lý cách tự động quy trình kiểm thử, sinh ca kiểm thử, thực thi kiểm thử đánh giá kết kiểm thử Hệ thống phản ứng (reactive system) hoạt động đáp ứng (phản ứng) với kiện bên [3] Chẳng hạn, hệ thống sinh học hệ thống phản ứng, phản ứng với kiện định Tuy nhiên, tin học điều khiển, thuật ngữ sử dụng chủ yếu để mô tả hệ thống nhân tạo Hệ thống phản ứng liên tục tương tác với môi trường thực thi theo yếu tố tác động mơi trường Ở khía cạnh trừu tượng xem hộp đen, ta cung cấp giá trị đầu vào hệ thống cho giá trị đầu thích hợp Các hệ thống phản ứng xem trạng thái định đợi thông tin đầu vào (input) Với đầu vào, chúng thực tính tốn sinh đầu (output) chuyển sang trạng thái Thông thường, hệ thống nhúng hệ thống điều khiển hệ thống phản ứng [2] Lập trình đồng (synchronous programming) [3] giới thiệu vào cuối năm 80 phương pháp tiếp cận để thiết kế hệ thống phản ứng Kể từ đó, sử dụng rộng rãi, chủ yếu lĩnh vực yêu cầu độ an toàn cao hệ thống điện tử, vận tải, sản xuất lượng (các hệ thống phản ứng) Một lợi quan trọng cách tiếp cận đồng nhằm cung cấp khn khổ thức, hiệu đồng cho hoạt động phát triển - thiết kế, cài đặt xác minh Một số ngơn ngữ lập trình, đặc biệt ngôn ngữ sử dụng phương pháp tiếp cận đồng Esterel, Signal Lustre [4] SCADE (Safety Critical Application Development Environment) công cụ thương mại dựa mơ hình đồng ngơn ngữ lập trình Lustre SCADE sử dụng dự án quan trọng châu Âu (Airbus A340-600, A380, Eurocopter) trở thành tiêu chuẩn lĩnh vực Lustre [4] ngôn ngữ đồng luồng liệu, thiết kế năm 1984 Viện IMAG Grenoble Chương trình Lustre gồm chuỗi có thứ tự phương trình giúp xác định phương thức dòng đầu vào chuyển thành dòng đầu thơng qua tập hợp tốn tử Do đó, cách biểu diễn phù hợp cho chương trình Lustre đồ thị có hướng, gọi mạng lưới toán tử (trong thực tế, người sử dụng khơng viết chương trình Lustre mà sử dụng trình soạn thảo đồ họa công cụ SCADE để xây dựng mạng lưới toán tử liên quan) Việc kết hợp hai mơ hình đồng dịng liệu, cú pháp đồ họa đơn giản, áp dụng khái niệm thời gian rời rạc số đặc điểm làm cho Lustre trở thành ngơn ngữ lý tưởng cho việc xây dựng mơ hình, thiết kế hệ thống điều khiển số lĩnh vực công nghiệp, chẳng hạn hệ thống điện tử, ô tô lượng, hạt nhân nói riêng hệ thống phản ứng nói chung Với hệ thống này, yếu tố an toàn (safety) quan tâm hàng đầu Vì việc hệ thống bị lỗi vận hành gây hậu nghiêm trọng Hơn nữa, “lỗi hệ thống” có xu hướng phát muộn q trình phát triển mà gây thiệt hại đáng kể, khó để gỡ lỗi tốn nhiều chi phí Trong tiến trình phát triển phần mềm cho hệ thống phản ứng, giai đoạn kiểm thử đóng vai trị quan trọng Phần Trịnh T Cơng Duy, Nguyễn N Thanh B Bình, Ioannis Parisssis 629 mềm m lớnn phứcc tạp, thủ tục kkiểm thử đòi hỏi h tốn nhiều thời gian ccơng sức Việệc tìm lỗi g sớm tốt, ngăn ngừaa khiếm khhuyết trước khhi thực kiểm thử mứcc chi tiết hơn, phức tạp chi phí cao o [1] Bắt đầuu từ đầu nhữngg năm 90, lĩnhh vực nghiên cứu c kiểm th cho hệệ thống phản ứ ứng hình h thành Từ đ đến nay, nhhiều cơng trìnhh nghiên cứu đđã đư ược thực Nhóm tác t giả Laya M Madani Đạii học Grenoble thực kiiểm thử tự độnng cho ứnng dụng phản ứng áp dụng d ngơnn ngữ Lustre [[10] Nhóm ngghiên cứu y xây dựng công cụ Lutees[11] để kiểm m thử ứng dụng phản ứng ứ Lustrre, nhiên nnghiên cứu nàyy sử dụng phư ương thức xácc định ngẫu nhhiên ca kiểểm thử dựa tiêu chí c bao phủ Năm N 1999, nhhóm tác giả N Nicolas Halbw wachs Pascal Raymond đđến từ Đại họọc Grenoble đ sử dụng công c cụ LESA AR để kiểm chhứng mơ hình hệ thống phản ứng [9] [12] Năm 20004, nhóm tácc giả Pieter Ko oopman Rinus R Plasmeij ijer đến từ Đại học Nijmegeen mở rộng cô ông cụ kiểm th tự động GA AST để có thhể kiểm thử cá ác hệ thống phản p ứng Tiếpp đến, nhóm ttác giả Elizabeeta Fourneret [13] đại học Franche-Coomté thực hhiện sinh ca kiểm thử xây x dựng tập ca c kiểm thử ccần thực phiên mới, m ngh hiên cứu tác giả đề xuấất kỹ thuật sin nh ca kiểm th cho ứnng dụng dựa trrên mơ hình U UML Nhìn chhung nghiiên cứu đến thhời điểm tập trung vào nghiên cứứu kỹ thuuật kiểm chứng g mơ hình, kiểm k thử, kiểm m thử tự độngg hệ thốngg phản ứng chương trìn nh Lustre/SCA ADE Tuy nhiiên, theo chún ng tơi nhận th hấy chưa có nhiều n nghiên cứu thực hiệnn hướng tiếp cận c sử dụng c điều kiện kích hoạt trênn mạng lưới c toán tử trrong việc kiểm m thử chư ương trình Lusstre/SCADE Trong b báo này, cchúng đề xxuất kỹ thuật sinh liệu thử t tự động ccho chươnng trình Lustrre/SCADE Trong T đó, sử dụng d điềuu kiện kích hooạt mạng g lưới tốn tử chương ttrình Lustre, đđồng thời sử dụng kiểm chứng c mơ hìnhh để sinh tự đđộng lliệu thử dựa điều kiện k kích hoạạt Chúng tơi sử dụn ng cơng cụ kiểm k chứng mơ m hình LESA AR để tiến hànnh kiểm chứng g mơ hình cho o chương trình Lustre ccụ thể, từ sinh d liệu thử dựaa kết sinh từ trình kiểm chứng Nội dunng bááo tổ ức sau: Mục M I giới thiệu chung bbài báo trìình bày tổng quan q hệ th hống phản ứnng, ngơn ngữ lập trình Lustrre nghiêên cứu kiểm m thử cho cácc chương trìnhh Lustre/SACD DE giới g Mục II trrình bày sở lý thuyếtt tảng sử dụng d ngh hiên cứu Trong mục IIII, đề đ xuất giải pháp p sử dụng điều kiện kíchh hoạt mạạng lưới tốn tử ch hương trình L Lustre, kết hợpp với việc sử dụng cơng cụ c kiểm chứngg mơ hình LE ESAR để tạo ddữ liệu thử ch ho chương g trình Lustre//SACDE Phầần IV trình bày việc ứng dụng d giải phápp cho mộtt hệ thống cụ tthể kếtt việc thử nghiệm C Cuối pphần kết luận đề xuất hướng h phát triển II CƠ Ơ SỞ LÝ TH HUYẾT Trong mục m chúnng tơi trình bàyy sở lý thuy yết nghiên n cứu, bao gồm m nội dunng ngơn ng gữ lập trình Lustre L môi trường SCAD DE Đồng thờii cũn ng trình bày kỹ k thuật xây dựựng mạng lướới tốn tử, lộ trình c điều kiện kích hoạt choo chương trình Lustre/S SCADE Và cuối c llà nội ddung ứng dụng kiểm chứng c mơ hìnhh sinh ữ liệu thử A A Tổng quan n Lustre/SC CADE 1 Ngơn ngữ lập l trình Lustrre hhệ thống phản ứng Hệ thốnng phản ứng hệ thốnng thay đổi hàn nh động n với đầu ra, điều kiện ttrạng thái nhằm đáp ứng với v tác độnng từ bên ngồi Hệ thốnng tự định hướng g đđiều khiển địnhh hướng để ph hản ứng lại với v tác động bên Hệ thống phhản ứng liên tụ ục phản ứng lại l với tácc động từ môii trường, môi m trường n khơng thểể đồng hóaa cách hợp ợp lý với hệ th hống Nói cách h khác, mơi trrường chờ đợi hệ thống phải p tôn trọng nghiêm ngặt ràng buộc thời gian thựcc cần đáp ứng kịp thời [12] Việc thực thhi hệ thống g phản ứng đ xem m chuỗi vô hhạn véc tơ đầu vào đầu Ở bước b giá trrị đầu đượcc xác định giá trị đầu vào v trước v Hình Mơ hình hệ thống phản p ứng 630 SIN NH DỮ LIỆU THỬ Ử CHO ỨNG DỤ ỤNG LUSTRE/SC CADE SỬ DỤNG G ĐIỀU KIỆN KÍCH K HOẠT Hình minh họa mơơ hình mộột hệ thống ph hản ứng Với đầu vào, hệ thống thự ực tính to oán sinh đầu đ chuyyển sang trạng thái mớ ới Thông thườ ờng, hệ th hống nhúng vàà hệ thốngg điều khiển c hệ h thống phản ứng Các hệ tthống phản ứnng thường đượ ợc áp dụng chủ ủ yếu để xây ddựng hệ thhống điều khiển tự động trrong lĩnh vực hàngg không, lượng, hạt nh hân, hệ thống liên l quan đến giao diện ngư ười – máy… Lustre [4] ngôôn ngữ hướng liệu đồng bộ, xây dựng dành riêêng cho việc llập trình nên c chương trrình điều khiểển hhệ thống phảnn ứng như: hệ thống điềều khiển tự độộng, hệ thhống giám sátt lĩĩnh vực lượng, hạt nhhân Ngơn nggữ Lustre thích t hợp tron ng việc lập trìnnh thành pphần quan trọng hệ h thống thời gian g thực Khác với ngôn nngữ mệnh lệnh h (imperative languages), l m mơ tả dịng điềuu khiển m chương trrình, ngơn ngữ ữ Lustre mô tảả cách mà cácc đầu vào đượcc chuyển thành kết đầu Một chư ương trình Luustre gồm nốt (node) Một M node mộ ột tập hợp cácc phương trìnhh xác định kết đầu v hàm đầu vàào Mỗỗi biến định ngh hĩa lần ần nnode thứ tự chúng trrong chương trình t khơngg quan trọng [44] Một m node đượcc định nghĩa, nnó đượợc sử dụng bên n node n khác Mộột node xác địịnh luồng đầuu ch hức luồng l đầu vàoo, thông qua m tập hợp có thứ tự phương p trình, node cóó thể chứa cácc biến cục Hình ví dụ d chươnng trình Lustree để thực n phép toán never, n đoạn chhương trình nàày khai báo mộột node never với đầu vào E đầu S Hình Ví dụ đoạn chư ương trình Lustrre Lustre dựa trênn khái niệm vvề luồng (fflows) đồng g hồ (clocks) Luồng mộột chuỗi giiá trị tương ứng ứ với chhuỗi đồng hhồ Ngơn ngữ Lustre gồm tốn tử bbản sau: - Toán tử logic: and,, or, not, xor, => - Toán tử số học: +, -, *, /, div, mood - Toán tử so sánh: >, = = Các kiểểu liệu bbản ngôn nngữ Lustre: - Kiểu luận lý (booleean): Gồm ggiá trị true, fa alse Kiểu y sử dụnng với toáán tử logic: an nd, or, not, xor, x =>, kiểu n thường đư ược dùng trongg lập trình cácc cấu trúc điều u khiển - Kiểu số nguyên, sốố thực (int, reaal): Các kiểu n sử dụ ụng với phép toánn: +, -, *, /, diiv, mod, c phép so sáánh: , = Bên cạnnh tốn tử trên, ngơn nggữ Lustre có c toán tử thờ ời gian (tempooral operator): Toán tử ưu tiên, toán tử khởi k tạo toáán tử điều kiệện Các tốn ttử thời gian nàày có hoạt động đặc biệt trrên luồng lliệu Các toán n tử đ sử dụng để đ tạo ttoán tử vvà phức tạp hơ ơn - Toán tử ưu tiên (prrecedence) đư ược ký hiệu pre(): Các toáán tử pre() ghhi nhớ giá trị ccủa đối số ố từ chu kỳ đồng đ hồ trước Các tốn tử nhận giáá trị nil chu kỳ k đồng hồ đầầu tiên Nếu chhuỗi X(x1, x2,, x3,x4,x5,x6 ) sử dụng d thham số toáán tử pre(), prre(X) cho kết q chuỗi tuần n tử (nil, x1, x2, x3, x44,x5,x6 ) - Toán tử khởi tạo (iinitialization) ký hiệu u → fby: f Các toán tử → sử dụng để cun ng cấp cho dòng d liệu m giá trị khở ởi tạo ban đầuu Ví dụ, chuỗi c X(x1, x2 2, x3,x4,x5,x66 ) Y(y1, yy2, y3,y4,y5,y y6 ) sử s dụng để tạoo chuỗi Z = X → →Y, chuỗi kếtt Z(xx1, x2, x3,x4,xx5,x6 ) Tốán tử có th hể sử dụng d vớii toán tử ppre() giá trịị chuỗi đầu tiêên pre()) khơng xácc định Sử dụnng chuỗi t ví dụ trrước biểu Z = X → pre(Y) cóó chuỗi giá trị Z= ( x1, y2, y3,y4,y5,y6 y ) ) - Toán tử điều kiện w when: Toán tử when sử dụng để th hay đổi tần suuất đồng hồ T Toán tử when gọi g lọc Ví dụ ta có chhuỗi E F vàà G = E when n F, tạo chuỗi c G ssẽ có giá trị tư ương tự E k F Khi F sai thhì chuỗi G khơng có giá trị Đặc biiệt, ngơn ngữ Lustre khơng cung cấp cácc tốn tử lặp (while, (w whiile, for) hay thhực gọi đệ đ quy n ngơn nggữ lập trình khhác [4] Trịnh T Cơng Duy, Nguyễn N Thanh B Bình, Ioannis Parisssis 631 2 Môi trườngg SCADE SCADE E (Safety Crittical Applicatiion Developm ment Environm ment) cônng ty Esterel T Technologies [2] môi m trường đồồ họa dành riêêng để phát triiển hệ thống nhúng quaan trọng, hhệ thống phảnn ứng cô ông nghiệp công c nghệ caoo SCADE dựaa ngôn nggữ Lustre n cho phép địịnh nghĩa phân ân cấp cácc thành phần hệ h thống sinh s mã tự độnng (sinh mã chhương trình C C, Ada) SCAD DE cung cấp môi m trường đồ họa cho phépp thiết kế mơ m hình sinh s chư ương trình bằnng ngơn ngữ L Lustre Thực tế, t nhà phát triển phần m mềm thường kkhơng trực tiế ếp lập trình b ngôn ngữ ữ Lustre mà thhường sử dụngg SCADE để thiết t kế, sau ó chương trìnhh Lustre đư ược sinh tự động Hình h Mơ hình SCADE chươ ơng trình Lustree Hình minh họa mơ hình thiiết kế mơi trường SCAD DE chươngg trình Lustre đđược sinh tương ứng 3 Mạng lưới tốn tử Lustre ngơn nngữ luồng liệu: Luồng vào v chương c trình đđược biến đổii thành luồng tập hợp độc lậpp khơng độc lập toốn tử Do chương trình t Lustre thhường biiễu diễn mạng lưới c toán tử Trrong mơi trườ ờng SCADE, m chương trrình Lustre đư ược biểu diễn bbằng biểuu đồ trực quan n, gọi mạng lưới tooán tử [6] Một mạạng lưới tốn ttử đồ tthị có nhãn trự ực tiếp nhiều đầu đ vào, gồm m tập hợp N toán tử m tập hợp ⊆ cáác cạnh (edge)) nối toánn tử Mỗi toán n tử biểu diễn biểểu thức logic hhoặc phép toán [6] Một M toán tử đư ược biểu thị bở ởi tập hợpp có trật tự cácc cặp mà m trạng thái e i (i=1,2,…) củủa cạnh đầ ầu vào s trrạng thái cho cạnh đầu Với cặặp đượcc liên kết m thuộc tínhh bao gồm cácc điều kiện luồng liệu chuyển từ cạnh ei sang ccạnh s Hình M Mạng lưới tốn tử nốt neveer chươngg trình Lustre l tốn tử giúp xác định dòng liệu dịch chuyển từ t đầu vào đếến đầu [6] Cạnh xác địn nh dòng Mạng lưới ữa mạng lưới toán tử tooán tử Lustre Một mạng lư ưới toán tử liệu tốán tử Có mộtt quan hệ 1-1 (đơn ánh) giữ hường chứa c biểu thức: AND, OR, NO NOT, + , -, /, *, LT (), LTE (< =), GTE (>=)), EQ (==), NEQ N (), th ITE I (if - then - else), PRE (ppre), FBY (→ →) Có hai chức đư ược liên kết vớ ới toán tử op (o op=operator):: Khi in(opp) trả tập hợp h toán tử nối n với cạnh đầu đ vào outt(op) trả tậập hợp toán tử nối với cạnh đầu Có loại cạnh: cạnnh đầu vào (in nput edge), cạnh c đầu (ouut edge) cạạnh nội (intternal edge) - Cạnh đầu vào tươnng ứng với cácc biến đầu vào chươ ơng trình Lusttre; - Cạnh đầu tương ứng với bbiến đầu củaa chương trình h Lustre; - Cạnh nội tương ứng với bbiến cục củ chương trình h Lustre Mỗi cạnnh có toáán tử nguồn duuy mộ ột toán tử đích Cạn ạnh e2 kế tiếếp cạnh e1 k có tốán tử mà e1 đđầu vào e2 đầu 632 SINH DỮ LIỆU THỬ CHO ỨNG DỤNG LUSTRE/SCADE SỬ DỤNG ĐIỀU KIỆN KÍCH HOẠT Hình biễu diễn mạng lưới toán tử nốt never chương trình Lustre Đây đồ thị có đầu vào đầu Nó bao gồm bốn cạnh nội (L1, L2 L3) bốn toán tử (NOT, AND, PRE FBY) Lộ trình mạng lưới tốn tử Trong chương trình Lustre, mạng lưới tốn tử biểu diễn thành lộ trình (paths) [6] từ đầu vào đến đầu Lộ trình tạo từ kết cạnh p=, dãy hữu hạn cạnh nối liên tiếp Giả sử tất biến i ∈ [0, n-1] cặp thuộc mạng lưới tốn tử [6] N-path độ dài lộ trình (là số lượng cạnh) với n Lộ trình xuất phát (initial path) lộ trình mà cạnh giá trị vào Vòng lặp phần đồ thị mạng lưới toán tử lặp lặp lại với điều kiện khác Một lộ trình có chứa vịng lặp gọi lộ trình lặp (cyclic paths), lộ trình lặp có chứa nhiều tốn tử PRE Lộ trình đơn vị (Unit path) cặp hai cạnh có trình tự, có chiều dài n=2 (2-paths) Lộ trình hồn chỉnh (complete path) lộ trình từ cạnh khởi tạo cạnh đầu Lộ trình (elementary path) lộ trình khơng có vịng lặp Cạnh thích với nhãn rõ trình tự dịch chuyển luồng liệu Ngồi ra, lộ trình p’= gọi tiền tố p= với n>2 Bảng liệt kê lộ trình mạng lưới tốn tử chương trình never Hình Bảng Các lộ trình chương trình never # Lộ trình (E ,L0 ,S) (E ,L1 ,L3 ,S) (E ,L0 ,S ,L2 ,L3 ,S) (E ,L1 ,L3 ,S ,L2 ,L3 ,S) Kiểu acyclic acyclic cyclic cyclic Chiều dài Toán tử vị từ Với (e, s) lộ trình đơn vị op tốn tử ta có e ϵ in(op) s ϵ out(op) Toán tử vị từ (operator predicate) [6] cấu thành từ thành phần toán tử thể mối quan hệ chúng biểu diễn dạng OC(, ) Như để biểu diễn toán tử e đầu vào s đầu ra, ta biểu diễn theo dạng OC(e,s) Toán tử vị từ OC(e,s) với thành phần tốn tử (e,s) có giá trị thuộc kiểu boolean, ta có: - OC(e, s) = true op toán tử NOT toán tử quan hệ - OC(e, s) = not(e) or e’ op toán tử AND in(op) = {e, e’} - OC(e, s) = e or not(e’) op toán tử OR in(op) = {e, e’} - OC(c, s) = true, OC(e, s) = c and OC(e’, s) = not(c) op toán tử ITE, in(op) = {c, e, e’} Điều kiện kích hoạt Điều kiện kích hoạt (Activation Condition, sau gọi AC) [6] điều kiện để luồng liệu chuyển từ cạnh vào sang cạnh tốn tử Mỗi điều kiện kích hoạt kết hợp với lộ trình Khi điều kiện kích hoạt lộ trình đúng, thay đổi giá trị lộ trình tạo thay đổi kết cuối Một lộ trình kích hoạt điều kiện kích hoạt có lần có giá trị q trình thực thi Cho N mạng lưới toán tử p= lộ trình n-path, p’ = (e1, e2, … en-1) lộ trình trước p op tốn tử lộ trình p (ví dụ: en-1 ϵ in(op) en ϵ out(op)).Điều kiện kích hoạt lộ trình p= biểu thức Boolean, AC(p), xác định theo quy tắc sau đây: - Nếu n = AC(p) = true: có nghĩa điều kiện kích hoạt cạnh đơn ln có giá trị true - Ngược lại n> 1, điều kiện kích hoạt lộ trình pn hàm đệ quy tốn tử lộ trình Tùy theo loại tốn tử, điều kiện kích hoạt AC(p) xác định sau: • AC(p) = AC(p’) and OC(en-1, en) op toán tử boolean, toán tử quan hệ toán tử điều kiện, OC(en-1, en) vị từ tốn tử op • AC(p) = false → pre(AC(p’)) op tốn tử pre • Nếu op toán tử fby(init; nonInit), toán tử pinit toán tử pnonInit tương ứng với trường hợp khởi tạo init không khởi tạo nonInit điều kiện kích hoạt định nghĩa hai phương trình sau: Trịnh T Cơng Duy, Nguyễn N Thanh B Bình, Ioannis Parisssis 633 AC(p) = A AC(p’) Ỉ falsee (*) AC(p) = fa false Ỉ AC(p’) (**) Phươngg trình đầu tiênn (*) cho rằngg lộ trình p kích hoạạt lộ trìnhh trình trước ccủa kíích hoạt chu c kỳ khởi tạo Cịn phươ ơng trình thứ hhai (**) cho rằằng lộ trình lu n kích hoạt ccho chu kỳ khở ởi tạo Ví dụ: Với V lộ trình (E E ,L1 ,L3 ,S) ccủa chương trìình never Hìình 1, chúng tta xác đđịnh điều u kiện kích hoạt h tương ứngg: AC = ( truue and (not(L L1) or L2) and d false->true) B B Kiểm chứn ng mơ hình Trong phát p triển phầnn mềm, kỹ thuuật kiểm chứn ng mơ hình đư ược sử dụng đđể chứng minnh cách tự ự động tính đ đắn phần mềm hooặc phần mềm m không thựcc thi thơnng qua phản vví dụ (counterexample) Các C phản ví dụụ sử ddụng để xây ddựng nên d liệu thử củ hệ thống T Trong phần ày chúng tơi trình bày kỹ th huật kiểm ứng mơ hình vvà ứng dụng kỹ thuật tro ong việc sinh liệu thử 1 Tổng quan kiểm chứnng mơ hình Kiểm chứng c mơ hìnnh kỹ thuật phân tích hệ thống để xácc định tính hợợp lệ hay nhiều tín nh chất mà người n dùng quuan tâm mơ hình cho trước [7] Cụ thể hơn, với mơ hình M thuộc tíính p cho trướ ớc, kiểm trra liệu mơ hìnnh M có thỏa mãn thuộc tínnh p hay khơn ng: M |= p [4] Về mặt thựcc thi, kiểm ứng mơ hình kỹ thuật tĩĩnh, duyệt qua tất cácc trạng thái, cáác lộ trình thựcc thi có mơ hìnnh M để xác địịnh tính phủ định p Hình h Sơ đồ tổng g quát kiểm chứng mơ hìnhh Kiểm chứng mơ hìnhh bao gồm bước: mơ hình hóa, đặc tả vàà kiểm chứng (Hình 5) - Đầu tiên t bước m mơ hình hóa, đầầu vào bư ước thiết kế ho ặc mã nguồồn - Bước tiếp theo, địnhh nghĩa thuuộc tính mà mơ m hình cần thỏ ỏa mãn đđặc tả Các thuuộc tính thường diễn d đạt c biểu thức llogic Kết hai bước mô m hình hóa v đặc tả đầuu vào kiểm m chứng mơ hìình - Trongg bước cuối cùùng, công cụ kiểm chứng s tự động thự ực trả kết làà mô hình thỏa mãn m thuộcc tính, đư ưa phảnn ví dụ mơ hình khơng thỏa t mãn 2 Kiểm chứnng mơ hình troong kiểm thử pphần mềm Kiểm chứng c mơ hìnnh giải pháp để kiểm m tra tính đún ng đắn mơơ hình, nhhiên, kỹ thuậtt th hường áp dụng trongg kiểm tthử phần mềm m Ý tưởng việệc là: Trêên sở mơ hình h có, chúng c ta định nghĩa thuuộc tính làm ccho mơ hình khơng k thỏa mãn, m gọi cácc thuộc tính b ẫy Việc nhằm mục đích đ tạo cácc phản ví dụ saau thực thhi q trình kiểểm chứng mơ hình Từ phản ví dụ nàày, tạo c liệu thử mong muốn Hình Q Quy trình tạo ữ liệu thử kiểm k chứng mơơ hình 634 SIN NH DỮ LIỆU THỬ Ử CHO ỨNG DỤ ỤNG LUSTRE/SC CADE SỬ DỤNG G ĐIỀU KIỆN KÍCH K HOẠT Hình minh họa việệc sinh liệuu thử dựa vào o kiểm chứng mơ hình Vớii mơ hìnhh đầu vào, ta định nghĩa đ thuộc tình bẫy dự ựa điềều kiện kích hoạt h Thơng qu ua q trình kkiểm chứng m mơ hình, chúng g ta xác định đ ca kiểm thử tư ương ứng [8] 3 Cơng cụ kiiểm chứng mơơ hình LESAR R LESAR R [9] cơng ccụ kiểm chứngg mơ hình cho o chương trình t Lustre/S SCADE, phát triển bởii trung tâm nghiên n cứu Veerimag Đây làà thành phần đđược tích hợp p vào cơng cụ phát triển ngôn ngữ Luustre, phá át triển với mục m đích kiểm m chứng chhương trình Luustre Đầu vàào cơng cụụ LESAR cchương trình Lustre L với đặcc tả mã nguuồn viết ngôn ngữ Lustre dịng d lệnh mơ tả thuộc tính ccũng bằằng ngơn ngữ Lustre L Giả sử, để thực kiểm chứng m mơ hình chương c trình Lustre L never vvới thuộcc tính đảm bảo o kích hoạt c lộ trình đư ược trình bày bảng Ví dụ: Với V lộ trình (E ,L1 ,L3 ,S)), xác định đ điều kiệnn kích hoạt tươơng ứng: AC = ( truue and (not(L L1) or L2) and d false->true);; Mã nguuồn đầy đủ chhứa mơ hình thuộc tính lààm đầu vào đểể thực kiiểm chứng mơơ hình cho chư ương never s sau: node neveer(E: bool) retturns (AC, S: bool) let S = not(E) -> ((not (E) and pre(S)); p A AC = ( true annd (not(L1) orr L2) and falsee->true); tel; Cú phápp thực thi LES SAR lesar v Ví dụ: lesar neveerlesar.lus nevver –diag Hình Kiểm m chứng mơ hìn nh với LESAR U KIỆN KÍCH H HOẠT TR RÊN MẠNG LƯỚI L TOÁN N TỬ TRONG G KIỂM THỬ Ử CÁC III ỨNG DỤNG ĐIỀU CHƯƠNG TRÌNH T LUST TRE/SCADE p này, chúúng tơi trình bbày giải pháp để đ kiểm thử c chương trìình Lustre/SC CADE sử dụng g điều kiện Trong phần kích k hoạt mạng lưới toốn tử tương ứ ứng để mơ hìn nh hóa địn nh nghĩa thhuộc tính bẫyy Sau đó, kỹ thuật kiểm chứng c mơ hìnhh ứngg dụng để tạo liệu u thử Trong b báo này, chhúng sử dụụng công cụ kiểm chứng mơ m hình LESA AR để tiến hànnh cơng đoạn kkiểm chứng mơ m hình A A Giải pháp sinh liệu tthử cho chươn ơng trình Lusttre sử dụng điiều kiện kích h hoạt Vấn đề tậpp trung giải quuyết là: với chươn ng trình Lustree cho trước, taa cần sinh c liệu th cách tự t động dựa trrên điều kiiện kích hoạt c lộ trình trêên mạng lưới ttốn tử chhương trình Lu ustre Hình Mơ hình giải pháp sinh liệu thử cho chương trrình Lustre sử ddụng điều kiện kkích hoạt Trịnh Cơng Duy, Nguyễn Thanh Bình, Ioannis Parissis 635 Trong Hình 8, chúng tơi đề xuất mơ hình giải pháp tổng thể để sinh liệu thử cho chương trình Lustre, bao gồm cơng việc sau: - Từ chương trình Lustre cho trước với mạng lưới toán tử minh họa dạng đồ thị luồng liệu, ta xác định tự động tất lộ trình từ cạnh đầu vào đến cạnh đầu - Trên sở lộ trình xác định bước 1, ta xác định tự động điều kiện kích hoạt tương ứng - Tiến hành kiểm chứng mơ hình chương trình Lustre ban đầu với thuộc tính đầu vào thuộc tính bẫy tạo sở phủ định điều kiện kích hoạt sinh từ bước Việc xác định lộ trình điều kiện kích hoạt tương ứng đóng vai trò quan trọng việc định nghĩa thuộc tính bẫy cho q trình kiểm chứng mơ hình Mục tiêu q trình kiểm chứng mơ hình khơng phải để kiểm tra mơ hình hệ thống thiết kế hay khơng, mà mục đích sinh phản ví dụ, phản ví dụ liệu thử cần tạo B Sinh liệu thử tự động với cơng cụ kiểm chứng mơ hình LESAR Để thực việc sinh liệu thử sau có điều kiện kích hoạt phản ví dụ tương ứng, sử dụng công cụ kiểm chứng mơ hình LESAR cho chương trình Lustre Tuy nhiên, mục đích cần sinh phản ví dụ, thuộc tính đầu vào phải thuộc tính bẫy dựa điều kiện kích hoạt, thuộc tính bẫy nAC xác định theo cơng thức: nAC=not (AC) Hình minh họa quy trình sử dụng cơng cụ LESAR để sinh liệu thử dựa mã nguồn chương trình Lustre điều kiện kích hoạt Mã nguồn Lustre LESAR Thuộc tính bẫy nAC=not(AC) Các phản ví dụ (Các liệu thử cho chương trình Lustre) Hình Sử dụng LESAR tạo liệu thử Việc sinh liệu thử sử dụng kỹ thuật kiểm chứng mơ hình cơng cụ LESAR dựa điều kiện kích hoạt thực trình tự qua bước chi tiết sau: Bước - Xác định điều kiện kích hoạt: Từ chương trình Lustre xác định điều kiện kích hoạt tương ứng với lộ trình mạng lưới toán tử; Bước – Định nghĩa thuộc tính bẫy: Tương ứng với điều kiện kích hoạt bước 1, ta xác định thuộc tính AC chương trình cần kiểm chứng Sau định nghĩa thuộc tính bẫy nAC dựa thuộc tính AC: nAC=not AC; Bước – Định nghĩa liệu đầu vào cho việc kiểm chứng mơ hình: Điểm đặc biệt cơng cụ LESAR mơ hình đầu vào thuộc tính cần kiểm chứng định nghĩa ngôn ngữ Lustre chứa tệp Do đó, dựa mã nguồn Lustre ban đầu thuộc tính bẫy nAC bước 2, tạo tệp đầu vào cho việc thực thi kiểm chứng mơ hình Bước – Thực thi cơng cụ LESAR: Q trình kiểm chứng mơ hình cho chương trình Lustre cơng cụ LESAR đảm nhận Tương ứng với đầu vào, trình thực thi cơng cụ LESAR tạo phản ví dụ tương ứng Bước – Xác định liệu thử: Lần thực thi kiểm chứng mơ hình với điều kiện kích hoạt lộ trình mạng lưới toán tử, nhận kết phản ví dụ Tương ứng với phản ví dụ sinh sau thực thi kiểm chứng mô hình cơng cụ LESAR ta có liệu thử Chính phản ví dụ liệu thử cho chương trình Lustre Ví dụ: Đối với chương trình never Hình 4, liệu thử sinh dựa điều kiện kích hoạt lộ trình (E ,L0 ,S ,L2 ,L3 ,S), trình bày Bảng 636 SIN NH DỮ LIỆU THỬ Ử CHO ỨNG DỤ ỤNG LUSTRE/SC CADE SỬ DỤNG G ĐIỀU KIỆN KÍCH K HOẠT Bảng Sinh liệu thử dựa điều kiện kích hooạt Lộ trìình Điều kiện kích hoạạt Thuộc tính bẫy Phản ví dụ tạạo Dữ liệệu thử (E ,L0 ,S ,L2 ,L3 ,S) AC=(fa alse->pre( tru ue and truee->false)) annd (not(L2 2) or L1) and false->true) f nAC=n not(AC) - TRA ANSITION true {1} Tương ứng với vecto or (E) IV ỨNG DỤNG G Trong phần p này, chúúng tơi ứng dụụng kỹ thuật đ trình bày y phần trướcc để thực hiệnn việc sinh liệu thử tự động đ cho hệ thhống điều khiểển nhiệt độ dự ựa điều kiện kích hoạt c lộ trình trêên mạng lưới ttốn tử Trước tiên, t xem xét thiết bị điều đ khiển củaa máy điều khhiển nhiệt độ tr Hình 10, hệ thống điều đ khiển nhiệt độ đượ ợc cấu tạo phần: công tắc, cảm biến nhiệt độ qquạt gió Thiếtt bị cảm biến cho c ta tín hiệu h kiểu boollean: Tlow, T Tok , Thigh, tư ương ứng mức: m nhiệt độ thấp, bình thhường, nhiệệt độ cao Th hiết bị điều khiển k dùng cơơng tắc tín hiệu cảm biếnn để có chế độ điều u khiển tín hiệệu (STOP, Deeactivated, Ho ot Cold) đến đ quạt gió: STOP nghĩa quạt ngừng hoạt độn ng, Deactivateed tức quạt gió chế độ cchờ (quạt gió khơng làm việc), v Hot Cold C tương ứnng với khơng kkhí nóng hay khơng k khí lạnh h đưa raa Hìình 10 Cấu trúc điều khiển k nhiệt độ Hệ thốnng hoạt độộng sau: − Nút Switch S sử dụngg để điều khiểển bật tắt hệệ thống Nếu hệ h thống đangg trạng thái S STOP (bị tắt) điều đ khiển kháác khơng có táác dụng − Nếu hệ h thống trạng thái O On (mở) ng gười dùng chọn Thight qquạt gió hoạạt động mạnh làm cho nhiệt n độ môi m trường cchuyển sang trrạng thái Cold d (lạnh) − Tươn ng tự, hệ thhống trrạng thái On v người dùng g chọn Tlow thhì quạt gió hoạt động chậ ậm lại làm cho c nhiệt độ củủa môi trườngg chuyển saang trạng thái Hot (nóng) − Nếu hệ h thống trạng thái O On (mở) nh hưng người dù ùng khơng tác động, hoạt ạt động quạt gió khơng k thay đổi khơng ảnnh hưởng đến nnhiệt độ t Chương trình t Lustre củủa hệ thống điiều khiển nhiệệt độ đượcc trình bày troong Hình 11 node headCoontrol_v1(On, Tlow, T Tok,Thighht:bool) return(STOP P, Deactivated, Hot, H Cold: Boool); let STOP= falsee Ỉ if On then not n pre STOP else el pre STOP; Deactivated= = On and Tok; Hot= On andd Tlow Cold= On annd Thight tel Hình 111 Chương trình h LUSTRE hệ th hống điều khiểnn nhiệt độ Trịnh T Cơng Duy, Nguyễn N Thanh B Bình, Ioannis Parisssis 637 Trong Hình H 12, chươ ơng trình Lustr tre biểu b diễn g mạng lưưới toán tử dướới dạng sơ đồ luồng d liệu H Hình 12 Mạngg lưới tốn tử tư ương ứng hệệ thống điều khiiển nhiệt độ Trong mạng m lưới tốán tử này, có cạnh đầu vào v kiểu booleean (On, Tlow w, Tok Thiigh), cạnh đầu đ kiểu boolean b (STOP P, Deactivatedd, Hot Coldd) cạnh nội kh hác Dựa trêên mạng lưới ttoán tử này, taa xác định đượ ợc lộ trình điều kkiện kích hoạt tương ứng hệ thống điều đ khiển nhiệt độ, chi tiết Bảng Bảảng Các lộ trìình điều kiện n kích hoạt hệ thống điều kkhiển nhiệt độ # Lộ trình (On, Cold) (On, Deactivvated) (On, Hot) (Tlow,Hot) (Thight, Cold)) (Tok, Deactivvated) (On, _L4, ST TOP) (On, _L4, ST TOP, _L3, _L44, STOP) (On, _L4, ST TOP, _L1, _L22, STOP) Điều kiện kích k hoạt no ot(On) or THigh no ot(On) or TOk no ot(On) or Tlow no ot(Tlow) or On no ot(Thight) or On n no ot(Tok) or On tru ue and false Æ true faalse Æ pre(falsseÆtrue) and d not(On) and d false Ỉ true faalse Ỉ pre(falsstrue) and d On and falsee Ỉ true Tiếp theo, ááp dụng cơng ccụ kiểm chứng LESAR để sinh s liệuu thử Việc kiểểm chứng mơ hình th hực l cho điều kiện kíchh hoạt, lầần thực ch húng ta nhận kkết trả vềề phản ví v dụ, c ữ liệu thử Ví dụ với v điều kiện kích hoạt AC C1= not(On) or o THigh, ta xây x dựng mơ hình cần kiểm m chứng tươn ng ứng sau: s node he heatControl_v1((On,TLow,TOk,T THigh: bool) rreturns (nAC, STOP,Deactivat S ted,Hot, Cold: bbool); var AC C1: bool; let OP= false -> iff On then nott pre STOP ellse pre STO STOP; nd TOk; Deaactivated= On an Hot= t= On and TLow w; Cold ld= On and THig gh; AC11= not(On) orr THigh ; nAC C=not AC1; l Hình 13 Mã nguồnn Lustre mơ hình tương ứn ng vớ AC1= nott(On) or THighh Thực thhi LESAR chúúng ta có kết qquả Hình 14 638 SIN NH DỮ LIỆU THỬ Ử CHO ỨNG DỤ ỤNG LUSTRE/SC CADE SỬ DỤNG G ĐIỀU KIỆN KÍCH K HOẠT Hình 14 Kết thực thi LESAR L Q trìnnh kiểm chứnng tạo phảản ví dụ mộ ột trường hợp lỗi: TRA ANSITION nott On or THighh Nghhĩa là: On=0 THiggh=1 Khi liệu thử tư ương ứng (O On, Thight,T ok, o Tlow)={0,1 1,0,0} Lần lượ ợt thực kiiểm chứng chư ương trình Lu ustre hệ thống điều khiểển nhiệt độ vớii điều kiện n kích hoạt tư ương ứng, ta có c thể sinh tất lliệu thử cho chương trình Bảng Bảng Các liệu thử hệ thống điều đ khiển nhiệệt độ # Dữ liệu thử (Dạng vector (On, T Đ Điều kiện kích h hoạt not(O On) or Thight not(O On) or TOk not(O On) or Tlow not(T Tlow) or On not(T Thight) or On not(T Tok) or On false Ỉ true false Ỉ pre(fals Ætrue) and noot(On) and fallse Æ true false Æ pre(falseÆ Ætrue) and Onn and false Æ true hight ,Tok, T )) low {0,1,0,0} {0,0,1,0} {0,0,0,1} {1,0,0,0} {1,0,0,0} {1,0,0,0} Giá trị bất kkỳ Giá trị bất kkỳ Giá trị bất kkỳ Hệ thốống điều khiểển nhiệt độ làà ví dụ điển hình ch ho hệ thốống phản ứngg xây dựng d Lustre/SCADE L E Sau ứngg dụng kỹ thuuật kiểm chứng g mơ hình n sở ều kiện kích hhoạt mạng g lưới tốn tử ử, dựa vào cácc phản ví dụ đđược sinh ra, cchúng ta có ó liệu thử cần th thiết Với nhữnng hệ thống lớ ớn phức tạp hơn, việc sinh s liệu thhử tự động ggiúp tiết kiệm nhiềều chi phí cho q trình kiểm m thử V KẾT LUẬN Các hệ thống phản ứ ứng ngày càngg sử dụn ng phổ biến trrong ngành côông nghiệp quuan trọng hạt nhân, n lượng, hàng không Đ Đặc điểm chunng quan trọng g nhữ ững hệ thống tính an tồn, q trrình phát triểnn, việc kiểm thhử ln quan tâm hàn ng đầu Chươn ng trình Lustree/SCADE đượợc sử dụng để ể phát triển c hệ thống phản p ứng, nên việc kiểm thử chương trình t Lustre/SC CADE trrở nên quan trrọng Trong b báo này, cchúng đđề xuất giải ph háp sử dụng điều đ kiện kíchh hoạt mạạng lưới toán tử chương c trình Lustre, L kết hợ ợp với cơng ccụ kiểm chứn ng mơ hình LESAR L để sinnh liệu thử cho chư ương trình Lustre/SCADE L E Chúng tơi đđã định nghĩa quy trìn nh xây dựng tập t liệu thửử cho kiểm thhử chương g trình Giải G pháp nàyy hồn tồn cóó thể tự ự động hóa nh hằm giảm chi phí tăng hhiệu quy trình kiể ểm thử chương c trình Lustre/SCADE L E Chúng tiếp tụcc áp dụng phư ương pháp y cho việc sin nh liệu thửử tự động tronng kiểm thử hồi quy cho c ứng dụng Lustre/SCAD DE Chúng tôii hướng đến khả g tự động hóaa q trình sinnh liệu thử kiểm k thử hồi quy q tự động chho hệ thốnng phản ứng nói chung cáác ứng dụng L Lustre/SCADE E nói riêng Trịnh Cơng Duy, Nguyễn Thanh Bình, Ioannis Parissis 639 VI TÀI LIỆU THAM KHẢO [1] Trinh Cong Duy, Nguyen Thanh Binh, Ioannis Parissis, “Automatic Generation of Test Cases in Regression Testing for Lustre/SCADE”, Journal of Software Engineering and Applications, Vol 6, 2013 [2] Trinh Cong Duy, Nguyen Thanh Binh, Ioannis Parissis, “Automatic generation of test cases in regression testing for Reactive Systems”, FAIR 2013, Hue, Vietnam, 2013 [3] Albert Benveniste, Gerard Berry, “The Synchronous Approach to Reactive and Real-Time Systems”, Proceedings of the IEEE, 1991 [4] P Caspi, D Pilaud, N Halbwachs, and J Plaice, “LUSTRE: A Declarative Language for Programming Synchronous Systems”, ACM Symposium on Principles of Programming Languages, Munich, Germany, 1987 [5] Esterel Technologies website: http://esterel-technologies.com [6] A Lakehal and I Parissis, “Lustructu: A Tool for the Automatic Coverage Assessment of Lustre Programs”, IEEE International Symposium on Software Reliability Engineering, Chicago, Illinois, USA, 2005 [7] Gordon Fraser, FranzWotawa, Paul E Ammann, “Testing with model checkers: A survey”, Competence Network Softnet Austria, Austria, 2007 [8] Karolina Zurowska and Juergen Di, “Model-based generation of test cases for reactive systems”, Applied Formal Methods Group School of Computing Queen’s University Kingston, Ontario, Canada, 2010 [9] Nicolas Halbwachs, "Lustre program verification: the tool Lesar", Synchronous Programming of Reactive Systems Volume 215 of the series The Springer International Series in Engineering and Computer Science pp 139-147, 1993 [10] Laya Madani, Virginia Papailiopoulou, Ioannis Parissis, “Towards a testing methodology for reactive system: a case study of a landing gear controller”, Laboratoire d’Informatique de Grenoble, 2006 [11] L duBousquet, F Ouabdesselam, J.- L.Richier, and N Zuanon, “Lutess: testing environment for synchronous software”, Advances in Computing Science, Springer, 1998 [12] Nicolas Halbwachs, Pascal Raymond, “Validation of Synchronous Reactive Systems: from Formal Verication to Automatic Testing”, Grenoble, France, 1999 [13] Elizabeta Fourneret, Fabrice Bouquet, Frédéric Dadeau and Stéphane Debricon, “Selective Test Generation Method for Evolving Critical Systems”, Université de Franche-Comté, LIFC - INRIA CASSIS Project, 2010 TEST DATA GENERATION FOR LUSTRE/SCADE PROGRAMS USING THE ACTIVATION CONDITIONS Trinh Cong Duy, Nguyen Thanh Binh, Ioannis Parissis ABSTRACT-Testing is important activities in the software development process Software development increasingly complex, requiring increasingly higher quality, it is even more important in developing software for reactive systems Reactive systems are popularly developed in many indutrial fields such as aviation, energy, nuclear These systems usually require very high quality and rigorous testing activities before they are deployed for use Lustre/SCADE is a formal synchronous declarative language widely used for modeling and specifying safety critical applications in the fields of avionics, transportation, and energy production In such applications, the testing activity to ensure correctness of the system plays a crucial role So, testing work need to be conducted regularly and continuously when there are any changes in the application Besides, for those applications in this field, the test manually would be very difficult to implement and not effective, so the need to automate testing activities for Lustre/SCADE applications In this paper, we focus on the test automation for applications Lustre / SCADE We propose to use activation condition of operator network and usenmodel checking techniques to automatically generated test data Finally, we apply this approach on one program Lustre for Heater Controller System ... trình tạo ữ liệu thử kiểm k chứng mơơ hình 634 SIN NH DỮ LIỆU THỬ Ử CHO ỨNG DỤ ỤNG LUSTRE/ SC CADE SỬ DỤNG G ĐIỀU KIỆN KÍCH K HOẠT Hình minh họa việệc sinh liệuu thử dựa vào o kiểm chứng mơ hình... Hình Sử dụng LESAR tạo liệu thử Việc sinh liệu thử sử dụng kỹ thuật kiểm chứng mơ hình cơng cụ LESAR dựa điều kiện kích hoạt thực trình tự qua bước chi tiết sau: Bước - Xác định điều kiện kích hoạt: ... đích sinh phản ví dụ, phản ví dụ liệu thử cần tạo B Sinh liệu thử tự động với cơng cụ kiểm chứng mơ hình LESAR Để thực việc sinh liệu thử sau có điều kiện kích hoạt phản ví dụ tương ứng, sử dụng

Ngày đăng: 08/05/2021, 18:41

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

TÀI LIỆU LIÊN QUAN

w