GuardIEn is a configuration management system that supports and automates the control of Gen models.
Providing comprehensive change control and model management facilities, it is a software product for organisations who wish to provide effective control over applications developed with Gen, and who need to reduce the overhead required to implement these controls.
GuardIEn provides the following key functions:
The successful management of software development projects has always required a high degree of control over the source code. Up until the use of model based development tools, the controllable item was program source code. Library management utilities were required to control changes to source code: to ensure that changes were accurately installed in the production system and to provide an audit trail.
With Gen, the true 'source' of the system is no longer the generated code, but the model(s) from which the code is generated. Changes to the application are applied to the Gen models, and therefore controls should be applied to the contents of the encyclopaedia and not just to the program source code.
The use of Gen does not remove the need to control deliverables. Indeed the greater speed and responsiveness of a Gen based development environment coupled with greater sharing and reusability of components increases the need for well defined and supported configuration management procedures. Many organisations will wish to retain their existing library management tools for managing the implementation of code into production and therefore have a requirement to integrate Gen with these tools.
Attempts to directly interface Gen with source code based library management tools rarely achieve the desired results because these tools have not been architected to work with Gen. They cannot issue migrations, execute the code generators or perform impact analysis on the contents of the model. The handover of control to the library management system is therefore performed once the source code has been generated and installed. At this point, however, most of the effort will have been expended performing the Gen steps. Furthermore, errors in the implementation are normally caused by forgetting to migrate, generate or install the necessary components and the resulting implementation will therefore contain these errors. In contrast, GuardIEn has been designed to work with the Gen encyclopaedia. It understands how to version control Gen objects, migrate between models, automate impact analysis, execute the Gen code generators and compile/link/bind the code. The result is that GuardIEn ensures error free implementations.
But GuardIEn does not just control the movement of code into production. It also offers a high degree of support during the development stages of a project. It can automate model management for a wide variety of model management approaches, offers sophisticated impact analysis and reporting capabilities and can also automate the code generation and installation steps for the development environments.
GuardIEn can also work with existing configuration management tools like Endevor, Harvest, ChangeMan and Dimensions so that these can be retained to perform the final stages in a production implementation. The figure below illustrates the integration of Gen and a library management product using GuardIEn to provide the interface.