A system development methodology for knowledge-based systems