27
What is Wrong with Models? Omar Badreddin www.OmarBadreddin.com Post Doctoral Fellow, University of Ottawa [email protected]

What is Wrong with Models?

  • Upload
    amara

  • View
    47

  • Download
    0

Embed Size (px)

DESCRIPTION

What is Wrong with Models?. Omar Badreddin www.OmarBadreddin.com Post Doctoral Fellow, University of Ottawa [email protected]. The Future of Modeling. Modeling Today. Desktop Modeling tools. 100% of the modeling tools are primarily IDE based Only a few support web based environment. - PowerPoint PPT Presentation

Citation preview

Page 1: What is Wrong with Models?

What is Wrong with Models?

Omar Badreddin

www.OmarBadreddin.com

Post Doctoral Fellow, University of [email protected]

Page 2: What is Wrong with Models?

2

Omar Badreddin

The Future of Modeling

2

Page 3: What is Wrong with Models?

3

Omar Badreddin

Modeling Today

3

Page 4: What is Wrong with Models?

4

Omar Badreddin

Desktop Modeling tools

100% of the modeling tools are primarily IDE based

Only a few support web based environment

4

Page 5: What is Wrong with Models?

5

Omar Badreddin

Support for collaboration

Versioning and merging of models still problematic

Much easier to collaborate on code

Model based collaboration in SE remain minimal [Collaboration in Software Engineering: A Roadmap]

5

Page 6: What is Wrong with Models?

6

Omar Badreddin

Adoption

Open source developers rarely use modeling tools lack of pressure to have rigor or follow

deadlines

In one study, only 0.3% of OSS projects incorporate models

6

In another study, After a year70% of modeling tools are no longer usedOnly 5% are widely used (despite positive impact reported)

Those who actually use models, only 6% always generate code

Page 7: What is Wrong with Models?

7

Omar Badreddin

Complex tools

75% find modeling tools are unnecessarily complex

In a study, 80% of software engineers find modeling tools are bad or awful in generating code.

7

Only 24% find modeling tools to be lacking in features they need.

Page 8: What is Wrong with Models?

8

Omar Badreddin

Research Practice mismatch

Modeling is not New, SE is.Modeling in Architecture and Civil

Engineering

Modeling is a good practiceEnhanced productivity, quality, cost

reductionWide empirical evidence

Yet, Majority of practitioners do not use itModeling only as documentationOpen source community do not use

models at all

8

Page 9: What is Wrong with Models?

9

Omar Badreddin

Problems with the tooling

Modeling tools tend to beAwkward to useExpensiveLow quality of generated code Incomplete implementation of a languageWeak in analysisDifficult to integrate with existing environments

9

Page 10: What is Wrong with Models?

10

Omar Badreddin

Evidence against modeling

Growing evidence against modelingOpen Source projects are successful without itMajority of professionals have chosen not to use themModeling works in other domains onlyThere are some exceptions (automotive, aviation)

And,Current approaches work well enoughModeling tools are expensive, hard to learnVersioning and merging of models is still problematicCode generation and reverse engineering still do not work good enough

Some argue, “there is no future for MDA.”

10

Page 11: What is Wrong with Models?

11

Omar Badreddin

Problems with cutting edge modeling tools

The same model generates different code using a different modeling toolMDA becomes tool oriented Imagine the same for Java!!

Abstraction level mismatch

Managing change

Usability and Cost

Culture, Education

11

Page 12: What is Wrong with Models?

12

Omar Badreddin

MDA is loosing steam

Implementation is not difficultThe challenge is to identify business problem and build the solution

(model)

Building a robust solution is more important that building a solution quickly90% of total cost of ownership is spent on maintenanceAgile: software is developed through cycles of evolution.

MDD is a technology enabler, and does not have business value itselfSystems developed using MDD have business value

12

Page 13: What is Wrong with Models?

13

Omar Badreddin

Programming languages success

Always executable

Incorporating abstractions

Textual format

Backward compatible

Usually written in themselves

Core in education of software engineers

13

Page 14: What is Wrong with Models?

14

Omar Badreddin

Increasing abstraction levels

Low level Languages

Procedural Languages

Object Orientation

Model Orientation

Assembly

Pascal

Java, C++

Alf, UAL

14

Lev

els

of

Ab

stra

ctio

n

Page 15: What is Wrong with Models?

15

Omar Badreddin

Code more abstract than models

System Orientation

New BankingSystem(DB2, medium, webAccess);

enable_webAccess(IE, Chrome);

Drill down to models (i.e business logic)Behavioural models (i.e state machines)Business Rules

SE is an applied discipline by natureParadigm shift originates from industry

15

Page 16: What is Wrong with Models?

16

Omar Badreddin

Modeling is not the goal in itself

Efficient development of software

Enhanced comprehensibility

Business Value

Agility

Reuse

..

16

Page 17: What is Wrong with Models?

17

Omar Badreddin

Properties of the future modeling tool

Flexible, simple, and powerful

Agile

In the Cloud

Real time collaboration support

Seamless Versioning and Merging

Popular adoption

Free?

Portable (phone, tablet, phablet, ..)

17

Page 18: What is Wrong with Models?

18

Omar Badreddin

Properties of the future Modeling tool

Model debugging, tracing.

More interactive (Context assist, warnings, model-assist)

Unified and Universal InteroperabilityPortabilityCohesion

Business Oriented/Driven Modeling

3D modeling

Less emphasis on tooling

18

Page 19: What is Wrong with Models?

19

Omar Badreddin

Properties of MDA teams

Iterations result in executable models

From Flexible to precise models

Quick generation of system prototypes from Models

Blur lines between model / code / documentations

Little, no set up for model based contributions

Model reuse, Model libraries

Drill down to codeFuture OO developers are today’s COBOL programmers

19

Page 20: What is Wrong with Models?

20

Omar Badreddin

Context and Culture

Teach modeling in first year CS programs

A model is assumed to be executable or incomplete

Problem with the code? Fix the compiler.

Get your hands dirty with the low level modelsSource code -> Source ModelPassword -> PassmodelLine number -> Region numberCodex -> Modex

20

Page 21: What is Wrong with Models?

21

Omar Badreddin 21

Page 22: What is Wrong with Models?

22

Omar Badreddin 22

Page 23: What is Wrong with Models?

23

Omar Badreddin

Compliance

Problem 2: Lack of a Truly Universal Language

Design

Requirements

Regulations

Legislations / Initiatives

23

Monitor

Operations

Code

Goal

Modeling

SysML

UMLBPMN

Compliance models

Use Cases

Gover

nanc

e Requirement

System Development

Page 24: What is Wrong with Models?

24

Omar Badreddin

Change ManagementRegulations changes impact, requirements, design, operations, and

compliance.

Forward Engineering

Reverse EngineeringDesign system from compliance requirements

System design

Model tracing

24

Page 25: What is Wrong with Models?

25

Omar Badreddin 25

Page 26: What is Wrong with Models?

26

Omar Badreddin 26

Page 27: What is Wrong with Models?

27

Omar Badreddin

In SE, we still can not agree on what a model is

Is a modelAn incomplete view of the systemA diagram (Not code)The system itselfAny representation, including code.

You should be able toAnalyse key aspects (Performance, correctness, etc)Generate codeExecutable, eventually executable, should never execute

27