Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Business Informatics Group
Institute of Software Technology and Interactive Systems
Vienna University of Technology
Favori...
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...
Introduction: AutomationML Example
4
Lab-sized Production System
“Equipment Center for Distributed Systems,”
http://www.ia...
5
Turntable Conveyor
PI Controller
Introduction: AutomationML Example::Model Overview
AML Artifact
Wooden Block
Conveyor
I...
Introduction: (some) AutomationML Concepts
System Unit Class
• Reusable Modeling Elements as
System Unit Class Library
• S...
Introduction: (some) AutomationML Concepts
Inductive
Sensor
Motor
nominal speed = 9000
AML Artifact
Wooden Block
Conveyor
...
Problem Description: Challenges
 Challenge: Evolution of engineering data has to be managed
 Engineers from diverse doma...
Contribution: Framework for prototype/clone co-evolution
1. Generic metamodel for prototype-based languages
2. Levels of c...
Contribution: Framework for prototype/clone co-evolution
1. Generic metamodel for prototype-based languages
2. Levels of c...
Contribution: Framework for prototype/clone co-evolution
1. Generic metamodel for prototype-based languages
2. Levels of c...
Contribution: Framework for prototype/clone co-evolution
1. Generic metamodel for prototype-based languages
2. Levels of c...
1. Generic Metamodel for Prototype-Based Languages
 A general metamodel for prototypes
and clones (prototype clone metamo...
1. Generic Metamodel for Prototype-Based Languages
ObjectStore
+ createObject() :Object
+ deleteObject() :void
Slot
- name...
2. Levels of Consistency Rigor between Prototypes and Clones
Generic Artifact based on PCMM
objstore1:ObjectStore
obj1: Ob...
2. Levels of Consistency Rigor between Prototypes and Clones
Level 0: Uncontrolled Compliance
 Clones may evolve complete...
3. Change Types on Prototypes and their Impact on
Prototype/Clone Consistency
17
Operation L0 L1a L1b L1c L2
ObjectStore::...
Generic Artifact based on PCMM
4. Repair Operations to Re-Establish Prototype/Clone
Consistency
18
Example
Desired
consist...
Generic Artifact based on PCMM
4. Repair Operations to Re-Establish Prototype/Clone
Consistency
19
Example
Desired
consist...
Generic Artifact based on PCMM
4. Repair Operations to Re-Establish Prototype/Clone
Consistency
20
Example
Desired
consist...
Case Study: AutomationML
21
 Tool support
Object
Constraint
Language
- Metamodeling
- Modeling (Editor)
- Validation
- Co...
Conclusion
22
 Presented an approach for dealing with evolving libraries and co-
evolving system models
 Introduced a ge...
Business Informatics Group
Institute of Software Technology and Interactive Systems
Vienna University of Technology
Favori...
Upcoming SlideShare
Loading in …5
×

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

760 views

Published on

System models are essential in planning, designing, realizing, and maintaining production systems. AutomationML (AML) is an emerging standard to represent and exchange heterogeneous artifacts throughout the complete system life cycle and is more and more used as a modeling language. AML is designed as a flexible, prototype-based language able to represent the full spectrum of different artifacts. It may be utilized to build reusable libraries containing prototypical elements to build up production systems by using clones. However, libraries have to evolve over time, e.g., to reflect bug fixes, new features or refactorings, and so system models have to co-evolve to reflect
the changes in the libraries.
To tackle this co-evolution challenge, we specify in this paper the relationship between library elements, i.e., prototypes, and system elements, i.e., clones, by establishing a formal model for prototype-based modeling languages. Based on this formalization,we introduce several levels of consistency rigor one may want to achieve when modeling with prototype-based languages. These levels are also the main input to reason about the impact of library changes on the concrete system models for which we provide semi-automated co-evolution propagation strategies. We apply the established theory to the concrete AML case and present concrete tool support for evolving AML models based on Eclipse which demonstrates that consistency between system models and libraries may be maintained semi-automatically.

Published in: Engineering
  • Be the first to comment

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

  1. 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. 2. Emerging Technology in Factory Automation 2015 2Best Paper Award
  3. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 21. Case Study: AutomationML 21  Tool support Object Constraint Language - Metamodeling - Modeling (Editor) - Validation - Co-evolution (fixing rules)
  22. 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. 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

×