On the engineering of logics