HASCO, short for Hierarchical Automated Software COnfiguration, is a tool for the automated configuration of software (components). For this purpose, HASCO offers a reduction from an automated software configuration problem to PTN planning of a technique from the field of AI planning. As input, HASCO requires a description of the available components in JSON format and an evaluation function to be able to execute and evaluate fully specified candidates. HASCO uses the evaluation information as a heuristic to search the space of possible solution candidates.
The application scenarios of HASCO in the area of software configuration are broad and range from simple parameter optimization of individual components to the composition and simultaneous parameter optimization of service compositions to the optimization of complex software systems, e.g. database servers. Although HASCO is generally designed for automated software configuration, it can also be used for other configuration problems.