Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Overcoming The Impedance Mismatch Between Source Code And Architecture
1. Overcoming the
Impedance Mismatch
Between Source Code
and Architecture
Peter Friese, itemis
@peterfriese
@xtext
(c) 2009 Peter Friese. Distributed under the EDL V1.0 - http://www.eclipse.org/org/documents/edl-v10.php
More info: http://www.peterfriese.de / http://www.itemis.com
2. Stop drawing useless
diagrams
and writing boring code
Peter Friese, itemis
@peterfriese
@xtext
(c) 2009 Peter Friese. Distributed under the EDL V1.0 - http://www.eclipse.org/org/documents/edl-v10.php
More info: http://www.peterfriese.de / http://www.itemis.com
3. UML - One Language To Rule Them All
http://en.wikipedia.org/wiki/File:UML_Diagrams.jpg
34. UML and MDSD
⊕ Existing tools
⊕ Good overview
⊕ Graphical - managers / clients like that
⊖ complex meta model
⊖ teamwork challenging at best
⊖ model evolution problematic
⊖ UML is too generic, it’s not a DSL
⊖ UML profiles don’t help either
⊖ tools not integrated in IDE
⊖ long round trips
⊖ developers don’t like diagrams that much
38. UML and MDSD
⊖ complex meta model
⊖ teamwork challenging at best
⊖ model evolution problematic
⊖ UML is too generic, it’s not a DSL
⊖ UML profiles don’t help either
⊖ tools not integrated in IDE
⊖ long round trips
⊖ developers don’t like diagrams that much
62. DSL Advantages
⊕ Focussed
⊕ Precise metamodel, perfect fit
⊕ No misuse / mismodeling (thanks to
constrained meta model)
⊕ diff / merge possible
⊕ teamwork possible
⊕ developers like text
⊖ need to build your own tools
63. DSL Disadvantages
⊕ Focussed
⊕ Precise metamodel, perfect fit
⊕ No misuse / mismodeling (thanks to
constrained meta model)
⊕ diff / merge possible
⊕ teamwork possible
⊕ developers like text
⊖ need to build your own tools
64. 1)Create ANTLR grammar
2)Generate lexer / parser
3)Parser will create parse tree
4)Transform parse tree to semantic model
5)Iterate model
6)Pass model element(s) to template