Efficient refactoring of your Ada application
Sample ADA customer project:
One of our clients faced new needs expressed by other departments. In order to be able to cope with those new expectations, the IT team noticed that they had to move from an inter-component communication system which was a messages-based to a bus information communication system. They wanted to take advantage of this opportunity and simultaneously refactor their application to remove any undesired dependencies and also correct any violations of architectural rules.
Given that the entire migration project needed to be accomplished in a short period of time and with limited budget, it was crucial to reuse as many existing lines of code as possible while creating additional new and consistent components, classes and methods. Furthermore, the customer also wanted to have the opportunity to see and check how the new architecture would be and to analyse it before even writing those new components.
Specific Components for Ada
(on top of Inventive Analysis’ standard features)
Modernisation of the Architecture
- Offers capabilities to re-design the architecture for better agility and robustness
- Assigns existing software elements (packages/subprograms) to virtual components/packages
- Explores the final future system with regards to its quality, the dependency/independency of its components and its compliance with specific rules... without any change to the existing applications!
- Detects and splits non-coherent packages, which are much difficult to maintain, especially in large software
- Visualises and tags the different concepts implemented in huge packages
- Interactively explores the new concepts and their dependencies as if they were real independent packages, then validates the new structure and automatically generates the code
Software Change Analysis
- Tracks changes in different versions of your application, i.e. change in the source code, metrics and dependencies
- Validates whether these changes adhere to the rules
Change Impact Analysis
- Explores interactively any software dependencies (both direct and transitive dependencies)
- Offers customised system queries
- Allows converting such queries to rules, i.e. architectural rules that your system must adhere to or good programming practices that your developers are asked to follow.
- Delivers a unique map that allows you to instantly view and understand your (past and future) system's structure
- Visualises the structure and usage of data