Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML
-
Upload
luca-berardinelli -
Category
Engineering
-
view
562 -
download
0
Transcript of Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML
![Page 1: Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML](https://reader036.fdocuments.in/reader036/viewer/2022081521/58719e9c1a28ab044e8b6569/html5/thumbnails/1.jpg)
Business Informatics GroupInstitute of Software Technology and Interactive Systems Vienna University of TechnologyFavoritenstraße 9-11/188-3, 1040 Vienna, Austriaphone: +43 (1) 58801-18804 (secretary), fax: +43 (1) [email protected], 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
![Page 2: Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML](https://reader036.fdocuments.in/reader036/viewer/2022081521/58719e9c1a28ab044e8b6569/html5/thumbnails/2.jpg)
2
Emerging Technology in Factory Automation 2015
Best Paper Award
![Page 3: Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML](https://reader036.fdocuments.in/reader036/viewer/2022081521/58719e9c1a28ab044e8b6569/html5/thumbnails/3.jpg)
3
Introduction: AutomationML
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-basedartifacts
CAEX.xsd
overall system design
mechanical engineering
electricalengineering
softwareengineering
Industry 4.0
![Page 4: Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML](https://reader036.fdocuments.in/reader036/viewer/2022081521/58719e9c1a28ab044e8b6569/html5/thumbnails/4.jpg)
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.
![Page 5: Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML](https://reader036.fdocuments.in/reader036/viewer/2022081521/58719e9c1a28ab044e8b6569/html5/thumbnails/5.jpg)
5
Turntable Conveyor
PI Controller
Introduction: AutomationML Example::Model Overview
AML Artifact
Wooden BlockConveyor
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
![Page 6: Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML](https://reader036.fdocuments.in/reader036/viewer/2022081521/58719e9c1a28ab044e8b6569/html5/thumbnails/6.jpg)
Introduction: (some) AutomationML Concepts
System Unit Class
• Reusable Modeling Elements as
System Unit Class Library
• Set of reusable modeling elements Wooden BlockConveyor
PI ControllerInductive
Sensor
Turntable
.plc
PLC ProgramMotor
are
s
External Interface
• Elements’ connection points as
Internal Link
• Elements’ connection as
• Attributes
nominal speed = 9000
AML ArtifactPROTOTYPES «library»L∈
name = value
AML concepts for representing L:
66
![Page 7: Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML](https://reader036.fdocuments.in/reader036/viewer/2022081521/58719e9c1a28ab044e8b6569/html5/thumbnails/7.jpg)
Introduction: (some) AutomationML Concepts
Inductive Sensor
Motornominal speed = 9000
AML Artifact
Wooden BlockConveyor
PI ControllerInductive
Sensor
Turntable
.plc
PLC ProgramMotor
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
![Page 8: Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML](https://reader036.fdocuments.in/reader036/viewer/2022081521/58719e9c1a28ab044e8b6569/html5/thumbnails/8.jpg)
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
EngineerEvolution
Co-evolution 7
![Page 9: Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML](https://reader036.fdocuments.in/reader036/viewer/2022081521/58719e9c1a28ab044e8b6569/html5/thumbnails/9.jpg)
Contribution: Framework for prototype/clone co-evolution
1. Generic metamodel for prototype-based languages2. Levels of consistency rigor between and3. Change types on and their impact on prototype/clone
consistency4. Repair operations to re-establish prototype/clone consistency
PROTOTYPES CLONES
PROTOTYPES
CLONES
PROTOTYPESPROTOTYPES
CLONES
EngineerEvolution
Co-evolution 8
![Page 10: Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML](https://reader036.fdocuments.in/reader036/viewer/2022081521/58719e9c1a28ab044e8b6569/html5/thumbnails/10.jpg)
Contribution: Framework for prototype/clone co-evolution
1. Generic metamodel for prototype-based languages2. Levels of consistency rigor between and3. Change types on and their impact on prototype/clone
consistency4. Repair operations to re-establish prototype/clone consistency
PROTOTYPES CLONES
PROTOTYPES
CLONES
PROTOTYPESPROTOTYPES
CLONES
EngineerEvolution
Co-evolution 9
![Page 11: Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML](https://reader036.fdocuments.in/reader036/viewer/2022081521/58719e9c1a28ab044e8b6569/html5/thumbnails/11.jpg)
Contribution: Framework for prototype/clone co-evolution
1. Generic metamodel for prototype-based languages2. Levels of consistency rigor between and3. Change types on and their impact on prototype/clone
consistency4. Repair operations to re-establish prototype/clone consistency
PROTOTYPES CLONES
PROTOTYPES
EngineerEvolution
Co-evolution
CLONESCLONES
PROTOTYPESPROTOTYPES
10
![Page 12: Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML](https://reader036.fdocuments.in/reader036/viewer/2022081521/58719e9c1a28ab044e8b6569/html5/thumbnails/12.jpg)
Contribution: Framework for prototype/clone co-evolution
1. Generic metamodel for prototype-based languages2. Levels of consistency rigor between and3. Change types on and their impact on prototype/clone
consistency4. Repair operations to re-establish prototype/clone consistency
PROTOTYPES CLONES
PROTOTYPES
CLONES
PROTOTYPESPROTOTYPES
CLONES
Co-evolution
EngineerEvolution
11
![Page 13: Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML](https://reader036.fdocuments.in/reader036/viewer/2022081521/58719e9c1a28ab044e8b6569/html5/thumbnails/13.jpg)
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
![Page 14: Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML](https://reader036.fdocuments.in/reader036/viewer/2022081521/58719e9c1a28ab044e8b6569/html5/thumbnails/14.jpg)
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
![Page 15: Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML](https://reader036.fdocuments.in/reader036/viewer/2022081521/58719e9c1a28ab044e8b6569/html5/thumbnails/15.jpg)
2. Levels of Consistency Rigor between Prototypes and ClonesGeneric 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
![Page 16: Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML](https://reader036.fdocuments.in/reader036/viewer/2022081521/58719e9c1a28ab044e8b6569/html5/thumbnails/16.jpg)
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
![Page 17: Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML](https://reader036.fdocuments.in/reader036/viewer/2022081521/58719e9c1a28ab044e8b6569/html5/thumbnails/17.jpg)
17
3. Change Types on Prototypes and their Impact on Prototype/Clone Consistency
Operation L0 L1a L1b L1c L2ObjectStore::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
![Page 18: Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML](https://reader036.fdocuments.in/reader036/viewer/2022081521/58719e9c1a28ab044e8b6569/html5/thumbnails/18.jpg)
18
Generic Artifact based on PCMM
4. Repair Operations to Re-Establish Prototype/Clone Consistency
ExampleDesired 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
![Page 19: Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML](https://reader036.fdocuments.in/reader036/viewer/2022081521/58719e9c1a28ab044e8b6569/html5/thumbnails/19.jpg)
19
Generic Artifact based on PCMM
4. Repair Operations to Re-Establish Prototype/Clone Consistency
ExampleDesired 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
![Page 20: Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML](https://reader036.fdocuments.in/reader036/viewer/2022081521/58719e9c1a28ab044e8b6569/html5/thumbnails/20.jpg)
20
Generic Artifact based on PCMM
4. Repair Operations to Re-Establish Prototype/Clone Consistency
ExampleDesired 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
![Page 21: Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML](https://reader036.fdocuments.in/reader036/viewer/2022081521/58719e9c1a28ab044e8b6569/html5/thumbnails/21.jpg)
21
Case Study: AutomationML
Tool support
Object Constraint Language
- Metamodeling- Modeling (Editor)
- Validation- Co-evolution (fixing rules)
![Page 22: Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML](https://reader036.fdocuments.in/reader036/viewer/2022081521/58719e9c1a28ab044e8b6569/html5/thumbnails/22.jpg)
22
Conclusion
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
![Page 23: Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML](https://reader036.fdocuments.in/reader036/viewer/2022081521/58719e9c1a28ab044e8b6569/html5/thumbnails/23.jpg)
Business Informatics GroupInstitute of Software Technology and Interactive Systems Vienna University of TechnologyFavoritenstraße 9-11/188-3, 1040 Vienna, Austriaphone: +43 (1) 58801-18804 (secretary), fax: +43 (1) [email protected], 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