Presentation is loading. Please wait.

Presentation is loading. Please wait.

Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML 20th IEEE International Conference on Emerging Technologies and Factory.

Similar presentations


Presentation on theme: "Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML 20th IEEE International Conference on Emerging Technologies and Factory."— Presentation transcript:

1 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
Best Paper Award

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 Industry 4.0 overall system design mechanical engineering electrical engineering software engineering = domain = tool = doc CAEX.xsd XML-based artifacts

4 Introduction: AutomationML Example
Lab-sized Production System “Equipment Center for Distributed Systems,” ausstattung cvs.html, Institute of Ergonomics, Manufacturing Systems and Automation at Otto-v.-Guericke University Magdeburg.

5 Introduction: AutomationML Example::Model Overview
PROTOTYPES «library» L AML Artifact Wooden Block Conveyor Conveyor Turntable Turntable Reusable model elements collected in Libraries. Its elements represents prototypes. PI Controller PI Controller .plc PLC Program Inductive Sensor Motor «conformsTo» The model is obtained by cloning elements from libraries in hierarchies of connected elements Its elements are cloned from prototypes CLONES «model» m

6 Introduction: (some) AutomationML Concepts
PROTOTYPES are «library» L AML Artifact s Wooden Block Conveyor AML concepts for representing L: Turntable System Unit Class Library Set of reusable modeling elements PI Controller .plc PLC Program System Unit Class Reusable Modeling Elements as Inductive Sensor Motor External Interface Elements’ connection points as nominal speed = 9000 Internal Link Elements’ connection as Attributes name = value 6

7 Introduction: (some) AutomationML Concepts
AML Artifact Wooden Block Conveyor AML concepts for representing m: Turntable Instance Hierarchy Main model container: PI Controller .plc PLC Program Internal Element Its constituting elements as Inductive Sensor Motor External Interface Elements’ connection points as nominal speed = 9000 «clones» Internal Link Elements’ connection as Attributes Inductive Sensor Motor name = value are nominal speed = 9000 CLONES «model» m s 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 Engineer Evolution PROTOTYPES PROTOTYPES CLONES CLONES Co-evolution 7

9 Contribution: Framework for prototype/clone co-evolution
Generic metamodel for prototype-based languages Levels of consistency rigor between and Change types on and their impact on prototype/clone consistency Repair operations to re-establish prototype/clone consistency PROTOTYPES CLONES PROTOTYPES Engineer Evolution PROTOTYPES PROTOTYPES CLONES CLONES Co-evolution 8

10 Contribution: Framework for prototype/clone co-evolution
Generic metamodel for prototype-based languages Levels of consistency rigor between and Change types on and their impact on prototype/clone consistency Repair operations to re-establish prototype/clone consistency PROTOTYPES CLONES PROTOTYPES Engineer Evolution PROTOTYPES PROTOTYPES CLONES CLONES Co-evolution 9

11 Contribution: Framework for prototype/clone co-evolution
Generic metamodel for prototype-based languages Levels of consistency rigor between and Change types on and their impact on prototype/clone consistency Repair operations to re-establish prototype/clone consistency PROTOTYPES CLONES PROTOTYPES Engineer Evolution PROTOTYPES PROTOTYPES CLONES CLONES Co-evolution 10

12 Contribution: Framework for prototype/clone co-evolution
Generic metamodel for prototype-based languages Levels of consistency rigor between and Change types on and their impact on prototype/clone consistency Repair operations to re-establish prototype/clone consistency PROTOTYPES CLONES PROTOTYPES Engineer Evolution PROTOTYPES PROTOTYPES CLONES CLONES Co-evolution 11

13 1. Generic Metamodel for Prototype-Based Languages
PCMM A general metamodel for prototypes and clones (prototype clone metamodel, PCMM) whose concepts can be adopted for several modeling languages. ObjectStore + createObject() :Object deleteObject() :void Slot - name :String Value :Object[*] +objects +slots Object id :int createClone():Object addSlot() :Slot deleteSlot() :void modifySlot() :void +prototype 0..1 +clones * * and as roles A Object can play different roles, depending on its current relationships PROTOTYPES CLONES 12

14 1. Generic Metamodel for Prototype-Based Languages
Generic Artifact based on PCMM PCMM Attr objstore1:ObjectStore ObjectStore + createObject() :Object deleteObject() :void Slot - name :String Value :Object[*] +objects +slots Object id :int createClone():Object addSlot() :Slot deleteSlot() :void modifySlot() :void +prototype 0..1 +clones * * PROTOTYPES obj1: Object +prototype - id = 1 - name = "Motor" s1: Slot - name = "nominal speed" value = 9000 CLONES +clones obj2: Object - id = 2 - name = “Motor" s2: Slot - name = "nominal speed" - value = 9000 13

15 2. Levels of Consistency Rigor between Prototypes and Clones
Generic Artifact based on PCMM Clones and prototypes may evolve independently Different levels of consistency between clones and prototypes may apply objstore1:ObjectStore obj1: Object +prototype - id = 1 PROTOTYPES «library» L - name = "Motor" s1: Slot - name = "nominal speed" value = 9000 «conforms to» +clones obj2: Object CLONES «model» m - id = 2 - name = “Motor" s2: Slot - name = "nominal speed" - value = 9000 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 Clones and prototypes may evolve independently Different levels of consistency between clones and prototypes may apply PROTOTYPES «library» L «conforms to» CLONES «model» m 15

17 3. Change Types on Prototypes and their Impact on Prototype/Clone Consistency
PCMM ObjectStore + createObject() :Object deleteObject() :void Slot - name :String Value :Object[*] +objects +slots Object id :int createClone():Object addSlot() :Slot deleteSlot() :void modifySlot() :void +prototype 0..1 +clones * * Engineer «library» L‘ are PROTOTYPES s ↑ = non-breaking ≠ =breaking «conforms to» are «model» m‘ CLONES s

18 4. Repair Operations to Re-Establish Prototype/Clone Consistency
Generic Artifact based on PCMM Example Desired consistency level: L1a Extension PROTOTYPES obj1: Object +prototype - id = 1 - name = "Motor" «library» L‘ s1: Slot - name = "nominal speed" - value = 9000 +clones «conforms to» obj2: Object - id = 2 «model» m‘ - name = “Motor" s2: Slot - name = "nominal speed" - value = 9000 CLONES

19 4. Repair Operations to Re-Establish Prototype/Clone Consistency
Generic Artifact based on PCMM Example Desired consistency level: L1a Extension PROTOTYPES obj1: Object +prototype - id = 1 - name = "Motor" Evolution addSlot() «library» L‘ Engineer s1: Slot s3: Slot - name = "nominal speed" - name = "min rotation speed" - value = 9000 - value = 5800 +clones «conforms to» obj2 : Object - id = 2 «model» m‘ - name = “Motor" s2: Slot - name = "nominal speed" - value = 9000 CLONES

20 4. Repair Operations to Re-Establish Prototype/Clone Consistency
Generic Artifact based on PCMM Example Desired consistency level: L1a Extension PROTOTYPES obj1: Object +prototype - id = 1 - name = "Motor" Evolution addSlot() «library» L‘ Engineer s1: Slot s3: Slot - name = "nominal speed" - name = "min rotation speed" - value = 9000 - value = 5800 +clones «conforms to» obj2: Object - id = 2 «model» m‘ - name = "M1" Co-evolution addSlot() s2: Slot s4: Slot - name = "nominal speed" - name = "min rotation speed" - value = 9000 - value = 5800 CLONES

21 Case Study: AutomationML
Tool support Metamodeling Modeling (Editor) Validation Co-evolution (fixing rules) Object Constraint Language

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

23 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


Download ppt "Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML 20th IEEE International Conference on Emerging Technologies and Factory."

Similar presentations


Ads by Google