UML® Profiling as a Framework for Domain-Specific Modeling Languages

MessageThis Webinar is over
Date Aug 5, 2014
Time 12:00 PM EDT
Cost $169.00
Overview: Domain-specific languages have the power to capture and replicate the architectural knowledge of your best technical people, so that knowledge is consistently applied in production systems. UML Profiling is a potent means for creating domain-specific graphical modeling languages. 

Over ten years ago the architects of the Unified Modeling Language® (UML) understood that UML would have to be customized and extended for any serious industrial use. We thus incorporated customization and extension mechanisms into UML's fundamental architecture, enabling the creation of UML Profiles. A UML Profile is a package of UML extensions that address a particular purpose. A modeling construct that a Profile defines can have properties not supported by the UML construct that it extends. Various standards bodies have standardized some UML Profiles, while other Profiles are proprietary. 

For example, the base UML language does not have constructs for modeling many aspects of distributed enterprise systems, including security, distribution tiers, quality of service, and so forth. Standardized and proprietary UML Profiles have thus been created to enhance expressiveness regarding these subjects. 
UML's creators expected that the Profiling mechanisms would greatly reduce the magnitude of effort needed to create domain-specific graphical modeling languages. We envisioned that an architect armed with a UML tool that supports Profiling could create a Profile that defines a set of domain-specific modeling constructs, and that the tool would use the Profile definition to make the desired modeling constructs available to the modeler, i.e. available to the user of the Profile. It has taken some years to realize this vision, but to a significant extent it is now a reality. 

A UML tool that supports Profiling has key capabilities -- the ability to define the Profile's new modeling constructs, the ability to serve as the modeling tool using those constructs, and the ability to serve as the debugger that identifies illegal modeling. With tools providing such support, architects can create all kinds of domain-specific modeling languages and modeling tools, even ones that aren't fundamentally about object-oriented software modeling. Many modeling languages and tools that require graphical shapes (such as boxes, ovals, etc.) and connectors between the shapes can be defined this way. This excludes languages that need complex graphical elements such as spin dials, but that still leaves many languages that just require simple shapes and connectors. 

A particularly powerful yet little used UML Profiling mechanism is the ability to define constraints written in UML's Object Constraint Language (OCL), in order to rule out combinations of model elements, element values, and relationships among elements that would not make sense for the specific domain. A UML tool that properly supports Profiling uses such constraints to identify offending elements of models that are created using the Profile, and guides the modeler to rectify the problems. 

Why should you attend: This Webinar starts by providing a conceptual framework for understanding how domain-specific languages are structured and how they produce solutions that capture and apply the knowledge and experience of your best people. The conceptual framework is based on product line architecture. Attention then turns to the use of UML Profiling mechanisms to create domain-specific modeling languages, with extra focus on the mechanisms that have escaped the notice of most UML users and which contain the most latent power. The teaching is anchored by walking through a real domain-specific modeling language built for the financial services industry using UML Profiling; however, financial services domain expertise is not required of attendees. 

Attendees will gain an architectural understanding of the UML Profiling mechanisms, and will be better equipped to assess where domain-specific modeling languages based on UML Profiling could be useful in the systems for which they are responsible. 

Areas Covered in the Session:
  • Using domain-specific languages to capture your best people's technical knowledge and to produce solutions that apply that knowledge consistently
  • The fundamental anatomy of a UML profile
  • Identifying which UML elements to extend
  • Defining the extensions
  • Writing machine-readable constraints to enforce desired semantics and to flag invalid models
  • Trade-offs between standard UML Profiling mechanisms and tool-specific extension mechanisms
  • Trade-offs between domain-specific languages that are UML-based vs. domain-specific languages that are not UML-based
  • The difference between UML profiles vs. metamodels constructed via UML

Who Will Benefit:
  • Chief architects
  • VPs of Engineering
  • Software architects
  • Software engineers
  • Enterprise architects
  • Senior developers
  • Architects and engineers of software-hardware hybrids
Speaker Profile: 
David Frankel has over 30 years of experience as a programmer, architect, and technical strategist. He is recognized as a pioneer and international authority on the subject of model-driven systems and semantic information modeling. He has a wealth of experience driving companies and industry at large to successfully adopt strategic technologies. 

He has an outstanding ability to communicate in technical mentoring situations, publications, and presentations. He has published two books and dozens of trade press articles, and has presented at many industry conferences. He has a reputation for facilitating collaboration that, along with his strong technical expertise, has led him to co-author a number of important industry software standards, including UML®, ISO 20022, BIAN, and the XBRL Abstract Model. He served terms as an elected member of the Object Management Group’s Architecture Board and Board of Directors. 


Create your own event
Turn your passion into a business.
Join our mailing list