Header image
Oxford Architectural Design & Consulting
 
 
Process & Tool Usage Improvement
UML Profiles

UML allows you to add stereotypes and tagged values to a model element in a very ad hoc manner. This can lead to inconsistency and confusion across design teams. The clarity stereotypes can add to a model is quickly lost when those stereotypes are obtuse and undefined. A well-defined, well-documented set of stereotypes and their tagged values should be provided to all teams. Better yet, they should be used to create a meta-model which can be controlled by the modeling tool, with rights to manage the meta-model given to those responsible for it. With such a meta-model in place, the modeling tool can now provide guidance on the modeling standards embodied in the meta-model and make conforming to those standards easier than not doing so.

By creating UML profiles from the extended meta-model, you can replace the generic constructs of UML with ones that are specific to the language of the view. For example, the following screenshot shows the network topology of the Philly Data Center. On the left is the browser, showing that we are in the Deployment Architecture View. The second section from the left is the diagram itself. Note the use of alternate images to give the “Visio look” that network engineers seem to like. The third section shows the tagged values for the mainframe at the bottom left of the diagram. Notice that there are tagged values for the model (SunFire 6800) representing a standard configuration and overrides for the instance (SCMS-03) showing the values for that specific computer. The far right section shows the standard deployment toolbox above and the Technology Architecture toolbox created from the Technology Architecture profile below. As you can see, the profile shows model elements that are germane to the Technology Architecture view.
UML Patterns
Once you have created your profiles, the next task is to automate some of the more intricate patterns. Sparx EA allows you to create patterns directly from a diagram. When creating a pattern you can decide whether a given pattern element should create a new model element or be associated with an existing one. This lets you quickly create new elements and reuse existing ones just by adding the pattern to a diagram.
Quick Links
As mentioned above, one of the goals of creating a modeling framework is to make provide instant guidance to designers and to ensure conformance to your architectural principles. In fact, the ultimate goal should be to make the conforming path the easiest path (I can’t emphasize this enough!). Sparx EA’s Quick Link capability helps with that goal. The Quick Linker is an arrow that appears to the top right of a modeling element when you click on the element. If you drag and drop the arrow onto another element,  a context menu appears allowing you to choose the appropriate type of connector. Sparx EA allows you to modify the context menu, based on the types of elements involved. This gives you control over what type of connections can be made between the types defined in your meta-model.
The screenshot below shows how the context menu has been changed to incorporate the stereotyped connections between a RequiredInterface and a ProvidedInterface.
Process & Tool Improvement