What is Wrong with Models?

Post on 29-Jan-2016

43 views 0 download

Tags:

description

What is Wrong with Models?. Omar Badreddin www.OmarBadreddin.com Post Doctoral Fellow, University of Ottawa oobahy@gmail.com. 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

transcript

What is Wrong with Models?

Omar Badreddin

www.OmarBadreddin.com

Post Doctoral Fellow, University of Ottawaoobahy@gmail.com

2

Omar Badreddin

The Future of Modeling

2

3

Omar Badreddin

Modeling Today

3

4

Omar Badreddin

Desktop Modeling tools

100% of the modeling tools are primarily IDE based

Only a few support web based environment

4

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

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

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.

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

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

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

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

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

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

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

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

16

Omar Badreddin

Modeling is not the goal in itself

Efficient development of software

Enhanced comprehensibility

Business Value

Agility

Reuse

..

16

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

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

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

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

21

Omar Badreddin 21

22

Omar Badreddin 22

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

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

25

Omar Badreddin 25

26

Omar Badreddin 26

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