Text this: Constructing component-based systems from natural language requirements using incremental composition