4.1 Architecture
The ARTE Core system (the one common to any installation of ARTE) is divided in
several layers or subsystems:
- ‘Configuration Subsystem’
- ‘CHECK Engine’
- ‘Visualization Subsystem’
- ‘ZIP/RTA Subsystem’
- ‘TCL Subsystem’
- ‘ARTE Plugin’
The following images shows a simple diagram explaining how all these Subsystems
are organized in the ARTE Core:
- ‘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.