on the evolution of caex: a language engineering perspective
TRANSCRIPT
Luca Berardinelli, Rainer Drath, Emanuel Maetzler, Manuel Wimmer
[email protected], [email protected], [email protected], [email protected]
Business Informatics Group, Institute of Software Technology and Interactve Systems, Vienna University of Technology
ABB AG, Corporate Research Center Germany
IE Technology News
September 2016 1
On The Evolution of CAEX: A Language Engineering
Perspective
CDL Flex
IE Technology News
September 2016 2
AutomationML CAEX - Computer Aided EXchange CAEX: Language Realization CAEX: Language Overview Language Evolution CAEX Co-Evolution Methodology Conclusion
Outline
AutomationMLIE Technology News
September 2016 3
3
Emerging standard (IEC 62714) for tool data exchange in CPPS engineering
Foundation for harmonizing engineering data coming from a heterogeneous tool network by means of a unified format and data model
tools
methodologiesCPPS Engineering
models
Schema
XSD
Example
XML
«conforms to»
technology
IEC 62714
CAEX – Computer Aided EXchange
IE Technology News
September 2016 4
4
tools
methodologiesCPPS Engineering
models
Schema
XSD
Example
XML
«conforms to»
technology
IEC 62714
CAEX
IEC 62424
AutomationML is built on top of CAEX AML docs/models are also CAEX
doc/models serialized as XML based document compliant with CAEX.xsd
CAEX: Language Realization (1/2)
IE Technology News
September 2016 5
CAEX is a language that is specified in XSD…
IH
IE
RCCAEX.xsd
XSD
example.aml
XML
«conforms to»
technology JAXP Xerces
CAEX: Language Realization (2/2)
IE Technology News
September 2016 6
…or in Ecore, enabler for MDE
example.aml
XML
«conforms to»
CAEX.ecore
Ecore
technology JAXP https://eclipse.org/modeling/emf/
CAEX: Language Overview
IE Technology News
September 2016 7
technology JAXP https://eclipse.org/modeling/emf/
example.aml
XML
«conforms to»
CAEX.ecore
Ecore
CAEX in 10 secs slide?
Model (hierarchical graph based structure)
ab
cd
c1 c2
c2.1…
Hierachy prototypes
«cloned» interfaces
c1 c2
roles
blue semantics
orange semantics
Languages has to evolve!
IE Technology News
September 2016 8
example.aml
XML
«conforms to»
CAEX.ecore
Ecore
example.aml
XML
«conforms to»
CAEX.ecore
Ecore
example.aml
XML
«conforms to»
CAEX.ecore
Ecore
…
L L
S S
CAEX 2.15 CAEX 3.0 CAEX N
L
S
…
Evolution
Co-Evolution
How to manage co-evolution?
Theory and Practice
Language Evolution: Initial Setting
IE Technology News
September 2016 9
SXML
«conforms to»
L
Ecore
L’
EcoreL
Evolution
Co-Evolution
Version N Version N+1
What is the impact of the evolution dimension
on the co-evolution dimension?
Language Evolution: Setting FormalizedIE Technology News
September 2016 10
SXML
«conforms to»
L
Ecore
L’
EcoreL
Evolution
Co-Evolution
L := {δ}
«conforms to»:= (L,S):Bool
Version N Version N+1
Language Evolution: Non-Breaking CaseIE Technology News
September 2016 11
SXML
«conforms to»
L
Ecore
L’
EcoreL
Evolution
Co-Evolution
L := {δ} δ ∈ NBC
«conforms to»«conforms to»:= (L,S):Bool
Version N Version N+1
IE Technology News
September 2016 12
SXML
«conforms to»
L
Ecore
L’
EcoreL
Evolution
Co-Evolution
L := {δ} δ ∈ BC
«conforms to»:= (L,S):Bool
«conforms to»
Version N Version N+1
Language Evolution: Breaking Case
IE Technology News
September 2016 13
SXML
«conforms to»
L
Ecore
L’
EcoreL
Evolution
Co-Evolution
L := {δ} δ ∈ BC
«conforms to»:= (L,S):Bool
S'XMLS
«conforms to»
s := {δ}(1) S(S) L∈ ’(2) (I(S),I(S’)) → min
Version N Version N+1
Language Evolution: Breaking Case
CAEX: Co-Evolution Methodology IE Technology News
September 2016 14
«metamodel»Schema
«xml»Data
«conformsTo»
check
«metamodel»
Schema’
«xml»Data’
«conformsTo»
«delta_model»
Schema
«uses»
convert𝐵𝐶
copy
𝑛𝑜𝑖𝑚𝑝𝑎𝑐𝑡
no change𝑖𝑚𝑝𝑎𝑐𝑡
improve
Represent languages/models in a technology independent manner Process consists of two parts
(1) Represent schema delta and classify changes: non-breaking, breaking(2) Develop a transformation chain for data migration: copy, check, convert, improve
CAEX 2.15 CAEX 3.0
Evolution
Co-Evolution
(1)
(2)
1: SchemaML - A Kernel Schema LanguageIE Technology News
September 2016 15
Schema
Data
«conformsTo»
SchemaML comes with DataML
1: SchemaML – Changes and ClassificationIE Technology News
September 2016 16
Changes are derived from the SchemaML specification and classified w.r.t. their impact on existing data Set of atomic changes (+,~,-) NBC extend languages BC restrict languages or
invalidate used identifiers Atomic changes may be
composed
1: Delta Evaluation for CAEX 2.15->3.0
IE Technology News
September 2016 17
• Delta model excerpt for CAEX 2.15 and CAEX 3.0
2: Technologies for Migration ChainIE Technology News
September 2016 18
CAEX 2.15 CAEX 3.0
Given the theoretical background…
…we realize a co-evolution framework with MDE technologies.
«xml»Data
check
«xml»Data’
convert𝐵𝐶
copy
𝑛𝑜𝑖𝑚𝑝𝑎𝑐𝑡
no change𝑖𝑚𝑝𝑎𝑐𝑡
improve
check
convert
copy improve
technology JAXP https://eclipse.org/modeling/emf/
2: Checking for Missing Data in EVL
IE Technology News
September 2016 19
check
RR relationship has both ends defined
RRIE RCResource
2: Copying and Converting Data with ATLIE Technology News
September 2016 20
RR RR
from to M IE RR
M
convertcopy
IE IE
M
copy
convert
ConclusionIE Technology News
September 2016 21
• We presented a model-driven language engineering perspective to cope with CAEX language evolution
• We presented a technology independent definition of the co-evolution problem by devising SchemaML and DataML
• We classified CAEX evolution changes in non-breaking and breaking changes as well as how to deal with breaking ones
• We provide a technical solution based on MDE technologies for our co-evolution methodology: copy, check, convert, improve
http://www.sysml4industry.org
DISCLAIMERIE Technology News
September 2016 22
These slides are made by authors to help readers quick and better understanding of the subject. The opinions made or information presented here belong to the sole responsibility of the authors. IE Tech News (ITeN) neither endorses nor denounces any opinions made or information presented. Part or full of these material may be used only with written permission from the authors.