A formalism for object-based information systems development