1. A computer-implemented method for transforming a natural language expression into a formal logical expression, comprising: identifying using a database of ontology, by a processor, words in a natural language expression as resources, constants and comparisons, the resources being associated with meta data that specify when to use the words of the resources; using the identified words representing resources, constants and comparisons to build a formal logical expression by the processor; and presenting the formal logical expression on a user interface device, by the processor, the user interface device presenting at least a rule pad portion into which the natural language expression is input and a rule editor portion comprising graphically visualized IF part and THEN part, wherein the presenting further comprises automatically dragging the formal logical expression into one of the IF part and the THEN part.