Headquarter:



Room F04-F, Majestic Garden, No.6 Beisihuanzhonglu, Chaoyang District, Beijing China

zip:100029

Tel:86-10-82846661/62/63/64

Fax:86-10-82846667









 

 

 
CRESTS/CodeCAST





Full-digital simulation running platform CRESTS/CodeCAST is the tool for meeting the requirements of software running and testing by simulating or emulating external hardware actions. It is compiled external stimulation affairs generated by logical actions of external hardware with fashionable simulation and test script languages, for constituting external signal stimulation or data input of embedded software, to satisfy the demand of software close-loop running without human intervene under full-digital simulation running environment.

Based on embedded application features, embedded software full-digital simulation testing support platform CodeCAST is for providing full-digital simulation testing environment or testing platform, realizing real-time and close-loop system test to embedded system. Specifically, CodeCAST is to provide effective and uniform cooperation platform for embedded software testing with advanced languages (C, ADA and so on). And on this platform, tested software analysis, running and testing are completed. Most important is to realize external affairs full-digital simulation of embedded system, so as to have embedded softwares running continuously just like in real hardware environment.

From the overall structure figure of embedded software full-digital simulation testing support platform (CodeCAST), CodeCAST's working flow is as follows:

a) to have stubbing processing for tested programs;

b) to have static analysis for tested programs, and generate program comprehension data and quality

c) the tested software loaded in development environment and after cross compile

d) to have testing for tested embedded software program

e) to have tested embedded software program close-loop running through full-digital simulation emulation interface, interruptions and other internal affairs

f) to analyze testing results, generate testing report

According to CodeCAST working flow, CodeCAST can meet the requirements of internal testing in embedded software development period and testing in take-over period, and provide reliable testing report that also can reappear testing process and problems.

Primary performance features:

CodeCAST is for providing full-digital simulation testing environment or testing platform, realizing real-time and close-loop system test to embedded system. Specifically, CodeCAST is to provide effective and uniform cooperation platform for embedded software testing with advanced languages/assembler languages(including hybrid programming). And on this platform, tested software analysis, running and testing are completed. Most important is to realize external affairs full-digital simulation of embedded system, so as to have embedded software running continuously just like in real hardware environment and also have system testing.

1. establish the core of embedded applications-CPU virtual target computer

CPU virtual target actually is CPU Simulator often used by us in embedded development applications. As for embedded applications are quite different, CPU categories and types are various, the realizations of CPU virtual target computer are also different; but their cores are all the same.

The tasks for CPU virtual target to complete include: CPU instruction set interpretation, CPU time sequence simulation, CPU interface actions simulation and CPU interrupt mechanism realization and so on. The calculation for program running performance and time statistics in virtual target computer are based on the correspondent CPU instruction cycle and CPU work basic frequency. This is a relative quantity, but it can direct developers to optimize programs, and guarantee programs running performance. Moreover actual timing or real-time design is based on it.

2. program interpretation and quality analysis

Program interpretation is the basis of testing programs, debugging programs and maintainance programs, also the basis of program quality measurement and evaluation. The latest research result has indicated that 70% time of maintainance and converse programs has been spent on system interpretation. For helping software testers to have software quality evaluating, and know which parts of software can run normally; which parts should be improved; which parts should be realized once more; and the parts to be tested importantly, that requires testers to have research on program interpretation technologies firstly.

The work in the aspect of program interpretation for CodeCAST to do is to settle calling relation, called relation between advanced language program units and expression & graphical display of control flow relation in program units.

Software quality is an issue people concerned about. But to evaluate software quality is very complex. For evaluating software quality exactly, quantification should be made to various factors affect software quality firstly, and then software quality can be tested by the means of combination of fixed quality and fixed quantity. Software analysis is to provide software testers with measurement data of measuring tested software quality-measurement units.

The work in the aspect of software quality analysis for CodeCAST to do is provide those measurement units that affect program integral quality on the basis of international software quality standard ISO/IEC 9126 and authoritative theory ( McCabe structural complexity measurement).

3. Software test

Software test is an important method of testing software quality and validating accuracy or inaccuracy of software functions, performance and structure. Software test involves with many testing technologies, for instance, structural test (coverage test or "white box" test), functional test ("black box" test), unit test, integration test, system test and regression test. For completing these testing types, testing cases need to be designed and testing scripts need to be compiled. The best advantage of applying testing cases and testing scripts to have software test is that the testing result can reappear, and testing automation & regression test can be guaranteed.

CodeCAST structural test ( coverage test or "white box" test) is completed by testing software under the running circumstance of CPU virtual target computer, also according to testing requirements. Before actual running, tested software needs to be stubbed on the basis of interpretation and analysis. After program running, coverage information can be provided. And coverage test result can be labeled with striking colors on calling graph and control flow graph, or just provided with statistical data.

CodeCAST functional test ( "black box" test) is to test accuracy of program process or program process flow by special input or input sequence and detecting related output or input sequence.

CodeCAST unit test is completed by collocating program unit running environment or constructing program unit running drive and also actually running this program unit. Based on a set of accurate program units, assembly test or integration test can be made by adopting the method, that is from bottom to top, and finally system test is to be done.

CodeCAST supports the application of testing cases or testing scripts by real-time obtaining or changing dates and state of virtual target computer. Testing drive of unit test also requires to be compiled with script languages. And testing automation and regression test construction both can be completed with script programming.

4. Full-digital Simulation

Embedded software have connection with external hardware through various interfaces of CPU. Full-digital simulation is aiming at embedded software. The corresponding models to real CPU interfaces are electrical signals; and the signals read or output by embedded software at the interface are data-signals. So full-digital simulation of interfaces, interruptions or external events can be realized through logical programming generated to interfaced I/O and interrupt events.

CodeCAST provides the mechanism of simulating external devices generating external stimulation signals (full-digital simulation), that is logical flow of compiling interface events, interrupt events and other external events with script languages.

In general, full-digital simulation running platform CRESTS/CodeCAST can meet the requirements of software simulation running and test, and simulate external hardware actions conveniently and flexibly, monitor internal state of program running, support the requirement of software coverage test and functional test.

At present, the thinking of embedded software full-digital simulation deserves more and more attention; and its methods and technologies are becoming more and more mature; application fields are becoming more and more wide; successful cases are becoming more and more (a large number of application cases of Military, National defiance, Traffic, Electronic and so on ). Especially the appearance of simulation and testing script languages, that provides powerful method for people compiling simulation programs. Conversely, script languages also well improved popularization of full-digital simulation concept and applications promotion.


COPYRIGHT (C) 1999, AUTOSOFT JITONG. ALL RIGHT RESERVED