The tense you are talking about is called future perfect.
It involves a relation between two distinct times in the future:
1) Is an indeterminate time when an action occurs.
2) A more specific time after the action has already occurred.
Let's look at your first example. Both times mentioned are in the future but we only know specific details about one.
"By the end of the decade..." It will be around 2020, which is the end of this decade.
The second event, "the cure for influenza is discovered", we have no information regarding when it happens except that it happens BEFORE the end of the decade.
So, by the end of the century (which is in the future so we use the future tense "will") the discovery of a cure for influenza will be in the past. But because the date of this "future" past is unspecific we use the "present perfect" form "has been".
By the end of the decade the cure for influenza "will" "have been" discovered.
Notice that "has" becomes the simple present "have" because of the word "will".
So, future perfect = "will have" + "past participle".