One reason is that version
control systems do not protect the version that is the target of links.Your modelAmay
link to an object X in model B version 1.0, on the same day as the user responsible for
B has it checked out for changes. She may delete X and save B as version 1.1. This is
bad enough, as X will disappear completely when you next look at your model
(assuming your tool loads updates from other models??”if it does not, there really is no
hope of ever making a coherent build).
Unlike with textual programming languages, you will not even see the name of the
object you referred to (presuming the tool can even open the ?¬?le). If the tool has saved
the version information of the link, you will at least know which version of B to look
in. The tool might even theoretically be able to fetch a shadow of version 1.0 of B and
somehowhandle having both 1.0 and 1.1 in memory. Alternatively, links could always
save at least some basic content information about their targets, for example, their
name and type.
It does not take a particularly evil mind to imagine that your colleague might also
have chosen to refer to one of your objects. Her model 1.1 may thus refer to your
model 1.0, and your model 1.1 to her model 1.0: a cyclic dependency. While these are
all perfectly normal problems with textual languages, trying to correct them at a
textual level for models is something of a nightmare.
Pages:
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776