Modeling functions is a key aspect of artifact design, including software engineering and business systems modeling, but it is likewise of fundamental importance in natural systems modeling, for example in modeling biological organisms. The Unified Modeling Language (UML), which originated from object-oriented software engineering, is nowadays a de facto standard for conceptual modeling and its current applications go far beyond software engineering. The paper investigates first to what extent UML is suited for modeling functions. We survey various approaches to function modeling with UML and identify their limitations. Based on the conducted analysis, we introduce a UML profile for function modeling, called the Function Modeling Language (FueL). FueL enables the modeling of the structure of functions, of relations between functions, such as function decomposition, as well as of function ascription, i.e., of relations linking functions with other types of entities. The main application field that we considered while developing FueL is bioinformatics. Nonetheless, the presented profile is domain-independent and is capable of modeling cross-domain systems. The profile has been tested on fragments of the Molecular Function Ontology, a sub-ontology of the Gene Ontology. In this connection the paper further demonstrates that the applications of FueL transcend the construction of new models, by showing how the profile aids restructuring and refactoring existing models.