Many problems may be viewed as constraint satisfaction problems. Application domains range from construction scheduling to bioinformatics. Constraint satisfaction problems involve finding values for problem variables subject to restrictions on which combinations of values are allowed. For example, in scheduling professors to teach classes, we cannot schedule the same professor to teach two different classes at the same time. There are many powerful methods for solving constraint satisfaction problems (though in general, of course, they are NP-hard). However, before we can solve a problem, we must describe it, and we want to do so in an appropriate form for efficient processing. The Cork Constraint Computation Centre is applying artificial intelligence techniques to assist or automate this modelling process. In doing so, we address a classic dilemma, common to most any problem solving methodology. The problem domain experts may not be expert in the problem solving methodology and the experts in the problem solving methodology may not be domain experts.