formalizing material flow diagrams

Post on 01-Feb-2016

82 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

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

PAGE 222-04-23

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

First attempts

PAGE 422-04-23

First Attempts (cnt’d)

First Attempts (cnt’d)

PAGE 622-04-23

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

The Final Idea (cnt’d)

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

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

Libraries (cnt’d)

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

‘Instantiated’ Meta-Model

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

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

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

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

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