SlideShare ist ein Scribd-Unternehmen logo
1 von 89
Software Modeling
and
the Future of Engineering
JBezivin@gmail.com
JBezivin@twitter
University of Nantes
THE NEW ENGINEERING
LANDSCAPE
Problem and Solution Spaces
Hype after Hype
 Are we condemned to jump from hype to hype like a
fashion industry? (1)
 What is the hidden meaning (if any) in the evolution
of our discipline?
(raw Ngram
buzzword observations)
Google Ngram
Viewer
(1) Ivar Jacobson
ThoughtWorks, Technology Radar, May 2013
Languages & Frameworks
Adopt
Clojure
CSS frameworks
Jasmine paired with Node.js
Scala
Sinatra
Trial
CoffeeScript
Dropwizard
HTML5 for offline applications
JavaScript as a platform
JavaScript MV* frameworks
Play Framework 2
Require.js & NPM
Scratch, Alice, and Kodu
Assess
ClojureScript
Gremlin
Lua
Nancy
OWIN
RubyMotion
Twitter Bootstrap
Hold
Backbone.js
Component-based frameworks
Handwritten CSS
Logic in stored procedures
http://www.thoughtworks.com/radar (Martin Fowler & C°)
Surface or deep-sea movements?
Focus on Engineering
Scientists study the world as it is; engineers
create the world that has never been.
Theodore von Kármán
Looking at the past to guess the future
5 years 5 years
50 years 50 years
What has changed in the past 50 years ?
 Expressions like “CAD” or “Computer Assisted” or
“Computer Aided” have lost all their discriminant
meaning in engineering
 Most engineering fields are now using
computers and software
 Time to adapt our vision
Change of focus
Computers
everywhere
Software
everywhere
Models
everywhere?
Computer
Assisted
Design
Software
Intensive
Systems
Model
Driven
Engineering?
The two engineering spaces
Domain
Engineering
Support
Engineering
Problems lie here
Tools to solve problems
may be found here
Problems and Solutions
 Support Engineering
 Process engineering
 Product (line) engineering
 Software language engineering
 Model engineering
 Service engineering
 Data engineering
 Program engineering
 Event engineering
 Constraint engineering
 System engineering
 Requirement engineering
 Ontology engineering
 OSS engineering
 Domain Engineering
 Robotics engineering
 Civil engineering
 Building engineering
 Electrical engineering
 Mechanical engineering
 Business engineering
 Biological engineering
 Automotive engineering
 Health engineering
 Enterprise Engineering
DOMAIN ENGINEERING
Problem Spaces
Traditional Engineering Fields:
Civil, Mechanical, Chemical, …
Emerging Engineering Fields:
Financial, Business, Enterprise, …
Old and New engineering fields
Software vs. Traditional Engineers
Description Number Ann. Salary
Software Eng., Applications 356,760 $73,800
Software Eng., System Software 255,040 $75,840
Aerospace Engineers 74,210 $74,110
Agricultural Engineers 2,500 $55,730
Biomedical Engineers 7,130 $64,420
Chemical Engineers 32,110 $75,010
Civil Engineers 207,480 $63,010
Computer Hardware Engineers 67,180 $76,150
Electrical Engineers 146,180 $70,480
Electronics Eng., Exc. Computer 126,020 $71,600
Environmental Engineers 45,720 $63,440
Health and Safety, Exc. Mining 34,160 $59,830
Industrial Engineers 151,760 $63,590
Marine Eng., Naval Architects 4,810 $68,280
Materials Engineers 22,780 $64,310
Mechanical Engineers 203,620 $65,170
Mining and Geological Eng. 5,050 $64,770
Nuclear Engineers 15,180 $82,300
Petroleum Engineers 11,130 $85,540
611.900 (35%)
1.157.020 (65%)
Source U.S. Bureau of Labor Statistics (2002)
Software
Engineer
s
(35%)
Traditional
Engineers
(65%)
?
Many features common
to all domain engineering fields,
for example:
 Based on support engineering
 Product & Process focus
 Including HR and team management
 Human in the loop
 Engineers in control
 Chain
1. Building Abstract Models
2. Verification/Validation
3. Putting in Production
4. Putting in Operation (deployment)
 Need for a strong model repository (e.g. Dassault Syst. Catia)
 Scaling up to millions of parts
 Cooperative concurrent access
 Point of view mechanisms
 Strong zooming mechanisms
Domain Engineering
Domain
Engineering
Product
Engineering
Process
Engineering
Problem spaces
Solution spaces
(Support Engineering)
Electrical Engineering
Building abstract
models
Validation
Verification
Putting in
Production
Augmenting,
Changing the
world
Construction Engineering
Building abstract
models
Validation
Verification
Putting in
Production
Augmenting,
Changing the
world
Complexity of the
Domain Engineering Landscape
Civil
Engineering
Electrical
Engineering
Automotive
Engineering
Architecture
Engineering
Medical &
Health
Engineering
Chemical
Engineering
Biological
Engineering
Weather
Engineering
Military
Engineering
Financial
Engineering
Business
Engineering
Enterprise
Engineering
Ecology
Engineering
Agricultural
Engineering
Telecommunications
Engineering
Other
Engineering
Fields
Many Communities, Many Journals
http://www.govengr.com/
Journal of Neural Engineering to help scientists, clinicians and engineers
to understand, replace, repair and enhance the nervous system.
Neural engineering (also
known as
Neuroengineering) is a
discipline
within biomedical
engineering that uses
engineering techniques
to understand, repair,
replace, enhance, or
otherwise exploit the
properties of neural
systems
Healthcare Engineering
Biomedical engineering
Computer-aided medical engineering
Medical/disease modeling
Rehabilitation engineering
Healthcare energy systems engineering
Healthcare support service engineering
Emergency response engineering
Engineering issues in public health and epidemiology
Aging Engineering and aging (elderly patient service)
Healthcare engineering education
…
Concurrent engineering is a
work methodology based on
the parallelization of tasks (i.e.
performing tasks concurrently).
It refers to an approach used
in product development in
which functions of design
engineering, manufacturing
engineering and other functions
are integrated to reduce the
elapsed time required to bring a
new product to the market.
And many more
SUPPORT ENGINEERING
The spaces of solutions
Product and Team Management Engineering
Product Lifecyle
Management (PLM)
Product Line
Engineering
(incl. variability)
Software Product Line
Engineering
Team Management
Engineering
Software Team
Management
Engineering
Agile Methods
Product lifecycle management (PLM) is the process of managing the entire
lifecycle of a product from inception, through engineering design and
manufacture, to service and disposal of manufactured products
Process engineering
 Process engineering
encompasses a vast range
of industries, such as
chemical, petrochemical,
mineral processing,
advanced material, food,
pharmaceutical,
biotechnological, and
software industries.
 See also Concurrent
Engineering
Process Engineering
Software Process
Engineering
SPEM
Engineering
Workflow
Engineering
Process Engineering
Process Specification Language NIST
+name
Process
-name
-duration
Activity
1
0..*
+following0..*
+preceding
0..*
Who is doing what, when, how and why ?
Data Engineering
Data
Engineering
Data
Mining
Big Data,
Etc.
Open
Data
Data
Visualization
Linked
Data
And also data transformation
Data Engineering
Data Transformation
Engineering
Transformation Engineering
Transformation Engineering
Transformation
Engineering
Graph
Transformation
Eng.
Program
Transformation
Eng.
Ontology
transformation
Eng.
XML
Transformation
Eng.
Model
Transformation
Eng.
Data
Transformation
Engineering
XSLT Eng.
Transformation in a SE context
Transformation
Engineering
After code
production
Before code
production
MDSD
Including code generation
MDCG
Models@RunTime
During code
execution
MDRE
Reverse Engineering
Software Modernization
Refactoring
Transformation in a ME context
Transformation
Engineering
Model to System
Transformation
System to Model
Transformation
As in reverse
engineering M2M
Model to Model
Transformation
As in code generation
(Model to Text,
Model to Code)
ModelSystem ModelModel Model System
Diversity of the
Support Engineering Landscape
Language
Engineering
Program
Engineering
Ontology
Engineering
Model
Engineering
Web
Engineering
Service
Engineering
Transformation
Engineering
Rule
Engineering
Complex Event
Engineering
Data
Engineering
Process
Engineering
Product
Engineering
HR Engineering
Team
Engineering
Software
Engineering
OSS
Engineering
But also …
Tree
Engineering
Graph
Engineering
XML
Engineering
UML
Engineering
Document
Engineering
Legal
Engineering
MOF/EMF
Engineering
Grammar
Engineering
(Grammarware)
Spreadsheet
Engineering
etc. etc. etc.
etc. etc. etc. etc.
Fields of various granularity, from coarse to fine
Relation to Technical Spaces
Engineering Field
Support
Engineering
Fixed Metamodel
Technical Space
Domain
Engineering
Variable Metamodel
Technical Space
Example:
LegalEngineering
Example:
PetriNets
Excel
Example:
ModelWare
Grammarware
XMLWare
Criteria:
Precise
metamodel
Example: EBNF Technical Space
[the 3-level conjecture]
[SOFTWARE] MODEL ENGINEERING
Using ME for cross-disciplinary approaches
Software Model Engineering
Short name: “Software Modeling”
An important support engineering
Central to most domain engineering (cross-disciplinary)
Not all models are software models,
but most of them are
Creative Commons http://en.wikipedia.org/wiki/File:Renault_clay_model_-_front.JPG
MDE is not only for code generation
 Software engineering
 Data engineering
 System engineering
 Business engineering
 Enterprise engineering
 Telecommunication engineering
 Building engineering
 Electrical engineering
 Mechanical engineering
 Automotive engineering
 Aeronautical engineering
 Biological engineering
 Automotive engineering
 Health engineering
 Financial engineering
 Robotic Engineering
 etc.
appliesTo
Model
Driven
Archiecture
Initially MDA was for just software engineering,
But the scope was progressively extended
Broadening application spectrum (+ EDOC, etc.)
Software
Engineering
System
Engineering
Data
Engineering
Business
Engineering
UML/SPEM CWM SysML BPMN
Web
Engineering
IFML
In several domain engineering fields,
no “visible” code is generated
There is no contribution to the basic information
system
Models are just used for validation/verification and
to answer questions about the system under study
Examples:
Model Driven Business Engineering,
Model Driven Financial Engineering
Model Driven Enterprise Engineering
Definition Framework
 (Software) Model Engineering (ME) is an abstract
calculus on models with associated operations.
 In pure ME, models are immutable polymorphic objects
(graphs).
 Several ways to project this calculus on a given framework
(EMF, MS DSL Tools, etc.) and to implement
corresponding tools.
 Executable projections on cloud engineering and
functional or prototype language engineering with NoSQL
database engineering seems well adapted.
 Model Driven Engineering (MDE) is the application
of ME principles and tools to any given engineering
field.
 Model Driven Software Engineering (MDSE)
1. Model Driven Software Development (MDSD)
 Model Driven Code Generation (MDCG)
2. Models @RunTime
3. Model Driven Reverse Engineering (MDRE)
Model
Engineering
Model
Driven
Engineering
MDSE
For other
eng. fields
Models
@RunTime
MDSD
MDCG
MDRE
Also, two branches of MDSE
MDSE
DSL
Engineering
UML
Engineering
Universal Modeling Language
One Unique Language
Multiple Domain Specific Modeling Languages
The powerful calculus of Model Engineering
 Definition (one of)
 ME is a typed polymorphic calculus on immutable
objects (labelled graphs)
 Mt [MMt] : Ma [MMa] → Mb [MMb]
Abstract Model
Terminal Model
Model Transformation
Verification
Measurement View Extraction
WeavingReference Model
Metametamodel
Metamodel
Early modeling result:
The Seven Bridges of Königsberg (L. Euler)
• The city of Königsberg included two large islands connected to each other and
the mainland by seven bridges.
• The problem was to find a walk through the city that would cross each bridge
once and only once.
• Leonhard Euler, in 1735, proved that the problem has no solution
• First, Euler pointed out that the choice of route inside each land mass is
irrelevant. The only important feature of a route is the sequence of bridges
crossed. [Modeling means ignoring some features of the real world]
• In this pre-computer period, Euler defined a language (DSL) of nodes and edges
(graphs) to describe a real world problem and to express a solution (Eulerian
paths)
The World The Model
Software modeling: the roots
When we wish to solve a problem on a computer
we often need to construct within the computer a
model of that aspect of the real or conceptual world
to which the solution of the problem will be applied
…
C.A.R. Hoare, “Record Handling”, in Programming Languages,
F. Genuys (ed.), Villard-de-Lans (near Grenoble, France),
September 1966
Representation and Conformance
ModelSystem
representationOf
Metamodel
conformsTo
The two orthogonal
dimensions of MDE
wrt
Several periods for ME
(iterations/ generations)
Contemplative models
Implicit metamodels
Explicit metamodels
Transformable models
Transformation models
Megamodels
etc.
A View of 20th and 21st Century Software Engineering
Barry Boehm, ICSE2006, Shanghai
Where is the logical line of progress?
Paradigm/Artifact changes {step = 15y.}
Procedural
Technology
Component
Technology
Object
Technology
Objects,
Classes,
Smalltalk, C++,
...
Procedures,
Pascal,
C,
...
Components,
Packages,
Frameworks,
Patterns,
EJB, J2EE
1980 1995 2010
Procedural
refinement
Model Driven
Engineering
Models,
Metamodels,
UML, MOF,
…
Object
composition
Model
transformation
1965 2025
Climbing the steps
Image credit fgormezano.free.fr
Software engineering: Approaching half-time?
1965 2015 2065
Structured
Programming
Object
Oriented
Programming
Agile
Development
?
1967
http://bertrandmeyer.com/2013/04/04/the-origin-of-software-engineering/
History of Modeling Languages
Juha-Pekka Tolvanen (Metaedit+)
The long history of modeling languages
Programming
Languages
Assembler
Fortran COBOL
Algol60
PL/1
ADA Java
C#
Smalltalk
C++
Ruby Scala
Python
F# Go
Dart
(DS)
Modeling
LanguagesSara
SREM SADT
Petri JSD
DFD
B
OMT
Z
VDM
UML
SART
Flowcharts
Lisp
Prolog
SysML
Pascal
PSL/PSA
SBVR
Javascript
No global consolidated history of Modeling Languages
Merise
We learnt many things
from the MDE last iteration
1. Representation principle
 Any model M represents a system S
2. Multiple view principle
 A system S may be represented by
several models
3. Conformance principle
 Any model M conforms to the
language of its metamodel MM
4. 3-level organization
 Any metamodel MM conforms to a
common metametamodel MMM (3-
level conjecture)
5. Transformation principle
 The most important operation
applicable to models is a
transformation
6. HOT principle
 A transformation is a model
7. Weaving principle
 Abstract declarative
correspondences between models
may be represented as models (non
executable)
8. Megamodel principle
 Model elements may be considered
as models. A megamodels is
composed, of models, metadata on
models and relations between them.
9. Unification principle
 All models specialize a common
abstract model
10. Technical Space Framework
 Any model has a given
representation defined by its
technical space (no MOF/ECORE
lock-in)
General Acceptance of Metamodeling
Example: Various accounting metamodels
ABC metamodel
REA metamodel
DEA metamodel
NO ENGINEERING FIELD IS AN ISLAND
Inter-Disciplinary and Trans-Disciplinary Practices
Specialized engineering fields
Language
Engineering
Software
Language
Engineering
Model
Engineering
Ontology
Engineering
Grammar
Engineering
XML
Engineering
Engineering
Field
Engineering
Field
Engineering
Field
Composite Engineering Fields
Software
Engineering
Program
Engineering
Language
Engineering
Model
Engineering
Method
Engineering
Etc.
But also:
OSS Engineering
Document Engineering
Requirement Engineering
Formal Method Engineering
Data Engineering
User Interface Eng.
Usability Engineering
HR Engineering
Education Engineering
Team Mgmt Engineering
Legal Engineering
Computer
Engineering
Domain using Support Engineering
(one example among many)
Biology
Engineering
Constraint
Engineering
uses
New workshops, New communities
Robot Engineering
(Robotics)
Model Engineering
Software Engineering
Informatics or “Computer Science”
Computer
Engineering
Program
Engineering
Software
Engineering
Data Engineering?
Language
Engineering
Informatics
Platform
Engineering
Understanding complex relations
Business
Engineering
Informatics
?
?
Model
Engineering
Language
Engineering
Data
Engineering
Service
Engineering
DogFooding: Software Tools are Software Too
Support Engineering
Software Engineering Software Engineering
Domain Engineering
uses
Software Engineering
uses
One peculiarity of SE is that it may be considered
as a Domain Engineering and as a Support Engineering
at the same time.
Making implicit relations explicit
Language engineering is
related to the definition
and handling of languages
Program engineering
deals with the use of
executable software
languages to produce
operational programs
that will participate in
human activities (includes
deployment).
Language
Engineering
Program
Engineering
?
?
Program Engineering
 Short name: “programming”
 Long tradition of excellence
 Noble and visible part of SE
 Very difficult
 Many iterations and branches
 Structured Programming
 OO Programming
 Functional Programming
 Etc.
 Panels on “programming vs. modeling”
considered harmful
Programming is
Modeling
Modelingis
Programming
Model
Engineering
Program
Engineering
?
?
 Good definitions allow avoiding sterile,
futile, and non productive discussions
 «Mal nommer les choses, c'est ajouter au
malheur du monde» Albert Camus
[To misname things is to add misery to the
world]
Models for producing programs
Domain
(World)
Problem
(Application)
Platform
(Machine)
Program
Models
Code generation with models
Today
Knowledge in the head of programmer
Tomorrow
From implicit to explicit
Transformation basedOther aspects
But also models for understanding programs
View1
View2
View3
Program
Models
Code understanding with models
Today
Tomorrow
Strange Encounters between Engineering Fields
Many Possible Useful Collaborations
Between Support Eng.
Transformation
Engineering
Model
Engineering
Data
Engineering
Program
Engineering
Model
Engineering
Language
Engineering
Service
Engineering
Model
Engineering
Data
Engineering
Process
Engineering
Model
Engineering
Product
Engineering
Informal Transfer of expertise
Architectural engineering Software engineering
1st published 1977
Synergies Between Engineering Fields
Program Engineering Building Engineering
“The Origins of Pattern Theory, the
Future of the Theory, And The
Generation of a Living World”
Christopher Alexander
Once in a great while, a great idea makes it across the
boundary of one discipline to take root in another. The
adoption of Christopher Alexander’s patterns by the
software community is one such event.
.
Jim Coplien
Model Engineering and Language Engineering
2005 2010 2015 2020 2025
Model Engineering
(Domain
Specific)
Language
Engineering
Spreadsheet Engineering meets ME
Using Excel to
a) capture models
b) store models
c) render models
Model Engineering
Spreadsheet
Engineering
?
?
Excel as a DSL
Everybody’s a programmer
www.bricklin.com
Visicalc (1979) Excel (much later)
(…Charles Simonyi…)
(…Intentional Programming…)
Workload Transfer due to Excel
3 M Software
Professionals
(1%)
300 M
End Users
(99%)
Including 55M
Excel users
(about 18%)Workload transfer
(1979-2014)
OO Engineering meets COBOL Engineering
Smalltalk
Engineering
Model
Engineering
Cobol
Engineering
Strange Encounters:
ME meets Standardization & OSS Eng.
 The Normative period
(1996-2004)
 The Open Source period
(2004-2010)
Task Force
RFIRFP AB Review (Architecture Board)
Evaluation
Final AB Review
Board
Approval
DTC or PTC Recommendation
DTC = Domain Technical committee.
PTC = Platform Technical committee.
Mission
The Eclipse Modeling Project will focus on the
evolution and promotion
of model-based development technologies within
the Eclipse community.
It will unite projects falling into this
classification to bring holistic model-based
development capabilities to Eclipse.
ME and 3D scanning/printing engineering
Model
Real World Real World
ModelSystem ModelModel Model System
Towards Automatic Production of Models?
Where are models
coming from?
ModelSystem
Thesis
Model Engineering is a support engineering
potentially useful in most other domain and
support engineering fields, for example:
Software
Engineering
Model
Engineering
Data
Engineering
Process
Engineering
Service
Engineering
Enterprise
Engineering
Biological
Engineering
Business
Engineering
Mechanical
Engineering
CONCLUSIONS
Software Engineering is Engineering
Model Engineering is no more part
of Software Engineering only
Software
Engineering
Model
Engineering
Software
Engineering
Business
Engineering
Enterprise
Engineering
Model
Engineering
Data
Engineering
Financial
Engineering
Other
Engineering
Fields
Web
Engineering
Biology
Engineering
A possible scenario for MDE
Visibility
Time
Technology trigger
Second tentative
ME is too important to be confined to pure software engineering
2010 2020 2030 2040
The second life of Model Engineering
eEngineering
Platform
Mechanical
Engineering
Financial
Engineering
Enterprise
Engineering
Business
Engineering
Chemical
Engineering
NuclearPlant
Engineering
Health
Engineering
Biological
Engineering
Software
Engineering
Most results achieved in the past iteration of ME (1995-2015)
are applicable in this wider context.
Subliminal Message
Towards a Unified “Global Theory” of Engineering
 The second part of the life of Software Engineering (2015-2065) may
probably be more in rupture than in continuity
 Change of focus: from “Software Engineering” to “Engineering
Software”?
 Wikipedia: “Software engineering (SE) is the application of a systematic,
disciplined, quantifiable approach to the design, development, operation,
and maintenance of software, and the study of these approaches; that is,
the application of engineering to software”
 More relevant is the increasing need for the application of software to
engineering
 General engineering will not only use computers, not only use
software, but most likely use some form of software modeling,
whatever the field.
ME for cross-disciplinary projects
 Most projects have now become complex,
interdisciplinary and interdependent, drawing on
multiple engineering fields.
 We need a regular organization of all these support and
domain engineering fields, showing the semantic
relations between them.
 For industry, education and research
 Model Engineering will play an important role in this
new engineering landscape, allowing to:
 Cope with various engineering fields
 Use similar concepts and tools across all disciplines
 Handle multidisciplinary projects
Thanks
• Questions?
• Comments?
JBezivin@gmail.com
JBezivin@twitter

Weitere ähnliche Inhalte

Andere mochten auch

Current and future challenges of software engineering for services and applic...
Current and future challenges of software engineering for services and applic...Current and future challenges of software engineering for services and applic...
Current and future challenges of software engineering for services and applic...Sotiris Koussouris
 
Emerging trends, tools and techniques in mobile
Emerging trends, tools and techniques in mobileEmerging trends, tools and techniques in mobile
Emerging trends, tools and techniques in mobileShimmy88
 
How to choose an engineering branch ? - By NIT Surathkal Alumnus
How to choose an engineering branch ?  - By NIT Surathkal AlumnusHow to choose an engineering branch ?  - By NIT Surathkal Alumnus
How to choose an engineering branch ? - By NIT Surathkal AlumnusArun Gupta
 
Knowledge Transformation in Software Development Processes
Knowledge Transformation in Software Development ProcessesKnowledge Transformation in Software Development Processes
Knowledge Transformation in Software Development ProcessesIlia Bider
 
Making our mark: the important role of social scientists in the ‘era of big d...
Making our mark: the important role of social scientists in the ‘era of big d...Making our mark: the important role of social scientists in the ‘era of big d...
Making our mark: the important role of social scientists in the ‘era of big d...The Higher Education Academy
 
Test Automation Framework Online Training by QuontraSolutions
Test Automation Framework Online Training by QuontraSolutionsTest Automation Framework Online Training by QuontraSolutions
Test Automation Framework Online Training by QuontraSolutionsQuontra Solutions
 
Mobile Learning Definitions
Mobile Learning DefinitionsMobile Learning Definitions
Mobile Learning DefinitionsBrad H
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformationMajong DevJfu
 
Mobile learning: current status, examples, challenges
Mobile learning: current status, examples, challengesMobile learning: current status, examples, challenges
Mobile learning: current status, examples, challengesscil CH
 
The Future of Software Development Based on Cloud & Mobile Computing
The Future of Software Development Based on Cloud & Mobile ComputingThe Future of Software Development Based on Cloud & Mobile Computing
The Future of Software Development Based on Cloud & Mobile ComputingSoftware Park Thailand
 
Lecture 02 Software Process Model
Lecture 02 Software Process ModelLecture 02 Software Process Model
Lecture 02 Software Process ModelAchmad Solichin
 
Digital Transformation: a model to master disruption
Digital Transformation: a model to master disruptionDigital Transformation: a model to master disruption
Digital Transformation: a model to master disruptionScopernia
 
Modeling and abstraction, software development process [Software Modeling] [C...
Modeling and abstraction, software development process [Software Modeling] [C...Modeling and abstraction, software development process [Software Modeling] [C...
Modeling and abstraction, software development process [Software Modeling] [C...Ivano Malavolta
 

Andere mochten auch (20)

BPM 2010 demo
BPM 2010 demoBPM 2010 demo
BPM 2010 demo
 
02 Why Software Engineering?
02 Why Software Engineering?02 Why Software Engineering?
02 Why Software Engineering?
 
Current and future challenges of software engineering for services and applic...
Current and future challenges of software engineering for services and applic...Current and future challenges of software engineering for services and applic...
Current and future challenges of software engineering for services and applic...
 
Emerging trends, tools and techniques in mobile
Emerging trends, tools and techniques in mobileEmerging trends, tools and techniques in mobile
Emerging trends, tools and techniques in mobile
 
How to choose an engineering branch ? - By NIT Surathkal Alumnus
How to choose an engineering branch ?  - By NIT Surathkal AlumnusHow to choose an engineering branch ?  - By NIT Surathkal Alumnus
How to choose an engineering branch ? - By NIT Surathkal Alumnus
 
Freelance jobs
Freelance  jobsFreelance  jobs
Freelance jobs
 
Knowledge Transformation in Software Development Processes
Knowledge Transformation in Software Development ProcessesKnowledge Transformation in Software Development Processes
Knowledge Transformation in Software Development Processes
 
Making our mark: the important role of social scientists in the ‘era of big d...
Making our mark: the important role of social scientists in the ‘era of big d...Making our mark: the important role of social scientists in the ‘era of big d...
Making our mark: the important role of social scientists in the ‘era of big d...
 
CAREERS MATTERS
CAREERS MATTERSCAREERS MATTERS
CAREERS MATTERS
 
Test Automation Framework Online Training by QuontraSolutions
Test Automation Framework Online Training by QuontraSolutionsTest Automation Framework Online Training by QuontraSolutions
Test Automation Framework Online Training by QuontraSolutions
 
Mobile Learning Definitions
Mobile Learning DefinitionsMobile Learning Definitions
Mobile Learning Definitions
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
 
Mobile learning: current status, examples, challenges
Mobile learning: current status, examples, challengesMobile learning: current status, examples, challenges
Mobile learning: current status, examples, challenges
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
Lean Transformation Model
Lean Transformation ModelLean Transformation Model
Lean Transformation Model
 
The Future of Software Development Based on Cloud & Mobile Computing
The Future of Software Development Based on Cloud & Mobile ComputingThe Future of Software Development Based on Cloud & Mobile Computing
The Future of Software Development Based on Cloud & Mobile Computing
 
Lecture 02 Software Process Model
Lecture 02 Software Process ModelLecture 02 Software Process Model
Lecture 02 Software Process Model
 
9 Ways People Are Using Mobile Learning
9 Ways People Are Using Mobile Learning9 Ways People Are Using Mobile Learning
9 Ways People Are Using Mobile Learning
 
Digital Transformation: a model to master disruption
Digital Transformation: a model to master disruptionDigital Transformation: a model to master disruption
Digital Transformation: a model to master disruption
 
Modeling and abstraction, software development process [Software Modeling] [C...
Modeling and abstraction, software development process [Software Modeling] [C...Modeling and abstraction, software development process [Software Modeling] [C...
Modeling and abstraction, software development process [Software Modeling] [C...
 

Ähnlich wie Software Modeling and the Future of Engineering (ICMT/STAF Keynote at York)

Tsmc us recruitment fresh final copy
Tsmc us recruitment fresh final copyTsmc us recruitment fresh final copy
Tsmc us recruitment fresh final copyUiuc Tsa
 
Jobs Opportunities and Skills Required in E&E Sector
Jobs Opportunities and Skills Required in E&E SectorJobs Opportunities and Skills Required in E&E Sector
Jobs Opportunities and Skills Required in E&E SectorNorAzmi Alias
 
Day 1 final slide
Day 1 final slideDay 1 final slide
Day 1 final slideSalil Get J
 
Next Generation Manufacturing
Next Generation ManufacturingNext Generation Manufacturing
Next Generation ManufacturingElliot Duff
 
Powerpoint slide presentation samples - Reed Crouch
Powerpoint slide presentation samples - Reed CrouchPowerpoint slide presentation samples - Reed Crouch
Powerpoint slide presentation samples - Reed CrouchReed Crouch
 
MayorTek Technical Services - Overview
MayorTek Technical Services - OverviewMayorTek Technical Services - Overview
MayorTek Technical Services - OverviewMarco Mayor
 
Structural Biology in the Clouds: A Success Story of 10 years
Structural Biology in the Clouds: A Success Story of 10 yearsStructural Biology in the Clouds: A Success Story of 10 years
Structural Biology in the Clouds: A Success Story of 10 yearsAlexandreBonvin2
 
Agile and Agile methods: what is the most important to understand to succeed
Agile and Agile methods: what is the most important to understand to succeedAgile and Agile methods: what is the most important to understand to succeed
Agile and Agile methods: what is the most important to understand to succeedVaidas Adomauskas
 
DX時代のプロジェクト管理ツールとの付き合い方
DX時代のプロジェクト管理ツールとの付き合い方DX時代のプロジェクト管理ツールとの付き合い方
DX時代のプロジェクト管理ツールとの付き合い方aslead
 
Engineering Software and Software Lifecycle
Engineering Software and Software LifecycleEngineering Software and Software Lifecycle
Engineering Software and Software LifecycleKeith Mitchell
 
IBM Detailed ALM/ELM for Aerospace & Defence overview
IBM Detailed ALM/ELM  for Aerospace & Defence overviewIBM Detailed ALM/ELM  for Aerospace & Defence overview
IBM Detailed ALM/ELM for Aerospace & Defence overviewImran Hashmi
 
Career guidance in engineering lecture #2 ETC, ELE, Instru
Career guidance in engineering lecture #2 ETC, ELE, InstruCareer guidance in engineering lecture #2 ETC, ELE, Instru
Career guidance in engineering lecture #2 ETC, ELE, InstruDr. BP Joshi
 
Machine Learning The Key Ingredient to Self-Driving Data Center
Machine Learning The Key Ingredient to Self-Driving Data CenterMachine Learning The Key Ingredient to Self-Driving Data Center
Machine Learning The Key Ingredient to Self-Driving Data CenterSergey A. Razin
 
Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015Philipp Leitner
 
ARC's Greg Gorbach Rapid Product Innovation Presentation @ ARC Industry Forum...
ARC's Greg Gorbach Rapid Product Innovation Presentation @ ARC Industry Forum...ARC's Greg Gorbach Rapid Product Innovation Presentation @ ARC Industry Forum...
ARC's Greg Gorbach Rapid Product Innovation Presentation @ ARC Industry Forum...ARC Advisory Group
 

Ähnlich wie Software Modeling and the Future of Engineering (ICMT/STAF Keynote at York) (20)

Tsmc us recruitment fresh final copy
Tsmc us recruitment fresh final copyTsmc us recruitment fresh final copy
Tsmc us recruitment fresh final copy
 
Jobs Opportunities and Skills Required in E&E Sector
Jobs Opportunities and Skills Required in E&E SectorJobs Opportunities and Skills Required in E&E Sector
Jobs Opportunities and Skills Required in E&E Sector
 
Day 1 final slide
Day 1 final slideDay 1 final slide
Day 1 final slide
 
Next Generation Manufacturing
Next Generation ManufacturingNext Generation Manufacturing
Next Generation Manufacturing
 
Powerpoint slide presentation samples - Reed Crouch
Powerpoint slide presentation samples - Reed CrouchPowerpoint slide presentation samples - Reed Crouch
Powerpoint slide presentation samples - Reed Crouch
 
MayorTek Technical Services - Overview
MayorTek Technical Services - OverviewMayorTek Technical Services - Overview
MayorTek Technical Services - Overview
 
Structural Biology in the Clouds: A Success Story of 10 years
Structural Biology in the Clouds: A Success Story of 10 yearsStructural Biology in the Clouds: A Success Story of 10 years
Structural Biology in the Clouds: A Success Story of 10 years
 
Mln Pres 11mar10
Mln Pres 11mar10Mln Pres 11mar10
Mln Pres 11mar10
 
Agile and Agile methods: what is the most important to understand to succeed
Agile and Agile methods: what is the most important to understand to succeedAgile and Agile methods: what is the most important to understand to succeed
Agile and Agile methods: what is the most important to understand to succeed
 
DX時代のプロジェクト管理ツールとの付き合い方
DX時代のプロジェクト管理ツールとの付き合い方DX時代のプロジェクト管理ツールとの付き合い方
DX時代のプロジェクト管理ツールとの付き合い方
 
Engineering Software and Software Lifecycle
Engineering Software and Software LifecycleEngineering Software and Software Lifecycle
Engineering Software and Software Lifecycle
 
MANUFACTURING
MANUFACTURINGMANUFACTURING
MANUFACTURING
 
IntroVision investment
IntroVision investmentIntroVision investment
IntroVision investment
 
IBM Detailed ALM/ELM for Aerospace & Defence overview
IBM Detailed ALM/ELM  for Aerospace & Defence overviewIBM Detailed ALM/ELM  for Aerospace & Defence overview
IBM Detailed ALM/ELM for Aerospace & Defence overview
 
Career guidance in engineering lecture #2 ETC, ELE, Instru
Career guidance in engineering lecture #2 ETC, ELE, InstruCareer guidance in engineering lecture #2 ETC, ELE, Instru
Career guidance in engineering lecture #2 ETC, ELE, Instru
 
Machine Learning The Key Ingredient to Self-Driving Data Center
Machine Learning The Key Ingredient to Self-Driving Data CenterMachine Learning The Key Ingredient to Self-Driving Data Center
Machine Learning The Key Ingredient to Self-Driving Data Center
 
SE-Lecture1.ppt
SE-Lecture1.pptSE-Lecture1.ppt
SE-Lecture1.ppt
 
Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015
 
ARC's Greg Gorbach Rapid Product Innovation Presentation @ ARC Industry Forum...
ARC's Greg Gorbach Rapid Product Innovation Presentation @ ARC Industry Forum...ARC's Greg Gorbach Rapid Product Innovation Presentation @ ARC Industry Forum...
ARC's Greg Gorbach Rapid Product Innovation Presentation @ ARC Industry Forum...
 
lecture 1.pdf
lecture 1.pdflecture 1.pdf
lecture 1.pdf
 

Kürzlich hochgeladen

Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptMadan Karki
 
Industrial Safety Unit-I SAFETY TERMINOLOGIES
Industrial Safety Unit-I SAFETY TERMINOLOGIESIndustrial Safety Unit-I SAFETY TERMINOLOGIES
Industrial Safety Unit-I SAFETY TERMINOLOGIESNarmatha D
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substationstephanwindworld
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)Dr SOUNDIRARAJ N
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingBootNeck1
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdfCaalaaAbdulkerim
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
NO1 Certified Black Magic Specialist Expert Amil baba in Uae Dubai Abu Dhabi ...
NO1 Certified Black Magic Specialist Expert Amil baba in Uae Dubai Abu Dhabi ...NO1 Certified Black Magic Specialist Expert Amil baba in Uae Dubai Abu Dhabi ...
NO1 Certified Black Magic Specialist Expert Amil baba in Uae Dubai Abu Dhabi ...Amil Baba Dawood bangali
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Solving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptSolving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptJasonTagapanGulla
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
Industrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptIndustrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptNarmatha D
 

Kürzlich hochgeladen (20)

Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.ppt
 
Industrial Safety Unit-I SAFETY TERMINOLOGIES
Industrial Safety Unit-I SAFETY TERMINOLOGIESIndustrial Safety Unit-I SAFETY TERMINOLOGIES
Industrial Safety Unit-I SAFETY TERMINOLOGIES
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substation
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event Scheduling
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdf
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
NO1 Certified Black Magic Specialist Expert Amil baba in Uae Dubai Abu Dhabi ...
NO1 Certified Black Magic Specialist Expert Amil baba in Uae Dubai Abu Dhabi ...NO1 Certified Black Magic Specialist Expert Amil baba in Uae Dubai Abu Dhabi ...
NO1 Certified Black Magic Specialist Expert Amil baba in Uae Dubai Abu Dhabi ...
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Solving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptSolving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.ppt
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
Industrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptIndustrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.ppt
 

Software Modeling and the Future of Engineering (ICMT/STAF Keynote at York)

  • 1. Software Modeling and the Future of Engineering JBezivin@gmail.com JBezivin@twitter University of Nantes
  • 3. Hype after Hype  Are we condemned to jump from hype to hype like a fashion industry? (1)  What is the hidden meaning (if any) in the evolution of our discipline? (raw Ngram buzzword observations) Google Ngram Viewer (1) Ivar Jacobson
  • 4. ThoughtWorks, Technology Radar, May 2013 Languages & Frameworks Adopt Clojure CSS frameworks Jasmine paired with Node.js Scala Sinatra Trial CoffeeScript Dropwizard HTML5 for offline applications JavaScript as a platform JavaScript MV* frameworks Play Framework 2 Require.js & NPM Scratch, Alice, and Kodu Assess ClojureScript Gremlin Lua Nancy OWIN RubyMotion Twitter Bootstrap Hold Backbone.js Component-based frameworks Handwritten CSS Logic in stored procedures http://www.thoughtworks.com/radar (Martin Fowler & C°)
  • 5. Surface or deep-sea movements?
  • 6. Focus on Engineering Scientists study the world as it is; engineers create the world that has never been. Theodore von Kármán
  • 7. Looking at the past to guess the future 5 years 5 years 50 years 50 years
  • 8. What has changed in the past 50 years ?  Expressions like “CAD” or “Computer Assisted” or “Computer Aided” have lost all their discriminant meaning in engineering  Most engineering fields are now using computers and software  Time to adapt our vision
  • 10. The two engineering spaces Domain Engineering Support Engineering Problems lie here Tools to solve problems may be found here
  • 11. Problems and Solutions  Support Engineering  Process engineering  Product (line) engineering  Software language engineering  Model engineering  Service engineering  Data engineering  Program engineering  Event engineering  Constraint engineering  System engineering  Requirement engineering  Ontology engineering  OSS engineering  Domain Engineering  Robotics engineering  Civil engineering  Building engineering  Electrical engineering  Mechanical engineering  Business engineering  Biological engineering  Automotive engineering  Health engineering  Enterprise Engineering
  • 13. Traditional Engineering Fields: Civil, Mechanical, Chemical, …
  • 14. Emerging Engineering Fields: Financial, Business, Enterprise, …
  • 15. Old and New engineering fields
  • 16. Software vs. Traditional Engineers Description Number Ann. Salary Software Eng., Applications 356,760 $73,800 Software Eng., System Software 255,040 $75,840 Aerospace Engineers 74,210 $74,110 Agricultural Engineers 2,500 $55,730 Biomedical Engineers 7,130 $64,420 Chemical Engineers 32,110 $75,010 Civil Engineers 207,480 $63,010 Computer Hardware Engineers 67,180 $76,150 Electrical Engineers 146,180 $70,480 Electronics Eng., Exc. Computer 126,020 $71,600 Environmental Engineers 45,720 $63,440 Health and Safety, Exc. Mining 34,160 $59,830 Industrial Engineers 151,760 $63,590 Marine Eng., Naval Architects 4,810 $68,280 Materials Engineers 22,780 $64,310 Mechanical Engineers 203,620 $65,170 Mining and Geological Eng. 5,050 $64,770 Nuclear Engineers 15,180 $82,300 Petroleum Engineers 11,130 $85,540 611.900 (35%) 1.157.020 (65%) Source U.S. Bureau of Labor Statistics (2002) Software Engineer s (35%) Traditional Engineers (65%) ?
  • 17. Many features common to all domain engineering fields, for example:  Based on support engineering  Product & Process focus  Including HR and team management  Human in the loop  Engineers in control  Chain 1. Building Abstract Models 2. Verification/Validation 3. Putting in Production 4. Putting in Operation (deployment)  Need for a strong model repository (e.g. Dassault Syst. Catia)  Scaling up to millions of parts  Cooperative concurrent access  Point of view mechanisms  Strong zooming mechanisms
  • 21. Complexity of the Domain Engineering Landscape Civil Engineering Electrical Engineering Automotive Engineering Architecture Engineering Medical & Health Engineering Chemical Engineering Biological Engineering Weather Engineering Military Engineering Financial Engineering Business Engineering Enterprise Engineering Ecology Engineering Agricultural Engineering Telecommunications Engineering Other Engineering Fields
  • 22. Many Communities, Many Journals http://www.govengr.com/ Journal of Neural Engineering to help scientists, clinicians and engineers to understand, replace, repair and enhance the nervous system. Neural engineering (also known as Neuroengineering) is a discipline within biomedical engineering that uses engineering techniques to understand, repair, replace, enhance, or otherwise exploit the properties of neural systems Healthcare Engineering Biomedical engineering Computer-aided medical engineering Medical/disease modeling Rehabilitation engineering Healthcare energy systems engineering Healthcare support service engineering Emergency response engineering Engineering issues in public health and epidemiology Aging Engineering and aging (elderly patient service) Healthcare engineering education … Concurrent engineering is a work methodology based on the parallelization of tasks (i.e. performing tasks concurrently). It refers to an approach used in product development in which functions of design engineering, manufacturing engineering and other functions are integrated to reduce the elapsed time required to bring a new product to the market.
  • 25. Product and Team Management Engineering Product Lifecyle Management (PLM) Product Line Engineering (incl. variability) Software Product Line Engineering Team Management Engineering Software Team Management Engineering Agile Methods Product lifecycle management (PLM) is the process of managing the entire lifecycle of a product from inception, through engineering design and manufacture, to service and disposal of manufactured products
  • 26. Process engineering  Process engineering encompasses a vast range of industries, such as chemical, petrochemical, mineral processing, advanced material, food, pharmaceutical, biotechnological, and software industries.  See also Concurrent Engineering Process Engineering Software Process Engineering SPEM Engineering Workflow Engineering
  • 27. Process Engineering Process Specification Language NIST +name Process -name -duration Activity 1 0..* +following0..* +preceding 0..* Who is doing what, when, how and why ?
  • 29. And also data transformation Data Engineering Data Transformation Engineering Transformation Engineering
  • 31. Transformation in a SE context Transformation Engineering After code production Before code production MDSD Including code generation MDCG Models@RunTime During code execution MDRE Reverse Engineering Software Modernization Refactoring
  • 32. Transformation in a ME context Transformation Engineering Model to System Transformation System to Model Transformation As in reverse engineering M2M Model to Model Transformation As in code generation (Model to Text, Model to Code) ModelSystem ModelModel Model System
  • 33. Diversity of the Support Engineering Landscape Language Engineering Program Engineering Ontology Engineering Model Engineering Web Engineering Service Engineering Transformation Engineering Rule Engineering Complex Event Engineering Data Engineering Process Engineering Product Engineering HR Engineering Team Engineering Software Engineering OSS Engineering
  • 35. Relation to Technical Spaces Engineering Field Support Engineering Fixed Metamodel Technical Space Domain Engineering Variable Metamodel Technical Space Example: LegalEngineering Example: PetriNets Excel Example: ModelWare Grammarware XMLWare Criteria: Precise metamodel
  • 36. Example: EBNF Technical Space [the 3-level conjecture]
  • 37. [SOFTWARE] MODEL ENGINEERING Using ME for cross-disciplinary approaches
  • 38. Software Model Engineering Short name: “Software Modeling” An important support engineering Central to most domain engineering (cross-disciplinary)
  • 39. Not all models are software models, but most of them are Creative Commons http://en.wikipedia.org/wiki/File:Renault_clay_model_-_front.JPG
  • 40. MDE is not only for code generation  Software engineering  Data engineering  System engineering  Business engineering  Enterprise engineering  Telecommunication engineering  Building engineering  Electrical engineering  Mechanical engineering  Automotive engineering  Aeronautical engineering  Biological engineering  Automotive engineering  Health engineering  Financial engineering  Robotic Engineering  etc. appliesTo Model Driven Archiecture Initially MDA was for just software engineering, But the scope was progressively extended Broadening application spectrum (+ EDOC, etc.) Software Engineering System Engineering Data Engineering Business Engineering UML/SPEM CWM SysML BPMN Web Engineering IFML
  • 41. In several domain engineering fields, no “visible” code is generated There is no contribution to the basic information system Models are just used for validation/verification and to answer questions about the system under study Examples: Model Driven Business Engineering, Model Driven Financial Engineering Model Driven Enterprise Engineering
  • 42. Definition Framework  (Software) Model Engineering (ME) is an abstract calculus on models with associated operations.  In pure ME, models are immutable polymorphic objects (graphs).  Several ways to project this calculus on a given framework (EMF, MS DSL Tools, etc.) and to implement corresponding tools.  Executable projections on cloud engineering and functional or prototype language engineering with NoSQL database engineering seems well adapted.  Model Driven Engineering (MDE) is the application of ME principles and tools to any given engineering field.  Model Driven Software Engineering (MDSE) 1. Model Driven Software Development (MDSD)  Model Driven Code Generation (MDCG) 2. Models @RunTime 3. Model Driven Reverse Engineering (MDRE) Model Engineering Model Driven Engineering MDSE For other eng. fields Models @RunTime MDSD MDCG MDRE
  • 43. Also, two branches of MDSE MDSE DSL Engineering UML Engineering Universal Modeling Language One Unique Language Multiple Domain Specific Modeling Languages
  • 44. The powerful calculus of Model Engineering  Definition (one of)  ME is a typed polymorphic calculus on immutable objects (labelled graphs)  Mt [MMt] : Ma [MMa] → Mb [MMb] Abstract Model Terminal Model Model Transformation Verification Measurement View Extraction WeavingReference Model Metametamodel Metamodel
  • 45. Early modeling result: The Seven Bridges of Königsberg (L. Euler) • The city of Königsberg included two large islands connected to each other and the mainland by seven bridges. • The problem was to find a walk through the city that would cross each bridge once and only once. • Leonhard Euler, in 1735, proved that the problem has no solution • First, Euler pointed out that the choice of route inside each land mass is irrelevant. The only important feature of a route is the sequence of bridges crossed. [Modeling means ignoring some features of the real world] • In this pre-computer period, Euler defined a language (DSL) of nodes and edges (graphs) to describe a real world problem and to express a solution (Eulerian paths) The World The Model
  • 46. Software modeling: the roots When we wish to solve a problem on a computer we often need to construct within the computer a model of that aspect of the real or conceptual world to which the solution of the problem will be applied … C.A.R. Hoare, “Record Handling”, in Programming Languages, F. Genuys (ed.), Villard-de-Lans (near Grenoble, France), September 1966
  • 48. Several periods for ME (iterations/ generations) Contemplative models Implicit metamodels Explicit metamodels Transformable models Transformation models Megamodels etc.
  • 49. A View of 20th and 21st Century Software Engineering Barry Boehm, ICSE2006, Shanghai Where is the logical line of progress?
  • 50. Paradigm/Artifact changes {step = 15y.} Procedural Technology Component Technology Object Technology Objects, Classes, Smalltalk, C++, ... Procedures, Pascal, C, ... Components, Packages, Frameworks, Patterns, EJB, J2EE 1980 1995 2010 Procedural refinement Model Driven Engineering Models, Metamodels, UML, MOF, … Object composition Model transformation 1965 2025
  • 51. Climbing the steps Image credit fgormezano.free.fr
  • 52. Software engineering: Approaching half-time? 1965 2015 2065 Structured Programming Object Oriented Programming Agile Development ? 1967 http://bertrandmeyer.com/2013/04/04/the-origin-of-software-engineering/
  • 53. History of Modeling Languages Juha-Pekka Tolvanen (Metaedit+)
  • 54. The long history of modeling languages Programming Languages Assembler Fortran COBOL Algol60 PL/1 ADA Java C# Smalltalk C++ Ruby Scala Python F# Go Dart (DS) Modeling LanguagesSara SREM SADT Petri JSD DFD B OMT Z VDM UML SART Flowcharts Lisp Prolog SysML Pascal PSL/PSA SBVR Javascript No global consolidated history of Modeling Languages Merise
  • 55. We learnt many things from the MDE last iteration 1. Representation principle  Any model M represents a system S 2. Multiple view principle  A system S may be represented by several models 3. Conformance principle  Any model M conforms to the language of its metamodel MM 4. 3-level organization  Any metamodel MM conforms to a common metametamodel MMM (3- level conjecture) 5. Transformation principle  The most important operation applicable to models is a transformation 6. HOT principle  A transformation is a model 7. Weaving principle  Abstract declarative correspondences between models may be represented as models (non executable) 8. Megamodel principle  Model elements may be considered as models. A megamodels is composed, of models, metadata on models and relations between them. 9. Unification principle  All models specialize a common abstract model 10. Technical Space Framework  Any model has a given representation defined by its technical space (no MOF/ECORE lock-in)
  • 56. General Acceptance of Metamodeling Example: Various accounting metamodels ABC metamodel REA metamodel DEA metamodel
  • 57. NO ENGINEERING FIELD IS AN ISLAND Inter-Disciplinary and Trans-Disciplinary Practices
  • 59. Composite Engineering Fields Software Engineering Program Engineering Language Engineering Model Engineering Method Engineering Etc. But also: OSS Engineering Document Engineering Requirement Engineering Formal Method Engineering Data Engineering User Interface Eng. Usability Engineering HR Engineering Education Engineering Team Mgmt Engineering Legal Engineering Computer Engineering
  • 60. Domain using Support Engineering (one example among many) Biology Engineering Constraint Engineering uses
  • 61. New workshops, New communities Robot Engineering (Robotics) Model Engineering Software Engineering
  • 62. Informatics or “Computer Science” Computer Engineering Program Engineering Software Engineering Data Engineering? Language Engineering Informatics Platform Engineering
  • 64. DogFooding: Software Tools are Software Too Support Engineering Software Engineering Software Engineering Domain Engineering uses Software Engineering uses One peculiarity of SE is that it may be considered as a Domain Engineering and as a Support Engineering at the same time.
  • 65. Making implicit relations explicit Language engineering is related to the definition and handling of languages Program engineering deals with the use of executable software languages to produce operational programs that will participate in human activities (includes deployment). Language Engineering Program Engineering ? ?
  • 66. Program Engineering  Short name: “programming”  Long tradition of excellence  Noble and visible part of SE  Very difficult  Many iterations and branches  Structured Programming  OO Programming  Functional Programming  Etc.  Panels on “programming vs. modeling” considered harmful Programming is Modeling Modelingis Programming Model Engineering Program Engineering ? ?  Good definitions allow avoiding sterile, futile, and non productive discussions  «Mal nommer les choses, c'est ajouter au malheur du monde» Albert Camus [To misname things is to add misery to the world]
  • 67. Models for producing programs Domain (World) Problem (Application) Platform (Machine) Program Models Code generation with models Today Knowledge in the head of programmer Tomorrow From implicit to explicit Transformation basedOther aspects
  • 68. But also models for understanding programs View1 View2 View3 Program Models Code understanding with models Today Tomorrow
  • 69. Strange Encounters between Engineering Fields
  • 70. Many Possible Useful Collaborations Between Support Eng. Transformation Engineering Model Engineering Data Engineering Program Engineering Model Engineering Language Engineering Service Engineering Model Engineering Data Engineering Process Engineering Model Engineering Product Engineering
  • 71. Informal Transfer of expertise Architectural engineering Software engineering 1st published 1977
  • 72. Synergies Between Engineering Fields Program Engineering Building Engineering “The Origins of Pattern Theory, the Future of the Theory, And The Generation of a Living World” Christopher Alexander Once in a great while, a great idea makes it across the boundary of one discipline to take root in another. The adoption of Christopher Alexander’s patterns by the software community is one such event. . Jim Coplien
  • 73. Model Engineering and Language Engineering 2005 2010 2015 2020 2025 Model Engineering (Domain Specific) Language Engineering
  • 74. Spreadsheet Engineering meets ME Using Excel to a) capture models b) store models c) render models Model Engineering Spreadsheet Engineering ? ?
  • 75. Excel as a DSL Everybody’s a programmer www.bricklin.com Visicalc (1979) Excel (much later) (…Charles Simonyi…) (…Intentional Programming…)
  • 76. Workload Transfer due to Excel 3 M Software Professionals (1%) 300 M End Users (99%) Including 55M Excel users (about 18%)Workload transfer (1979-2014)
  • 77. OO Engineering meets COBOL Engineering Smalltalk Engineering Model Engineering Cobol Engineering
  • 78. Strange Encounters: ME meets Standardization & OSS Eng.  The Normative period (1996-2004)  The Open Source period (2004-2010) Task Force RFIRFP AB Review (Architecture Board) Evaluation Final AB Review Board Approval DTC or PTC Recommendation DTC = Domain Technical committee. PTC = Platform Technical committee. Mission The Eclipse Modeling Project will focus on the evolution and promotion of model-based development technologies within the Eclipse community. It will unite projects falling into this classification to bring holistic model-based development capabilities to Eclipse.
  • 79. ME and 3D scanning/printing engineering Model Real World Real World ModelSystem ModelModel Model System
  • 80. Towards Automatic Production of Models? Where are models coming from? ModelSystem
  • 81. Thesis Model Engineering is a support engineering potentially useful in most other domain and support engineering fields, for example: Software Engineering Model Engineering Data Engineering Process Engineering Service Engineering Enterprise Engineering Biological Engineering Business Engineering Mechanical Engineering
  • 83. Model Engineering is no more part of Software Engineering only Software Engineering Model Engineering Software Engineering Business Engineering Enterprise Engineering Model Engineering Data Engineering Financial Engineering Other Engineering Fields Web Engineering Biology Engineering
  • 84. A possible scenario for MDE Visibility Time Technology trigger Second tentative ME is too important to be confined to pure software engineering 2010 2020 2030 2040
  • 85. The second life of Model Engineering eEngineering Platform Mechanical Engineering Financial Engineering Enterprise Engineering Business Engineering Chemical Engineering NuclearPlant Engineering Health Engineering Biological Engineering Software Engineering Most results achieved in the past iteration of ME (1995-2015) are applicable in this wider context.
  • 87. Towards a Unified “Global Theory” of Engineering  The second part of the life of Software Engineering (2015-2065) may probably be more in rupture than in continuity  Change of focus: from “Software Engineering” to “Engineering Software”?  Wikipedia: “Software engineering (SE) is the application of a systematic, disciplined, quantifiable approach to the design, development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software”  More relevant is the increasing need for the application of software to engineering  General engineering will not only use computers, not only use software, but most likely use some form of software modeling, whatever the field.
  • 88. ME for cross-disciplinary projects  Most projects have now become complex, interdisciplinary and interdependent, drawing on multiple engineering fields.  We need a regular organization of all these support and domain engineering fields, showing the semantic relations between them.  For industry, education and research  Model Engineering will play an important role in this new engineering landscape, allowing to:  Cope with various engineering fields  Use similar concepts and tools across all disciplines  Handle multidisciplinary projects