The Truth is in the Models




Adopting UML as
modeling platform

by Andrius Strazdauskas
No Magic
About myself

• Andrius Strazdauskas
• European Sales Director @ No Magic
• 13 years in modeling industry

• Former:
    • Programmer @ No Magic
    • Project manager @ No Magic
    • Product manager @ No Magic
    • Standards Architect @ OMG




                                       `   2
Evolution of modeling standards
A lot of modeling standards are available:
   –   UML
   –   SysML
   –   BPMN
   –   SoaML
   –   UPDM
   –   SBVR
   –   IMM
   –   and many more




                                             3
4
Evolution of modeling
•   Models are getting larger
•   Models are getting more complex
•   Models are used at more and more domains
•   Models tend to overlap

As a result there are a lot of disconnected models
that are modeling connected things




                                                     5
How to…
How to have models that are:
• Integrated,
• Traceable,
• Based on standards…




                               6
UML as platform for model
      integration
Pros:
•   UML has infrastructure
•   UML has extensibility mechanism
•   UML is rich enough to cover most types of models
•   A lot modeling standards are built on UML
•   Wide support in tooling
•   Standard persistence




                                                       7
UML as platform for model
    integration (2)
Cons:
• UML is very complex (~250 concepts)
• UML is perceived as technical/IT language
• A UML profile need to be created for each new
  modeling standard in order to integrate it into
  master model
• Can be extended, but not subtracted




                                                    8
What’s next?
• So if UML can host any type of model…
• …literally every UML tool can allow working on any
  kind of model !..
• Or… is something that is good for everything is
  really good for nothing?..




                                                   9
Is this BPMN?




                10
This is how it should look




                             11
What are the challenges for UML tool?
If a tool needs to model non-UML models it needs to
    stop being a UML tool :

• Hide UML
• Show domain specific information




                                                      12
How did we do it?

Basic ideas:
• Change (extend) the metamodel
• Change the way diagram looks like
• Introduce custom diagram types
• Hide unnecessary UI
• Change the meta-names
• Add additional modeling rules
• Add model validation rules



                                      13
Metamodel changes




                    14
Diagram Element Change




                         15
New diagram types
                 Domain-specific
                 diagram palette




        Diagrams are
      customized using
       MagicDraw UI




This customization is UI driven, no coding is required.
                                                          16
GUI changes



      Domain-specific
         names
                             Domain-specific
                               properties

                                                  Can be further
                                                  customized by
                                                       user




This customization is model driven, no coding is required.
                                                              17
Role-based perspectives




This customization is UI driven, no coding is required.
                                                          18
Validation



                         Model-
                         based
                       (OCL) rule
     Validation         definition
      results




This customization is model driven, no coding is required.
                                                             19
Summary
• UML can be used as a platform for different kinds
  of models
• MagicDraw can be transformed into a DSL
  solution at a pretty low cost
• User friendly / domain specific interface instead
  of technical one is the key




                                                      20
QUESTIONS?



Awards


                    Jolt Productivity   Best Java       Best Team
    Best Java
                    Winner              Modeling Tool   Development
    Database Tool
                                                        Tool

No magic@md day2011

  • 1.
    The Truth isin the Models Adopting UML as modeling platform by Andrius Strazdauskas No Magic
  • 2.
    About myself • AndriusStrazdauskas • European Sales Director @ No Magic • 13 years in modeling industry • Former: • Programmer @ No Magic • Project manager @ No Magic • Product manager @ No Magic • Standards Architect @ OMG ` 2
  • 3.
    Evolution of modelingstandards A lot of modeling standards are available: – UML – SysML – BPMN – SoaML – UPDM – SBVR – IMM – and many more 3
  • 4.
  • 5.
    Evolution of modeling • Models are getting larger • Models are getting more complex • Models are used at more and more domains • Models tend to overlap As a result there are a lot of disconnected models that are modeling connected things 5
  • 6.
    How to… How tohave models that are: • Integrated, • Traceable, • Based on standards… 6
  • 7.
    UML as platformfor model integration Pros: • UML has infrastructure • UML has extensibility mechanism • UML is rich enough to cover most types of models • A lot modeling standards are built on UML • Wide support in tooling • Standard persistence 7
  • 8.
    UML as platformfor model integration (2) Cons: • UML is very complex (~250 concepts) • UML is perceived as technical/IT language • A UML profile need to be created for each new modeling standard in order to integrate it into master model • Can be extended, but not subtracted 8
  • 9.
    What’s next? • Soif UML can host any type of model… • …literally every UML tool can allow working on any kind of model !.. • Or… is something that is good for everything is really good for nothing?.. 9
  • 10.
  • 11.
    This is howit should look 11
  • 12.
    What are thechallenges for UML tool? If a tool needs to model non-UML models it needs to stop being a UML tool : • Hide UML • Show domain specific information 12
  • 13.
    How did wedo it? Basic ideas: • Change (extend) the metamodel • Change the way diagram looks like • Introduce custom diagram types • Hide unnecessary UI • Change the meta-names • Add additional modeling rules • Add model validation rules 13
  • 14.
  • 15.
  • 16.
    New diagram types Domain-specific diagram palette Diagrams are customized using MagicDraw UI This customization is UI driven, no coding is required. 16
  • 17.
    GUI changes Domain-specific names Domain-specific properties Can be further customized by user This customization is model driven, no coding is required. 17
  • 18.
    Role-based perspectives This customizationis UI driven, no coding is required. 18
  • 19.
    Validation Model- based (OCL) rule Validation definition results This customization is model driven, no coding is required. 19
  • 20.
    Summary • UML canbe used as a platform for different kinds of models • MagicDraw can be transformed into a DSL solution at a pretty low cost • User friendly / domain specific interface instead of technical one is the key 20
  • 21.
    QUESTIONS? Awards Jolt Productivity Best Java Best Team Best Java Winner Modeling Tool Development Database Tool Tool