Object-role modeling