It’s importatn in a corporate system, that the particular modules, components and workflows collaborate without faults. The company have to check the structure and correctness of these connections under the whole lifecycle. Before we start to develop a system we need to create some different diagrams to avoid a lot of possible mistakes. One of these diagrams defines the system architecture which contains all of the layers and within the modules. This architecture diagram, beside layers and modules, also describes all of the connections between them. Under system development it is necessary that we follow the previously defined architecture so that we can build it correctly. Beside the continuous testing of the architecture we have to test the whole system from the least unit to the biggest components. It helps the process of the tests if we have an environment which is capable of run unit and integration tests automatically.
I wrote my final project in Knorr-Bremse company, at the EAC System group. This thesis is made up of two parts. In the first part I describe the definition, structure and application area of the Abstract Syntax Tree (AST) and introduce you how to build one. I researching and compare the possible tools which capable of build an AST from the software-system. I choose the best tool from the options which helps me to complete my task. I review the DOT graph description language which I use for represent the software architecture. I represent how the unit and integration tests works and their place in the software lifecycle. Finally I describe shortly the software-system structure of the company.
The second part can be separate into another tasks. First of all I create the AST from the software-system with the help of the selected tool. I represent the current system architecture in DOT using the AST. I get it where the requirements are violated with compare the current and predefined architecture. Finally I implement an integration test environment where the developers can run unit and integration test with customizable configurations.