Next: , Up: The ARTE Core


4.1 Architecture

The ARTE Core system (the one common to any installation of ARTE) is divided in several layers or subsystems:

The following images shows a simple diagram explaining how all these Subsystems are organized in the ARTE Core:

Arte Core Architecture
Configuration Subsystem
The ‘Configuration Subsystem’ is responsible for reading the input main configuration file of the ARTE system (arte.conf). This configuration file will specify, among others, the log level to use or which test suites should be run.
CHECK Engine
The ‘CHECK Engine’ will, based on the input configuration loaded by the ‘Configuration Subsystem’, initialize in memory all the information needed to run the different test suites. This engine is based on the Check unit-testing framework, and it uses its API to setup and run independent CHECK Tests, which may be configured to run in different forked processes. The ‘CHECK Engine’ also controls the forced ending of tests due to test timeouts.
Visualization Subsystem
The ‘Visualization Subsystem’ takes as input the log of the execution created by the ‘CHECK Engine’, and the output results XML generated by the Check framework, and will modify those files to match the format specified by the ARTE system.
ZIP/RTA Subsystem
The ‘ZIP/RTA Subsystem’ is executed within the context of a given ARTE test. This means that if forking is configured, this Subsystem will always be executed in an independent forked process. The ‘ZIP/RTA Subsystem’ is in charge of de-compressing the RTA test files, and preparing all the needed context files for the test.
TCL Subsystem
The ‘TCL Subsystem’ is the one in charge of executing the specific TCL test script stored in the RTA file. The TCL Subsystem will export the generic and common ARTE Commands to the interpreter of the TCL script, as well as those new commands created by the specific ARTE Plugin being used, if any.
ARTE Plugin
If the standard TCL language is not enough to test your external software module, you may need to extend the commands available in the script interpreter using a specific ‘ARTE Plugin’. These plugins are easy to use and deploy, and provide an efficient way of preparing ARTE to be able to communicate with any kind of external software module to be tested.