Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

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

on

  • 782 views

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

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

Statistics

Views

Total Views
782
Views on SlideShare
768
Embed Views
14

Actions

Likes
0
Downloads
11
Comments
0

1 Embed 14

http://choose.s-i.ch 14

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

    • Jean-Marie Favre  Software Language Archeologist & Software Anthropologist Principal Scientist at OneTree Technologies Assistant Professor at the University of Grenoble
    • 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
    • Personal  Background   So#ware  Evolu-on  in  the  Large   Software Archeology Study of legacy  software artefacts to (re)discover information about software Software Anthropology Study of existing  software ecosystems in particular through consciencous participation
    • Dassault  Systèmes   One of the largest software companies in Europe Software artefacts 70  000+    C++  classes   3  000+  DLLs   8  000+  "components"   800+  "frameworks"   xxx  "soluIons“   …   Software eco-system 1200+  “soOware  engineers”   Many  fields  of  experIse   ConsorIums  of  companies  (boeing  +…)  
    • OneTree   Group of model-driven companies Software artefacts Large  soOware  products   TransacIonal  systems   Decision  making  systems   All  kind  of  technologies   Software eco-system From  business  to  IT   Many  fields  of  experIse   IBM  partnerships   European  insItuIons  /  Governments  /  Banking  /  
    • Understanding Software ⇒ Understanding Software Ecosystems ⇒ Understanding Software Languages ⇒ Understanding Languages
    • We  are  smart   since Stone Age when we have problems we invent new technologies
    • XPATH Sesame JPA TXL Jena Rose JDBC EMF.gen XText LALR Relational Calculus Pi Calculus Set Theory We  have   jDOM JAXB Jersey RDF(S) Jena UTF8 ODM BPEL MOF Teneo Petri nets UML XSD JeanBeans Teneo CSP VLDB Stratego BNF regexpr Modal logic xerces Json GWT sax Automata OCL InfoSet First Order Logics Today   RDFS saxon OWL OWL Ecore Automata Rest BPMN RDF MySQL XMI ORACLE JMI EMF JMF Lambda calculus XSD ArgoUML Fuzzy Logics a  problem   xalan ODBC RDFa SparQL XMLSpy Yacc C++ LALR XSLT Caml Prolog JAXP Protégé EXPRESS-G CFG SBVR DOM Java ATOM ER SQL DDL Relational Algebra SQL QVT Antlr TENEO XLST regexpr Awk DTD TCS ER sed Saxon grep ASCII XSD Hibernate XQuery
    • XPATH Sesame JPA TXL Jena Rose JDBC EMF.gen XText LALR Relational Calculus Pi Calculus Set Theory RDF(S) Main  Issues   jDOM JAXB Jersey Jena UTF8 ODM BPEL MOF Teneo Petri nets UML XSD JeanBeans Teneo CSP VLDB Stratego BNF xerces •  Languages  Technologies  GWT regexpr Json Modal logic sax Automata OCL First Order Logics •  Diversity   InfoSet RDFS saxon OWL OWL Ecore Automata Rest BPMN •  Complexity   RDF Description Logic OMG XMI ORACLE JMI EMF JMF Lambda calculus XSD ArgoUML Fuzzy Logics xalan RDFa •  Combina-ons   ODBC SparQL XMLSpy Yacc C++ LALR Prolog XSLT JAXP Caml Protégé EXPRESS-G SBVR DOM Java ATOM ER CFG SQL DDL •  Founda-ons   Relational Algebra SQL Antlr QVT TENEO •  Global  View   XLST regexpr Awk DTD TCS ER sed Saxon grep ASCII XSD Hibernate XQuery
    • XPATH Sesame JPA TXL Jena Rose JDBC EMF.gen XText LALR Relational Calculus Pi Calculus Set Theory jDOM JAXB Jersey RDF(S) Jena UTF8 ODM BPEL MOF Teneo Petri nets UML XSD JeanBeans Teneo CSP VLDB Stratego BNF regexpr Modal logic xerces Json " GWT        Language  is  the  raw  material     sax Automata OCL InfoSet First Order Logics Ralf RDFS saxon OWL OWL Ecore of  so2ware  engineering,     Automata Rest BPMN RDF Description Logic OMG XMI ORACLE JMI EMF JMF Lambda calculus XSD ArgoUML Fuzzy Logics rather  as  water  is  the  raw  material   xalan ODBC RDFa SparQL XMLSpy Yacc C++ LALR XSLT Caml Prolog JAXP Protégé for  hydraulic  engineering.    …   EXPRESS-G " CFG SBVR DOM Java ATOM ER SQL DDL Relational Algebra SQL QVT Antlr TENEO XLST regexpr Robin Milner, Turing Award Awk DTD TCS ER sed in "Turing, Computing and Communication" Saxon grep ASCII XSD Hibernate XQuery
    • XPATH Sesame JPA TXL Jena Rose JDBC EMF.gen XText LALR Relational Calculus Pi Calculus Set Theory jDOM JAXB Jersey RDF(S) Jena UTF8 ODM BPEL MOF Teneo Petri nets UML XSD JeanBeans Teneo CSP VLDB Stratego BNF regexpr Modal logic xerces Json " GWT      The  difference  is  that  water  is  rather   OCL RDFS sax OWL InfoSet Automata saxon OWL First Order Logics Ralf Ecore XMI well  understood  by  physical  science;     Automata Rest JMI BPMN EMF ORACLE JMF RDF Description Logic OMG Lambda calculus XSD ArgoUML Fuzzy Logics      but  so2ware  as  a  raw  material  –  is   xalan ODBC RDFa SparQL XMLSpy Yacc C++ LALR XSLT Caml Prolog JAXP Protégé EXPRESS-G s4ll  not  scien4fically  understood.             " CFG SBVR DOM Java ATOM ER SQL DDL Relational Algebra SQL QVT Antlr TENEO XLST regexpr Robin Milner, Turing Award Awk DTD TCS ER sed in "Turing, Computing and Communication" Saxon grep ASCII XSD Hibernate XQuery
    • XPATH Sesame JPA TXL Jena Rose JDBC EMF.gen XText LALR Relational Calculus Pi Calculus Set Theory jDOM JAXB Jersey RDF(S) Jena UTF8 ODM BPEL MOF Teneo Petri nets UML XSD JeanBeans Teneo CSP VLDB Stratego BNF regexpr Modal logic xerces Json " GWT        Language  is  the  raw  material  of   OCL RDFS sax OWL InfoSet Automata saxon OWL First Order Logics Ecore XMI so2ware  engineering.   Automata Rest JMI BPMN EMF ORACLE JMF RDF Description Logic OMG Lambda calculus XSD ArgoUML Fuzzy Logics XSLT      So2ware  as  a  raw  material  –  is  s4ll   xalan ODBC JAXP SparQL Caml XMLSpy Yacc RDFa Protégé C++ LALR Prolog not  scien4fically  understood.             EXPRESS-G " CFG SBVR DOM Java ATOM ER SQL DDL Relational Algebra SQL QVT Antlr TENEO XLST regexpr Robin Milner, Turing Award Awk DTD TCS ER sed in "Turing, Computing and Communication" Saxon grep ASCII XSD Hibernate XQuery
    • XPATH Sesame JPA TXL Jena Rose JDBC EMF.gen XText LALR Relational Calculus Pi Calculus Set Theory jDOM JAXB Jersey RDF(S) Jena UTF8 ODM BPEL MOF Teneo Petri nets UML XSD JeanBeans Teneo CSP VLDB BNF Emerging  Topics   Stratego regexpr Modal logic xerces Json GWT sax Automata OCL InfoSet First Order Logics saxon • So#ware  Languages   RDFS OWL OWL Ecore Automata Rest BPMN RDF Description Logic OMG MySQL XMI ORACLE JMI EMF JMF • So#ware  Linguis-cs   Lambda calculus XSD ArgoUML Fuzzy Logics xalan ODBC RDFa SparQL XMLSpy Yacc C++ LALR XSLT Caml Prolog JAXP Protégé EXPRESS-G • So#ware  Language  Engineering   CFG SBVR DOM Java ATOM ER SQL DDL Relational Algebra SQL QVT Antlr TENEO XLST regexpr Awk DTD TCS ER sed Saxon grep ASCII XSD Hibernate XQuery
    • OUT Part I         The  SoOware  Language  Jungle   Part II   History  of  Language  Technologies   Part III   3-­‐steps  Towards  Civilized  InformaIcs   LINE Part IV   On  the  Need  of  Domain  Specific  Languages  
    • Part Software Languages I
    • The  SoOware  Language  Jungle   •  Programming  Languages  (e.g.  Java)   •  Feature  Languages  (FODA)   •  SpecificaIon  Languages  (Z)   •  Meta-­‐language  (BNF)   •  Requirement  Languages  (SBVR)   •  Web  Service  Languages  (WSDL)     •  Modeling  Languages  (UML)   •  Deployment  Languages  (Nix)     •  Architecture  DescripIon  Languages  (Wright)   •  RewriIng  languages  (Tom)   •  FormaIng  Languages  (LaTeX)     •  Build  Languages  (Make)     •  ScripIng  Languages  (ksh)     •  Pagern  Languages     •  Business  Process  Languages  (BPEL)   •  EducaIon  Modeling  Languages     •  Visual  Languages  (Gang)   •  Rule  Languages   •  Domain  Specific  Languages  (Excel  )   •  ConfiguraIon  languages   •  Model  TransformaIon  Languages  (ATL)   •  Markup  Languages  (HTML)   •  Program  TransformaIon  Languages  (Stratego)   •  Media  Languages  (Flash)   •  Document  TransformaIon  Languages  (XSLT)   •  Query  Languages  (SQL)     •  MathemaIcal  Languages  (MathemaIca)   •  ….   •  Chemistry  Languages  (Smiley)  
    • SoOware  Language  IncarnaIons   •  Grammars •  Metamodels •  Ontologies •  Schemas •  Logics •  Formalisms •  Protocols •  Calculus •  Models •  …
    • Implicit/Proto  SoOware  Languages   •  Code patterns & Idioms Formal  •  Frameworks + Informal •  Wizards •  Data Structures Executable •  APIs + non executable •  Tools •  Box and arrows drawings Multimodal Textual •  White board discussion + Visual  •  Bug reports, Forums, ... + Vocal •  User manuals, tutorials, ... + Gestual •  …
    • Part History of Language II Technologies
    • " " E.F.K. Koerner
    • History  of  Language  Technologies     Complexity Gap Complexity Gap Neo-­‐History   Software History   Languages Written Pre-­‐History   Languages
    •   From  Stone  Age  to  InformaIon  Age Pre-­‐history   Neo-­‐History   History   Pre-­‐History  
    • Pre-­‐History  –  Artefacts  &  Models  
    • Neolithics  –  Protolanguage  
    • StructuraIon  and  AbstracIon  
    •   From  Stone  Age  to  InformaIon  Age History   Neo-­‐History   History   Pre-­‐History  
    • CivilizaIons  &  WriIng  
    • Wrigen  Language  
    • Concrete  Syntaxes  &  Technical  Spaces  
    •   From  Stone  Age  to  InformaIon  Age Phase  3:  Neo-­‐history   Neo-­‐History   History   Pre-­‐History  
    • SoOware  Languages  Ubiquity  
    • SoOware  vs.  WriIng  
    • SoOware  Models  
    • Pervasive  SoOware  Languages  
    • The  Language  ConInum  
    • The  Language  ConInum   Software Languages Written Languages
    • The  Eco-­‐System  ConInum  
    • Part 3-Steps towards Civilized III Informatics
    • Progressive  transiIons  
    • 3-­‐step  transiIons   (1) Paleo-informatics (2) Neo-informatics (3) Civilized informatics (1) Paleolitics (2) Neolithics (3) Civilisation
    • (1) Paleolitics (2) Neolithics (3) Civilisation Invisible nature Nature People DOMESTICATION OF ENVIRONMENT « Invisible computer » Computers People (1) Paleo-informatics (2) Neo-informatics (3) Civilized informatics
    • (1) Paleolitics (2) Neolithics (3) Civilisation 1000-100000 10-100 5-10 WriJen   Ancient World Languages   Social Structures Inven-on  of     Caves Settlements Villages the  wheel   Cities Kingdoms People Empires … Cattlemen Metalworkers Lawyers Hunters Farmers Bakers … … Carpenters Teachers Soldiers Separa-ons   Structura-on   of  ac-vi-es   of  ac-vi-es   1000-10000??? 10-100 Software World 1-5 Social Structures So#ware   In-house Early software Inven-on  of     Software Software Languages   Software People development contractors internet   companies parterships ecosystems … Designers Testers Programmers Architects Analysts Domain  … experts Language Standardiz. Engineers bodies … (1) Paleo-informatics (2) Neo-informatics (3) Civilized informatics
    • Part On the Need of  Domain IV Specific Languages
    • Complexity  vs.  CogniIve  EvoluIon   Society Complexity Human Brain Power Artificial Brain Power
    • The  Tree  of  Knowledge   Domains of Knowledge
    • The  Network  of  Knowledge   Domains of Knowledge
    • Coping  with  Knowledge  AccumulaIon   (2) Language Specialization 2y  =  ax+c   (1) Brain Specialization «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  
    • 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  
    • Sciences  ⇒  Languages     (2) Language Specialization 2y  =  ax+c   (1) Brain Specialization «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  
    • Domain  Specific  Languages  
    • Domain  Specific  Editors  
    • Sharing  Knowledge    ⇒  Sharing  Languages   DSL   MM1   1 SoOware  Languages   should  be  described  by   metamodels    
    • Network  of  Knowledge    ⇒  Network  of  Languages   MM1   MM2  
    • Combined  Languages  
    • Network  of  Knowledge    ⇒  Network  of  Languages   DSL1   DSL2  
    • Technical  Domains   Modelware XMLware Ontoware Dataware Grammarware Meta MOF XSD RDFS SQL.DDL EBNF language Navigation XPath OCL Query XQuery SPARQL SQL Transfo. QVT XSLT TXL ASF Toolkit ArgoUML XMLSpy Protégé MySQL MetaEnv. Rose VS-XML Topbeard Oracle MoDELS XML ICSW VLDB CC Conferences ECMDA VLDB ESWC SIGMOD POPL
    • Bridges  between  Technical  Domains   modelware XMI XMLware Teneo JMI JAXB EMF.gen JDOM Dataware Sesame Ontware JDBC Jena Hibernate JPA javaware
    • CONCL " I make no apology for talking so much USION about language. " Robin Milner, concluding "Turing, Computing and Communication"
    • The  Cast  of  SoOware  Scribes     Wrong  approach!  
    • Summary  
    • JOIN SLE 2011 US!