Non-transitory, computer-readable, and tangible medium storing instructions configured to cause one or more processors, when executed on the one or more processors, to: determine a change for a configuration item in a configuration management database has occurred; verify that the change is valid; characterized in that the instructions, based on the verification of the change, are configured to cause the one or more processors to: invalidate a service model as being outmoded, wherein the service model models a service made of one or more service layers each performing sub-functions of the service, by modelling relationships and connections of configuration items stored in the configuration management database; obtain one or more service layers of the service associated with the configuration item; indicate that each service environment for each of the obtained one or more service layers is to be recomputed, wherein each service environment corresponds to a group of one or more services in the service model; use a set recompute worker thread to look (406,522,532,542,475,578) for service environments indicated as to-be-computed; and use the dedicated recompute work thread to compute changes to the service model for each indicated service environment based at least in part on a threshold number of set worker threads configured to perform modelling computations. determine a change for a configuration item in a configuration management database has occurred; verify that the change is valid; characterized in that the instructions, based on the verification of the change, are configured to cause the one or more processors to: invalidate a service model as being outmoded, wherein the service model models a service made of one or more service layers each performing sub-functions of the service, by modelling relationships and connections of configuration items stored in the configuration management database; obtain one or more service layers of the service associated with the configuration item; indicate that each service environment for each of the obtained one or more service layers is to be recomputed, wherein each service environment corresponds to a group of one or more services in the service model; use a set recompute worker thread to look (406,522,532,542,475,578) for service environments indicated as to-be-computed; and use the dedicated recompute work thread to compute changes to the service model for each indicated service environment based at least in part on a threshold number of set worker threads configured to perform modelling computations. invalidate a service model as being outmoded, wherein the service model models a service made of one or more service layers each performing sub-functions of the service, by modelling relationships and connections of configuration items stored in the configuration management database; obtain one or more service layers of the service associated with the configuration item; indicate that each service environment for each of the obtained one or more service layers is to be recomputed, wherein each service environment corresponds to a group of one or more services in the service model; use a set recompute worker thread to look (406,522,532,542,475,578) for service environments indicated as to-be-computed; and use the dedicated recompute work thread to compute changes to the service model for each indicated service environment based at least in part on a threshold number of set worker threads configured to perform modelling computations.