SlideShare a Scribd company logo
1 of 19
Business Informatics Group
Institute of Software Technology and Interactive Systems
TU Wien
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
Towards the Semantic Integration of Plant Behavior Models
with AutomationML’s Intermediate Modeling Layer
Tanja Mayerhofer, Manuel Wimmer, Luca Berardinelli, Emanuel Mätzler
Business Informatics Group, TU Wien, Austria
Nicole Schmidt
Faculty of Mechanical Engineering, Otto-v.-Guericke University Magdeburg, Germany
Tanja Mayerhofer
 Multidisciplinary process involving various engineering disciplines
 Different disciplines and engineering activities require
specialized software tools and produce specific artifacts
> Heterogeneous engineering tool landscape
 Multi-staged and parallel process
 Different engineering activities depend on
each other, i.e., require results of other
engineering activities
> Need for a lossless data exchange
 How is the data exchange achieved?
 PDFs, printouts, manual transfer
> Inefficient and error-prone process leading to substantial costs
> Current movements towards smart production aggravate this problem
Production Systems Engineering Motivation
2
domain
tool
artifact
Software
Engineering
Control
Engineering
Mechanical
Engineering
Electrical
Engineering
Automation Markup Language Motivation
 Open, vendor neutral, free XML format for the storage and exchange of
plant engineering data
 Integrates, extends and adapts existing standard XML data formats
 International Electrotechnical Commission (IEC) standard 62714
3
CAEX
IEC 62424
Plant topology
• Plants
• Cells
• Components
• Attributes
• Interfaces
• Relations
• References
Object A
Object A1
Object A2
Object An
...
COLLADA
ISO/PAS 17506:2012
Geometry
Kinematics
Further XML
Standard Format
Further engineering data
PLCopen XML
IEC 61131-10
Behavior
Sequencing
Init
Step 1
End
Plant Behavior Models Motivation
PLCopen XML
 Standard XML format for exchanging PLC code
 Supports all programming languages defined in IEC 61131-3 standard
 Structured text, instruction list, ladder diagram, function block diagram,
sequential function charts
Common Plant Behavior Modeling Languages
 AutomationML supports five modeling languages for defining plant behaviors
on different levels of abstraction
 Abstract process planning: Gantt charts, PERT charts
 System behavior design: Impulse diagrams
 Detailed component behavior design: Sequential function charts, state charts
> Requires translations from/to PLCopen XML
4
Plant Behavior Models Motivation
Translations from/to PLCopen XML
5
Tool A
Tool B
Tool C
Gantt Chart
PERT Chart
Impulse Diagram
…
Diverse Plant Behavior
Modeling Languages
PLCopen XML
(IEC 61131-10)
<SFC>
<actionBlock>
<action>
<addData>
<data name=”http://
<AutomationML>
<ActionStatus>
current
</ActionStatus>
</AutomationML>
</data>
</addData>
<action>
</actionBlock>
Plant Behavior Models Motivation
Translations from/to PLCopen XML
6
Tool A
Tool B
Tool C
Gantt Chart
PERT Chart
Impulse Diagram
…
Diverse Plant Behavior
Modeling Languages
Complex transformations
PLCopen XML
(IEC 61131-10)
<SFC>
<actionBlock>
<action>
<addData>
<data name=”http://
<AutomationML>
<ActionStatus>
current
</ActionStatus>
</AutomationML>
</data>
</addData>
<action>
</actionBlock>
Intermediate Modeling Layer Motivation
AutomationML introduces Intermediate Modeling Layer (IML)
 IML is based on sequential function charts defined by IEC 61131-3 standard
 Simplifies transformations from/to PLCopen XML
 Decouples PLCopen XML from plant behavior modeling languages
 Facilitates extensibility with new plant behavior modeling languages
 Enables automated transformations between plant behavior modeling languages
7
Tool A
Tool B
Tool C
Gantt Chart
PERT Chart
Impulse Diagram
…
Diverse Plant Behavior
Modeling Languages
Intermediate Modeling
Layer (IML)
IML
PLCopen XML
(IEC 61131-10)
<SFC>
<actionBlock>
<action>
<addData>
<data name=”http://
<AutomationML>
<ActionStatus>
current
</ActionStatus>
</AutomationML>
</data>
</addData>
<action>
</actionBlock>
Semi-formal Definition of IML Problem
 IML and the transformations from/to IML are only semi-formally defined
 Arising Problems:
 How to validate that transformations are correct?
 How to check semantic preservation?
 How to compose heterogeneous models?
8
Tool A
Tool B
Tool C
Gantt Chart
PERT Chart
Impulse Diagram
…
Diverse Plant Behavior
Modeling Languages
Intermediate Modeling
Layer (IML)
IML
PLCopen XML
(IEC 61131-10)
<SFC>
<actionBlock>
<action>
<addData>
<data name=”http://
<AutomationML>
<ActionStatus>
current
</ActionStatus>
</AutomationML>
</data>
</addData>
<action>
</actionBlock>
No formal definitions
IML as Semantic Domain and Integration Layer for
Plant Behavior Models Contribution
9
M2M … Model-to-Model Transformation
MM … Metamodel
OS … Operational Semantics
Model
Execution
Model
Simulation
Consistency
Analysis
Refinement
Analysis
……
Tool A
Tool B
Tool C
Gantt Chart
PERT Chart
Impulse Diagram
…
Diverse Plant Behavior
Modeling Languages
Intermediate Modeling
Layer (IML)
IML
PLCopen XML
(IEC 61131-10)
<SFC>
<actionBlock>
<action>
<addData>
<data name=”http://
<AutomationML>
<ActionStatus>
current
</ActionStatus>
</AutomationML>
</data>
</addData>
<action>
</actionBlock>
M2MM2M
Syntax Semantics
MM OS
IML as Semantic Domain and Integration Layer for
Plant Behavior Models Contribution
10
M2M … Model-to-Model Transformation
MM … Metamodel
OS … Operational Semantics
Model
Execution
Model
Simulation
Consistency
Analysis
Refinement
Analysis
……
Tool A
Tool B
Tool C
Gantt Chart
PERT Chart
Impulse Diagram
…
Diverse Plant Behavior
Modeling Languages
Intermediate Modeling
Layer (IML)
IML
PLCopen XML
(IEC 61131-10)
<SFC>
<actionBlock>
<action>
<addData>
<data name=”http://
<AutomationML>
<ActionStatus>
current
</ActionStatus>
</AutomationML>
</data>
</addData>
<action>
</actionBlock>
M2MM2M
Syntax Semantics
MM OS
Metamodel for IML Contribution
11
Comment
content : String
ElementHeader
name : String
Variable
name : String
type : String
content : String
SIUnit : String
initialValue : String
address : String
SelectionConvergence
SelectionDivergence
SimultaneousConvergence
SimultaneousDivergence
members
*
activities
*
booleanGuard
0..1
source1target1
comment
0..1
IdentifiableElement
IdentifiableElement
IdentifiableElement
IdentifiableElement
Time
delay : Real
duration : Real
time 0..1
Activity
name : String
start : Real [2]
end : Real [2]
StateTransition
name : String
State
name : String
init : boolean
terminal : boolean
/target
0..1
IdentifiableElement
id : String
Connection
/source
0..1 ConnectionPoint
IML Model Example
12
InitialStep
Stopping
BlinkRed
MovingForward
BlinkGreen
Move
Stop
Repeat
SC
MoveStepForward
Stop
Operational Semantics for IML Contribution
13
IML Operational Semantics
IML Abstract Syntax
«merge»
Header
execute()
State
current : boolean
activate()
deactivate()
executeActivities()
/currentStates
*
ConnectionPoint
isEnabled() : boolean
fire()
Variable
value : String
Activity
execute()
current : boolean
Operational Semantics for IML Contribution
14
Comment
content : String
Element
Variable
name : String
type : String
content : String
SIUnit : String
initialValue : String
address : String
SelectionConvergence
SelectionDivergence
SimultaneousConvergence
SimultaneousDivergence
members
*
activities
*
booleanGuard
0..1
source1target1
comment
0..1
IdentifiableElement
IdentifiableElement
IdentifiableElement
IdentifiableElement
Time
delay : Real
duration : Real
time 0..1
Activity
name : String
start : Real [2]
end : Real [2]
StateTransition
name : String
State
name : String
init : boolean
terminal : boolean
/target
0..1
IdentifiableElement
id : String
Connection
/source
0..1 ConnectionPoint
Header
name : String
execute()
current : boolean
activate()
deactivate()
executeActivities()
value : String
current : boolean
execute()
isEnabled()
fire()
/currentStates *
Operational Semantics for IML Contribution
15
Comment
content : String
Element
Variable
name : String
type : String
content : String
SIUnit : String
initialValue : String
address : String
SelectionConvergence
SelectionDivergence
SimultaneousConvergence
SimultaneousDivergence
members
*
activities
*
booleanGuard
0..1
source1target1
comment
0..1
IdentifiableElement
IdentifiableElement
IdentifiableElement
IdentifiableElement
Time
delay : Real
duration : Real
time 0..1
Activity
name : String
start : Real [2]
end : Real [2]
StateTransition
name : String
State
name : String
init : boolean
terminal : boolean
/target
0..1
IdentifiableElement
id : String
Connection
/source
0..1 ConnectionPoint
Header
name : String
execute()
current : boolean
activate()
deactivate()
executeActivities()
value : String
current : boolean
execute()
isEnabled()
fire()
/currentStates *
begin
initial ← {m ∈ members |
m.isTypeOf(State) ∧ m.init}
initial.activate()
terminate ← false
while ¬terminate do
foreach s ∈ currentStates do
if s.target.isEnabled() then
s.target.fire()
if ts ∈ {cs ∈ currentStates |
cs.terminal} then
terminate ← true
Tool Support for IML Contribution
 Workbench: GEMOC Studio
 http://gemoc.org/studio
 Implementation of IML
 Abstract syntax: Ecore
 Concrete syntax: Sirius
 Operational semantics: Kermeta
 Code repository:
https://github.com/moliz/moliz.gemoc/tree/master/examples/iml
16
Tool Support for IML Contribution
17
Future Work
 Refinement of operational semantics defined for IML
(e.g., timing aspects, concurrency)
 Formalization of model-to-model transformations from/to IML
 Integration of heterogeneous plant behavior models via IML and CAEX
18
Model
Execution
Model
Simulation
Consistency
Analysis
Refinement
Analysis
……
Tool A
Tool B
Tool C
Gantt Chart
PERT Chart
Impulse Diagram
…
Diverse Plant Behavior
Modeling Languages
Intermediate Modeling
Layer (IML)
IML
PLCopen XML
(IEC 61131-3)
<SFC>
<actionBlock>
<action>
<addData>
<data name=”http://
<AutomationML>
<ActionStatus>
current
</ActionStatus>
</AutomationML>
</data>
</addData>
<action>
</actionBlock>
M2MM2M
Syntax Semantics
MM OS
1
1
2
2 2
3
3
Thank you!
Questions?
Contact: mayerhofer@big.tuwien.ac.at
Material: https://github.com/moliz/moliz.gemoc/tree/master/examples/iml

More Related Content

Similar to Towards the Semantic Integration of Plant Behavior Models with AutomationML’s Intermediate Modeling Layer

GDG Jakarta Meetup - Streaming Analytics With Apache Beam
GDG Jakarta Meetup - Streaming Analytics With Apache BeamGDG Jakarta Meetup - Streaming Analytics With Apache Beam
GDG Jakarta Meetup - Streaming Analytics With Apache BeamImre Nagi
 
Generalized Functors - Realizing Command Design Pattern in C++
Generalized Functors - Realizing Command Design Pattern in C++Generalized Functors - Realizing Command Design Pattern in C++
Generalized Functors - Realizing Command Design Pattern in C++ppd1961
 
Mobile Software Engineering Crash Course - C06 WindowsPhone
Mobile Software Engineering Crash Course - C06 WindowsPhoneMobile Software Engineering Crash Course - C06 WindowsPhone
Mobile Software Engineering Crash Course - C06 WindowsPhoneMohammad Shaker
 
Woop - Workflow Optimizer
Woop - Workflow OptimizerWoop - Workflow Optimizer
Woop - Workflow OptimizerMartin Homik
 
Model-Based Risk Assessment in Multi-Disciplinary Systems Engineering
Model-Based Risk Assessment in Multi-Disciplinary Systems EngineeringModel-Based Risk Assessment in Multi-Disciplinary Systems Engineering
Model-Based Risk Assessment in Multi-Disciplinary Systems EngineeringEmanuel Mätzler
 
LINQ 2 SQL Presentation To Palmchip And Trg, Technology Resource Group
LINQ 2 SQL Presentation To Palmchip  And Trg, Technology Resource GroupLINQ 2 SQL Presentation To Palmchip  And Trg, Technology Resource Group
LINQ 2 SQL Presentation To Palmchip And Trg, Technology Resource GroupShahzad
 
Lot Completion Estimation Using Self-Configuring Equipment Model-based Applic...
Lot Completion Estimation Using Self-Configuring Equipment Model-based Applic...Lot Completion Estimation Using Self-Configuring Equipment Model-based Applic...
Lot Completion Estimation Using Self-Configuring Equipment Model-based Applic...Kimberly Daich
 
05_ActivityDiagram_slides_2015.pptx
05_ActivityDiagram_slides_2015.pptx05_ActivityDiagram_slides_2015.pptx
05_ActivityDiagram_slides_2015.pptxJoseMartinez309639
 
Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Jonas Follesø
 
Flyte kubecon 2019 SanDiego
Flyte kubecon 2019 SanDiegoFlyte kubecon 2019 SanDiego
Flyte kubecon 2019 SanDiegoKetanUmare
 
The Principle Of Ultrasound Imaging System
The Principle Of Ultrasound Imaging SystemThe Principle Of Ultrasound Imaging System
The Principle Of Ultrasound Imaging SystemMelissa Luster
 
Junit in mule demo
Junit in mule demoJunit in mule demo
Junit in mule demoSudha Ch
 
Continuous Application with Structured Streaming 2.0
Continuous Application with Structured Streaming 2.0Continuous Application with Structured Streaming 2.0
Continuous Application with Structured Streaming 2.0Anyscale
 
A Deep Dive into Structured Streaming in Apache Spark
A Deep Dive into Structured Streaming in Apache Spark A Deep Dive into Structured Streaming in Apache Spark
A Deep Dive into Structured Streaming in Apache Spark Anyscale
 
The fundamental problems of GUI applications and why people choose React
The fundamental problems of GUI applications and why people choose ReactThe fundamental problems of GUI applications and why people choose React
The fundamental problems of GUI applications and why people choose ReactOliver N
 
Munit junit test case
Munit junit test caseMunit junit test case
Munit junit test caseprudhvivreddy
 
C:\documents and settings\student\desktop\swaroop uml
C:\documents and settings\student\desktop\swaroop umlC:\documents and settings\student\desktop\swaroop uml
C:\documents and settings\student\desktop\swaroop umlsatyaiswaroop
 
EclipseCon 2008: Fundamentals of the Eclipse Modeling Framework
EclipseCon 2008: Fundamentals of the Eclipse Modeling FrameworkEclipseCon 2008: Fundamentals of the Eclipse Modeling Framework
EclipseCon 2008: Fundamentals of the Eclipse Modeling FrameworkDave Steinberg
 
Master Thesis Presentation
Master Thesis PresentationMaster Thesis Presentation
Master Thesis PresentationMohamed Sobh
 

Similar to Towards the Semantic Integration of Plant Behavior Models with AutomationML’s Intermediate Modeling Layer (20)

GDG Jakarta Meetup - Streaming Analytics With Apache Beam
GDG Jakarta Meetup - Streaming Analytics With Apache BeamGDG Jakarta Meetup - Streaming Analytics With Apache Beam
GDG Jakarta Meetup - Streaming Analytics With Apache Beam
 
Generalized Functors - Realizing Command Design Pattern in C++
Generalized Functors - Realizing Command Design Pattern in C++Generalized Functors - Realizing Command Design Pattern in C++
Generalized Functors - Realizing Command Design Pattern in C++
 
Mobile Software Engineering Crash Course - C06 WindowsPhone
Mobile Software Engineering Crash Course - C06 WindowsPhoneMobile Software Engineering Crash Course - C06 WindowsPhone
Mobile Software Engineering Crash Course - C06 WindowsPhone
 
Woop - Workflow Optimizer
Woop - Workflow OptimizerWoop - Workflow Optimizer
Woop - Workflow Optimizer
 
Model-Based Risk Assessment in Multi-Disciplinary Systems Engineering
Model-Based Risk Assessment in Multi-Disciplinary Systems EngineeringModel-Based Risk Assessment in Multi-Disciplinary Systems Engineering
Model-Based Risk Assessment in Multi-Disciplinary Systems Engineering
 
LINQ 2 SQL Presentation To Palmchip And Trg, Technology Resource Group
LINQ 2 SQL Presentation To Palmchip  And Trg, Technology Resource GroupLINQ 2 SQL Presentation To Palmchip  And Trg, Technology Resource Group
LINQ 2 SQL Presentation To Palmchip And Trg, Technology Resource Group
 
Lot Completion Estimation Using Self-Configuring Equipment Model-based Applic...
Lot Completion Estimation Using Self-Configuring Equipment Model-based Applic...Lot Completion Estimation Using Self-Configuring Equipment Model-based Applic...
Lot Completion Estimation Using Self-Configuring Equipment Model-based Applic...
 
05_ActivityDiagram_slides_2015.pptx
05_ActivityDiagram_slides_2015.pptx05_ActivityDiagram_slides_2015.pptx
05_ActivityDiagram_slides_2015.pptx
 
Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008
 
Flyte kubecon 2019 SanDiego
Flyte kubecon 2019 SanDiegoFlyte kubecon 2019 SanDiego
Flyte kubecon 2019 SanDiego
 
The Principle Of Ultrasound Imaging System
The Principle Of Ultrasound Imaging SystemThe Principle Of Ultrasound Imaging System
The Principle Of Ultrasound Imaging System
 
Junit in mule demo
Junit in mule demoJunit in mule demo
Junit in mule demo
 
Continuous Application with Structured Streaming 2.0
Continuous Application with Structured Streaming 2.0Continuous Application with Structured Streaming 2.0
Continuous Application with Structured Streaming 2.0
 
A Deep Dive into Structured Streaming in Apache Spark
A Deep Dive into Structured Streaming in Apache Spark A Deep Dive into Structured Streaming in Apache Spark
A Deep Dive into Structured Streaming in Apache Spark
 
The fundamental problems of GUI applications and why people choose React
The fundamental problems of GUI applications and why people choose ReactThe fundamental problems of GUI applications and why people choose React
The fundamental problems of GUI applications and why people choose React
 
Munit junit test case
Munit junit test caseMunit junit test case
Munit junit test case
 
C:\documents and settings\student\desktop\swaroop uml
C:\documents and settings\student\desktop\swaroop umlC:\documents and settings\student\desktop\swaroop uml
C:\documents and settings\student\desktop\swaroop uml
 
EclipseCon 2008: Fundamentals of the Eclipse Modeling Framework
EclipseCon 2008: Fundamentals of the Eclipse Modeling FrameworkEclipseCon 2008: Fundamentals of the Eclipse Modeling Framework
EclipseCon 2008: Fundamentals of the Eclipse Modeling Framework
 
RT-lab based real-time simulation of flywheel energy storage system associate...
RT-lab based real-time simulation of flywheel energy storage system associate...RT-lab based real-time simulation of flywheel energy storage system associate...
RT-lab based real-time simulation of flywheel energy storage system associate...
 
Master Thesis Presentation
Master Thesis PresentationMaster Thesis Presentation
Master Thesis Presentation
 

Recently uploaded

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 

Recently uploaded (20)

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 

Towards the Semantic Integration of Plant Behavior Models with AutomationML’s Intermediate Modeling Layer

  • 1. Business Informatics Group Institute of Software Technology and Interactive Systems TU Wien 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 Towards the Semantic Integration of Plant Behavior Models with AutomationML’s Intermediate Modeling Layer Tanja Mayerhofer, Manuel Wimmer, Luca Berardinelli, Emanuel Mätzler Business Informatics Group, TU Wien, Austria Nicole Schmidt Faculty of Mechanical Engineering, Otto-v.-Guericke University Magdeburg, Germany Tanja Mayerhofer
  • 2.  Multidisciplinary process involving various engineering disciplines  Different disciplines and engineering activities require specialized software tools and produce specific artifacts > Heterogeneous engineering tool landscape  Multi-staged and parallel process  Different engineering activities depend on each other, i.e., require results of other engineering activities > Need for a lossless data exchange  How is the data exchange achieved?  PDFs, printouts, manual transfer > Inefficient and error-prone process leading to substantial costs > Current movements towards smart production aggravate this problem Production Systems Engineering Motivation 2 domain tool artifact Software Engineering Control Engineering Mechanical Engineering Electrical Engineering
  • 3. Automation Markup Language Motivation  Open, vendor neutral, free XML format for the storage and exchange of plant engineering data  Integrates, extends and adapts existing standard XML data formats  International Electrotechnical Commission (IEC) standard 62714 3 CAEX IEC 62424 Plant topology • Plants • Cells • Components • Attributes • Interfaces • Relations • References Object A Object A1 Object A2 Object An ... COLLADA ISO/PAS 17506:2012 Geometry Kinematics Further XML Standard Format Further engineering data PLCopen XML IEC 61131-10 Behavior Sequencing Init Step 1 End
  • 4. Plant Behavior Models Motivation PLCopen XML  Standard XML format for exchanging PLC code  Supports all programming languages defined in IEC 61131-3 standard  Structured text, instruction list, ladder diagram, function block diagram, sequential function charts Common Plant Behavior Modeling Languages  AutomationML supports five modeling languages for defining plant behaviors on different levels of abstraction  Abstract process planning: Gantt charts, PERT charts  System behavior design: Impulse diagrams  Detailed component behavior design: Sequential function charts, state charts > Requires translations from/to PLCopen XML 4
  • 5. Plant Behavior Models Motivation Translations from/to PLCopen XML 5 Tool A Tool B Tool C Gantt Chart PERT Chart Impulse Diagram … Diverse Plant Behavior Modeling Languages PLCopen XML (IEC 61131-10) <SFC> <actionBlock> <action> <addData> <data name=”http:// <AutomationML> <ActionStatus> current </ActionStatus> </AutomationML> </data> </addData> <action> </actionBlock>
  • 6. Plant Behavior Models Motivation Translations from/to PLCopen XML 6 Tool A Tool B Tool C Gantt Chart PERT Chart Impulse Diagram … Diverse Plant Behavior Modeling Languages Complex transformations PLCopen XML (IEC 61131-10) <SFC> <actionBlock> <action> <addData> <data name=”http:// <AutomationML> <ActionStatus> current </ActionStatus> </AutomationML> </data> </addData> <action> </actionBlock>
  • 7. Intermediate Modeling Layer Motivation AutomationML introduces Intermediate Modeling Layer (IML)  IML is based on sequential function charts defined by IEC 61131-3 standard  Simplifies transformations from/to PLCopen XML  Decouples PLCopen XML from plant behavior modeling languages  Facilitates extensibility with new plant behavior modeling languages  Enables automated transformations between plant behavior modeling languages 7 Tool A Tool B Tool C Gantt Chart PERT Chart Impulse Diagram … Diverse Plant Behavior Modeling Languages Intermediate Modeling Layer (IML) IML PLCopen XML (IEC 61131-10) <SFC> <actionBlock> <action> <addData> <data name=”http:// <AutomationML> <ActionStatus> current </ActionStatus> </AutomationML> </data> </addData> <action> </actionBlock>
  • 8. Semi-formal Definition of IML Problem  IML and the transformations from/to IML are only semi-formally defined  Arising Problems:  How to validate that transformations are correct?  How to check semantic preservation?  How to compose heterogeneous models? 8 Tool A Tool B Tool C Gantt Chart PERT Chart Impulse Diagram … Diverse Plant Behavior Modeling Languages Intermediate Modeling Layer (IML) IML PLCopen XML (IEC 61131-10) <SFC> <actionBlock> <action> <addData> <data name=”http:// <AutomationML> <ActionStatus> current </ActionStatus> </AutomationML> </data> </addData> <action> </actionBlock> No formal definitions
  • 9. IML as Semantic Domain and Integration Layer for Plant Behavior Models Contribution 9 M2M … Model-to-Model Transformation MM … Metamodel OS … Operational Semantics Model Execution Model Simulation Consistency Analysis Refinement Analysis …… Tool A Tool B Tool C Gantt Chart PERT Chart Impulse Diagram … Diverse Plant Behavior Modeling Languages Intermediate Modeling Layer (IML) IML PLCopen XML (IEC 61131-10) <SFC> <actionBlock> <action> <addData> <data name=”http:// <AutomationML> <ActionStatus> current </ActionStatus> </AutomationML> </data> </addData> <action> </actionBlock> M2MM2M Syntax Semantics MM OS
  • 10. IML as Semantic Domain and Integration Layer for Plant Behavior Models Contribution 10 M2M … Model-to-Model Transformation MM … Metamodel OS … Operational Semantics Model Execution Model Simulation Consistency Analysis Refinement Analysis …… Tool A Tool B Tool C Gantt Chart PERT Chart Impulse Diagram … Diverse Plant Behavior Modeling Languages Intermediate Modeling Layer (IML) IML PLCopen XML (IEC 61131-10) <SFC> <actionBlock> <action> <addData> <data name=”http:// <AutomationML> <ActionStatus> current </ActionStatus> </AutomationML> </data> </addData> <action> </actionBlock> M2MM2M Syntax Semantics MM OS
  • 11. Metamodel for IML Contribution 11 Comment content : String ElementHeader name : String Variable name : String type : String content : String SIUnit : String initialValue : String address : String SelectionConvergence SelectionDivergence SimultaneousConvergence SimultaneousDivergence members * activities * booleanGuard 0..1 source1target1 comment 0..1 IdentifiableElement IdentifiableElement IdentifiableElement IdentifiableElement Time delay : Real duration : Real time 0..1 Activity name : String start : Real [2] end : Real [2] StateTransition name : String State name : String init : boolean terminal : boolean /target 0..1 IdentifiableElement id : String Connection /source 0..1 ConnectionPoint
  • 13. Operational Semantics for IML Contribution 13 IML Operational Semantics IML Abstract Syntax «merge» Header execute() State current : boolean activate() deactivate() executeActivities() /currentStates * ConnectionPoint isEnabled() : boolean fire() Variable value : String Activity execute() current : boolean
  • 14. Operational Semantics for IML Contribution 14 Comment content : String Element Variable name : String type : String content : String SIUnit : String initialValue : String address : String SelectionConvergence SelectionDivergence SimultaneousConvergence SimultaneousDivergence members * activities * booleanGuard 0..1 source1target1 comment 0..1 IdentifiableElement IdentifiableElement IdentifiableElement IdentifiableElement Time delay : Real duration : Real time 0..1 Activity name : String start : Real [2] end : Real [2] StateTransition name : String State name : String init : boolean terminal : boolean /target 0..1 IdentifiableElement id : String Connection /source 0..1 ConnectionPoint Header name : String execute() current : boolean activate() deactivate() executeActivities() value : String current : boolean execute() isEnabled() fire() /currentStates *
  • 15. Operational Semantics for IML Contribution 15 Comment content : String Element Variable name : String type : String content : String SIUnit : String initialValue : String address : String SelectionConvergence SelectionDivergence SimultaneousConvergence SimultaneousDivergence members * activities * booleanGuard 0..1 source1target1 comment 0..1 IdentifiableElement IdentifiableElement IdentifiableElement IdentifiableElement Time delay : Real duration : Real time 0..1 Activity name : String start : Real [2] end : Real [2] StateTransition name : String State name : String init : boolean terminal : boolean /target 0..1 IdentifiableElement id : String Connection /source 0..1 ConnectionPoint Header name : String execute() current : boolean activate() deactivate() executeActivities() value : String current : boolean execute() isEnabled() fire() /currentStates * begin initial ← {m ∈ members | m.isTypeOf(State) ∧ m.init} initial.activate() terminate ← false while ¬terminate do foreach s ∈ currentStates do if s.target.isEnabled() then s.target.fire() if ts ∈ {cs ∈ currentStates | cs.terminal} then terminate ← true
  • 16. Tool Support for IML Contribution  Workbench: GEMOC Studio  http://gemoc.org/studio  Implementation of IML  Abstract syntax: Ecore  Concrete syntax: Sirius  Operational semantics: Kermeta  Code repository: https://github.com/moliz/moliz.gemoc/tree/master/examples/iml 16
  • 17. Tool Support for IML Contribution 17
  • 18. Future Work  Refinement of operational semantics defined for IML (e.g., timing aspects, concurrency)  Formalization of model-to-model transformations from/to IML  Integration of heterogeneous plant behavior models via IML and CAEX 18 Model Execution Model Simulation Consistency Analysis Refinement Analysis …… Tool A Tool B Tool C Gantt Chart PERT Chart Impulse Diagram … Diverse Plant Behavior Modeling Languages Intermediate Modeling Layer (IML) IML PLCopen XML (IEC 61131-3) <SFC> <actionBlock> <action> <addData> <data name=”http:// <AutomationML> <ActionStatus> current </ActionStatus> </AutomationML> </data> </addData> <action> </actionBlock> M2MM2M Syntax Semantics MM OS 1 1 2 2 2 3 3
  • 19. Thank you! Questions? Contact: mayerhofer@big.tuwien.ac.at Material: https://github.com/moliz/moliz.gemoc/tree/master/examples/iml

Editor's Notes

  1. The engineering of industry plants is a multidisciplinary process involving various engineering disciplines, such as mechanical engineering, electrical engineering, control engineering, HMI (human-machine) interface engineering, etc. In such a complex process, the engineers are using specialized tools optimized for performing their engineering activities and they produce diverse artifacts specific to the task at hand. Therefore, a heterogeneous landscape of engineering tools is needed for designing, running, and maintaining a production system. Furthermore, engineering a production system is a multi-staged process with different development stages in which engineering activities are executed in parallel. Thereby, different engineering activities depend on each other and require results of other engineering activities. Thus, the need for exchange artifacts/engineering data between the heterogeneous tools arises. How is this data exchange currently achieved? In most cases artifacts are exchanged via PDFS or print-outs and models have to be manually re-defined in specific tools. For instance, hall plans created in a specialized tool, such as MicroStation, are re-defined in tools specialized for production line planning; or time schedules developed by mechanical engineers with Microsoft Office tools are manually transferred to PLC programming IDEs. This is of course highly inefficient and error-prone and leads to substantial costs in the engineering process. In the light of current movements towards smart production systems, this becomes an even bigger problem, since they demand for more flexibility of production systems, which increases the frequency of engineering activities and the need for integrating engineering activities, engineering tools and improving the cooperation among engineers.
  2. AutomationML Consortium: industrial consortium founded 2006, initiated by Daimler; early members: ABB, KUKA, Rockwell Automation, Siemens, NettAllied, Zühlke, university of Karlsruhe and Magdeburg. CAEX: Topology data defining the hierarchical structure of the production system resources ranging from plant level over cell and function levels down to devices and mechanical parts; defining their attributes, relations, interfaces COLLADA: Mechanical construction of the production system reflected by geometry and kinematics. Usually it is given by mechanical drawings (MCAD). In addition it contains physical properties like forces, speed, and torsion; or chemical properties like material information. PLCopen XML: Control related logic data Information relevant to characterize the function of a production system component. Thus, it contains functional models of controlled and uncontrolled behavior, functional parameters, technological parameters, etc. all relevant to appropriately describe the production process as well as other processes executable by the component. Further XML Standard Formats
  3. PLCopen XML is a standard XML format for exchanging PLC code used for programming industrial electo-mechanical processes (industrial control programming). I.e., the aim is to enable the exchange of PLC (Programmable Logic Controller) programs, libraries and projects between development environments. (PLCopen XML is a data format applicable as an open interface between all different kinds of software environments providing the ability to transfer PLC programming project information to other platforms.) In particular, it allows to exchange PLC programs written in any of the five programming languages defined in the IEC 61131 standards. IEC 61131 programming languages: - Structured text (textual) - Instruction list (textual) - Ladder Diagram (graphical) - Function Block Diagram (graphical) - Sequential Function Charts (SFC) Range from abstract process planning modelled as sequences with Gantt or PERT Charts (planning: plant planning, mechanical engineering, electrical engineering) over sequencing and interlocking of field device signals modelled by Impulse Diagrams and Logic Networks (PLC programming, robot programming, HMI programming; Impulse diagram: control system behavior; Logical networks: Interlocking) down to detailed code representation as PLCopen programs or detailed component behaviour modelling based on the automaton approach following Harels State Charts [22]. (SFC+Statechart: mechanical engineering, electrical engineering, PLC programming, robot programming, HDMI programming, virtual commissioning) Gantt charts: discrete event models to describe the order and execution time of activities. PERT charts: network plans; describe and analyze temporal relations of the execution of a set of interdependent nodes (timing and interdependence of manufacturing processes). Impulse diagrams: temporal course of states of system components together with signals among them to activate state changes. SFC: easy implementation of sequences of operations within controlled system; state-based operation sequences, temporal conditions State charts: reachable state space
  4. PLCopen XML is a standard XML format for exchanging PLC code used for programming industrial electomechanical processes (industrial control programming). I.e., the aim is to enable the exchange of PLC (Programmable Logic Controller) programs, libraries and projects between development environments. (PLCopen XML is a data format applicable as an open interface between all different kinds of software environments providing the ability to transfer PLC programming project information to other platforms.) In particular, it allows to exchange PLC programs written in any of the five programming languages defined in the IEC 61131 standards. IEC 61131 programming languages: - Structured text (textual) - Instruction list (textual) - Ladder Diagram (graphical) - Function Block Diagram (graphical) - Sequential Function Charts (SFC) Range from abstract process planning modelled as sequences with Gantt or PERT Charts (planning: plant planning, mechanical engineering, electrical engineering) over sequencing and interlocking of field device signals modelled by Impulse Diagrams and Logic Networks (PLC programming, robot programming, HMI programming; Impulse diagram: control system behavior; Logical networks: Interlocking) down to detailed code representation as PLCopen programs or detailed component behaviour modelling based on the automaton approach following Harels State Charts [22]. (SFC+Statechart: mechanical engineering, electrical engineering, PLC programming, robot programming, HDMI programming, virtual commissioning) Gantt charts: discrete event models to describe the order and execution time of activities. PERT charts: network plans; describe and analyze temporal relations of the execution of a set of interdependent nodes (timing and interdependence of manufacturing processes). Impulse diagrams: temporal course of states of system components together with signals among them to activate state changes. SFC: easy implementation of sequences of operations within controlled system; state-based operation sequences, temporal conditions State charts: reachable state space
  5. PLCopen XML is a standard XML format for exchanging PLC code used for programming industrial electomechanical processes (industrial control programming). I.e., the aim is to enable the exchange of PLC (Programmable Logic Controller) programs, libraries and projects between development environments. (PLCopen XML is a data format applicable as an open interface between all different kinds of software environments providing the ability to transfer PLC programming project information to other platforms.) In particular, it allows to exchange PLC programs written in any of the five programming languages defined in the IEC 61131 standards. IEC 61131 programming languages: - Structured text (textual) - Instruction list (textual) - Ladder Diagram (graphical) - Function Block Diagram (graphical) - Sequential Function Charts (SFC) Range from abstract process planning modelled as sequences with Gantt or PERT Charts (planning: plant planning, mechanical engineering, electrical engineering) over sequencing and interlocking of field device signals modelled by Impulse Diagrams and Logic Networks (PLC programming, robot programming, HMI programming; Impulse diagram: control system behavior; Logical networks: Interlocking) down to detailed code representation as PLCopen programs or detailed component behaviour modelling based on the automaton approach following Harels State Charts [22]. (SFC+Statechart: mechanical engineering, electrical engineering, PLC programming, robot programming, HDMI programming, virtual commissioning) Gantt charts: discrete event models to describe the order and execution time of activities. PERT charts: network plans; describe and analyze temporal relations of the execution of a set of interdependent nodes (timing and interdependence of manufacturing processes). Impulse diagrams: temporal course of states of system components together with signals among them to activate state changes. SFC: easy implementation of sequences of operations within controlled system; state-based operation sequences, temporal conditions State charts: reachable state space
  6. Is currently under standardization (IEC 62714-4). International Electrotechnical Commission. Thereby, IML does not constitute a new language, but is instead based on the sequential function charts (SFC) language defined by the IEC 61131-3 standard [17]. Therewith, IML essentially allows the definition of plant behaviors as discrete state-based operation sequences. However, IML applies restrictions on SFCs to simplify mappings from and to IML, and also extends SFCs to make plant behavior models defined with different languages expressible with IML.
  7. However, by clarifying these aspects of IML, a true exchange of plant behavior models could be achieved and we could even go one step further, namely use IML also as a semantic integration layer for plant behavior models. And this is what we are proposing in this paper.
  8. In particular, we are proposing to give IML a formal grounding, i.e., formalizing its syntax and semantics and to also formalize the transformations from and to IML by means of model-to-model transformations. Having that we could actually validate the transformations in terms of checking that they are semantic preserving. In fact, we could then use IML as semantic domain for plant behavior models allowing us to analyze dynamic properties of that models in IML. For instance, we could conduct model simulations for plant behavior models, check refinement relationships, check consistency among heterogeneous plant behavior models etc. And we would like to go even one step further and utilize IML as a semantic integration layer for plant behavior models. So we could compose heterogeneous plant behavior models in IML and perform analyses of the global plant behavior expressed in those models.
  9. In this work, we did the first step towards achieving this. In particular, we defined a metamodel for IML that formalizes its abstract syntax, and we defined an operational semantics for IML formalizing its execution semantics, and we utilized these formalizations to conduct model simulations. Let’s have a look at these developed artifeacts.
  10. Here you can see an excerpt of the metamodel that we defined for IML. As I said before, IML is based on sequential function chars, and thus, allows to define basically discrete state-based operation sequences. So the main elements of IML are States that can execute a sequence of activities and that are connected with state transitions. Besides that there are control structures for expressing concurrent branches in the behavior of elements and alternative branches.
  11. For defining the operational semantics of IML models, we defined additional properties for representing the execution state of an IML model and operations that implement the execution steps involved in the execution.