1. A computer-implemented method for generating configurable Unified Modeling Language building blocks, the computer-implemented method comprising: obtaining a Unified Modeling Language specification; identifying from the Unified Modeling Language specification, first input definitions of diagram components and second input definitions of element components and a tooling to form an identified set of criteria, wherein the tooling provides additional criteria including a particular development stage, a level of user experience, a permitted combination of a single or of multiple elements of the Unified Modeling Language specification, and a permitted occurrence of an element in a building block; building a logical unit in accordance with the identified set of criteria; adding the logical unit to a set of logical units; forming, by a processor unit, the set of logical units from the Unified Modeling Language specification into a set of building blocks, wherein each building block in the set of building blocks is a smallest logical set of Unified Modeling Language elements ready to be assembled to meet a particular usage requirement and wherein forming the set of logical units further comprises: determining whether there are more sets of criteria; responsive to a determination that there are no more sets of criteria, identifying relationships between logical units in the set of logical units; and grouping the logical units in the set of logical units according to predefined grouping criteria for the identified relationships to form groups of logical units; fetching desired blocks from the set of building blocks according to predefined criteria to form a set of desired building blocks; and presenting the set of desired building blocks to a requester, wherein executing, functions provided by the set of desired building blocks on the computer complete a defined task.