CTT - Configurable Classification Tree Transformer
Note: CTT has ended in 2001.
The test is one of the most important procedures for the quality assurance of software. Particularly when developing embedded systems a high percentage of the development capacity (up to 70%) is deployed for the test. The potential for increasing efficiency is correspondingly high. Modern embedded systems development uses models to describe system behaviour as a basis for the implementation of the software. Procedures for the model test were developed according to this approach which validate software behaviour at an early stage by performing functional tests on the model. A partially automated procedure for the model test was made available by cooperation partner DaimlerChrysler in the test environment MTest for Simulink models. MTest uses the classification tree method, a tried and tested variant of the category partition method, for the specification of test cases. When using this method the description of the test object's input space is automatically derived from the model's interface as classifications. A partitioning of these classifications (i.e. the test objects possible input space) in socalled classes is carried out manually by the tester who supplements or restructures the classification trees according to his/her empirical knowledge.
The aim was to develop a procedure with which the tester's empirical knowledge can be described. Using this description, a tool was to be created which performed the classification tree supplementation automatically and which was capable of being integrated in the MTest test environment.
The CTT (Configurable classification Tree Transformer) was developed to automate the manual supplementation or restructuring of the classification trees (Fig.1). The tester can specify his/her empirical knowledge in the form of graph rewriting rules in such a way that the classification trees can be supplemented and transformed with it. The core of the CTT which carries out the actual transformations or supplementations is generated from PROGRES, a meta CASE tool based on graph rewriting. The executable specification created with PROGRES, consists of a basis specification with which classification trees can be represented as well as an extension which contains the transformation or supplementation rules. The latter represent the tester's empirical knowledge. The specification also consists of an unparser for classification trees. C code which can be translated with the Make-Tool was generated from the specification. In order to operate the CTT network and platform independently, a CORBA in-terface (MICO) was added which permits calls from Matlab. Finally, in order to import classification trees, which are kept as an exchange format in socalled CTA files, a generic external LALR2 parser was written which dispatches model independent calls to the CTT. For practical deployment CTT exists as a distributed application which can be accessed via remote. For this purpose, CTT runs as a so-called ServerServer at the company Razorcat in Berlin. The CTT can be employed by each user from MTest with suitable parameterisation. Classification trees which are to be transformed as well as control sentences are transferred from the MTest test environment via CORBA to a ServerServer which starts a CTT instance per enquiry and which carries out the supplementations or transformations. Subsequently, the processed classification tree is conveyed back by the server and the CTT instance ended. Applicability for industrial use was tested in a pilot period and resulted in an added value of 30% with respect to the time required to create a classification tree.