Megamodeling Software Language Engineering...

Post on 09-Mar-2018

238 views 1 download

Transcript of Megamodeling Software Language Engineering...

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

We are smart

Since Stone Age

when we have problems

we invent some technology

Today

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

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

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

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

From one space to another…

XMImodelwareXMLware

javaware

JDBC

Dataware

JDOM

Ontware

JenaHibernate

EMF.genJMI

Teneo

Sesame

JAXB

JPA

We need to bemore precise

We needa « theory »

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

Empirical megamodeling

Meganalysiscompany

mc.Cxxx yyy zzzttt uuu vvv xxx…

company.gx ::= xxx yyy

y := zzz…

parse

(antlr)

A megamodel

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

Precise megamodeling

meganalysismc.C

company.g

antlr

Represents

ConformsTo

IsElementOf

a megamodel

Represents

ConformsTo

IsElementOf

THE megamodelmetamodel

Multi-language megamodeling

represents(‘mc.c’,meganalysis).

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

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

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

Parallel Spaces

Orthogonal spaces

Bridges between spaces

Example of bridges between languages

We need

a catalog of

concrete examples

101companies

...

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.

CONCLUSION

• Many technologies and silos of knowlege

• Huge essential and accidental complexity

• Abstraction (=> megamodel)

• Common example (=> meganalysis company)

• Analogy