1. A tool model, wherein the tool model comprises at least one of text, graphic, and software program; wherein the tool model is operable to describe a tool; wherein the tool model is operable as an input for generating a document or a software program related to the tool.