Formalizing an engineering approach to cooperating knowledge-based systems | IEEE Journals & Magazine | IEEE Xplore