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

Upload: vudung

Post on 09-Mar-2018

253 views

Category:

Documents


1 download

TRANSCRIPT

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