What is Wrong with Models?
description
Transcript of What is Wrong with Models?
![Page 1: What is Wrong with Models?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/1.jpg)
What is Wrong with Models?
Omar Badreddin
www.OmarBadreddin.com
Post Doctoral Fellow, University of [email protected]
![Page 2: What is Wrong with Models?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/2.jpg)
2
Omar Badreddin
The Future of Modeling
2
![Page 3: What is Wrong with Models?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/3.jpg)
3
Omar Badreddin
Modeling Today
3
![Page 4: What is Wrong with Models?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/4.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/5.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/6.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/7.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/8.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/9.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/10.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/11.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/12.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/13.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/14.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/15.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/16.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/17.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/18.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/19.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/20.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/21.jpg)
21
Omar Badreddin 21
![Page 22: What is Wrong with Models?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/22.jpg)
22
Omar Badreddin 22
![Page 23: What is Wrong with Models?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/23.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/24.jpg)
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?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/25.jpg)
25
Omar Badreddin 25
![Page 26: What is Wrong with Models?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/26.jpg)
26
Omar Badreddin 26
![Page 27: What is Wrong with Models?](https://reader036.fdocuments.in/reader036/viewer/2022081506/56815798550346895dc52e45/html5/thumbnails/27.jpg)
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