modisco: a tool for model driven architectures cs 791z – grad sem. on software engineering...

14
MODISCO: A TOOL FOR MODEL DRIVEN ARCHITECTURES CS 791Z – Grad Sem. on Software Engineering February 18 th , 2014 By: Alex Redei

Upload: jordan-oneal

Post on 31-Dec-2015

220 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: MODISCO: A TOOL FOR MODEL DRIVEN ARCHITECTURES CS 791Z – Grad Sem. on Software Engineering February 18 th, 2014 By: Alex Redei

MODISCO: A TOOL FOR MODEL

DRIVEN ARCHITECTURES

CS 791Z – Grad Sem. on Software EngineeringFebruary 18th, 2014

By: Alex Redei

Page 2: MODISCO: A TOOL FOR MODEL DRIVEN ARCHITECTURES CS 791Z – Grad Sem. on Software Engineering February 18 th, 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!

Page 3: MODISCO: A TOOL FOR MODEL DRIVEN ARCHITECTURES CS 791Z – Grad Sem. on Software Engineering February 18 th, 2014 By: Alex Redei

3

GAME

Page 4: MODISCO: A TOOL FOR MODEL DRIVEN ARCHITECTURES CS 791Z – Grad Sem. on Software Engineering February 18 th, 2014 By: Alex Redei

4

THE PROBLEMCode, Code, Code…

Page 5: MODISCO: A TOOL FOR MODEL DRIVEN ARCHITECTURES CS 791Z – Grad Sem. on Software Engineering February 18 th, 2014 By: Alex Redei

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

Page 6: MODISCO: A TOOL FOR MODEL DRIVEN ARCHITECTURES CS 791Z – Grad Sem. on Software Engineering February 18 th, 2014 By: Alex Redei

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.

Page 7: MODISCO: A TOOL FOR MODEL DRIVEN ARCHITECTURES CS 791Z – Grad Sem. on Software Engineering February 18 th, 2014 By: Alex Redei

7

THE MODISCO TOOL

Page 8: MODISCO: A TOOL FOR MODEL DRIVEN ARCHITECTURES CS 791Z – Grad Sem. on Software Engineering February 18 th, 2014 By: Alex Redei

INSTALLATION• Java Eclipse plug-in.

So easy I could do it!

Page 9: MODISCO: A TOOL FOR MODEL DRIVEN ARCHITECTURES CS 791Z – Grad Sem. on Software Engineering February 18 th, 2014 By: Alex Redei

CODE GENERATION AND DISCOVERY

Page 10: MODISCO: A TOOL FOR MODEL DRIVEN ARCHITECTURES CS 791Z – Grad Sem. on Software Engineering February 18 th, 2014 By: Alex Redei

CODE METRICS• Code metrics can be generated from the models.

• Additionally, code can be refactored using the model.

Page 11: MODISCO: A TOOL FOR MODEL DRIVEN ARCHITECTURES CS 791Z – Grad Sem. on Software Engineering February 18 th, 2014 By: Alex Redei

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.

Page 12: MODISCO: A TOOL FOR MODEL DRIVEN ARCHITECTURES CS 791Z – Grad Sem. on Software Engineering February 18 th, 2014 By: Alex Redei

• 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

Page 13: MODISCO: A TOOL FOR MODEL DRIVEN ARCHITECTURES CS 791Z – Grad Sem. on Software Engineering February 18 th, 2014 By: Alex Redei

“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

Page 14: MODISCO: A TOOL FOR MODEL DRIVEN ARCHITECTURES CS 791Z – Grad Sem. on Software Engineering February 18 th, 2014 By: Alex Redei

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