61
Jean-Marie Favre Software Language Archeologist & Software Anthropologist Principal Scientist at OneTree Technologies Assistant Professor at the University of Grenoble

Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

  • Upload
    choose

  • View
    828

  • Download
    1

Embed Size (px)

DESCRIPTION

Jean-Marie Favre's presentation at the Choose Forum 2010, in Bern

Citation preview

Page 1: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

Jean-Marie Favre ���Software Language Archeologist

& Software Anthropologist

Principal Scientist at OneTree Technologies Assistant Professor at the University of Grenoble

Page 2: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

Domain  and  Techniques  Specific  Languages  

A  Journey  through  the  Ages,    Languages  and  Technologies  

Jean-Marie Favre ���Software Language Archeologist

& Software Anthropologist

Principal Scientist at OneTree Technologies Assistant Professor at the University of Grenoble

Page 3: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

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

Page 4: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

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  +…)  

Page 5: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

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  /  

Page 6: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

Software

Software Ecosystems

Software Languages

Languages

Understanding

Understanding

Understanding

Understanding

Page 7: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

We  are  smart  

since Stone Age

when we have problems

we invent new technologies

Page 8: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

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  

Page 9: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

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  

Page 10: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

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"

"

"

Page 11: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

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"

"

"

Page 12: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

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"

"

"

Page 13: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

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  

Page 14: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

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  

Page 15: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

Part I

Software���Languages

Page 16: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

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)    •  ….  

Page 17: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

SoOware  Language  IncarnaIons  

•  Grammars •  Metamodels •  Ontologies •  Schemas •  Logics •  Formalisms •  Protocols •  Calculus •  Models

•  …

Page 18: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

Implicit/Proto  SoOware  Languages  

Formal ���+ Informal

Executable ���+ non executable

Multimodal Textual + Visual ��� + Vocal + Gestual

•  Code patterns & Idioms •  Frameworks •  Wizards •  Data Structures •  APIs •  Tools •  Box and arrows drawings •  White board discussion •  Bug reports, Forums, ... •  User manuals, tutorials, ... •  …

Page 19: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

Part II

History of���Language���

Technologies

Page 20: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

E.F.K. Koerner

"

"

Page 21: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

History  of  Language  Technologies    

Pre-­‐History  

History  

Neo-­‐History  

Complexity Gap Complexity Gap

Written Languages

Software Languages

Page 22: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

From  Stone  Age  to  InformaIon  Age  Pre-­‐history  

Pre-­‐History  

History  

Neo-­‐History  

Page 23: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

Pre-­‐History  –  Artefacts  &  Models  

Page 24: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

Neolithics  –  Protolanguage  

Page 25: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

StructuraIon  and  AbstracIon  

Page 26: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

Pre-­‐History  

History  

Neo-­‐History  

From  Stone  Age  to  InformaIon  Age  History  

Page 27: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

CivilizaIons  &  WriIng  

Page 28: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

Wrigen  Language  

Page 29: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

Concrete  Syntaxes  &  Technical  Spaces  

Page 30: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

Pre-­‐History  

History  

Neo-­‐History  

From  Stone  Age  to  InformaIon  Age  Phase  3:  Neo-­‐history  

Page 31: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

SoOware  Languages  Ubiquity  

Page 32: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

SoOware  vs.  WriIng  

Page 33: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

SoOware  Models  

Page 34: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

Pervasive  SoOware  Languages  

Page 35: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

The  Language  ConInum  

Page 36: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

The  Language  ConInum  

Written Languages

Software Languages

Page 37: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

The  Eco-­‐System  ConInum  

Page 38: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

Part III

3-Steps towards���Civilized���

Informatics

Page 39: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

Progressive  transiIons  

Page 40: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

3-­‐step  transiIons  

(1) Paleolitics

(2) Neolithics

(3) Civilisation

(1) Paleo-informatics

(2) Neo-informatics

(3) Civilized informatics

Page 41: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

DOMESTICATION OF ENVIRONMENT

People

Nature

« Invisible computer »

Invisible nature

(1) Paleolitics (3) Civilisation

(1) Paleo-informatics (2) Neo-informatics (3) Civilized informatics

People

Computers

(2) Neolithics

Page 42: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

(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  

Page 43: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

Part IV

On the Need of ���

Domain Specific ���

Languages

Page 44: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

Complexity  vs.  CogniIve  EvoluIon  

Human Brain Power

Society Complexity

Artificial Brain Power

Page 45: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

The  Tree  of  Knowledge  

Domains of Knowledge

Page 46: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

The  Network  of  Knowledge  

Domains of Knowledge

Page 47: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

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  

Page 48: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

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  

Page 49: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

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  

Page 50: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

Domain  Specific  Languages  

Page 51: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

Domain  Specific  Editors  

Page 52: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

Sharing  Knowledge    ⇒  Sharing  Languages  

DSL1  

SoOware  Languages  should  be  described  by  

metamodels    

MM1  

Page 53: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

Network  of  Knowledge    ⇒  Network  of  Languages  

MM1  

MM2  

Page 54: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

Combined  Languages  

Page 55: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

Network  of  Knowledge    ⇒  Network  of  Languages  

DSL1  

DSL2  

Page 56: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

Technical  Domains  

MOF XSD RDFS SQL.DDL EBNF

OCL XPath

QVT

XQuery SPARQL SQL

Protégé Topbeard

XMLSpy VS-XML

ArgoUML���Rose

MySQL���Oracle

XSLT TXL ASF

MetaEnv.

XML VLDB

MoDELS ECMDA

ICSW ESWC

VLDB SIGMOD

CC POPL

Meta ���language

Navigation

Query

Transfo.

Toolkit

Conferences

Modelware XMLware Ontoware Dataware Grammarware

Page 57: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

XMI modelware XMLware

javaware

JDBC

Dataware

JDOM

Ontware

Jena Hibernate

EMF.gen

JMI Teneo

Sesame

JAXB

JPA

Bridges  between  Technical  Domains  

Page 58: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

CONCL USION I make no apology for talking so much about language.

Robin Milner, concluding "Turing, Computing and Communication"

"

"

Page 59: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

The  Cast  of  SoOware  Scribes    

Wrong  approach!  

Page 60: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

Summary  

Page 61: Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies

JOIN US!

SLE 2011