Formalizing Material Flow Diagrams

15
Formalizing Material Flow Diagrams Robert-Jan Bijl

description

Formalizing Material Flow Diagrams. Robert-Jan Bijl. Introduction. The Falcon Project Vanderlande Industries Embedded Systems Institute Material Flow Diagrams ‘building plans’ for distribution centers give an idea of the material flow through setup purely pictures, mostly in Visio. - PowerPoint PPT Presentation

Transcript of Formalizing Material Flow Diagrams

Page 1: Formalizing Material Flow Diagrams

Formalizing Material Flow Diagrams

Robert-Jan Bijl

Page 2: Formalizing Material Flow Diagrams

Introduction

• The Falcon Project• Vanderlande Industries

• Embedded Systems Institute

• Material Flow Diagrams• ‘building plans’ for distribution centers

• give an idea of the material flow through setup

• purely pictures, mostly in Visio

PAGE 222-04-23

Page 3: Formalizing Material Flow Diagrams

Project Goals

• Formalize MFD’s to give them a central role in development process• create a meta-model

• create tooling

• derive artifacts from the created models

• Get insight in the involved processes• design of meta-models

• evolution of meta-models (when already in use)

• creation/availability of tooling

PAGE 322-04-23

Page 4: Formalizing Material Flow Diagrams

First attempts

PAGE 422-04-23

Page 5: Formalizing Material Flow Diagrams

First Attempts (cnt’d)

Page 6: Formalizing Material Flow Diagrams

First Attempts (cnt’d)

PAGE 622-04-23

Page 7: Formalizing Material Flow Diagrams

The Final Idea

• General Hierarchy Pattern• Abstract from unit type• Abstract from positional information• Introduce connections as part of the MFD• Allow different libraries for different domains

PAGE 722-04-23

Page 8: Formalizing Material Flow Diagrams

The Final Idea (cnt’d)

/ Department of Mathematics and Computer Science PAGE 822-04-23

Page 9: Formalizing Material Flow Diagrams

Libraries

• Contain information about the building blocks of an MFD• unit types

• connector types

• constraints

• Merging a library with the abstract meta-model results in an instantiated meta-model, aimed at a (more) specific domain

PAGE 922-04-23

Page 10: Formalizing Material Flow Diagrams

Libraries (cnt’d)

/ Department of Mathematics and Computer Science PAGE 1022-04-23

Page 11: Formalizing Material Flow Diagrams

‘Instantiated’ Meta-Model

/ Department of Mathematics and Computer Science PAGE 1122-04-23

Page 12: Formalizing Material Flow Diagrams

Validation

• Formal models can be checked for correctness, consistency and other properties

• Using ‘Check’, a language to specify constraints that the model has to fulfill in order to be correct

• context MFD ERROR "The MFD must have valid MId and MName":• this.MName != null && this.MName != '' && this.MId != null &&

this.MId != '';

• context MFD ERROR "Every component must have a unique CId (no distinction in caps)":

• let s = getAllComponents(this):

s.forAll(s1 | !s.exists(s2|(s1 != s2) && (s1.CId.toLowerCase() == s2.CId.toLowerCase())));

PAGE 1222-04-23

Page 13: Formalizing Material Flow Diagrams

Transformations

• Transforming a model conforming to meta-model A to a model conforming the meta-model B

• Atlas Transformation Language, ATL

rule createRoot{

from

a : MM!MFD

to

p : MM1!Planner(

PName <- 'Planner' + a.MName,

PId <- 'P' + a.MId

)

}

PAGE 1322-04-23

Page 14: Formalizing Material Flow Diagrams

Code Generation

• From a formal model we can generate all sorts of artifacts, e.g. source code

• Using ‘Xpand’, a statically-typed template language, part of the Eclipse M2T-project«DEFINE main FOR Planner»

«LET removeSpace(PName) AS name»

«FILE name + “.dot”»

digraph «name» {

«EXPAND createNode FOR firstNode()»

«EXPAND createNodeLinks FOR firstNode()»

}

«ENDFILE»

«ENDLET»

«ENDDEFINE»

PAGE 1422-04-23

Page 15: Formalizing Material Flow Diagrams

Further Steps

• Generate a graphical editor (using GMF), look into automating this

• Research into (co-)evolution of models en meta-models

• Generation of High Level Controller Software with techniques as described earlier

• Typing, typing, typing

PAGE 1522-04-23