Archive for September, 2007

MetaEdit+: Single vs. Multi-User

Wednesday, September 5th, 2007

A discussion with a recent evaluator of MetaEdit+ focused on the difference between the single and multi-user versions of MetaEdit+. While there is information available on www.metacase.com about the difference, I thought it would be worthwhile to spend a little time discussing the issue further. Here it goes…

At MetaCase we endeavor to support the varied software development practices employed by today’s ever-changing organizations. To this end, we offer both single and multi-user versions of our award winning Domain-Specific Modeling environment MetaEdit+. The distinction between the two versions lies not with the tools themselves, but with the structure of the models and development practices of the organization using them. Each offers distinct workflow advantages, but both contain the same robust, rich toolset industry leaders have come to expect from MetaEdit+. 

The single user version of MetaEdit+ is the more prevalent version, and can be particularly useful for organizations new to DSM (although many large organizations very experienced with DSM continue to use the single user version). With the single user version, each DSM developer maintains their own local repository which is typically stored on their workstation. The single user developer is free to fully manipulate all the models within their repository—within the parameters established by the metamodel—and can work on their models in relative isolation from the other DSM modelers in their department. Integration with existing version control systems is a simple and familiar affair as the DSM modeler simply packages and commits work to the versioning system based upon the organization’s existing versioning policies. 

The multi-user version of MetaEdit+ is intended for organizations wishing to engage in concurrent multiple user development of the same model. The multi-user version utilizes a shared repository, hosted on an internal server, which maintains all the models by the various DSM modelers. To avoid potential conflicts that could result from two or more developers simultaneously modifying the same component the multi-user employs a series of automated locking mechanisms called SMART LocksTM (Smart Model Access Restricting Technology). These SMART LocksTM are specifically designed to temporarily limit access to the smallest possible unit required to avoid conflicts, thus offering minimal restrictions to the other developers enabling reuse and simultaneous modeling work. Integration with existing versioning systems is also possible with the multi-user version of the tool, but requires specialized processes common for all developers. The most common approaches are versioning based on the domain concepts and features (dependent on the structure of the models) and whole repository versioning repository. 

It should also be noted that it is common for organizations to run a mix of single and multi-user installations of MetaEdit+ within the same department to best fit the needs the individual development teams. Special packages are also available for organizations wishing to have both the single and multi-user versions of MetaEdit+ installed on the same workstation.