Method for configuring a field device, comprising a framework comprising static firmware modules for connecting the field device to a machine environment, and arranged for comprising dynamic firmware modules that may be loaded to or unloaded from the framework, a repository arranged for exchanging data between firmware modules and with other field devices, and an identity register for maintaining a description of the field device, the method comprising: booting the field device from the static firmware modules for connecting to a machine environment and for providing a predetermined primary function to the field device, and for providing field device requirements for the at least one primary function; evaluating the field device for assessing additional dynamic firmware modules required for the primary function; initialising the field device for the static and dynamic firmware modules by loading dynamic firmware modules to the framework required for the at least one primary function; wherein the booting comprises generating by the identity register an identity container in the repository to allow exchange of the identity container with other field devices, the identity container containing an overview of the available static and dynamic firmware modules and their costs of execution, and wherein the evaluating comprises: determining cost of execution of the at least one primary function of the field device; assessing whether the cost of execution complies with the field device requirements for the at least one primary function of the field device; generating a resource request if the costs of the at least one primary function do not comply with the field device requirements, the resource request indicating which function or subroutine it requires for a support from another field device. booting the field device from the static firmware modules for connecting to a machine environment and for providing a predetermined primary function to the field device, and for providing field device requirements for the at least one primary function; evaluating the field device for assessing additional dynamic firmware modules required for the primary function; initialising the field device for the static and dynamic firmware modules by loading dynamic firmware modules to the framework required for the at least one primary function; wherein the booting comprises generating by the identity register an identity container in the repository to allow exchange of the identity container with other field devices, the identity container containing an overview of the available static and dynamic firmware modules and their costs of execution, and wherein the evaluating comprises: determining cost of execution of the at least one primary function of the field device; assessing whether the cost of execution complies with the field device requirements for the at least one primary function of the field device; generating a resource request if the costs of the at least one primary function do not comply with the field device requirements, the resource request indicating which function or subroutine it requires for a support from another field device. determining cost of execution of the at least one primary function of the field device; assessing whether the cost of execution complies with the field device requirements for the at least one primary function of the field device; generating a resource request if the costs of the at least one primary function do not comply with the field device requirements, the resource request indicating which function or subroutine it requires for a support from another field device.