model-based co-evolution of production systems and their libraries with automationml

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 [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

Upload: luca-berardinelli

Post on 16-Apr-2017

563 views

Category:

Engineering


0 download

TRANSCRIPT

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

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

2

Emerging Technology in Factory Automation 2015

Best Paper Award

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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