Skip to Main Content
In recent years, creating a conceptual system model using a formal modeling language has became an inseparable part of the system development lifecycle. As systems' complexity grows, system models are almost exclusively a result of a collaborative effort of a group of developers, who typically need to work simultaneously. This need calls for an efficient mechanism to enable the group of developers to collaborate while modeling the same system. The complexity of devising such a mechanism is primarily due to the need to maintain the model's consistency at all times. Consistency is achieved by validating the model against a schema, which defines the semantic rules of the modeling language. A modeling process that satisfies the model's consistency is one that allows only those modifications that yield a valid model to take effect. A method is therefore sought that takes a valid model and a modifier as input and applies the modifier only if it results in a new valid model. A common mechanism for enabling collaborative work is a version control application, such as SVN. Although SVN provides a rich environment for collaboration, it is not designed to handle the consistency requirement. Assuming the modeling language provides a validation procedure, we propose a protocol that enables a group of developers engaged in conceptual modeling of the same system to work simultaneously while maintaining the consistency of the shared model. The paper describes the protocol and the proof for its completeness.