Megamodeling Software Language Engineering...

30
MegaModeling Software Language Engineering Artefacts ongoing research work Jean-Marie Favre, OneTree Technologies, Luxembourg Dragan Gasevic, Athabasca University, Canada Ralf Lämmel, University of Koblenz-Landau, Germany GPCE/SLE 2010 Tutorial

Transcript of Megamodeling Software Language Engineering...

Page 1: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.

MegaModelingSoftware Language Engineering

Artefacts

ongoing research work

Jean-Marie Favre, OneTree Technologies, LuxembourgDragan Gasevic, Athabasca University, Canada

Ralf Lämmel, University of Koblenz-Landau, Germany

GPCE/SLE 2010 Tutorial

Page 2: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.

We are smart

Since Stone Age

when we have problems

we invent some technology

Page 3: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.

Today

Page 4: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.

EMF

SQL

TENEO

Java

XSD

DOM

Antlr

OWL

UML

XMI

Ecore

SQL DDL

XLSTSaxon

Hibernate

Awk

Json

Yacc

JAXP

RestOWL

RDF

ATOM

SparQLXSLT

DTD

BNF

XSD

OCL

Prolog

grep

MOF

OMG

QVT

jDOM

Rose

Protegé

XQuery

ODM

XMLSpy

JPA

JAXB

JDBC

ODBC

MySQLArgoUML

Jean

Jena

Jena

Ralf

Dragan

TXL

VLDB

EMF.gen

ORACLE

TCS

XText

Teneo

Jersey

GWT

Sesame

Stratego

XPATH

JeanBeans

UTF8

ASCII

RDFa

RDF(S)

RDFS

CFG

LALR

ER

SLE2010xerces

xalan

saxonsax

sed

XSD

JMI JMF

SBVR

Page 5: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.

EMF

SQL

TENEO

Java

XSD

DOM

Antlr

OWL

UML

XMI

Ecore

SQL DDL

XLSTSaxon

Hibernate

Awk

Json

Yacc

JAXP

RestOWL

RDF

ATOM

SparQLXSLT

DTD

BNF

XSD

OCL

Prolog

grep

MOF

OMG

QVT

jDOM

Rose

Protegé

XQuery

ODM

XMLSpy

JPA

JAXB

JDBC

ODBC

MySQLArgoUML

Jean

Jena

Jena

Ralf

Dragan

TXL

VLDB

EMF.gen

ORACLE

TCS

XText

Teneo

Jersey

GWT

Sesame

Stratego

XPATH

JeanBeans

UTF8

ASCII

RDFa

RDF(S)

RDFS

CFG

LALR

ER

SLE2010xerces

xalan

saxonsax

sed

XSD

JMI JMF

SBVR

Today’s Issues

• Silos of knowledge

• Combining technologies

• Complexity of technologies

• Teaching technologies?

• Entering a new space

Page 6: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.

EMF

SQL

TENEO

Java

XSD

DOM

Antlr

OWL

UML

XMI

Ecore

SQL DDL

XLSTSaxon

Hibernate

Awk

Json

Yacc

JAXP

RestOWL

RDF

ATOM

SparQLXSLT

DTD

BNF

XSD

OCL

Prolog

grep

MOF

OMG

QVT

jDOM

Rose

Protegé

XQuery

ODM

XMLSpy

JPA

JAXB

JDBC

ODBC

MySQLArgoUML

Jean

Jena

Jena

Ralf

Dragan

TXL

VLDB

EMF.gen

ORACLE

TCS

XText

Teneo

Jersey

GWT

Sesame

Stratego

XPATH

JeanBeans

UTF8

ASCII

RDFa

RDF(S)

RDFS

CFG

LALR

ER

SLE2010xerces

xalan

saxonsax

sed

XSD

JMI JMF

SBVR

• Silos of knowledge

• Combining technologies

• Complexity of technologies

• Teaching technologies?

• Entering a new space

Today’s Issues

• Analogy

• Abstraction

• Common example

Our Approach

Page 7: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.

Working by analogy

MOF XSD RDFS SQL.DDL EBNF

OCLXPath

QVT

XQuery SPARQL SQL

ProtégéTopbeard

XMLSpyVS-XML

ArgoUMLRose

MySQLOracle

XSLT TXLASF

MetaEnv.

XMLVLDB

MoDELSECMDA

ICSWESWC

VLDBSIGMOD

CCPOPL

Metalanguage

Navigation

Query

Transfo.

Toolkit

Conferences

Modelware XMLware Ontoware Dataware Grammarware

Page 8: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.

From one space to another…

XMImodelwareXMLware

javaware

JDBC

Dataware

JDOM

Ontware

JenaHibernate

EMF.genJMI

Teneo

Sesame

JAXB

JPA

Page 9: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.

We need to bemore precise

Page 10: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.

We needa « theory »

Page 11: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.

EMF

SQL

TENEO

Java

XSD

DOM

Antlr

OWL

UML

XMI

Ecore

SQL DDL

XLSTSaxon

Hibernate

Awk

Json

Yacc

JAXP

RestOWL

RDF

ATOM

SparQLXSLT

DTD

BNF

XSD

OCL

Prolog

grep

MOF

OMG

QVT

jDOM

Rose

Protegé

XQuery

ODM

XMLSpy

JPA

JAXB

JDBC

ODBC

MySQLArgoUML

Jean

Jena

Jena

Ralf

Dragan

TXL

VLDB

EMF.gen

ORACLE

TCS

XText

Teneo

Jersey

GWT

Sesame

Stratego

XPATH

JeanBeans

UTF8

ASCII

RDFa

RDF(S)

RDFS

CFG

LALR

ER

SLE2010xerces

xalan

saxonsax

sed

XSD

JMI JMF

SBVR

We need

megamodelingWe need

megamodeling

Page 12: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.

Empirical megamodeling

Meganalysiscompany

mc.Cxxx yyy zzzttt uuu vvv xxx…

company.gx ::= xxx yyy

y := zzz…

parse

(antlr)

A megamodel

Page 13: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.

Specific megamodeling

Meganalysiscompany

mc.Cxxx yyy zzzttt uuu vvv xxx…

company.gx ::= xxx yyy

y := zzz…

parse

(antlr)

a megamodel

w ∈ L(Gc)Gc ∈ A…

a megamodel

Page 14: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.

Precise megamodeling

meganalysismc.C

company.g

antlr

Represents

ConformsTo

IsElementOf

a megamodel

Represents

ConformsTo

IsElementOf

THE megamodelmetamodel

Page 15: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.

Multi-language megamodeling

represents(‘mc.c’,meganalysis).

conformsTo(‘mc.c’, ‘company.g’).

elementOf(‘company.g’, ’antlr’).

Page 16: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.

EMF

SQL

TENEO

Java

XSD

DOM

Antlr

OWL

UML

XMI

Ecore

SQL DDL

XLSTSaxon

Hibernate

Awk

Json

Yacc

JAXP

RestOWL

RDF

ATOM

SparQLXSLT

DTD

BNF

XSD

OCL

Prolog

grep

MOF

OMG

QVT

jDOM

Rose

Protegé

XQuery

ODM

XMLSpy

JPA

JAXB

JDBC

ODBC

MySQLArgoUML

Jean

Jena

Jena

Ralf

Dragan

TXL

VLDB

EMF.gen

ORACLE

TCS

XText

Teneo

Jersey

GWT

Sesame

Stratego

XPATH

JeanBeans

UTF8

ASCII

RDFa

RDF(S)

RDFS

CFG

LALR

ER

SLE2010xerces

xalan

saxonsax

sed

XSD

JMI JMF

SBVR

Page 17: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.

Parallel Spaces

Page 18: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.

Orthogonal spaces

Page 19: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.

Bridges between spaces

Page 20: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.

Example of bridges between languages

Page 21: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.

We need

a catalog of

concrete examples

Page 22: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.

101companies

Page 23: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.
Page 24: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.

...

Page 25: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.
Page 26: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.
Page 27: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.
Page 28: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.
Page 29: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.

Next steps• Please contribute:

– Let’s add some implementations at GPCE/SLE 2010.– Get in touch with us.

• Please leverage:– There is class-room material related to 101companies.– More profound textbook-like material in the planning.

• To be cont’d:– GPCE 2010 Keynote.

Page 30: Megamodeling Software Language Engineering Artefactsprogram-transformation.org/pub/GPCE10/Conference... · MegaModeling Software Language Engineering Artefacts ... XText. Teneo. Jersey.

CONCLUSION

• Many technologies and silos of knowlege

• Huge essential and accidental complexity

• Abstraction (=> megamodel)

• Common example (=> meganalysis company)

• Analogy