Assertion based Verification- the Instrumentation Approach.ppt

上传人:visitstep340 文档编号:378630 上传时间:2018-10-09 格式:PPT 页数:36 大小:822.50KB
下载 相关 举报
Assertion based Verification- the Instrumentation Approach.ppt_第1页
第1页 / 共36页
Assertion based Verification- the Instrumentation Approach.ppt_第2页
第2页 / 共36页
Assertion based Verification- the Instrumentation Approach.ppt_第3页
第3页 / 共36页
Assertion based Verification- the Instrumentation Approach.ppt_第4页
第4页 / 共36页
Assertion based Verification- the Instrumentation Approach.ppt_第5页
第5页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、1,Assertion based Verification: the Instrumentation Approach,Doron Drusinsky ,2,Background,Step 1. Specification and Validation For example: work done with Steve Raque on GRAIL,R1: once LOI burn sequence is uploaded, the orbiter will, within the time prescribed in the command sequence parameters (pl

2、us/minus t1), perform a burn for the duration prescribed in the command sequence parameters (plus/minus t2).,NL “Concern” about SUT behavior:,3,Background,Step 1 (cont.),Assertion:,public void testMe() int nTime= 0;BurnSequence seq = new BurnSequence(1000, 100);assertion.burnSequenceUploaded(seq);nT

3、ime = 1009;CDH.setTime(nTime);assertion.openedFuelValve();nTime += 96;CDH.setTime(nTime);assertion.closeFuelValve();nTime += 100;CDH.setTime(nTime);assertTrue(assertion.isSuccess(); ,Stand-alone validation testing:,4,Background,Step 1 (cont.),Create Domain Model (DM) for executable-SRM:,public void

4、testMe() .,Via-DM validation testing:,Assertion Repos,DM,5,?,Background,Step 2: Verification,SUT C/C+ Common platform for Scientific missions is VxWorks,Assertion Repository,.,6,Background,Step 2: Verification we are using Runtime Verification (RV/EMC),Drusinsky, D. Michael, J. B., and Shing, M.-T.

5、, A Visual Tradeoff Space for Formal Verification and Validation Techniques, IEEE Systems Journal, Vol. 2, No. 4, Dec 2008, pp. 513-519. ISSN: 1932-8184,7,Background,SUT C/C+ Common platform for Scientific missions is VxWorks,Execute in Special Verification VM/Environment,E.g. JPF/SPIN,Limitations:

6、1. Cannot support real-time SUT 2. Doesnt support “non-regular” specifications,SUT C/C+ Common platform for Scientific missions is VxWorks,Instrumentation,Limitations: 1. Interferes with execution,Step 2: There are two ways to perform RV:,8,Background,Step 2: Verification using instrumentation,SUT C

7、/C+ Common platform for Scientific missions is VxWorks,Assertion Repository,.,Log-file,“Execute” log-files,9,Background,Step 2: Verification (cont.),SUT C/C+ Common platform for Scientific missions is VxWorks,Assertion Repository,.,Todays presentation,10,Background,Step 2: Verification (cont.),SUT C

8、/C+ Common platform for Scientific missions is VxWorks,Assertion Repository,.,Log-Stream (sockets),“Execute” log-stream,11,Architecture,Black = existing Green = short term development Red = longer term development,12,General Idea,VxWorks - Workbench,13,General Idea,VxWorks - Workbench,Instrument src

9、,14,General Idea,VxWorks - Workbench,Build App,15,General Idea,VxWorks - Workbench,Execute on target,Execute in existing environment,16,General Idea,VxWorks - Workbench,17,General Idea,VxWorks - Workbench,18,Source Code Instrumentation Plugin,Planned Properties: End-user ease of use - Eclipse extend

10、ed GUI plugin. Work with virtually any GCC compiler. Be an Eclipse plugin. Visibility. Flexibility. Stability/Robustness Support VxWorks. Integration with StateRover Assertion Repositories.,19,Source Code Instrumentation Vs. Other Techniques,20,Basic Instrumentation GUI,Notes: C/C+ file doesnt have

11、to be compiled/built in Eclipse Will work with practically any C/C+ file that is legal for a (any) GCC compiler,21,Instrumentation Support Files,Not for public release,22,XML Log Output,XML Log file or Socket Stream:,.,Contains sequences of method calls and related timing) = test-suite,23,Extended I

12、nstrumentation GUI (1),Not for public release,24,Extended Instrumentation GUI (2),Not for public release,25,Extended Instrumentation GUI (3),Not for public release,26,Extended Instrumentation GUI (4),Not for public release,27,Extended Instrumentation GUI (5),Not for public release,28,From Log Files

13、To JUnit,VxWorks - Workbench,Reminder:,29,From Log Files To JUnit (cont.),.,Import to a Java project with the AssertionRepository (see sequel slides),Import the .log file to a Java Project and convert to JUnit (and legal XML):,30,From Log Files To JUnit (cont.),.,Select the log file from step 3 here

14、. Note! The importer can import illegal XML log files too,JUnit equivalent of .log file is generated:,31,From Log Files To JUnit (cont.),Step 6. Run the generated JUnit test against Assertion Repository,32,From Log Files To JUnit (cont.) - timing,When assertions are used for verification the timer i

15、s associated with time delays on the SUT. Always write assertions thinking in terms of milliseconds.,Currently C/C+ instrumentation has a second level of granularity the Log to JUnit import tool automatically converts those to 1000 milliseconds.If you write your own time grabber, change the unit to

16、millis if necessary,33,Some Challenges,Namespaces,SUT void openValve() . ,.,Log-file,“Execute” log-files,Assertion Repository:,openedFuelValve/,34,Some Challenges,Namespaces,SUT,.,Log-file,“Execute” log-files,Assertion Repository:,openedFuelValve/,openValve() . ,?,35,Experiments (on QNX RTOS),Target: x86 target, dual core, 2.6 MHz Speed impact: 4-5 sec per instrumented point (instrumented method) In comparison - QNXs own instrumentation tool has a hit of 12 sec per instrumented method Size: Approximately 140 bytes per instrumentation point,36,Thank you,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学课件 > 大学教育

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1