Definition:
A system that provides all the computational facilities necessary to solve a target class of problems. It uses the language of the target class and users neednot have specialized knowledge of the underlying hardware or software.
Also want:
Advanced solution methods
Automatic selection of solution methods
Effective for very easy or very hard problems
Support for the entire problem solving process