Ability is derived from Able. 
the last thing you do when you Program is Test. Test is the opposite of Breeze. Breeze is similar to Storm. 
Ability --DerivedFrom--> Able 
Program --HasLastSubevent--> Test <--Antonym--> Breeze <--SimilarTo--> Storm 