A middle-ware for the automated composition and invocation of semantic web services based on temporal HTN planning techniques