[2024]Digital Global Overview Report 2024 Meltwater.pdf
Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies
1. Jean-Marie Favre
Software Language Archeologist
Software Anthropologist
Principal Scientist at OneTreeTechnologies
Assistant Professor at the University of Grenoble
2. Domain
and
Techniques
Specific
Languages
A
Journey
through
the
Ages,
Languages
and
Technologies
Jean-Marie Favre
Software Language Archeologist
Software Anthropologist
Principal Scientist at OneTreeTechnologies
Assistant Professor at the University of Grenoble
3. Personal
Background
So#ware
Evolu-on
in
the
Large
Software Archeology
Study of legacy
to (re)discover information about software
Software Anthropology
Study of existing
in particular through consciencous participation
software artefacts
software ecosystems
4. One of the largest software companies in Europe
70
000+
C++
classes
3
000+
DLLs
8
000+
components
800+
frameworks
xxx
soluIons“
…
Dassault
Systèmes
Software eco-system
Software artefacts
1200+
“soOware
engineers”
Many
fields
of
experIse
ConsorIums
of
companies
(boeing
+…)
5. Group of model-driven companies
Large
soOware
products
TransacIonal
systems
Decision
making
systems
All
kind
of
technologies
OneTree
Software eco-system
Software artefacts
From
business
to
IT
Many
fields
of
experIse
IBM
partnerships
European
insItuIons
/
Governments
/
Banking
/
7. We
are
smart
since Stone Age
when we have problems
we invent new technologies
8. First Order Logics
EMF
SQL
TENEO
Java
XSD
DOM
Antlr
OWL
UML
XMI
Ecore
SQL DDL
XLST
Saxon
Hibernate
Awk
Json
Yacc
JAXP
Rest
OWL
RDF
ATOM
SparQL
XSLT
DTD
BNF
XSD
OCL
Prolog
grep
MOF
QVT
jDOM
Rose
Protégé
XQuery
ODM
XMLSpy
JPA
JAXB
JDBC
ODBC
MySQL
ArgoUML
Jena
Jena
Relational Algebra
TXL
VLDB
EMF.gen
ORACLE
TCS
XText
Teneo
Jersey
GWT
Sesame
Stratego
XPATH
JeanBeans
UTF8
ASCII
RDFa
RDF(S)
RDFS
CFG
LALR
ER
xerces
xalan
saxon
sax
sed
XSD
JMI
JMF
SBVR
BPEL
BPMN
EXPRESS-G
ER
InfoSet
LALR
Automata
Petri nets
Fuzzy Logics
Relational Calculus
regexpr
regexpr
Automata
Lambda calculus
Pi Calculus
Set Theory
Modal logic
Teneo
Caml
CSP
C++
We
have
a
problem
Today
9. First Order Logics
EMF
SQL
TENEO
Java
XSD
DOM
Antlr
OWL
UML
XMI
Ecore
SQL DDL
XLST
Saxon
Hibernate
Awk
Json
Yacc
JAXP
Rest
OWL
RDF
ATOM
SparQL
XSLT
DTD
BNF
XSD
OCL
Prolog
grep
MOF
OMG
QVT
jDOM
Rose
Protégé
XQuery
ODM
XMLSpy
JPA
JAXB
JDBC
ODBC
ArgoUML
Description Logic
Jena
Jena
Relational Algebra
TXL
VLDB
EMF.gen
ORACLE
TCS
XText
Teneo
Jersey
GWT
Sesame
Stratego
XPATH
JeanBeans
UTF8
ASCII
RDFa
RDF(S)
RDFS
CFG
LALR
ER
xerces
xalan
saxon
sax
sed
XSD
JMI
JMF
SBVR
BPEL
BPMN
EXPRESS-G
ER
InfoSet
LALR
Automata
Petri nets
Fuzzy Logics
Relational Calculus
regexpr
regexpr
Automata
Lambda calculus
Pi Calculus
Set Theory
Modal logic
Teneo
Caml
CSP
C++
• Languages
Technologies
• Diversity
• Complexity
• Combina-ons
• Founda-ons
• Global
View
Main
Issues
10. First Order Logics
EMF
SQL
TENEO
Java
XSD
DOM
Antlr
OWL
UML
XMI
Ecore
SQL DDL
XLST
Saxon
Hibernate
Awk
Json
Yacc
JAXP
Rest
OWL
RDF
ATOM
SparQL
XSLT
DTD
BNF
XSD
OCL
Prolog
grep
MOF
OMG
QVT
jDOM
Rose
Protégé
XQuery
ODM
XMLSpy
JPA
JAXB
JDBC
ODBC
ArgoUML
Description Logic
Jena
Jena
Relational Algebra
TXL
VLDB
EMF.gen
ORACLE
TCS
XText
Teneo
Jersey
GWT
Sesame
Stratego
XPATH
JeanBeans
UTF8
ASCII
RDFa
RDF(S)
RDFS
CFG
LALR
ER
xerces
xalan
saxon
sax
sed
XSD
JMI
JMF
SBVR
BPEL
BPMN
EXPRESS-G
ER
InfoSet
LALR
Automata
Petri nets
Fuzzy Logics
Relational Calculus
regexpr
regexpr
Automata
Lambda calculus
Pi Calculus
Set Theory
Modal logic
Teneo
Caml
CSP
C++
Prolog
OMG
QVT
Ralf
Teneo
EXPRESS-G
Language
is
the
raw
material
of
so2ware
engineering,
rather
as
water
is
the
raw
material
for
hydraulic
engineering.
…
Robin Milner,Turing Award
in Turing, Computing and Communication
11. First Order Logics
EMF
SQL
TENEO
Java
XSD
DOM
Antlr
OWL
UML
XMI
Ecore
SQL DDL
XLST
Saxon
Hibernate
Awk
Json
Yacc
JAXP
Rest
OWL
RDF
ATOM
SparQL
XSLT
DTD
BNF
XSD
OCL
Prolog
grep
MOF
OMG
QVT
jDOM
Rose
Protégé
XQuery
ODM
XMLSpy
JPA
JAXB
JDBC
ODBC
ArgoUML
Description Logic
Jena
Jena
Relational Algebra
TXL
VLDB
EMF.gen
ORACLE
TCS
XText
Teneo
Jersey
GWT
Sesame
Stratego
XPATH
JeanBeans
UTF8
ASCII
RDFa
RDF(S)
RDFS
CFG
LALR
ER
xerces
xalan
saxon
sax
sed
XSD
JMI
JMF
SBVR
BPEL
BPMN
EXPRESS-G
ER
InfoSet
LALR
Automata
Petri nets
Fuzzy Logics
Relational Calculus
regexpr
regexpr
Automata
Lambda calculus
Pi Calculus
Set Theory
Modal logic
Teneo
Caml
CSP
C++
TENEO
Antlr
SQL DDL
Prolog
OMG
QVT
ArgoUML
Ralf
TCS
ER
EXPRESS-G
ER
The
difference
is
that
water
is
rather
well
understood
by
physical
science;
but
so2ware
as
a
raw
material
–
is
s4ll
not
scien4fically
understood.
Robin Milner,Turing Award
in Turing, Computing and Communication
12. First Order Logics
EMF
SQL
TENEO
Java
XSD
DOM
Antlr
OWL
UML
XMI
Ecore
SQL DDL
XLST
Saxon
Hibernate
Awk
Json
Yacc
JAXP
Rest
OWL
RDF
ATOM
SparQL
XSLT
DTD
BNF
XSD
OCL
Prolog
grep
MOF
OMG
QVT
jDOM
Rose
Protégé
XQuery
ODM
XMLSpy
JPA
JAXB
JDBC
ODBC
ArgoUML
Description Logic
Jena
Jena
Relational Algebra
TXL
VLDB
EMF.gen
ORACLE
TCS
XText
Teneo
Jersey
GWT
Sesame
Stratego
XPATH
JeanBeans
UTF8
ASCII
RDFa
RDF(S)
RDFS
CFG
LALR
ER
xerces
xalan
saxon
sax
sed
XSD
JMI
JMF
SBVR
BPEL
BPMN
EXPRESS-G
ER
InfoSet
LALR
Automata
Petri nets
Fuzzy Logics
Relational Calculus
regexpr
regexpr
Automata
Lambda calculus
Pi Calculus
Set Theory
Modal logic
Teneo
Caml
CSP
C++
Antlr
Prolog
OMG
QVT
ArgoUML
TCS
ER
EXPRESS-G
Language
is
the
raw
material
of
so2ware
engineering.
So2ware
as
a
raw
material
–
is
s4ll
not
scien4fically
understood.
Robin Milner,Turing Award
in Turing, Computing and Communication
13. First Order Logics
EMF
SQL
TENEO
Java
XSD
DOM
Antlr
OWL
UML
XMI
Ecore
SQL DDL
XLST
Saxon
Hibernate
Awk
Json
Yacc
JAXP
Rest
OWL
RDF
ATOM
SparQL
XSLT
DTD
BNF
XSD
OCL
Prolog
grep
MOF
OMG
QVT
jDOM
Rose
Protégé
XQuery
ODM
XMLSpy
JPA
JAXB
JDBC
ODBC
ArgoUML
Description Logic
Jena
Jena
Relational Algebra
TXL
VLDB
EMF.gen
ORACLE
TCS
XText
Teneo
Jersey
GWT
Sesame
Stratego
XPATH
JeanBeans
UTF8
ASCII
RDFa
RDF(S)
RDFS
CFG
LALR
ER
xerces
xalan
saxon
sax
sed
XSD
JMI
JMF
SBVR
BPEL
BPMN
EXPRESS-G
ER
InfoSet
LALR
Automata
Petri nets
Fuzzy Logics
Relational Calculus
regexpr
regexpr
Automata
Lambda calculus
Pi Calculus
Set Theory
Modal logic
Teneo
Caml
CSP
C++
XSLT
OCL
MySQL
Stratego
CFG
xalan
EXPRESS-G
Emerging
Topics
• So#ware
Languages
• So#ware
Linguis-cs
• So#ware
Language
Engineering
14. OUT
LINE
Part I
The
SoOware
Language
Jungle
Part II
History
of
Language
Technologies
Part III
3-‐steps
Towards
Civilized
InformaIcs
Part IV
On
the
Need
of
Domain
Specific
Languages
16. The
SoOware
Language
Jungle
• Programming
Languages
(e.g.
Java)
• SpecificaIon
Languages
(Z)
• Requirement
Languages
(SBVR)
• Modeling
Languages
(UML)
• Architecture
DescripIon
Languages
(Wright)
• FormaIng
Languages
(LaTeX)
• ScripIng
Languages
(ksh)
• Business
Process
Languages
(BPEL)
• Visual
Languages
(Gang)
• Domain
Specific
Languages
(Excel
)
• Model
TransformaIon
Languages
(ATL)
• Program
TransformaIon
Languages
(Stratego)
• Document
TransformaIon
Languages
(XSLT)
• MathemaIcal
Languages
(MathemaIca)
• Chemistry
Languages
(Smiley)
• Feature
Languages
(FODA)
• Meta-‐language
(BNF)
• Web
Service
Languages
(WSDL)
• Deployment
Languages
(Nix)
• RewriIng
languages
(Tom)
• Build
Languages
(Make)
• Pagern
Languages
• EducaIon
Modeling
Languages
• Rule
Languages
• ConfiguraIon
languages
• Markup
Languages
(HTML)
• Media
Languages
(Flash)
• Query
Languages
(SQL)
• ….
42. (1) Paleolitics
(2) Neolithics
(3) Civilisation
(1) Paleo-informatics
(2) Neo-informatics
(3) Civilized informatics
Ancient World
Social Structures
5-10
10-100
1000-100000
People
Caves
Settlements
Villages
Cities
Kingdoms
Empires
Hunters
Software World
Social Structures
1-5
10-100
1000-10000???
Programmers
People
In-house
development
Early software
contractors
Software
companies
Software
ecosystems
Software
parterships
Teachers
Lawyers
Soldiers
…
Cattlemen
Farmers
Bakers
Metalworkers
Carpenters
…
…
Designers
Testers
Architects
Analysts
…
…
Domain
experts
Standardiz.
bodies
Language
Engineers
…
Separa-ons
of
ac-vi-es
Structura-on
of
ac-vi-es
Inven-on
of
the
wheel
Inven-on
of
internet
WriJen
Languages
So#ware
Languages
47. Coping
with
Knowledge
AccumulaIon
(1) Brain
Specialization
(2) Language
Specialization
2y
=
ax+c
«By
relieving
the
brain
of
all
unnecessary
work,
a
good
nota4on
sets
it
free
to
concentrate
on
more
advanced
problems,
and
in
effect
increases
the
mental
power
of
the
race
»
Whitehead,
A.N.
An
IntroducCon
to
MathemaCcs,
1911
48. Rethorical
MathemaIcs
«By
relieving
the
brain
of
all
unnecessary
work,
a
good
nota4on
sets
it
free
to
concentrate
on
more
advanced
problems,
and
in
effect
increases
the
mental
power
of
the
race
»
Whitehead,
A.N.
An
IntroducCon
to
MathemaCcs,
1911
49. Sciences
⇒
Languages
(1) Brain
Specialization
(2) Language
Specialization
2y
=
ax+c
«By
we
cannot
improve
the
language
of
any
science
without,
at
the
same
4me,
improving
the
science
itself;
neither
can
we,
on
the
other
hand,
improve
a
science,
without
improving
the
language
or
nomenclature
which
belongs
to
it
»
Antoine
Lavoisier,
1787