A feature model of actor, agent, functional, object, and procedural programming languages