In modern era, business applications should be able to adapt fast. They should be user-friendly and well tested. Source code should be qualitative and consistent. Integration to infrastructure should be interchangeable.
Not all businesses have managed to reach the required levels yet, for a variety of reasons. There are development teams, in which each developer follows his/her own coding style due to the lack of constraint mechanisms. There is not always enough time for adequate testing, as the time-to-market seems more important to the business. A lot - if not most of the - time is spent on implementing the various layers with repetitive work and less time is spent on the domain model.
PolyGenesis is a novel approach to automatic programming, inspired by Domain-Driven Design and Hexagonal/Ports-Adapters Architecture, aiming to solve the above problems. The various layers and technologies are modelled and instantiated with the proper values. Generators use templates and the PolyGenesis models to produce consistent and reliable source code.