SlideShare una empresa de Scribd logo
1 de 23
Business Informatics Group
Institute of Software Technology and Interactive Systems
Vienna University of Technology
Favoritenstraße 9-11/188-3, 1040 Vienna, Austria
phone: +43 (1) 58801-18804 (secretary), fax: +43 (1) 58801-18896
office@big.tuwien.ac.at, www.big.tuwien.ac.at
Model-Based Co-Evolution of Production Systems
and their Libraries with AutomationML
20th IEEE International Conference on Emerging Technologies and
Factory Automation (ETFA) 2015
Luca Berardinelli, Stefan Biffl, Emanuel Maetzler,
Tanja Mayerhofer, Manuel Wimmer
Emerging Technology in Factory Automation 2015
2Best Paper Award
Introduction: AutomationML
3
 AutomationML (AML) standard for tool
data exchange
 AML docs are XML-based artifacts
 AML as pivotal language: Tool-
specific docs can be transformed in
AML docs
= domain = tool = doc
XML-based
artifacts
CAEX.xsd
overall system design
mechanical
engineering
electrical
engineering
software
engineering
Industry 4.0
Introduction: AutomationML Example
4
Lab-sized Production System
“Equipment Center for Distributed Systems,”
http://www.iafbg.ovgu.de/en/technische ausstattung cvs.html, Institute of
Ergonomics, Manufacturing Systems and Automation at Otto-v.-Guericke
University Magdeburg.
5
Turntable Conveyor
PI Controller
Introduction: AutomationML Example::Model Overview
AML Artifact
Wooden Block
Conveyor
Inductive
Sensor
Turntable
.plc
PLC Program
«conformsTo»
 Reusable model elements
collected in Libraries. Its
elements represents
prototypes.
 The model is obtained by
cloning elements from
libraries in hierarchies of
connected elements.
Its elements are cloned
from prototypes
«model»
mCLONES
Motor
∈
PROTOTYPES «library»
L∈
PI Controller
Introduction: (some) AutomationML Concepts
System Unit Class
• Reusable Modeling Elements as
System Unit Class Library
• Set of reusable modeling elements Wooden Block
Conveyor
PI Controller
Inductive
Sensor
Turntable
.plc
PLC Program
Motor
are
s
External Interface
• Elements’ connection points as
Internal Link
• Elements’ connection as
• Attributes
nominal speed = 9000
AML Artifact
PROTOTYPES «library»
L∈
name = value
AML concepts for representing L:
66
Introduction: (some) AutomationML Concepts
Inductive
Sensor
Motor
nominal speed = 9000
AML Artifact
Wooden Block
Conveyor
PI Controller
Inductive
Sensor
Turntable
.plc
PLC Program
Motor
nominal speed = 9000
Instance Hierarchy
• Main model container:
Internal Element
• Its constituting elements as
External Interface
• Elements’ connection points as
Internal Link
• Elements’ connection as
• Attributes
name = value
AML concepts for representing m:
«model»
mCLONES ∈
are
s
«clones»
6
Problem Description: Challenges
 Challenge: Evolution of engineering data has to be managed
 Engineers from diverse domains working in parallel
 Challenge: Co-evolution of prototypes and clones has to be managed
CLONES
PROTOTYPESPROTOTYPES
CLONES
Engineer
Evolution
Co-evolution 7
Contribution: Framework for prototype/clone co-evolution
1. Generic metamodel for prototype-based languages
2. Levels of consistency rigor between and
3. Change types on and their impact on prototype/clone
consistency
4. Repair operations to re-establish prototype/clone consistency
PROTOTYPES CLONES
PROTOTYPES
CLONES
PROTOTYPESPROTOTYPES
CLONES
Engineer
Evolution
Co-evolution 8
Contribution: Framework for prototype/clone co-evolution
1. Generic metamodel for prototype-based languages
2. Levels of consistency rigor between and
3. Change types on and their impact on prototype/clone
consistency
4. Repair operations to re-establish prototype/clone consistency
PROTOTYPES CLONES
PROTOTYPES
CLONES
PROTOTYPESPROTOTYPES
CLONES
Engineer
Evolution
Co-evolution 9
Contribution: Framework for prototype/clone co-evolution
1. Generic metamodel for prototype-based languages
2. Levels of consistency rigor between and
3. Change types on and their impact on prototype/clone
consistency
4. Repair operations to re-establish prototype/clone consistency
PROTOTYPES CLONES
PROTOTYPES
Engineer
Evolution
Co-evolution
CLONESCLONES
PROTOTYPESPROTOTYPES
10
Contribution: Framework for prototype/clone co-evolution
1. Generic metamodel for prototype-based languages
2. Levels of consistency rigor between and
3. Change types on and their impact on prototype/clone
consistency
4. Repair operations to re-establish prototype/clone consistency
PROTOTYPES CLONES
PROTOTYPES
CLONES
PROTOTYPESPROTOTYPES
CLONES
Co-evolution
Engineer
Evolution
11
1. Generic Metamodel for Prototype-Based Languages
 A general metamodel for prototypes
and clones (prototype clone metamodel,
PCMM) whose concepts can be
adopted for several modeling languages.
PROTOTYPES CLONES and as roles
 A Object can play different roles,
depending on its current relationships
ObjectStore
+ createObject() :Object
+ deleteObject() :void
Slot
- name :String
- Value :Object[*]
+objects
+slots
Object
- id :int
- name :String
+ createClone():Object
+ addSlot() :Slot
+ deleteSlot() :void
+ modifySlot() :void
+prototype 0..1+clones *
*
*
12
PCMM
1. Generic Metamodel for Prototype-Based Languages
ObjectStore
+ createObject() :Object
+ deleteObject() :void
Slot
- name :String
- Value :Object[*]
+objects
+slots
Object
- id :int
- name :String
+ createClone():Object
+ addSlot() :Slot
+ deleteSlot() :void
+ modifySlot() :void
+prototype 0..1+clones *
*
*
Generic Artifact based on PCMM
objstore1:ObjectStore
obj1: Object
- id = 1
- name = "Motor"
s1: Slot
- name = "nominal speed"
- value = 9000
obj2: Object
- id = 2
- name = “Motor"
s2: Slot
- name = "nominal speed"
- value = 9000
+prototype
+clones
PROTOTYPES
CLONES
Attr
Attr
13
PCMM
2. Levels of Consistency Rigor between Prototypes and Clones
Generic Artifact based on PCMM
objstore1:ObjectStore
obj1: Object
- id = 1
- name = "Motor"
s1: Slot
- name = "nominal speed"
- value = 9000
obj2: Object
- id = 2
- name = “Motor"
s2: Slot
- name = "nominal speed"
- value = 9000
+prototype
+clones
PROTOTYPES
«conforms to»
«library»
L
«model»
m
 Clones and prototypes
may evolve
independently
 Different levels of
consistency between
clones and prototypes
may apply
CLONES
14
2. Levels of Consistency Rigor between Prototypes and Clones
Level 0: Uncontrolled Compliance
 Clones may evolve completely
independent from Prototypes
 Prototypes are solely used as templates
or classification mechanism
Level 1: Substantial Compliance
 Evolution of clones is partially restricted
Level 1a: Extension: all or more slots
Level 1b: Restriction: at most all the slots
Level 1c: Redefinition: the same but values
Level 2: Full Compliance
 Clones may not evolve independently of
prototypes
PROTOTYPES
«conforms to»
«library»
L
«model»
m
 Clones and prototypes
may evolve
independently
 Different levels of
consistency between
clones and prototypes
may apply
CLONES
15
3. Change Types on Prototypes and their Impact on
Prototype/Clone Consistency
17
Operation L0 L1a L1b L1c L2
ObjectStore::createObject ↑ ↑ ↑ ↑ ↑
ObjectStore::deleteObject ≠ ≠ ≠ ≠ ≠
Object::addSlot ↑ ≠ ↑ ≠ ≠
Object::deleteSlot ↑ ↑ ≠ ≠ ≠
Object::modifySlot ↑ ≠ ≠ ↑ ≠
ObjectStore
+ createObject() :Object
+ deleteObject() :void
Slot
- name :String
- Value :Object[*]
+objects
+slots
Object
- id :int
- name :String
+ createClone():Object
+ addSlot() :Slot
+ deleteSlot() :void
+ modifySlot() :void
+prototype 0..1+clones *
*
*
PROTOTYPES
«conforms to»
«library»
L‘
«model»
m‘
CLONES
Engineer
↑ = non-breaking
≠ =breaking
are
s
are
s
PCMM
Generic Artifact based on PCMM
4. Repair Operations to Re-Establish Prototype/Clone
Consistency
18
Example
Desired
consistency level:
L1a Extension
«conforms to»
«library»
L‘
«model»
m‘

obj1: Object
- id = 1
- name = "Motor"
s1: Slot
- name = "nominal speed"
- value = 9000
obj2: Object
- id = 2
- name = “Motor"
s2: Slot
- name = "nominal speed"
- value = 9000
+prototype
+clones

PROTOTYPES
CLONES
Generic Artifact based on PCMM
4. Repair Operations to Re-Establish Prototype/Clone
Consistency
19
Example
Desired
consistency level:
L1a Extension
«conforms to»
«library»
L‘
«model»
m‘
obj1: Object
- id = 1
- name = "Motor"
s1: Slot
- name = "nominal speed"
- value = 9000
obj2 : Object
- id = 2
- name = “Motor"
s2: Slot
- name = "nominal speed"
- value = 9000
+prototype
+clones
PROTOTYPES
CLONES
s3: Slot
- name = "min rotation speed"
- value = 5800
addSlot()


Engineer
Evolution
Generic Artifact based on PCMM
4. Repair Operations to Re-Establish Prototype/Clone
Consistency
20
Example
Desired
consistency level:
L1a Extension
«conforms to»
«library»
L‘
«model»
m‘
obj1: Object
- id = 1
- name = "Motor"
s1: Slot
- name = "nominal speed"
- value = 9000
obj2: Object
- id = 2
- name = "M1"
s2: Slot
- name = "nominal speed"
- value = 9000
+prototype
+clones
PROTOTYPES
CLONES
s3: Slot
- name = "min rotation speed"
- value = 5800
addSlot()
Engineer
Evolution
s4: Slot
- name = "min rotation speed"
- value = 5800
addSlot()


Co-evolution
Case Study: AutomationML
21
 Tool support
Object
Constraint
Language
- Metamodeling
- Modeling (Editor)
- Validation
- Co-evolution (fixing rules)
Conclusion
22
 Presented an approach for dealing with evolving libraries and co-
evolving system models
 Introduced a general metamodel to characterize prototype-based
languages
 Adapted the general metamodel for AutomationML
 Deduced a minimal change model and classified changes w.r.t.
consistency levels
 Showed possible tool support for consistency checks and (semi-)
automated fixing
 Ongoing and Future work:
 Define nesting and inheritance for prototypes in PCMM
 Full AutomationML support (e.g., interfaces and roles)
 Versioning support
Business Informatics Group
Institute of Software Technology and Interactive Systems
Vienna University of Technology
Favoritenstraße 9-11/188-3, 1040 Vienna, Austria
phone: +43 (1) 58801-18804 (secretary), fax: +43 (1) 58801-18896
office@big.tuwien.ac.at, www.big.tuwien.ac.at
Model-Based Co-Evolution of Production Systems
and their Libraries with AutomationML
20th IEEE International Conference on Emerging Technologies and
Factory Automation (ETFA) 2015
Luca Berardinelli, Stefan Biffl, Emanuel Maetzler,
Tanja Mayerhofer, Manuel Wimmer

Más contenido relacionado

La actualidad más candente

Linked Data for Automation Systems Engineering
Linked Data for Automation Systems EngineeringLinked Data for Automation Systems Engineering
Linked Data for Automation Systems EngineeringMarta Sabou
 
Semantic Web for Advanced Engineering
Semantic Web for Advanced EngineeringSemantic Web for Advanced Engineering
Semantic Web for Advanced EngineeringMarta Sabou
 
Semantic Web Technologies for Intelligent Engineering Applications
Semantic Web Technologies for  Intelligent Engineering ApplicationsSemantic Web Technologies for  Intelligent Engineering Applications
Semantic Web Technologies for Intelligent Engineering ApplicationsMarta Sabou
 
Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF)
Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF)Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF)
Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF)Dimitris Kolovos
 
MATLAB/SIMULINK for engineering applications: day 3
MATLAB/SIMULINK for engineering applications: day 3MATLAB/SIMULINK for engineering applications: day 3
MATLAB/SIMULINK for engineering applications: day 3reddyprasad reddyvari
 
Creating and Analyzing Source Code Repository Models - A Model-based Approach...
Creating and Analyzing Source Code Repository Models - A Model-based Approach...Creating and Analyzing Source Code Repository Models - A Model-based Approach...
Creating and Analyzing Source Code Repository Models - A Model-based Approach...Markus Scheidgen
 
Scilab Modelica conference 20150921
Scilab Modelica conference 20150921Scilab Modelica conference 20150921
Scilab Modelica conference 20150921Scilab
 
Developing a new Epsilon Language through Grammar Extension: The Epsilon Dem...
Developing a new Epsilon Language through Grammar Extension: The Epsilon Dem...Developing a new Epsilon Language through Grammar Extension: The Epsilon Dem...
Developing a new Epsilon Language through Grammar Extension: The Epsilon Dem...Dimitris Kolovos
 
Metamodeling vs Metaprogramming, A Case Study on Developing Client Libraries ...
Metamodeling vs Metaprogramming, A Case Study on Developing Client Libraries ...Metamodeling vs Metaprogramming, A Case Study on Developing Client Libraries ...
Metamodeling vs Metaprogramming, A Case Study on Developing Client Libraries ...Markus Scheidgen
 
Model Comparison for Delta-Compression
Model Comparison for Delta-CompressionModel Comparison for Delta-Compression
Model Comparison for Delta-CompressionMarkus Scheidgen
 
Scc2012 Scala
Scc2012 ScalaScc2012 Scala
Scc2012 Scalasteccami
 
Generation of Random EMF Models for Benchmarks
Generation of Random EMF Models for BenchmarksGeneration of Random EMF Models for Benchmarks
Generation of Random EMF Models for BenchmarksMarkus Scheidgen
 
TAEE 2011- State-of-the-Art Remote Laboratories for Industrial Electronics Ap...
TAEE 2011- State-of-the-Art Remote Laboratories for Industrial Electronics Ap...TAEE 2011- State-of-the-Art Remote Laboratories for Industrial Electronics Ap...
TAEE 2011- State-of-the-Art Remote Laboratories for Industrial Electronics Ap...Mohamed Tawfik
 
Model-based Analysis of Large Scale Software Repositories
Model-based Analysis of Large Scale Software RepositoriesModel-based Analysis of Large Scale Software Repositories
Model-based Analysis of Large Scale Software RepositoriesMarkus Scheidgen
 
OCL - The Bigger Picture
OCL - The Bigger PictureOCL - The Bigger Picture
OCL - The Bigger PictureEdward Willink
 
Modelica Tutorial with PowerSystems: A tutorial for Modelica simulation
Modelica Tutorial with PowerSystems: A tutorial for Modelica simulationModelica Tutorial with PowerSystems: A tutorial for Modelica simulation
Modelica Tutorial with PowerSystems: A tutorial for Modelica simulation智哉 今西
 
Matrix Multiplication with Ateji PX for Java
Matrix Multiplication with Ateji PX for JavaMatrix Multiplication with Ateji PX for Java
Matrix Multiplication with Ateji PX for JavaPatrick Viry
 
An Empirical Study of Refactorings and Technical Debt in Machine Learning Sys...
An Empirical Study of Refactorings and Technical Debt in Machine Learning Sys...An Empirical Study of Refactorings and Technical Debt in Machine Learning Sys...
An Empirical Study of Refactorings and Technical Debt in Machine Learning Sys...Raffi Khatchadourian
 

La actualidad más candente (20)

Linked Data for Automation Systems Engineering
Linked Data for Automation Systems EngineeringLinked Data for Automation Systems Engineering
Linked Data for Automation Systems Engineering
 
Semantic Web for Advanced Engineering
Semantic Web for Advanced EngineeringSemantic Web for Advanced Engineering
Semantic Web for Advanced Engineering
 
Semantic Web Technologies for Intelligent Engineering Applications
Semantic Web Technologies for  Intelligent Engineering ApplicationsSemantic Web Technologies for  Intelligent Engineering Applications
Semantic Web Technologies for Intelligent Engineering Applications
 
Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF)
Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF)Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF)
Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF)
 
MATLAB/SIMULINK for engineering applications: day 3
MATLAB/SIMULINK for engineering applications: day 3MATLAB/SIMULINK for engineering applications: day 3
MATLAB/SIMULINK for engineering applications: day 3
 
Creating and Analyzing Source Code Repository Models - A Model-based Approach...
Creating and Analyzing Source Code Repository Models - A Model-based Approach...Creating and Analyzing Source Code Repository Models - A Model-based Approach...
Creating and Analyzing Source Code Repository Models - A Model-based Approach...
 
Scilab Modelica conference 20150921
Scilab Modelica conference 20150921Scilab Modelica conference 20150921
Scilab Modelica conference 20150921
 
Developing a new Epsilon Language through Grammar Extension: The Epsilon Dem...
Developing a new Epsilon Language through Grammar Extension: The Epsilon Dem...Developing a new Epsilon Language through Grammar Extension: The Epsilon Dem...
Developing a new Epsilon Language through Grammar Extension: The Epsilon Dem...
 
Metamodeling vs Metaprogramming, A Case Study on Developing Client Libraries ...
Metamodeling vs Metaprogramming, A Case Study on Developing Client Libraries ...Metamodeling vs Metaprogramming, A Case Study on Developing Client Libraries ...
Metamodeling vs Metaprogramming, A Case Study on Developing Client Libraries ...
 
Model Comparison for Delta-Compression
Model Comparison for Delta-CompressionModel Comparison for Delta-Compression
Model Comparison for Delta-Compression
 
Scc2012 Scala
Scc2012 ScalaScc2012 Scala
Scc2012 Scala
 
Generation of Random EMF Models for Benchmarks
Generation of Random EMF Models for BenchmarksGeneration of Random EMF Models for Benchmarks
Generation of Random EMF Models for Benchmarks
 
Presentation
PresentationPresentation
Presentation
 
TAEE 2011- State-of-the-Art Remote Laboratories for Industrial Electronics Ap...
TAEE 2011- State-of-the-Art Remote Laboratories for Industrial Electronics Ap...TAEE 2011- State-of-the-Art Remote Laboratories for Industrial Electronics Ap...
TAEE 2011- State-of-the-Art Remote Laboratories for Industrial Electronics Ap...
 
Model-based Analysis of Large Scale Software Repositories
Model-based Analysis of Large Scale Software RepositoriesModel-based Analysis of Large Scale Software Repositories
Model-based Analysis of Large Scale Software Repositories
 
OCL - The Bigger Picture
OCL - The Bigger PictureOCL - The Bigger Picture
OCL - The Bigger Picture
 
Modelica Tutorial with PowerSystems: A tutorial for Modelica simulation
Modelica Tutorial with PowerSystems: A tutorial for Modelica simulationModelica Tutorial with PowerSystems: A tutorial for Modelica simulation
Modelica Tutorial with PowerSystems: A tutorial for Modelica simulation
 
Matrix Multiplication with Ateji PX for Java
Matrix Multiplication with Ateji PX for JavaMatrix Multiplication with Ateji PX for Java
Matrix Multiplication with Ateji PX for Java
 
Variation response method CAE simulation suite
Variation response method CAE simulation suiteVariation response method CAE simulation suite
Variation response method CAE simulation suite
 
An Empirical Study of Refactorings and Technical Debt in Machine Learning Sys...
An Empirical Study of Refactorings and Technical Debt in Machine Learning Sys...An Empirical Study of Refactorings and Technical Debt in Machine Learning Sys...
An Empirical Study of Refactorings and Technical Debt in Machine Learning Sys...
 

Similar a Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML

Whats New in Visual Studio 2012 for C++ Developers
Whats New in Visual Studio 2012 for C++ DevelopersWhats New in Visual Studio 2012 for C++ Developers
Whats New in Visual Studio 2012 for C++ DevelopersRainer Stropek
 
Terraform modules restructured
Terraform modules restructuredTerraform modules restructured
Terraform modules restructuredAmi Mahloof
 
Terraform Modules Restructured
Terraform Modules RestructuredTerraform Modules Restructured
Terraform Modules RestructuredDoiT International
 
Clipper at UC Berkeley RISECamp 2017
Clipper at UC Berkeley RISECamp 2017Clipper at UC Berkeley RISECamp 2017
Clipper at UC Berkeley RISECamp 2017Dan Crankshaw
 
Clipper: A Low-Latency Online Prediction Serving System
Clipper: A Low-Latency Online Prediction Serving SystemClipper: A Low-Latency Online Prediction Serving System
Clipper: A Low-Latency Online Prediction Serving SystemDatabricks
 
Practical Chaos Engineering
Practical Chaos EngineeringPractical Chaos Engineering
Practical Chaos EngineeringSIGHUP
 
CloudLightning and the OPM-based Use Case
CloudLightning and the OPM-based Use CaseCloudLightning and the OPM-based Use Case
CloudLightning and the OPM-based Use CaseCloudLightning
 
"Applied Enterprise Metaprogramming in JavaScript", Vladyslav Dukhin
"Applied Enterprise Metaprogramming in JavaScript", Vladyslav Dukhin"Applied Enterprise Metaprogramming in JavaScript", Vladyslav Dukhin
"Applied Enterprise Metaprogramming in JavaScript", Vladyslav DukhinFwdays
 
Search-Based Robustness Testing of Data Processing Systems
Search-Based Robustness Testing of Data Processing SystemsSearch-Based Robustness Testing of Data Processing Systems
Search-Based Robustness Testing of Data Processing SystemsLionel Briand
 
Kostiantyn Bokhan, N-iX. CD4ML based on Azure and Kubeflow
Kostiantyn Bokhan, N-iX. CD4ML based on Azure and KubeflowKostiantyn Bokhan, N-iX. CD4ML based on Azure and Kubeflow
Kostiantyn Bokhan, N-iX. CD4ML based on Azure and KubeflowIT Arena
 
Bounded Model Checking for C Programs in an Enterprise Environment
Bounded Model Checking for C Programs in an Enterprise EnvironmentBounded Model Checking for C Programs in an Enterprise Environment
Bounded Model Checking for C Programs in an Enterprise EnvironmentAdaCore
 
Operationalizing Machine Learning: Serving ML Models
Operationalizing Machine Learning: Serving ML ModelsOperationalizing Machine Learning: Serving ML Models
Operationalizing Machine Learning: Serving ML ModelsLightbend
 
Deep AutoViML For Tensorflow Models and MLOps Workflows
Deep AutoViML For Tensorflow Models and MLOps WorkflowsDeep AutoViML For Tensorflow Models and MLOps Workflows
Deep AutoViML For Tensorflow Models and MLOps WorkflowsBill Liu
 
Triton As NLP Model Inference Back-end
 Triton As NLP Model Inference Back-end Triton As NLP Model Inference Back-end
Triton As NLP Model Inference Back-endKo Ko
 
Managing the Machine Learning Lifecycle with MLOps
Managing the Machine Learning Lifecycle with MLOpsManaging the Machine Learning Lifecycle with MLOps
Managing the Machine Learning Lifecycle with MLOpsFatih Baltacı
 
Vlsi course syllabus verilog language
Vlsi course syllabus verilog languageVlsi course syllabus verilog language
Vlsi course syllabus verilog languageSoftroniics india
 
Timing verification of real-time automotive Ethernet networks: what can we ex...
Timing verification of real-time automotive Ethernet networks: what can we ex...Timing verification of real-time automotive Ethernet networks: what can we ex...
Timing verification of real-time automotive Ethernet networks: what can we ex...RealTime-at-Work (RTaW)
 
F5 Automation and service discovery
F5 Automation and service discoveryF5 Automation and service discovery
F5 Automation and service discoveryScott van Kalken
 

Similar a Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML (20)

Whats New in Visual Studio 2012 for C++ Developers
Whats New in Visual Studio 2012 for C++ DevelopersWhats New in Visual Studio 2012 for C++ Developers
Whats New in Visual Studio 2012 for C++ Developers
 
OpenMP And C++
OpenMP And C++OpenMP And C++
OpenMP And C++
 
Terraform modules restructured
Terraform modules restructuredTerraform modules restructured
Terraform modules restructured
 
Terraform Modules Restructured
Terraform Modules RestructuredTerraform Modules Restructured
Terraform Modules Restructured
 
Clipper at UC Berkeley RISECamp 2017
Clipper at UC Berkeley RISECamp 2017Clipper at UC Berkeley RISECamp 2017
Clipper at UC Berkeley RISECamp 2017
 
Clipper: A Low-Latency Online Prediction Serving System
Clipper: A Low-Latency Online Prediction Serving SystemClipper: A Low-Latency Online Prediction Serving System
Clipper: A Low-Latency Online Prediction Serving System
 
Practical Chaos Engineering
Practical Chaos EngineeringPractical Chaos Engineering
Practical Chaos Engineering
 
CloudLightning and the OPM-based Use Case
CloudLightning and the OPM-based Use CaseCloudLightning and the OPM-based Use Case
CloudLightning and the OPM-based Use Case
 
"Applied Enterprise Metaprogramming in JavaScript", Vladyslav Dukhin
"Applied Enterprise Metaprogramming in JavaScript", Vladyslav Dukhin"Applied Enterprise Metaprogramming in JavaScript", Vladyslav Dukhin
"Applied Enterprise Metaprogramming in JavaScript", Vladyslav Dukhin
 
Search-Based Robustness Testing of Data Processing Systems
Search-Based Robustness Testing of Data Processing SystemsSearch-Based Robustness Testing of Data Processing Systems
Search-Based Robustness Testing of Data Processing Systems
 
Kostiantyn Bokhan, N-iX. CD4ML based on Azure and Kubeflow
Kostiantyn Bokhan, N-iX. CD4ML based on Azure and KubeflowKostiantyn Bokhan, N-iX. CD4ML based on Azure and Kubeflow
Kostiantyn Bokhan, N-iX. CD4ML based on Azure and Kubeflow
 
Bounded Model Checking for C Programs in an Enterprise Environment
Bounded Model Checking for C Programs in an Enterprise EnvironmentBounded Model Checking for C Programs in an Enterprise Environment
Bounded Model Checking for C Programs in an Enterprise Environment
 
Gallio Crafting A Toolchain
Gallio Crafting A ToolchainGallio Crafting A Toolchain
Gallio Crafting A Toolchain
 
Operationalizing Machine Learning: Serving ML Models
Operationalizing Machine Learning: Serving ML ModelsOperationalizing Machine Learning: Serving ML Models
Operationalizing Machine Learning: Serving ML Models
 
Deep AutoViML For Tensorflow Models and MLOps Workflows
Deep AutoViML For Tensorflow Models and MLOps WorkflowsDeep AutoViML For Tensorflow Models and MLOps Workflows
Deep AutoViML For Tensorflow Models and MLOps Workflows
 
Triton As NLP Model Inference Back-end
 Triton As NLP Model Inference Back-end Triton As NLP Model Inference Back-end
Triton As NLP Model Inference Back-end
 
Managing the Machine Learning Lifecycle with MLOps
Managing the Machine Learning Lifecycle with MLOpsManaging the Machine Learning Lifecycle with MLOps
Managing the Machine Learning Lifecycle with MLOps
 
Vlsi course syllabus verilog language
Vlsi course syllabus verilog languageVlsi course syllabus verilog language
Vlsi course syllabus verilog language
 
Timing verification of real-time automotive Ethernet networks: what can we ex...
Timing verification of real-time automotive Ethernet networks: what can we ex...Timing verification of real-time automotive Ethernet networks: what can we ex...
Timing verification of real-time automotive Ethernet networks: what can we ex...
 
F5 Automation and service discovery
F5 Automation and service discoveryF5 Automation and service discovery
F5 Automation and service discovery
 

Más de Luca Berardinelli

Towards_Blended_Modeling_and_Simulation_of_DevOps_Processes_The_Keptn_Case_St...
Towards_Blended_Modeling_and_Simulation_of_DevOps_Processes_The_Keptn_Case_St...Towards_Blended_Modeling_and_Simulation_of_DevOps_Processes_The_Keptn_Case_St...
Towards_Blended_Modeling_and_Simulation_of_DevOps_Processes_The_Keptn_Case_St...Luca Berardinelli
 
Combining fUML and profiles for non-functional analysis based on model execut...
Combining fUML and profiles for non-functional analysis based on model execut...Combining fUML and profiles for non-functional analysis based on model execut...
Combining fUML and profiles for non-functional analysis based on model execut...Luca Berardinelli
 
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case StudyLeveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case StudyLuca Berardinelli
 
Model Driven Engineering for Smart Cities
Model Driven Engineering for Smart Cities Model Driven Engineering for Smart Cities
Model Driven Engineering for Smart Cities Luca Berardinelli
 
Uncertainty-wise Engineering of IoT Cloud Systems
Uncertainty-wise Engineering of IoT Cloud SystemsUncertainty-wise Engineering of IoT Cloud Systems
Uncertainty-wise Engineering of IoT Cloud SystemsLuca Berardinelli
 
COMBINING MODEL-DRIVEN ENGINEERING AND ELASTIC EXECUTION FOR TESTING UNCERTAI...
COMBINING MODEL-DRIVEN ENGINEERING AND ELASTIC EXECUTION FOR TESTING UNCERTAI...COMBINING MODEL-DRIVEN ENGINEERING AND ELASTIC EXECUTION FOR TESTING UNCERTAI...
COMBINING MODEL-DRIVEN ENGINEERING AND ELASTIC EXECUTION FOR TESTING UNCERTAI...Luca Berardinelli
 
ECMFA 2015 - Energy Consumption Analysis and Design with Foundational UML
ECMFA 2015 - Energy Consumption Analysis and Design with Foundational UMLECMFA 2015 - Energy Consumption Analysis and Design with Foundational UML
ECMFA 2015 - Energy Consumption Analysis and Design with Foundational UMLLuca Berardinelli
 
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015Luca Berardinelli
 
Metamodeling - Advanced Software Engineering Course 2014/2015
Metamodeling - Advanced Software Engineering Course 2014/2015Metamodeling - Advanced Software Engineering Course 2014/2015
Metamodeling - Advanced Software Engineering Course 2014/2015Luca Berardinelli
 
fUML-Driven Performance Analysis through the MOSES Model Library
fUML-Driven Performance Analysisthrough the MOSES Model LibraryfUML-Driven Performance Analysisthrough the MOSES Model Library
fUML-Driven Performance Analysis through the MOSES Model LibraryLuca Berardinelli
 
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...Luca Berardinelli
 
Combining fUML and Profiles for Non-Functional Analysis Based on Model Execut...
Combining fUML and Profiles for Non-Functional Analysis Based on Model Execut...Combining fUML and Profiles for Non-Functional Analysis Based on Model Execut...
Combining fUML and Profiles for Non-Functional Analysis Based on Model Execut...Luca Berardinelli
 
MICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context EvolutionMICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context EvolutionLuca Berardinelli
 
Context-aware Performance Modeling and Analysis
Context-aware Performance Modeling and AnalysisContext-aware Performance Modeling and Analysis
Context-aware Performance Modeling and AnalysisLuca Berardinelli
 

Más de Luca Berardinelli (15)

Towards_Blended_Modeling_and_Simulation_of_DevOps_Processes_The_Keptn_Case_St...
Towards_Blended_Modeling_and_Simulation_of_DevOps_Processes_The_Keptn_Case_St...Towards_Blended_Modeling_and_Simulation_of_DevOps_Processes_The_Keptn_Case_St...
Towards_Blended_Modeling_and_Simulation_of_DevOps_Processes_The_Keptn_Case_St...
 
Combining fUML and profiles for non-functional analysis based on model execut...
Combining fUML and profiles for non-functional analysis based on model execut...Combining fUML and profiles for non-functional analysis based on model execut...
Combining fUML and profiles for non-functional analysis based on model execut...
 
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case StudyLeveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
 
Model Driven Engineering for Smart Cities
Model Driven Engineering for Smart Cities Model Driven Engineering for Smart Cities
Model Driven Engineering for Smart Cities
 
Uncertainty-wise Engineering of IoT Cloud Systems
Uncertainty-wise Engineering of IoT Cloud SystemsUncertainty-wise Engineering of IoT Cloud Systems
Uncertainty-wise Engineering of IoT Cloud Systems
 
COMBINING MODEL-DRIVEN ENGINEERING AND ELASTIC EXECUTION FOR TESTING UNCERTAI...
COMBINING MODEL-DRIVEN ENGINEERING AND ELASTIC EXECUTION FOR TESTING UNCERTAI...COMBINING MODEL-DRIVEN ENGINEERING AND ELASTIC EXECUTION FOR TESTING UNCERTAI...
COMBINING MODEL-DRIVEN ENGINEERING AND ELASTIC EXECUTION FOR TESTING UNCERTAI...
 
ECMFA 2015 - Energy Consumption Analysis and Design with Foundational UML
ECMFA 2015 - Energy Consumption Analysis and Design with Foundational UMLECMFA 2015 - Energy Consumption Analysis and Design with Foundational UML
ECMFA 2015 - Energy Consumption Analysis and Design with Foundational UML
 
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
 
Metamodeling - Advanced Software Engineering Course 2014/2015
Metamodeling - Advanced Software Engineering Course 2014/2015Metamodeling - Advanced Software Engineering Course 2014/2015
Metamodeling - Advanced Software Engineering Course 2014/2015
 
fUML-Driven Performance Analysis through the MOSES Model Library
fUML-Driven Performance Analysisthrough the MOSES Model LibraryfUML-Driven Performance Analysisthrough the MOSES Model Library
fUML-Driven Performance Analysis through the MOSES Model Library
 
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...
 
Combining fUML and Profiles for Non-Functional Analysis Based on Model Execut...
Combining fUML and Profiles for Non-Functional Analysis Based on Model Execut...Combining fUML and Profiles for Non-Functional Analysis Based on Model Execut...
Combining fUML and Profiles for Non-Functional Analysis Based on Model Execut...
 
MICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context EvolutionMICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context Evolution
 
Mosquito
MosquitoMosquito
Mosquito
 
Context-aware Performance Modeling and Analysis
Context-aware Performance Modeling and AnalysisContext-aware Performance Modeling and Analysis
Context-aware Performance Modeling and Analysis
 

Último

An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...Chandu841456
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitterShivangiSharma879191
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncssuser2ae721
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
An introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptxAn introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptxPurva Nikam
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 

Último (20)

An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
An introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptxAn introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptx
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 

Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML

  • 1. Business Informatics Group Institute of Software Technology and Interactive Systems Vienna University of Technology Favoritenstraße 9-11/188-3, 1040 Vienna, Austria phone: +43 (1) 58801-18804 (secretary), fax: +43 (1) 58801-18896 office@big.tuwien.ac.at, www.big.tuwien.ac.at Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML 20th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA) 2015 Luca Berardinelli, Stefan Biffl, Emanuel Maetzler, Tanja Mayerhofer, Manuel Wimmer
  • 2. Emerging Technology in Factory Automation 2015 2Best Paper Award
  • 3. Introduction: AutomationML 3  AutomationML (AML) standard for tool data exchange  AML docs are XML-based artifacts  AML as pivotal language: Tool- specific docs can be transformed in AML docs = domain = tool = doc XML-based artifacts CAEX.xsd overall system design mechanical engineering electrical engineering software engineering Industry 4.0
  • 4. Introduction: AutomationML Example 4 Lab-sized Production System “Equipment Center for Distributed Systems,” http://www.iafbg.ovgu.de/en/technische ausstattung cvs.html, Institute of Ergonomics, Manufacturing Systems and Automation at Otto-v.-Guericke University Magdeburg.
  • 5. 5 Turntable Conveyor PI Controller Introduction: AutomationML Example::Model Overview AML Artifact Wooden Block Conveyor Inductive Sensor Turntable .plc PLC Program «conformsTo»  Reusable model elements collected in Libraries. Its elements represents prototypes.  The model is obtained by cloning elements from libraries in hierarchies of connected elements. Its elements are cloned from prototypes «model» mCLONES Motor ∈ PROTOTYPES «library» L∈ PI Controller
  • 6. Introduction: (some) AutomationML Concepts System Unit Class • Reusable Modeling Elements as System Unit Class Library • Set of reusable modeling elements Wooden Block Conveyor PI Controller Inductive Sensor Turntable .plc PLC Program Motor are s External Interface • Elements’ connection points as Internal Link • Elements’ connection as • Attributes nominal speed = 9000 AML Artifact PROTOTYPES «library» L∈ name = value AML concepts for representing L: 66
  • 7. Introduction: (some) AutomationML Concepts Inductive Sensor Motor nominal speed = 9000 AML Artifact Wooden Block Conveyor PI Controller Inductive Sensor Turntable .plc PLC Program Motor nominal speed = 9000 Instance Hierarchy • Main model container: Internal Element • Its constituting elements as External Interface • Elements’ connection points as Internal Link • Elements’ connection as • Attributes name = value AML concepts for representing m: «model» mCLONES ∈ are s «clones» 6
  • 8. Problem Description: Challenges  Challenge: Evolution of engineering data has to be managed  Engineers from diverse domains working in parallel  Challenge: Co-evolution of prototypes and clones has to be managed CLONES PROTOTYPESPROTOTYPES CLONES Engineer Evolution Co-evolution 7
  • 9. Contribution: Framework for prototype/clone co-evolution 1. Generic metamodel for prototype-based languages 2. Levels of consistency rigor between and 3. Change types on and their impact on prototype/clone consistency 4. Repair operations to re-establish prototype/clone consistency PROTOTYPES CLONES PROTOTYPES CLONES PROTOTYPESPROTOTYPES CLONES Engineer Evolution Co-evolution 8
  • 10. Contribution: Framework for prototype/clone co-evolution 1. Generic metamodel for prototype-based languages 2. Levels of consistency rigor between and 3. Change types on and their impact on prototype/clone consistency 4. Repair operations to re-establish prototype/clone consistency PROTOTYPES CLONES PROTOTYPES CLONES PROTOTYPESPROTOTYPES CLONES Engineer Evolution Co-evolution 9
  • 11. Contribution: Framework for prototype/clone co-evolution 1. Generic metamodel for prototype-based languages 2. Levels of consistency rigor between and 3. Change types on and their impact on prototype/clone consistency 4. Repair operations to re-establish prototype/clone consistency PROTOTYPES CLONES PROTOTYPES Engineer Evolution Co-evolution CLONESCLONES PROTOTYPESPROTOTYPES 10
  • 12. Contribution: Framework for prototype/clone co-evolution 1. Generic metamodel for prototype-based languages 2. Levels of consistency rigor between and 3. Change types on and their impact on prototype/clone consistency 4. Repair operations to re-establish prototype/clone consistency PROTOTYPES CLONES PROTOTYPES CLONES PROTOTYPESPROTOTYPES CLONES Co-evolution Engineer Evolution 11
  • 13. 1. Generic Metamodel for Prototype-Based Languages  A general metamodel for prototypes and clones (prototype clone metamodel, PCMM) whose concepts can be adopted for several modeling languages. PROTOTYPES CLONES and as roles  A Object can play different roles, depending on its current relationships ObjectStore + createObject() :Object + deleteObject() :void Slot - name :String - Value :Object[*] +objects +slots Object - id :int - name :String + createClone():Object + addSlot() :Slot + deleteSlot() :void + modifySlot() :void +prototype 0..1+clones * * * 12 PCMM
  • 14. 1. Generic Metamodel for Prototype-Based Languages ObjectStore + createObject() :Object + deleteObject() :void Slot - name :String - Value :Object[*] +objects +slots Object - id :int - name :String + createClone():Object + addSlot() :Slot + deleteSlot() :void + modifySlot() :void +prototype 0..1+clones * * * Generic Artifact based on PCMM objstore1:ObjectStore obj1: Object - id = 1 - name = "Motor" s1: Slot - name = "nominal speed" - value = 9000 obj2: Object - id = 2 - name = “Motor" s2: Slot - name = "nominal speed" - value = 9000 +prototype +clones PROTOTYPES CLONES Attr Attr 13 PCMM
  • 15. 2. Levels of Consistency Rigor between Prototypes and Clones Generic Artifact based on PCMM objstore1:ObjectStore obj1: Object - id = 1 - name = "Motor" s1: Slot - name = "nominal speed" - value = 9000 obj2: Object - id = 2 - name = “Motor" s2: Slot - name = "nominal speed" - value = 9000 +prototype +clones PROTOTYPES «conforms to» «library» L «model» m  Clones and prototypes may evolve independently  Different levels of consistency between clones and prototypes may apply CLONES 14
  • 16. 2. Levels of Consistency Rigor between Prototypes and Clones Level 0: Uncontrolled Compliance  Clones may evolve completely independent from Prototypes  Prototypes are solely used as templates or classification mechanism Level 1: Substantial Compliance  Evolution of clones is partially restricted Level 1a: Extension: all or more slots Level 1b: Restriction: at most all the slots Level 1c: Redefinition: the same but values Level 2: Full Compliance  Clones may not evolve independently of prototypes PROTOTYPES «conforms to» «library» L «model» m  Clones and prototypes may evolve independently  Different levels of consistency between clones and prototypes may apply CLONES 15
  • 17. 3. Change Types on Prototypes and their Impact on Prototype/Clone Consistency 17 Operation L0 L1a L1b L1c L2 ObjectStore::createObject ↑ ↑ ↑ ↑ ↑ ObjectStore::deleteObject ≠ ≠ ≠ ≠ ≠ Object::addSlot ↑ ≠ ↑ ≠ ≠ Object::deleteSlot ↑ ↑ ≠ ≠ ≠ Object::modifySlot ↑ ≠ ≠ ↑ ≠ ObjectStore + createObject() :Object + deleteObject() :void Slot - name :String - Value :Object[*] +objects +slots Object - id :int - name :String + createClone():Object + addSlot() :Slot + deleteSlot() :void + modifySlot() :void +prototype 0..1+clones * * * PROTOTYPES «conforms to» «library» L‘ «model» m‘ CLONES Engineer ↑ = non-breaking ≠ =breaking are s are s PCMM
  • 18. Generic Artifact based on PCMM 4. Repair Operations to Re-Establish Prototype/Clone Consistency 18 Example Desired consistency level: L1a Extension «conforms to» «library» L‘ «model» m‘  obj1: Object - id = 1 - name = "Motor" s1: Slot - name = "nominal speed" - value = 9000 obj2: Object - id = 2 - name = “Motor" s2: Slot - name = "nominal speed" - value = 9000 +prototype +clones  PROTOTYPES CLONES
  • 19. Generic Artifact based on PCMM 4. Repair Operations to Re-Establish Prototype/Clone Consistency 19 Example Desired consistency level: L1a Extension «conforms to» «library» L‘ «model» m‘ obj1: Object - id = 1 - name = "Motor" s1: Slot - name = "nominal speed" - value = 9000 obj2 : Object - id = 2 - name = “Motor" s2: Slot - name = "nominal speed" - value = 9000 +prototype +clones PROTOTYPES CLONES s3: Slot - name = "min rotation speed" - value = 5800 addSlot()   Engineer Evolution
  • 20. Generic Artifact based on PCMM 4. Repair Operations to Re-Establish Prototype/Clone Consistency 20 Example Desired consistency level: L1a Extension «conforms to» «library» L‘ «model» m‘ obj1: Object - id = 1 - name = "Motor" s1: Slot - name = "nominal speed" - value = 9000 obj2: Object - id = 2 - name = "M1" s2: Slot - name = "nominal speed" - value = 9000 +prototype +clones PROTOTYPES CLONES s3: Slot - name = "min rotation speed" - value = 5800 addSlot() Engineer Evolution s4: Slot - name = "min rotation speed" - value = 5800 addSlot()   Co-evolution
  • 21. Case Study: AutomationML 21  Tool support Object Constraint Language - Metamodeling - Modeling (Editor) - Validation - Co-evolution (fixing rules)
  • 22. Conclusion 22  Presented an approach for dealing with evolving libraries and co- evolving system models  Introduced a general metamodel to characterize prototype-based languages  Adapted the general metamodel for AutomationML  Deduced a minimal change model and classified changes w.r.t. consistency levels  Showed possible tool support for consistency checks and (semi-) automated fixing  Ongoing and Future work:  Define nesting and inheritance for prototypes in PCMM  Full AutomationML support (e.g., interfaces and roles)  Versioning support
  • 23. Business Informatics Group Institute of Software Technology and Interactive Systems Vienna University of Technology Favoritenstraße 9-11/188-3, 1040 Vienna, Austria phone: +43 (1) 58801-18804 (secretary), fax: +43 (1) 58801-18896 office@big.tuwien.ac.at, www.big.tuwien.ac.at Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML 20th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA) 2015 Luca Berardinelli, Stefan Biffl, Emanuel Maetzler, Tanja Mayerhofer, Manuel Wimmer