UML Profiling as a Framework for Domain-Specific Modeling Languages Shared by JamesRichard
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:
Who Will Benefit:Speaker Profile: