These advantages can and should be maintained when
400 DSM IN USE
scaling to multiple users. This has been demonstrably achieved through multiuser
repositories, but not yet for disjoint ?¬?les.
15.2.1 Disjoint Files
Splitting a set of models into individual ?¬?les, one per model, may seem like the most
natural approach. In the unlikely event that the models are completely disjoint, in
terms of both references and semantics, this may be a viable choice. Even so, there are
still several decisions to be made:
. Does a ?¬?le hold one graph or several (e.g., its subgraphs)?
. Does the ?¬?le also hold the representational information (e.g., the diagram)?
. Can a ?¬?le hold graphs of more than one modeling language?
In the more likely case that the models contain references, there needs to be some
way of expressing those references. For such a reference to work, it needs to express
three things:
(1) A unique reference to the ?¬?le in which the other element is saved.
(2) A unique reference to the element within that ?¬?le.
(3) A unique reference to a particular version of that ?¬?le (optional).
Since the references are made to an element within a ?¬?le, rather than to the element
in memory, we must also ensure that the version on disk is the same as that in memory.
Otherwise, we may refer to an object that has been created since the last save but
deleted before the next save.
Pages:
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773