A Tutorial on Feature Oriented Programming and the AHEAD Tool Suite and the AHEAD Tool Suite