Transcript
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


Top Related