Functional requirements, interactions and constraints