modisco: a tool for model driven architectures cs 791z – grad sem. on software engineering...
TRANSCRIPT
MODISCO: A TOOL FOR MODEL
DRIVEN ARCHITECTURES
CS 791Z – Grad Sem. on Software EngineeringFebruary 18th, 2014
By: Alex Redei
OVERVIEW
1. Intro: Who wants to be a programmer?™
2. The problem
3. How models are different
4. Business case
5. Challenges
6. Converting UML to code
7. Conclusion
WARNING: BAD CODE
AHEAD!
3
GAME
4
THE PROBLEMCode, Code, Code…
VIDEOEban Escott – Ph.D. – University of Queensland:
• 3:50 – 5:30 – INTRO
• 8:20 – 16:23 – MDE Philosophy
• 9:50 – talks about generated code vs written code
• 11:00 – model driven code
• 16:10 – Automated Documentation / Dashboards
• 17:00 – Eclipse Plugin
• 18:00 – on automated test cases
• 19:25 – 20:20 - Conclusion
HOW MODELS ARE DIFFERENT
MODEL-DRIVEN ENGINEERING
• Focus on the big picture.
• Optimizations are hard to see, but concurrency and design patterns are easier to spot.
• Keeping documentation up-to-date.
7
THE MODISCO TOOL
INSTALLATION• Java Eclipse plug-in.
So easy I could do it!
CODE GENERATION AND DISCOVERY
CODE METRICS• Code metrics can be generated from the models.
• Additionally, code can be refactored using the model.
IF YOU WANT TO PLAY WITH IT YOURSELF….
You can remote to it via:
• Java Eclipse folder is on the desktop, MoDIsco is already installed.
• A living document: code and documentation not as likely to fall out of sync.
• Maximize design time.
• Easier to identify design patterns.
• Linking and interfaces between classes more visual.
12
Pros Cons
• High upfront cost. Retraining of programmers to think abstractly, new tools to be learned, etc.
• Limited flexibility.
• DSLs will only make sense to those with domain knowledge. Makes knowledge transfer harder.
• Precise calculations and functions are harder to express.
CONCLUSION
“A new study that surveyed 450 MDE practitioners and performed in-depth interviews with 22 suggests that although MDE might be more widespread than commonly believed, developers rarely use it to generate whole systems. Rather, they apply MDE to develop key parts of a system.”
– Jon Whittle, Lancaster University
REFERENCES• MoDisco: a Model Driven Reverse Engineering Framework Hugo Bruneliere, Jordi Cabot, Grégoire
Dupé and Frédéric Madiot. A full long paper in Elsevier journal on Information and Software Technology 56 (2014) (pages 1012-1032)
• How to Deal with your IT Legacy? What is Coming up in MoDisco: A short article about the current status of MoDisco, as part of ERCIM News 88 focusing on Evolving Software, January 2012 (pages 43-44).
• How to Deal with your IT Legacy? Reverse Engineering using Models: MoDisco in a Nutshell!: A complete article about MoDisco v0.9.0, as part of the JavaTech Journal #10 focusing on the Eclipse Indigo Simultaneous Release, August 2011 (pages 21-24).
• MoDisco: a Generic and Extensible Framework for Model Driven Reverse Engineering: A short paper introducing MoDisco, published in the ASE Conference 2010 (Antwerp, Belgium, September 2010).
• MoDisco, a Model-Driven Platform to Support Real Legacy Modernization Use Cases: A detailed book chapter from Information Systems Transformation: Architecture-Driven Modernization 14