Text this: State-driven architecture design for safety-critical software product lines