In dtc-23-02-10.pdf, page 159 (pdf 170), add a new section 10.3.5 10.3.5 FEEL Libraries A library has a name, is defined in a namespace, and contains a list of function declarations. The syntax of a library is defined below: library = "namespace" , qualified name , ";" name , "{" , functions , "}" mapping ; functions = function , { ";" , function } function = "function" , name, "(" , [ formal parameter { "," , formal parameter } ] , ")" , ":" , type ; where - name is described in section 10.3.1.2, rule 25 - qualified name is described in section 10.3.1.2, rule 18 - formal parameter is described in section 10.3.1.2, rule 56 - type is described in section 10.3.1.2, rule 52 - name, qualified name and formal parameter contain only symbols that are classified as letters and digits in the Unicode standard. - mapping is a context expression described in section 10.3.1.2 rule 57 that defines the mapping to the native implementations (see 10.3.2.13.3 and 10.3.2.12). - the libraries are uniquely identified by the namespace and library name pair. The definitions of the libraries are in a location named FEEL_PATH, which can be identified by a URI (e.g. folder in the file system). The FEEL_PATH contains also the artifacts needed to execute the functions (e.g. Java jars or Python modules). The bindings of logical namespaces (the qualified name in the library definition) and the native coordinates (e.g. Java package and class name) are configured in the mapping expression of the library definition. The functions defined in a library become visible in the scope of the evaluation (see 10.3.2.11) once they are imported in a DMN file with the import type https://www.omg.org/spec/DMN/EL/LIBRARY (see 6.3.3). The functions defined in a library are invoked in the same way as the imported BKMs or Decision Services (e.g. prefix.f(a, b, c)). For example, for the following library namespace org.omg.feel.stringUtil; stringLib { // Checks if str is empty ("") or null. function isEmpty(str: string) : Boolean ; ... // The capitalized str, null if str is null function capitalize(str: string) : string } { "java": {"class": "org.apache.commons.lang.StringUtil"} } once the library is imported with the function isEmpty can be invoked by myLib.isEmpty("abc").