What is Sparx MDG Technology?

uml unified modeling language teamwork design modelling softwar

From the early days of Unified Modeling Langauge (UML), even those people heavily invested in the new language recognized that customization was necessary to facilitate the building of quality models.  One of those controlled ways to extend the language is the UML Profile. Sparx Systems Enterprise Architect provides the capability for you to create customized extensions of UML (and even your own modeling language) using a powerful mechanism called MDG Technology, short for Model-Driven Generation technology.

“The UML provides a standard language for writing software blueprints, but it is not possible for one closed language to ever be sufficient to express all possible nuances of all models across all domains across all time.  For this reason, the UML is open-ended, making it possible for you to extend the language in controlled ways.” These are the words of Grady Booch, one of the key industry thought leaders in the world of software and architecture modeling and one of the original authors of the Unified Modeling Language (UML). 

Pre-built MDG add-ins for Enterprise Architect

Sparx Systems uses MDG Technology as the mechanism to add languages and modeling concepts to EA (Enterprise Architect).  That doesn’t mean you need to develop your MDG’s from scratch. There is an ever-growing list of MDG Technologies available for purchase from Sparx covering things like standards from the Object Management Group (OMG) and The Open Group, industry frameworks like Zachman and DoDAF (and many more).  There are MDG Technologies for the ArchiMate language, SysML, BPMN, and many other modeling languages that can all be used independently or melded together into a custom process. 

Some of the MDG Technologies available aren’t standards per se but are just plain useful ideas from the EA user community.  For example, there is an implementation of mind maps in EA.  Mind maps are a tool used in requirements elicitation and other brainstorming type activities.  There is no standard for mind maps, but there are some common descriptions and several tool implementations.  The usefulness of the mind maps is limited when the implementation is in a stand-alone tool.  Adding mind mapping capability to EA provides not only support for that activity but allows the results to be traced to the requirements and other elements within EA.

Custom MDG Technologies 

While there are a significant number of built-in MDG Technologies that can be combined to create a custom development approach, we still need to consider Booch’s notion that individual customization is necessary.  That is why Sparx provides the capability for users to create and manage their own MDG Technologies.  These extensions and customizations can be as simple as adding attributes to an element or creating a complete Domain Specific Language. 

Unified Modeling Language

As an example, let us consider an organization that has specified the creation of a Logical Application Diagram (LAD) as part of their development process.  Members of the organization know what that is and expect to see it as part of their review and decision-making process.  A quick review of the 15 UML diagrams reveals there is no standard diagram by that name, but that we could use UML elements like components and associations to model the elements of a LAD.  Your choice is to either teach all the subject matter experts and executive management UML or produce a diagram that conforms to the UML metamodel but looks like the picture they are expecting to see.  

There is a significant productivity benefit to creating an MDG Technology that casts UML components as Applications, and UML associations as Communication Paths, etc. so that the end result is a true model with traceable elements that looks like the old LAD.  Using MDG Technologies, you can create domain-specific modeling language that represents the vocabulary of the organization and is maintainable and extensible to accommodate business growth and change.

MDG Technologies for System Integration

With the proliferation of Commercial-Off-The-Shelf (COTS) software, SaaS, and platform solutions over the past decade, many organizations find themselves either migrating data into Sparx Systems Enterprise Architect or developing operational integrations with other platforms.  Often these platforms have their own metamodel, unique element types, and custom attribute sets that don’t conform to either an industry-standard or your company’s way of modeling.  MDG Technologies can be developed to represent these custom objects so you can clearly see what they are in your architecture and differentiate them from other types of elements.

For example, many companies use ServiceNow for their IT Service Management (ITSM) system and run automated discovery to populate their Configuration Management Database (CMDB) with configuration items found in the company environment.  These CIs represent things like hosts, applications, services, and network devices that Architects may want to connect with things like platforms, applications, organizations, and business processes in their architecture models.  Because CIs are a concept unique to ITIL and ServiceNow has their own set of unique (and customizable) attributes to describe CIs, you may want to keep some of this information instead of trying to make CIs fit into an existing stereotype in your metamodel.  With a MDG technology, you can create custom stereotypes and define the attributes you want.  You can even define custom icons to visually differentiate the elements on diagrams.  This is a powerful capability when modeling across systems.

UML

Using MDG to Drive Consistency Across your Architecture 

The UML profile is only one part of the MDG Technology.  Once it is created, Toolbox profiles and Diagram profiles can then be created.  These three profiles represent the initial core of the organization’s domain-specific language.  Over time, as the MDG Technology is put into use, other the need for other solution elements, such as global tag values, automation scripts, model patterns, model views and searches, and document templates, become known.  As that happens, the MDG Technology can be updated and deployed to all the EA users.  The more comfortable the users are with a modeling language that fits their domain interests, the more they can focus on solving business problems rather than modeling problems.

Should I Build my own MDG Technology or Hire Someone?

You can certainly build your own MDG technologies. However, this might not be the best use of your architect’s time.  Like any other development project, the design of language extensions needs to be deliberate and requires a certain amount of skills and experience.  You may have architects with the technical skills to do this, but the question you should be asking is: “Is this the best use of my resources?” If your goal is to improve your team’s productivity, drive consistency and accelerate time to value, it might be a better choice to have the experts at Sparx develop the MDG Technologies for you, so your architects can focus on business problems and opportunities.

Sparx Services North America has developed an agile approach to the creation of an organization’s domain-specific language that has been successfully executed for customers of various sizes and in a variety of industries.  The approach relies upon the creation of a metamodel that outlines what elements need to be modeled and what relationships need to be maintained between those elements.  Once the traceability metamodel is validated, the necessary metaobjects are identified, and a UML profile is developed.  SSNA then transforms the UML Profile into the various components of the MDG Technology (toolboxes, custom stereotypes, quick linkers, etc.), and what you receive is the finished MDG Technology – ready to install in your Sparx Architecture Repository. 

Whether you are trying to leverage existing pre-built MDG technologies, use multiple standards together, develop a custom modeling language for your company, or integrate with third-party data sources, Sparx Services North America can help.  Before you invest the time to build something yourself, contact us to learn more about how SSNA can meet your MDG development needs better, cheaper, faster, so your architects can focus on the high-value opportunities for your business.

Summary:

MDG Technology

From the early days of Unified Modeling Langauge (UML), even those people heavily invested in the new language recognized that customization was necessary to facilitate the building of quality models. One of those controlled ways to extend the language is the UML Profile. Sparx Systems Enterprise Architect provides the capability for you to create customized extensions of UML (and even your own modeling language) using a powerful mechanism called MDG Technology, short for Model- Driven Generation technology. Sparx Systems uses MDG Technology as the mechanism to add languages and modeling concepts to EA (Enterprise Architect). That doesn’t mean you need to develop your MDG’s from scratch. There is an ever-growing list of MDG Technologies available for purchase from Sparx covering things like standards from the Object Management Group (OMG) and The Open Group, industry frameworks like Zachman and DoDAF (and many more). There are MDG Technologies for the ArchiMate language, SysML, BPMN, and many other modeling languages that can all be used independently or melded together into a custom process. While there are a significant number of built-in MDG Technologies that can be combined to create a custom development approach, we still need to consider Booch’s notion that individual customization is necessary. That is why Sparx provides the capability for users to create and manage their own MDG Technologies. These extensions and customizations can be as simple as adding attributes to an element or creating a complete Domain Specific Language.

Share on facebook
Share on twitter
Share on linkedin
J.D. Baker

J.D. Baker

J.D. Baker is a Software/Systems Engineer with interest and expertise in enterprise architecture, requirements development, software/system architecture and system design processes and methodologies that support Model-Based Engineering. He has used UML as a leader of development teams since 1999 and Sparx Systems Enterprise Architect since 2001. He provides training and mentoring in software and system architecture, systems engineering, software development, iterative/agile development, object-oriented analysis and design, the Unified Modeling Language (UML), the UML Profile for Systems Engineering (SysML), use case driven requirements, and process improvement. He is an elected member of the Architecture Board at the OMG. He has participated in the development of UML, OMG SysML, the UML Profile for BPMN Processes and the UML Profile for DoDAF and MODAF. J.D. holds many industry certifications, including OMG Certified System Modeling Professional (OCSMP), OMG Certified UML Professional (OCUP), Sun Certified Java Programmer, and he holds certificates as an SEI Software Architecture Professional and ATAM Evaluator.