Managing the integrity of design data generated by multiple applications: The principle of patching