re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse...

27
xAltarica Christophe Mareschal [email protected] ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octobre 2003

Transcript of re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse...

Page 1: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

xAltarica

Christophe [email protected]

ENSAE10 Avenue Edouard Belin , BP 403231055 Toulouse cedex 4

C.M

ares

chal

Jou

nées

Alta

rica

Mar

seill

es 2

2 23

Oct

obre

200

3

Page 2: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

2C

hris

toph

e M

ares

chal

-Jo

unée

s A

ltaric

a M

arse

ille

22 2

3 oc

tobr

e 20

03

De l'extension d'xADL à l'apport d'XML à Altarica

Extension d'xADL2.0 à la SdF– Export de la sémantique d'altarica vers xADL2.0

– Spécification du langage altarica en XML = xAltaric a

– Mapping xAltarica - xADL2.0

L'apport d'XML pour le langage altarica et pour ses o utils support– Process XML mis en œuvre

– Valeur ajoutée

• Extensibilité

• Interopérabilité

Page 3: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

3C

hris

toph

e M

ares

chal

-Jo

unée

s A

ltaric

a M

arse

ille

22 2

3 oc

tobr

e 20

03

Des techniques normalisées et répandues …

… et des outils accessibles : Applications, Librairi es, API

Le monde XML

Quizx

SaxonSAX DOM

JDOM

JAXP

XalanxmlSpy

JAXB

XML Schema

XMLparsers

Xquery .

XSL XSLT

Data Binding

xmlSpy

Page 4: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

4C

hris

toph

e M

ares

chal

-Jo

unée

s A

ltaric

a M

arse

ille

22 2

3 oc

tobr

e 20

03

Les process avec XML

Validation

Specification

Transformation

XML to Java

Parsing

Altarica

vueAlta.xml

vueAlta.xml vueADL.xml

altaToADL.xsl

xAltarica

utils.xsdaltarica.xsdtimedaltarica.xsd

xAltaricaPackage Utils Package altaricaPackage timedaltarica

In Memory Model

DataFlow

xAltarica

xaltaricalib

Page 5: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

5C

hris

toph

e M

ares

chal

-Jo

unée

s A

ltaric

a M

arse

ille

22 2

3 oc

tobr

e 20

03

Specification : XML Schema

Validation

Specification

Transformation

XML to Java

Parsing

Page 6: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

6C

hris

toph

e M

ares

chal

-Jo

unée

s A

ltaric

a M

arse

ille

22 2

3 oc

tobr

e 20

03

DTD, XML Schema : Méta langages XML

Spécification xAltarica : XML Schema

SpecificationAltaricautils.xsdaltarica.xsdtimedaltarica.xsd

xAltarica

DTD, XML schema

Page 7: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

7C

hris

toph

e M

ares

chal

-Jo

unée

s A

ltaric

a M

arse

ille

22 2

3 oc

tobr

e 20

03

utils.xsd altarica.xsd

timedaltarica.xsd

Spécification xAltarica : XML Schema

<<uses>>

BooleanExpression,BooleanValue,

Variable, Pointer...

Component,ConfigurationAssert,

Flow, Transition...

TimedComponent,Clock ...

• Le langage est spécifié par une collection de "sché mas".

• Un schéma est un document xml conforme à la norme XML schema

• Chaque schéma définit une partie du langage = "name space".

• Un schéma peut utiliser les éléments d'un autre sch éma (import et include),

l'ensemble est cohérent.

Page 8: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

8C

hris

toph

e M

ares

chal

-Jo

unée

s A

ltaric

a M

arse

ille

22 2

3 oc

tobr

e 20

03

<xsd:complexType name="Component">

node

name

[flow]

[state]

[event]

[transition]

[assert]

(attr) name

Altarica : node xAltarica/altarica.xsd : Component

Page 9: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

9C

hris

toph

e M

ares

chal

-Jo

unée

s A

ltaric

a M

arse

ille

22 2

3 oc

tobr

e 20

03

Typage et Héritage : <xsd:complexType name="TimedComponent">

<xsd:complexType name="TimedComponent "><xsd:complexContent>

<xsd:extension base="altarica:Component ">

<xsd:sequence minOccurs="0">

<xsd:element name="clock " type="Clock " />

</xsd:sequence>

</xsd:extension>

</xsd:complexContent>

</xsd:complexType>

Page 10: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

10C

hris

toph

e M

ares

chal

-Jo

unée

s A

ltaric

a M

arse

ille

22

23 o

ctob

re 2

003

De Altarica à xAltarica

Ce qui ne change pas : La sémantiqueCe qui change peu : Le lexique et la syntaxe

Node

ArchitectureComplexComponentComponent

Assert ConfigurationAssertComputationAssert

Page 11: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

11C

hris

toph

e M

ares

chal

-Jo

unée

s A

ltaric

a M

arse

ille

22

23 o

ctob

re 2

003

Parsing et validation

Validation

Specification

Transformation

XML to Java

Parsing

Page 12: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

12C

hris

toph

e M

ares

chal

-Jo

unée

s A

ltaric

a M

arse

ille

22

23 o

ctob

re 2

003

SAX = "Simple API for XML" : "Read Only", lecture s équentielleDOM = "Document Object Model" : "Read-Write", arbre syntaxique

Parsing et validation : SAX, DOM, JAXP, JDOM

Validation

ParsingvueAlta.xml

xAltarica In Memory Model

DataFlow

XML schema

Document XMLXML Parser

SAX

DOM

Page 13: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

13C

hris

toph

e M

ares

chal

-Jo

unée

s A

ltaric

a M

arse

ille

22

23 o

ctob

re 2

003

Parsing et validation : SAX, DOM, JAXP, JDOM

Les parseurs communs sont génériques

• Lecture et écriture de documents xml

• Interface entre le document xml et l'application• Contrôle de conformité lexicale et syntaxique

Quel que soit le langage, quelles que soient ses év olutions

Avec XML Schema, la validation gagne en puissance

JAXP = "Java API for XML Parsing" (Sun) : SAX & DOM

Page 14: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

14C

hris

toph

e M

ares

chal

-Jo

unée

s A

ltaric

a M

arse

ille

22

23 o

ctob

re 2

003

Transformation : XSL

Validation

Specification

Transformation

XML to Java

Parsing

Page 15: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

15C

hris

toph

e M

ares

chal

-Jo

unée

s A

ltaric

a M

arse

ille

22

23 o

ctob

re 2

003

Transformation : XSL, XSLT

XSL = eXtensible Stylesheet LangageXSLT = XSL Transformation

XSL TransformationdocX.xml

page.htmlXSL

doc.pdf

docY.xml

Page 16: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

16C

hris

toph

e M

ares

chal

-Jo

unée

s A

ltaric

a M

arse

ille

22

23 o

ctob

re 2

003

Le document XSL contient les règles de transformati on

Xalan : Processeur XSLT java (inclus dans JAXP)Saxon : un autre processeur XSLT

Transformation : XSL, XSLT

Xalan, SaxonvueAltarica.xml vueADL.xml

altaricaToADL.xslDocument XSL

XSLTDocument XMLValidé xAltarica

Document XMLValidé ADL

Page 17: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

17C

hris

toph

e M

ares

chal

-Jo

unée

s A

ltaric

a M

arse

ille

22

23 o

ctob

re 2

003

ComponentType | ConnectorType

Signature

SubArchitectureArchstructure

Component #ComponentType

LinkSignatureInterfaceMapping

Mapping : xAltaRica <=> xADL

ComplexComponent

ControlComponentFlowEvent

Sub

#Component| #ComplexComponent

ConfigurationAssertSync

xAltarica xADL

Page 18: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

18C

hris

toph

e M

ares

chal

-Jo

unée

s A

ltaric

a M

arse

ille

22

23 o

ctob

re 2

003

Archstructure Component| Connector

DescriptionInterface

# ComponentType | # ConnectorType

Mapping : xAltaRica <=> xADL

Component

FlowEventStateTransitionComputationAssert

xAltarica xADL

Page 19: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

19C

hris

toph

e M

ares

chal

-Jo

unée

s A

ltaric

a M

arse

ille

22

23 o

ctob

re 2

003

XML Java Data Binding

Validation

Specification

Transformation

XML to Java

Parsing

Page 20: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

20C

hris

toph

e M

ares

chal

-Jo

unée

s A

ltaric

a M

arse

ille

22

23 o

ctob

re 2

003

Binding Compiler

XML JAVA Data Binding

xaltaricalib

IArchitecture.java

utils

altarica

IComponent.java

ComponentImpl.java

timedaltarica

ArchitectureImpl.java

xAltarica

utils.xsd

timedaltarica.xsd

…< xsd:ComplexType

name = "Architecture" >….

</ComplexType>…………..

<xsd:ComplexType

name : "Component" >….

altarica.xsd

Page 21: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

21C

hris

toph

e M

ares

chal

-Jo

unée

s A

ltaric

a M

arse

ille

22

23 o

ctob

re 2

003

getParentNode()getChildsNode()createElement()getAttribute(String name)setAttributeNode(String name, String Value)getElementByTagName(String name)….

Component.getFlows()Component.getStates()

Flow.setName(String name)new Component

…JAXB = "Java API for XML Data Binding " (Sun)

XML JAVA Data Binding : JAXB

DOM

xaltarica + JAXB

Page 22: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

22C

hris

toph

e M

ares

chal

-Jo

unée

s A

ltaric

a M

arse

ille

22

23 o

ctob

re 2

003

altaricaAPIaltaricaAPI

JAXB Compiler = Automatisation du Data BindingJAXB Run Time = Parsing, validation

XML JAVA Data Binding : JAXB

JAXB CompilerxAltarica xaltaricalibSchémas XML

archi.xml

Document XML

JAXB Run Time

Modèle Objet Conforme

altaricaAPI

Altarica Application

Classes &InterfacesDérivées

Page 23: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

23C

hris

toph

e M

ares

chal

-Jo

unée

s A

ltaric

a M

arse

ille

22

23 o

ctob

re 2

003

Valeur Ajoutée

Validation

Specification

Transformation

XML to Java

ParsingEvolutivité & Interopérabilité

Page 24: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

24C

hris

toph

e M

ares

chal

-Jo

unée

s A

ltaric

a M

arse

ille

22

23 o

ctob

re 2

003

Evolutivité

• Extensions XML schema modulaires

• Non régressives sur le reste du langage

• Sans effet sur les outils xml génériques

• Adaptation DataBindingLibrary par simple recompilatio n

• Adaptation API "Syntax directed" : de facto

=> un langage extensible

=> des outils adaptables et pérennes

Page 25: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

25C

hris

toph

e M

ares

chal

-Jo

unée

s A

ltaric

a M

arse

ille

22

23 o

ctob

re 2

003

Interopérabilité

• Utilisation modulaire de plusieurs schémas

• Transformation XSL : xml vers xml ou autre

• DataBindingLibrary + API spécifiques

• xQuery : A voir

=> des usages multiples et adaptés

=> des échanges facilités

Page 26: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

26C

hris

toph

e M

ares

chal

-Jo

unée

s A

ltaric

a M

arse

ille

22

23 o

ctob

re 2

003

Synthèse

• Spécification d'altarica au format xml (XML Schema)

• Traitements XML

Parsing, Validation Syntaxique, Transformation, Accès aux données ...

• Intégration XML

API génériques (DOM, XSLT, JAXP)

Couple XML-Java (JAXP) Data Binding (JAXB)

• Bénéfice

Extensibilité

Interopérabilité

Page 27: re 2003 xAltarica - mbsaw2012.labri.fr · ENSAE 10 Avenue Edouard Belin , BP 4032 31055 Toulouse cedex 4 C.Mareschal Jounées Altarica Marseilles 22 23 Octob re 2003. 2 Christophe

27C

hris

toph

e M

ares

chal

-Jo

unée

s A

ltaric

a M

arse

ille

22

23 o

ctob

re 2

003

Perspectives

• Développer la spécification : versions et variantes d' xAltarica

• Adapter et développer des outils compatibles xml/xA ltarica

• Etudier le mapping et l'interopérabilité avec xADL (et +)

A Suivre ...

http://www.cert.fr/francais/deri/mareschal/altarica /xaltarica.html