1. A method of conducting an asset search, said method comprising: executing with one or more processors one or more modules of computer program code configured for receiving an asset model as input; transforming the asset model into an asset tree model, the asset tree model representing versions, and relationships between versions; and variants, and relationships between each variant and at least one of the versions; accepting an asset search query; parsing the asset search query; said parsing comprising splitting the asset search query into search query components; and conducting an asset search via applying the split asset search query to the asset tree model; wherein the versions comprise a base asset, and said transforming comprises: using the asset tree model to create a first asset dependency matrix; and using the first asset dependency matrix to create a second asset dependency matrix, wherein: the first asset dependency matrix structures a life cycle dependency between: the base asset, one or more additional versions and the variants; and the second asset dependency matrix structures variability relationships of the variants with respect to the base asset.