A knowledge-driven methodology for eliciting and restructuring software requirements for distributed design | IEEE Conference Publication | IEEE Xplore