Methods are ways of achieving objectives. There are of course many different methods, and which method we adopt at any time will depend on many factors.
Certain commonly desirable features of methods may be abstracted into a kind of meta-method.
In general, we must have some prescription of what it is that we want (or are required) to achieve. From this prescription we aim to proceed to a description of a way of realising the objective. In some cases there may be a routine technique, or even an automated algorithm, for proceding from the description of the problem to a description of a solution.
In general this will not be the case, and we may need to use our all our skills and intuitions to discover a solution. Where the path from problem to solution is not routine, there is a risk that a proposed solution may be defective. It may be seriously defective, and have no hope of realising the objective, or it may be almost certain to work, but subject to some small risk of failure.
When we are considering a problem and a proposed solution we may therefore be interested to know what grounds there are for supposing that the solution is satisfactory, and we may be interested to know in some detail how it does or might fall short of the objective.
Often we find that it is easier to tell whether or not a solution is good than it is to find a good solution. To find a good solution it is therefore desirable to apply such tests as may be devised to candidate solutions, until such time as one is found to be good.
This description gives us our "meta-method", a framework within which many more specific methods may be fitted.
Specify the Problem | |
Propose a Solution | Using appropriate methods specific to the problem domain, if any are available. |
Verify that the Proposed Solution does solve the Specified Problem |
All aspects of this approach can in some cases be made more reliable by the use of formal methods, which consist in using mathematical notations for describing both the problem and the proposed solution, and in constructing formal proofs that the solution solves the problem.