Download presentation
Presentation is loading. Please wait.
Published byGyles Newman Modified over 9 years ago
1
Formalizing Material Flow Diagrams How can an MDE approach be used to improve the design process of material handling systems? Robert-Jan Bijl
2
Contents The FALCON Project Problem Statement Model Driven Engineering Incorporating MFDs in MDE Stepwise metamodel design Tools and Transformations for Formal MFDs Conclusion PAGE 213-8-2015
3
The FALCON project FALCON: Flexible Automated Logistics CONcepts ‘Warehouse of the future’ PAGE 313-8-2015
4
Problem Statement How can an MDE approach be used to formalize Material Flow Diagrams, such that their role in the design process of material handling systems can be expanded? PAGE 413-8-2015
5
Model Driven Engineering Software Engineering discipline in which models play a central role throughout the entire development process. Domain Specific Languages Used to describe the structure of the models Transformation Engines Used for synthesizing the models PAGE 513-8-2015
6
Object Meta- metamodel Metamodel Model conforms to modeled by conforms to M3M3 M2M2 M0M0 M1M1 Controller Brewer SelectBlend SelectQuantity MakeCoffee(Recipe, int) Lifeline Name Lifeline Name Actor Object Message Name Arguments Message Name Arguments source target *1 *1 Class Name Class Name Association Name Multiplicity Association Name Multiplicity isparentof Attribute Name Type Attribute Name Type 1* 1 * 1 * Model Driven Engineering PAGE 613-8-2015
7
Material Flow Diagram PAGE 713-8-2015
8
Problem Statement / Project Goals How can an MDE approach be used to formalize Material Flow Diagrams, such that their role in the design process of material handling systems can be expanded? Get insight in the involved processes design of metamodels evolution of metamodels (when already in use) creation/availability of tooling PAGE 813-8-2015
9
General Approach Domain analysis Construction of a metamodel Construction of a graphical editor Construction of transformations/code generators PAGE 913-8-2015
10
Domain Analysis Entities Processing Units Transport Units Operators Floors Blocks PAGE 1013-8-2015
11
Material Flow Diagram PAGE 1113-8-2015
12
Domain Analysis Entities Processing Units Transport Units Operators Floors Blocks PAGE 1213-8-2015
13
First metamodel attempt PAGE 1313-8-2015
14
Domain Analysis Level of abstraction Hierarchy Connections and connectors Create model element per connection Can be used for e.g. computing metrics PAGE 1413-8-2015
15
Metamodel fragments Hierarchy Connectors Connections PAGE 1513-8-2015
16
Libraries Addressing an even more specific domain One library per sub-domain Keeps libraries small and clear New concepts Abstract Metamodel Libraries Concrete Metamodel PAGE 1613-8-2015
17
Create Metamodel PAGE 1713-8-2015
18
Implement Metamodel We use the Eclipse Modeling Framework Eclipse based framework for Model Driven Engineering Consists of several plug-ins, to create (meta)models perform Model-to-Model transformations (ATL) do code generation (Xpand) create graphical editor (GMF) PAGE 1813-8-2015
19
Implement Metamodel (cnt’d) PAGE 1913-8-2015
20
Create Graphical Editor Compared a few available tools Based on five metrics Results: Decided to go with GMF, best compatibility with what we already have PAGE 2013-8-2015
21
Graphical Editor (cnt’d) Created a (basic) graphical editor for the metamodel we saw a few slides back PAGE 2113-8-2015
22
Transformations and generators Used to actually do something with the created models PAGE 2213-8-2015 Meta- metamodel Metamodel Model Object conforms to modeled by conforms to M3M3 M2M2 M0M0 M1M1
23
Transformations Transforming a model conforming to metamodel A to a model conforming the metamodel B Atlas Transformation Language, ATL rule createRoot{ from a : MFDMeta!MFD to p : PlannerMeta!Planner( PId <- 'P' + a.Mid, PName <- 'Planner' + a.MName ) } PAGE 2313-8-2015
24
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 2413-8-2015
25
Practical Application (1) Generation of a framework for High-Level Controller software Using the hierarchy structure of the MFD Unfortunately, no implementation available Have to settle for description of the structure Overview images Framework for source code PAGE 2513-8-2015
26
Practical Application (1) Transformation + Generator Formalization PAGE 2613-8-2015
27
Practical Application (2) Warehouse Simulator Created by Jacques Verriet of ESI Simulates throughput, latency Generate input, based on an MFD-model Not a 100% mapping Nice example of what might be possible Combination of Java and Xpand Read editor files to create an layout model Traverse model to generate simulator input PAGE 2713-8-2015
28
Practical Application (2) PAGE 2813-8-2015
29
Conclusions Managed to formalize MFDs though an MDE approach Introduced a Library structure to distinguish between subdomains Have working tools to create and edit MFDs Connected to running projects within VI PAGE 2913-8-2015
30
Future Work Automatic generation of the graphical editor Automatic generation of a test suite Combining the topology provided by an MFD with (known) behavior of the individual parts, to create one big behavioral model for a transport system PAGE 3013-8-2015
31
Final Presentation Tuesday, April 13 th, 10.00h HG 6.29 PAGE 3113-8-2015
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.