Designs are largely proprietary, and not easy to use. Even if you locate what looks to be an applicable design pattern, it can be very tedious and time consuming to apply that pattern to multiple elements in your model. These models have been extremely useful tools in everyday software development, but they are still tedious to apply. Each time a design pattern is to be applied, the relevant information in the pattern must be copied, pasted, and modified in the model being worked. After performing this action repeatedly and for multiple projects the need for a method of automatically applying these patterns to our designs was apparent.
Mass production demands it.
Looking at the latest partner list, it was easy to identify a couple of companies working with design patterns and Rational Rose. Each one had great ideas, offering through their web sites several design patterns from some of the available design pattern books. However, they could not offer the level of functionality necessary to automate the process. What was needed was the ability to locate and adapt patterns to fit individual needs, as well as the ability to create new patterns and to make them available to be used again in the future. Upon investigation, I discovered this to be an interesting tool that could be used as more than just a constraint language it could be used to describe design patterns in terms of model elements.