In [6], Ian Foster and Karl Kesselman explain that grids need "a rethinking of existing programming models and, most likely, new thinking about novel models". In this work, we investigate a "novel programming model" for grids based on the chemical metaphor.On one side, applications are programmed in an abstract manner describing essentially the chemical coordination between (not necessarily chemical) software components. On the other side, chemical service programs are specifically provided to the Grid run-time system in order to obtain the expected quality of service in terms of efficiency, reliability, security, etc. These service programs can be seen as special coordination programs providing guidelines to the runtime system allowing a better use of resources in order to obtain the expected Quality of Service.