Cross-disciplinary Modeling the Good, the Bad, and the Ugly

Similar documents
Multi Level Modeling in the Wild

Christian Doppler Laboratory

State of the Art and Future Directions in Model Management Research

Towards an Integrated Plant Engineering Process Using a Data Conversion Tool for AutomationML

Navigating between Tools in Heterogeneous Automation Systems Engineering Landscapes

Context-Aware Analytics in MOM Applications

Semantic integration by means of a graphical OPC Unified Architecture (OPC-UA) information model designer for Manufacturing Execution Systems

Knowledge-based Integration of Industrial Plant Models

Semantics-Based Integration of Embedded Systems Models


Integration of a formalized process description into MS Visio with regard to an integrated engineering process

Semantic Integration of Data Models Across Engineering Disciplines

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Event Metamodel and Profile (EMP) Proposed RFP Updated Sept, 2007

Migration to AutomationML based Tool Chains incrementally overcoming Engineering Network Challenges

A Generic Framework for Realizing Semantic Model Differencing Operators

The Open Group SOA Ontology Technical Standard. Clive Hatton

An Introduction to MDE

3rd Lecture Languages for information modeling

lnteroperability of Standards to Support Application Integration

Fundamentals to Creating Architectures using ISO/IEC/IEEE Standards

Proposed Revisions to ebxml Technical. Architecture Specification v1.04

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Small is Beautiful Building a flexible software factory using small DSLs and Small Models

Semantic Model-driven Engineering

Dictionary Driven Exchange Content Assembly Blueprints

Compositional Model Based Software Development

Proposed Revisions to ebxml Technical Architecture Specification v ebxml Business Process Project Team

Modelling in Enterprise Architecture. MSc Business Information Systems

On Using UML Profiles in ATL Transformations

Model driven Engineering & Model driven Architecture

Introduction to MDE and Model Transformation

Software Architecture in Action. Flavio Oquendo, Jair C Leite, Thais Batista

Enterprise Architect. User Guide Series. Domain Models

An MDD Process for IEC based Industrial Automation Systems

Domain-Driven Development with Ontologies and Aspects

QoS-aware model-driven SOA using SoaML

Overview of lectures today and Wednesday

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

Enabling Multi-View Modeling With SysML Profiles and Model Transformations. Aditya A. Shah, Dirk Schaefer and Christiaan J.J.

Starting points. A significant cost factor of industrial production systems is the engineering process. A survey revealed:

Object-Oriented Modeling. Sequence Diagram. Slides accompanying Version 1.0

Potential usage of AutomationML to feed back data from the shopfloor into the digital planning models. 5th AutomationML User Conference

OMG Specifications for Enterprise Interoperability

Interoperability between OPC UA and AutomationML

SysML Past, Present, and Future. J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd

Model Driven Architecture - The Vision

Model Driven Engineering (MDE)

USING PAPYRUS IN A DESIGN SPACE EXPLORATION TOOLCHAIN CURRENT DEVELOPMENTS AT FLANDERS MAKE

Papyrus: Advent of an Open Source IME at Eclipse (Redux)

Benefits and Challenges of Architecture Frameworks

This document is a preview generated by EVS

Transforming Enterprise Ontologies into SBVR formalizations

Models versus Ontologies - What's the Difference and where does it Matter?

From business functions to control functions: Transforming REA to ISA-95

WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES. Introduction. Production rules. Christian de Sainte Marie ILOG

Rich Hilliard 20 February 2011

ISO INTERNATIONAL STANDARD. Financial services Universal financial industry message scheme Part 3: Modelling

Future Directions for SysML v2 INCOSE IW MBSE Workshop January 28, 2017

ISA-95 Tool for Enterprise Modeling

Model-Based Social Networking Over Femtocell Environments

Model Driven Development Unified Modeling Language (UML)

ISO INTERNATIONAL STANDARD. Financial services Universal financial industry message scheme Part 8: ASN.1 generation

Modeling Requirements

Edge Computing & Blockchains for Industrial Automation. John Kaldis Athens Information Technology

Ontology-based Model Transformation

!MDA$based*Teaching*and* Research*in*Software*Engineering*!

Semantics for and from Information Models Mapping EXPRESS and use of OWL with a UML profile for EXPRESS

innoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel

Extending Mechatronic Objects for Automation Systems Engineering in Heterogeneous Engineering Environments

Models in Conflict Towards a Semantically Enhanced Version Control System for Models

Outline. A little history. Outline. The Unified Modeling Language Opportunities and Challenges for Formal Methods

Introduction to Dependable Systems: Meta-modeling and modeldriven

Semantic Interoperability in a Heterogeneous World via AutomationML-based Mappings

Protégé-2000: A Flexible and Extensible Ontology-Editing Environment

Chapter 7. Modular Refactoring. 7.1 Introduction to Modular Refactoring

Model Driven Engineering (MDE) and Diagrammatic Predicate Logic (DPL)

MDSE USE CASES. Chapter #3

Dominique Blouin Etienne Borde

Efficient Monitoring of Multi-Disciplinary Engineering Constraints with Semantic Data Integration in the Multi-Model Dashboard Process

Raising the Level of Development: Models, Architectures, Programs

INF5120 and INF9120 Modelbased System development

METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE

Information technology Metamodel framework for interoperability (MFI) Part 1: Framework

Available online at ScienceDirect. Procedia CIRP 25 (2014 )

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems

AutomationML - Industrie 4.0 Candidate Standard for Asset Model Engineering and Plug & Work

ISO/IEC INTERNATIONAL STANDARD

Using the UML for Architectural Description Rich Hilliard

UML 2.0 State Machines

Design and Prototypical Implementation of a Pivot Model as Exchange Format for Models and Metamodels in a QVT/OCL Development Environment

Common Pitfalls of Using QVT Relations Graphical Debugging as Remedy

SYLLABUS CHAPTER - 1 [SOFTWARE REUSE SUCCESS FACTORS] Reuse Driven Software Engineering is a Business

Topics. Software Process. Agile. Requirements. Basic Design. Modular Design. Design Patterns. Testing. Quality. Refactoring.

Beginning To Define ebxml Initial Draft

Towards xmof: Executable DSMLs based on fuml

Technical Framework Supporting ebusiness Standards. Christian Huemer TMG Chair

Towards Open Modular Critical Systems

Domain-Specific Language Architecture for Automation Systems: An Industrial Case Study

EXECUTABLE MODELING WITH FUML AND ALF IN PAPYRUS: TOOLING AND EXPERIMENTS

Transcription:

Cross-disciplinary Modeling the Good, the Bad, and the Ugly QRS 2016 August 2 2016, TU Wien Gerti Kappel & Team 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

Motivation The Good Heterogeneity Engineering since Distributed Database Systems Language / Transformation Engineering since Model-Driven Engineering The Bad Dealing with Views, Interfaces, (In-)Consistencies still in its infancy The Ugly Lots of implicit conventions, hidden knowledge around Missing domain knowledge 2

Introduction Interface Integration Model Exchange Rèsumè Content Introduction Model-Driven Engineering in Software Engineering Cyber-Physical Production Systems (CPPS) MDE in CPPS I: Interface Integration MDE in CPPS II: Model Exchange Résumé 3

MDE: From Software to Systems Main Motivation: Ubiquitous computing, software, models J. Bézivin. Software Modeling and the Future of Engineering. STAF Keynote, 2014. 4

The CPPS Domain Scope and Scientific Challenges D. Gerhard: TUWin 4.0 - One Stop Shop für Industrie 4.0, Fachkongress Industrie 4.0, 2014. 5

Separation of Problem Space and Solution Space Domain Engineering vs. Support Engineering Engineering Fields Domain Engineering Support Engineering {incomplete, overlapping} {incomplete, overlapping} Robotics Engineering Civil Engineering Process Engineering Model Engineering Electrical Engineering Mechanical Engineering Data Engineering Service Engineering J. Bézivin. Software Modeling and the Future of Engineering. STAF Keynote, 2014. 6

Taking a closer look at CPPS Problem and Solution Clusters Sub-Domains Economics Logistics Internet of Things Mechanics Electrical Engineering Mechatronics Control Engineering Enterprise Engineering Robotics Support Engineering Product Line Engineering Model Engineering Ontology Engineering Requirement Engineering Component Engineering Document Engineering Agent Engineering Main Characteristics Multi-disciplinary field Socio-Cyber-Physical Systems Main Challenges Which solutions are usable by domain engineers? Which adaptations are necessary for the specific domain? 7

Introduction Interface Integration Model Exchange Rèsumè Content Introduction Modeling and Model-Driven Engineering in Software Engineering Cyber-Physical Production Systems (CPPS) MDE in CPPS I: Interface Integration MDE in CPPS II: Model Exchange Résumé 8

Interfaces within a manufacturing company Clear definition of system boundaries (ERP MES SCADA/RFID/PLC) Enterprise Level time period: quarterly, monthly ISA-95 Interface Standards Shop Floor Control Level time period: weeks, shifts per day ISA-95 Functional Model Shop Floor Field Level time period: minutes, seconds IEC, OPC, & OMAC Interface Standards Source: ISO/IEC 62264-1 Enterprise-Control System Integration Part 1: Models and Terminology 9

Functional Enterprise-control model Source: IEC 62264-1 Enterprise-Control System Integration Part 1: Models and Terminology Based on the PURDUE Enterprise Reference Architecture The model describes 31 information flows between the enterprise domain (level 4) and the control domain (level 3) 10

Types of Information Exchange between Level 4 and Level 3 How to make a product bill of material What is available Resource planning When - Scheduling Performance Analysis Source: IEC 62264-1 Enterprise-Control System Integration Part 1: Models and Terminology 11

ISA-95 Information models B2MML: XML serialization of the ISA-95 models Source: IEC 62264-1 Enterprise-Control System Integration Part 1: Models and Terminology 12

REA Ontology (ISO 15944-4) Resource Event Agent Business Ontology RESOURCES: goods, services, labor, rights have utility, are scarce and are under the control of a legal or natural person EVENTS: are occurrences in time that relate subsequent process states to each other Increment event: gaining control of a resource Decrement event: loosing control of a resource AGENTS: enterprises, departments, persons (accountable for, participate in, initiate) REA differs two kinds of business activities EXCHANGE (Transfer) exchange of resources between business partners TRANSFORMATION production process - implicit exchange and conversion (use, consume, produce) 13

REA Meta Model Source: FFG BRIDGE-Project REAlist Mayrhofer, Mazak, Wally, Kratzwald, Huemer, 2014 14

REA: Value Net and Value Chain External View Interal View Source: Enterprise Information Systems: A Pattern-Based Approach, Dunn et al., 2004

InteGra 4.0 Approach ISA-95 REA ERP InteGra 4.0 ISA-95 ISA-95 describing information flows between the enterprise domain and the control domain MES REA Business functions across the entire value chain, from the moment an order is placed right through to outbound logistics Model-driven Smart Engineering: Alignment of the concepts of REA and the models of ISA-95 Horizontal integration through value networks Vertical integration and networked manufacturing systems End-to-end digital integration of engineering across the entire value chain 16

Introduction Interface Integration Model Exchange Rèsumè Content Introduction Modeling and Model-Driven Engineering in Software Engineering Cyber-Physical Production Systems (CPPS) MDE in CPPS I: Interface Integration MDE in CPPS II: Model Exchange Résumé 17

Engineering of CPPS Industry 4.0: computerization of manufacturing Principles Interoperability: the ability of CPPS and humans to connect and communicate Virtualization: a virtual copy of the factory with sensed data Decentralization: the ability of CPPSs to make decisions on their own Real-time capability: monitoring, analysis, planning, execution Modularity: flexible adaptation of smart factories to changing requirements Challenges Multi-disciplinary domain Heterogeneous document/tool landscape mechanical engineering Industry 4.0 overall system design software engineering electrical engineering = domain = tool = doc 18

Introduction: Engineering of industrial production systems Lab-sized flexible manufacturing system: - hardware parts: turntables, motor, Raspberry PI, Field I/O modules, electrical wirings. - software: Raspberry Pi programs (IEC 61131-3 standards, PLC programming) mechanical engineering Industry 4.0 overall system design electrical engineering software engineering = domain = tool = doc Equipment Center for Distributed Systems, Institute of Ergonomics, Manufacturing Systems and Automation at Otto-v.-Guericke University Magdeburg. 19

Problem Description Different engineering disciplines are involved in the engineering process Engineering steps are often done in parallel Current solutions often lack support for Versioning Linking different engineering artefacts Typical industrial plant engineering process R. Drath, B. Schröter, and M. Hoernicke, Datenkonsistenz im Umfeld heterogener Engineering-Werkzeuge, in Automation Conference, 2011, pp. 29-32. 20

Artefacts found in CPPS Engineering Process 21

Engineering of CPPS: Common Format? AutomationML (AML) Emerging standard for tool data exchange Foundation for harmonizing engineering data coming from an heterogeneous tool network by means of a unified format and data model mechanical engineering Industry 4.0 overall system design electrical engineering software engineering = domain = tool = doc AutomationML website: http://www.automationml.org IEC 62714 - Engineering data exchange format for use in industrial automation systems engineering - AutomationML, 22 www.iec.ch, 2014.

Our AML Research Topics Modeling AML Industry 4.0 overall system design Language Connections mechanical engineering electrical engineering Linking AML software engineering Evolution Support = domain = tool = doc 23

Our AML Research Topics Modeling AML Industry 4.0 overall system design Language Connections mechanical engineering electrical engineering Linking AML software engineering Evolution Support = domain = tool = doc 24

AutomationML = Automation (Markup Modeling) Language? S. Faltinski, O. Niggemann, N. Moriz, A. Mankowski: AutomationML: From data exchange to system planning and simulation, in Proc. of ICIT, 2012, pp. 378 383. 25

AutomationML = Automation (Markup Modeling) Language? Object-Oriented Format Automation object: physical or logical entity in the automated system Tree-Based Format? Plant topology information: The plant topology acts as the top-level data structure of the plant engineering information and shall be modelled by means of the data format CAEX according to IEC 62424:2008, Clause 7, Annex A and Annex C. Semantic extensions of CAEX are described separately. Multiple and crossed hierarchy structures shall be used by means of the mirror object concept according to IEC 62424:2008, A.2.14. Mirror objects shall not be modified; all changes shall be done at the master object. 26

From Tree-based to Graph-based Representations Language Engineering via Metamodeling Graph Theory Metamodeling Stack Linguistic TypeGraph formalized_by Meta-Metamodel defines Meta- Language «conformsto» Metamodel defines Language «conformsto» «conformsto» Graph is a TypeGraph formalized by «conformsto» Graph formalized by Model represents System T. Kühne: Matters of (Meta-)Modeling. Software and System Modeling 5(4), pages 369-385, 2006. G. Engels, C. Lewerentz, M. Nagl, W. Schäfer, A. Schürr: Building Integrated Software Development Environments Part I: Tool Specification. ACM Trans. Softw. Eng. Methodol. 1(2):135-167, 1992. 27

AutomationML by Example Instance Hierarchy (IE, ExtInt) Equipment Center for Distributed Systems, Institute of Ergonomics, Manufacturing Systems and Automation at Otto-v.-Guericke University Magdeburg. System under Study System Unit Class Library (SUC, IE, ExtInt) Role Class Library (RC, ExtInt) Interface Class Library (IC) 28

Metamodeling AutomationML AutomationML family is defined by a set of XML Schemas Systematic metamodel creation process Step 1: Generative approach to produce initial Ecore-based metamodel Step 2: Refactorings for improving language design Resulting metamodels are complete and correct with respect to XML Schemas allow to import/export data from/to XML data XSD Correspondences Ecore conformsto conformsto AML XSDs AML XML implies Metamodel Transformation implies Model Transformation conformsto AML Metamodel conformsto AML Model A. Schauerhuber, M. Wimmer, E. Kapsammer, W. Schwinger, W. Retschitzegger: Bridging WebML to Model-Driven Engineering: From DTDs to MOF. IET Software 1(3), 2007. 29

AutomationML Metamodel Exceprt S. Biffl, A. Lüder, E. Mätzler, N. Schmidt, M. Wimmer: Linking and Versioning Support for AutomationML: A Model-Driven Engineering Perspective, accepted for INDIN, 2015, pp. 1 8. 30

AutomationML (AML) = AML editor metamodel.ecore (from.xsd) model:: IH «conforms to» 1 2 5 3 4 «represented by» manufacturing system 31

AutomationML (AML) = AML editor metamodel.ecore model:: SUClib «conforms to» 1 2 3 5 4 6 «represented by» manufacturing system 32

AutomationML (AML) = AML editor model:: RClib metamodel.ecore 2 1 Role = Abstract functionality played by system elements, without implementation details 3 4 «represented by» manufacturing system 33

AutomationML (AML) = AML editor metamodel.ecore 1 model:: IClib 2 3 manufacturing system «represented by» 34

Flexible Manufacturing System in AML Editor = AML editor manufacturing system 35

Our AML Research Topics Modeling AML Industry 4.0 overall system design Language Connections mechanical engineering electrical engineering Linking AML software engineering Evolution Support = domain = tool = doc 36

Further Benefits of Explicit Models Model Transformation Pattern and Supporting Tools Metamodel Transformation Implementation Metamodel «conformsto» executes «conformsto» Model reads Transformation Engine writes Model K. Czarnecki, S. Helsen. Feature-based survey of model transformation approaches. IBM Systems Journal 45(3), pages 621-646, 2006. 37

Transformation Scenario Investigated AML and SysML: Two Unrelated Modeling Standards overall system design overall system design mechanical engineering electrical engineering mechanical engineering electrical engineering software engineering software engineering = domain = tool = doc 38

SysML in a Nutshell (1/2) SysML is a graphical modeling language standardized by OMG for the development of large-scale, complex, and multi-disciplinary systems in a model-based approach. It provides modeling concepts for representing the requirements, structure, and behavior of a system. Captures the overall design of a system on a high level of abstraction and traces this design to the discipline-specific models 39

SysML in a Nutshell (2/2) Additions to UML for Requirements and Properties Requirement: SysML provides modeling constructs to represent text-based requirements and relate them to other modeling elements. Constraints and Parametric Diagram (constraint analysis) Customization of UML for structural modeling through Classes and Composite Structures Block derives from CompositeStructures::Class Deployments Interactions UML UML4 SysML Classes CompositeStructures Activities StateMachines SysML Requirements Properties 40

From AutomationML to SysML and Back Again Commonalities and differences between the structural modeling sublanguages of AML (CAEX) and SysML (Block Diagrams) AML metamodel and profiles for UML and SysML Transformations between AML and SysML (UML/SysML already available through language definition) Class Diagram(s) Composite Structure Diagram(s) Block Definition Diagrams (BDDs) Internal Block Diagrams (IBDs) Tree-based view «represented by» 41

Comparison of AML and SysML 1. AML: Data exchange format vs. SysML: language for systems modeling AML serves as a standardized exchange format between the diverse discipline-specific tools involved in the development of automation systems. SysML is designed as a language for systems modeling, i.e., representing the design of a system that builds the basis for planning, implementing, and analyzing it. 2. AML: Tree-based editing vs. SysML: diagram-based editing Benefits of graphical representation: visualizing the architecture of a system and the power of building multiple views on a complex system 42

Comparison of AML and SysML 3. AML: Prototype-based vs. SysML: Class-based model:: IH model:: SUClib cloning (SUC->IE) clone of Turntable SUC prototype for IH::IEs «represented by» manufacturing system «represented by» 43

Comparison of AML and SysML 4. Extensibility Mechanisms AML. RClibs can be used for introducing new concepts Role. A role is a class that describes an abstract functionality without defining the underlying technical implementation. A Resource is an entity involved in production; they execute processes and handle products. Examples for resources are robots, conveyors or machines. Resources may be hardware components of a production system, but also software. A Product depicts a produced good. Products are processed by resources. A Process represents a production process including sub-processes, process parameters and the process chain. SysML: UML profiling mechanism 44

Modeling with AML4SysML SysML is an extension of UML We reuse and extend the common UML SysML subset UML Metamodel AML4UML <<metaclass>> Class AML4SysML <<metaclass>> Class SysML Profile <<stereotype>> Block AML Profile <<stereotype>> InternalElement (IE) <<stereotype>> InternalElement (IE) 45

Flexible Manufacturing System in AML Editor = AML editor 46

Flexible Manufacturing System in AML and SysML (excerpt) 47

Flexible Manufacturing System in AML and SysML (excerpt) bdd IAF Plant «IH» bdd PlantComponents (SUClib) «model library» 48

Flexible Manufacturing System in AML and SysML (excerpt) 49

Summary Mapping between the structural modeling concepts of AML and SysML Comparison Metamodels UML/SysML profiles Transformations Bridge between IEC and OMG Future Work Explore mappings between the behavioral modeling parts of AML PLCopen and SysML Activity Diagrams Code generation, model transformation to formal domains for analysis purposes 50

Our AML Research Topics Modeling AML Industry 4.0 overall system design Language Connections mechanical engineering electrical engineering Linking AML software engineering Evolution Support = domain = tool = doc 51

Problem Description Engineering industrial production systems is a multidisciplinary activity Engineers from diverse domains are involved Engineers are working in parallel > Challenge: Evolution of engineering data has to be managed AutomationML is the predominant standard for representing engineering data of production systems in a model-based way Availability of libraries defining prototypical system elements is an important pragmatics of designing production systems with AutomationML Model of a production system is built by cloning prototypical elements > Challenge: Co-evolution of prototypes and clones has to be managed 52

Motivating Example 53

Contribution Formal framework to managing prototype/clone co-evolution 1. Generic metamodel for prototype-based languages 2. Levels of consistency rigor between prototypes and clones 3. Change types on prototypes and their impact on prototype/clone consistency 4. Repair operations to re-establish prototype/clone consistency L. Berardinelli, S. Biffl, E. Maetzler, T. Mayerhofer, M. Wimmer: Model-Based Co-Evolution of Production Systems and their Libraries with AutomationML, 20 th IEEE Conf. ETFA, 2015, pp. 1-8. 54

1. Generic Metamodel for Prototype-Based Languages +clones * +prototype 0..1 Object ObjectStore + createobject() :Object + deleteobject() :void +objects * - id :int - name :String + createclone() :Object + addslot() :Slot + deleteslot() :void + modifyslot() :void +slots * Slot - name :String - Value :Object[*] context Object::createClone() post: new c:object clone refers to its prototype c.prototype = self and clone contains all prototype slots self.slots > forall(ps c.slot > one(cs ps.name = cs.name and ps.value = cs.value)) and clone only contains prototype slots c.slots > forall(cs self.slot > one(ps cs.name = ps.name and cs.value = ps.value)) 55

2. Levels of Consistency Rigor between Prototypes and Clones Clones and prototypes may evolve independently Different levels of consistency between clones and prototypes may apply 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 Level 1b: Restriction Level 1c: Redefinition Level 2: Full Compliance Clones may not evolve independently of prototypes 56

2. Levels of Consistency Rigor between Prototypes and Clones Formalization of Consistency Levels: Consistency Constraints Level 0: Uncontrolled Compliance No consistency constraint required Level 1a: Extension clone defines all prototype slots but may define additional slots context Object [self.prototype <> OclUndefined] inv: self.prototype.slots > forall(ps self.slots > one(cs ps.name = cs.name and ps.value = cs.value)) Level 1b: Restriction clone defines subset of prototype slots inv: self.slots > forall(cs self.prototype.slots > one(ps cs.name = ps.name and cs.value = ps.value)) Level 1c: Redefinition clone may redefine values of prototype slots context Object [self.prototype <> OclUndefined] inv: self.slots > forall(cs self.prototype.slots > one(ps cs.name = ps.name)) inv: self.prototype.slots > forall(ps self.slots > one(cs ps.name = cs.name)) Level 2: Full Compliance Post-condition of createclone() operation must always hold 57

3. Change Types on Prototypes and their Impact on Prototype/Clone Consistency Change Types +clones * +prototype 0..1 ObjectStore + createobject() :Object + deleteobject() :void +objects * Object + addslot() :Slot + deleteslot() :void + modifyslot() :void +slots * Slot Impact on Prototype/Clone Consistency Operation L0 L1a L1b L1c L2 ObjectStore::createObject ObjectStore::deleteObject Object::addSlot Object::deleteSlot Object::modifySlot non-breaking breaking change on prototype impact on consistency of clones 58

3. Change Types on Prototypes and their Impact on Prototype/Clone Consistency Example Desired consistency level: L1a Extension Motor : Object +prototype +clones M1 : Object - id = 1 - name = "Motor" - id = 2 - name = "M1" : Slot - name = "nominal speed" - value = 9000 : Slot - name = "nominal speed" - value = 9000 clone defines all prototype slots but may define additional slots context Object [self.prototype <> OclUndefined] inv: self.prototype.slots > forall(ps self.slots > one(cs ps.name = cs.name 59 and ps.value = cs.value))

3. Change Types on Prototypes and Their Impact on Prototype/Clone Consistency Example Desired consistency level: L1a Extension Motor : Object +prototype +clones M1 : Object - id = 1 - name = "Motor" - id = 2 - name = "M1" : Slot : Slot - name = "nominal speed" - value = 9000 - name = "nominal speed" - value = 9000 : Slot - name = "min rotation speed" - value = 5800 addslot() clone defines all prototype slots but may define additional slots context Object [self.prototype <> OclUndefined] inv: self.prototype.slots > forall(ps self.slots > one(cs ps.name = cs.name 60 and ps.value = cs.value))

3. Change Types on Prototypes and Their Impact on Prototype/Clone Consistency Example Desired consistency level: L1a Extension Motor : Object +prototype +clones M1 : Object - id = 1 - name = "Motor" - id = 2 - name = "M1" : Slot - name = "nominal speed" - value = 9000 : Slot - name = "nominal speed" - value = 9000 : Slot - name = "min rotation speed" - value = 5800 addslot() clone defines all prototype slots but may define additional slots context Object [self.prototype <> OclUndefined] inv: self.prototype.slots > forall(ps self.slots > one(cs ps.name = cs.name 61 and ps.value = cs.value))

4. Repair Operations to re-establish Prototype/Clone Consistency Breaking changes lead to inconsistencies between prototypes and clones and violations of consistency levels Re-establishing prototype/clone consistency requires 1. Detection of inconsistent clones through consistency constraint 2. Application of repair operations on clones to resolve inconsistency Operation L0 L1a L1b L1c L2 ObjectStore::createObject ObjectStore::deleteObject Object::addSlot Object::deleteSlot Object::modifySlot > Add slot to clones > Remove slot from clones > Update slot value in clones manual resolution needed automated resolution possible 62

4. Repair Operations to Re-Establish Prototype/Clone Consistency Example Desired consistency level: L1a Extension Motor : Object +prototype +clones M1 : Object - id = 1 - name = "Motor" - id = 2 - name = "M1" : Slot - name = "nominal speed" - value = 9000 : Slot - name = "nominal speed" - value = 9000 : Slot - name = "min rotation speed" - value = 5800 addslot() clone defines all prototype slots but may define additional slots context Object [self.prototype <> OclUndefined] inv: self.prototype.slots > forall(ps self.slots > one(cs ps.name = cs.name 63 and ps.value = cs.value))

4. Repair Operations to Re-Establish Prototype/Clone Consistency Example Desired consistency level: L1a Extension Motor : Object - id = 1 - name = "Motor" +prototype +clones M1 : Object - id = 2 - name = "M1" : Slot - name = "nominal speed" - value = 9000 : Slot - name = "nominal speed" - value = 9000 : Slot - name = "min rotation speed" - value = 5800 addslot() : Slot - name = "min rotation speed" - value = 5800 addslot() fix title : "Add missing slots from prototype" do for (ps : self.prototype.slots) if (not self.slots > exists(cs cs.name = ps.name)) self.addslot(pslot.copy()) 64

Case Study: AutomationML Mapping of generic framework to AutomationML Object Prototype Clone Object AutomationML Metamodel (excerpt) Slot Generic Metamodel for Prototype-Based Languages 65

Case Study: AutomationML Tool support a) Run configurations for different Consistency Level Rigors b) Evolution: Attribute added to SystemUnitClass (=Prototype) c) Validation Results with proposed fixes 66

Summary Evolving libraries and co-evolving system models General model to characterize prototype-based languages Minimal change model and classified changes based on different consistency levels Adopted the general model to AutomationML Tool support for consistency checks and (semi-)automated fixing Future work Define nesting and inheritance for prototypes in the general model Consider all concepts of AutomationML (e.g., interfaces and roles resulting in multi-level prototype/clone relationships) 67

Our AML Research Topics Modeling AML Industry 4.0 overall system design Language Connections mechanical engineering electrical engineering Linking AML software engineering Evolution Support = domain = tool = doc 68

AML Data Integration and Version Management Process for AML Data Integration and Version Management Versioning of Data Elements Linking the versioned engineering Results Model-driven tool support 69

The AutomationML Repository 70

Linking Engineering Artefacts (view of a plant planner) a) Repository with artefacts b) Links: artefacts topology c) Plant topology d) Link properties 71

Linking Metamodel 72

Evaluation RQ1 Roundtrip capabilites Are transformations between AML XML and AML models possible without loss of information? Result: All reference examples and real world examples could be transformed to AML models and back to AML XML without loss of information RQ2 Integration capabilites Is the linking language expressive enough for practical settings? Result: All mappings of a lab-sized production system (picture to the right) could be modeled 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. 73

Introduction Interface Integration Model Exchange Rèsumè Content Introduction Modeling and Model-Driven Engineering in Software Engineering Cyber-Physical Production Systems (CPPS) MDE in CPPS I: Interface Integration MDE in CPPS II: Model Exchange Résumé 74

Résumé Our Lessons Learned Model-Driven Engineering is beneficial to Represent modeling languages Derive tool support Bridging different languages Resulting modeling tools are Open and extensible Usable in combination based on model exchange Allow for a mixture of modeling languages leading to multi-paradigm modeling approaches Model management support is available out-of-the-box based on common metamodeling language 75

Next Step: Models, Standards, and Technology for Digital Transformation INTERNAL Open-edi reference framework EXTERNAL InteGra4.0 Model-driven Engineering strategic layer tactical layer ERP and MES operational layer Plant Information value creation ISA-95 B2MML AutomationML CAEX, Collada, PLCOpen REA REA DSL value exchange UMM, CCTS UN/EDIFACT XML, WebServices CDL-Flex Level Applications OPC UA Services (read, write, monitor) Legend: Business Operational View (BOV) related standards Functional Service View (FSV) related standards PLC Programming IEC 61131-3 76

Résumé Model-Driven Engineering in CPPS Still enough to do :-! State of the Art»Pre-Knowledge«Implicit Knowledge Explicit Knowledge Community Knowledge MDE Practice in CPPS MDE Research in CPPS Consolidation, Integration, Verification, Communication, and Industrialization Appropriateness of some standards questionable (SysML) not yet adopted CASE-tool vendors jump on the MDE bandwagon Many different proposals, application areas and goals E.g., DSMLs, Models@Runtime, Modelbased Testing, Simulation, Validation, and Verification, Multi-Paradigm Modeling, Emerging standards and initiatives E.g., ManTIS DTF @ OMG 77

Résumé Model-Driven Engineering Yet Another Silver Bullet? Are existing standards mature enough to represent a proper basis for engineering CPPS...... or are they just a more or less useful patchwork of interests of different parties? Are existing MDE-tools capable to manage increasing systems complexity...... or doesn t they contribute even more to the complexity of systems engineering? Do we already understand the modeling phenomenon enough in order to build appropriate MDE techniques...... or are we still in the crafts(wo)menship phase, recalling just another CASE-tool area? 78

Thanks to InteGra4.0 Alexandra Mazak Christian Huemer Model-driven Engineering Tanja Mayerhofer Manuel Wimmer CDL-Flex Stefan Biffl Arndt Lüder Luca Berardinelli Emanuel Mätzler 79