Download - What is Wrong with Models?
What is Wrong with Models?
Omar Badreddin
www.OmarBadreddin.com
Post Doctoral Fellow, University of [email protected]
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