Formalizing Material Flow Diagrams How can an MDE approach be used to improve the design process of material handling systems? Robert-Jan Bijl.

Slides:



Advertisements
Similar presentations
GenArch: Automatic Product Derivation in Multi-agent Systems Product Line Elder Cirilo.
Advertisements

Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
IAAnalyzer: Towards a Model-Driven Modeling and Analysis Framework for C ONNECT(ors) Massimo Tivoli, University of L’Aquila (UNIVAQ)
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel.
Automated Test Design ™ © 2011 Conformiq, Inc. CONFORMIQ DESIGNER On ES v1.2.1 Stephan Schulz MBT Working Meeting/MTS#56, Göttingen.
UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
CSI5112 Software Engineering Team: Andrei Anisenia Margi Fumtiwala.
Practical Business Modeling in the Unified Process Tom Morgan Software Architect, Fidelity National Information Services
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
Unified Modeling Language
Formalizing Material Flow Diagrams Robert-Jan Bijl.
Formal Techniques in Software Engineering Universiteit AntwerpenIntroduction 1.1 Formal Techniques in Software Engineering 3de BAC Informatica Chapter.
Telecom and Informatics :: INF5120 :: Mansur Abbasi & Svein Melby Assignment 1 – First aid - Clarifications, issues and insight.
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards Dr. Nenad Medvidovic Center.
21-February-2003cse Architecture © 2003 University of Washington1 Architecture CSE 403, Winter 2003 Software Engineering
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
CAD/CAM Design Process and the role of CAD. Design Process Engineering and manufacturing together form largest single economic activity of western civilization.
© Copyright Eliyahu Brutman Programming Techniques Course.
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
Itntroduction to UML, page 1 Introduction to UML.
Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Comparing M2T & M2M Complementary Approaches Hugo Bruneliere,
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Deriving AO Software Architectures using the AO-ADL Tool Suite Luis Fernández, Lidia Fuentes, Mónica Pinto, Juan A. Valenzuela Universidad de Málaga
Spectra Software Defined Radio Products Applying Model Driven Design, Generative Programming, and Agile Software Techniques to the SDR Domain OOPSLA '05.
An Approach and Tool for Synchronous Refactoring of UML Diagrams and Models Using Model-to-Model Transformations Hafsteinn Þór Einarsson Helmut Neukirchen.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
1 An Analytical Evaluation of BPMN Using a Semiotic Quality Framework Terje Wahl & Guttorm Sindre NTNU, Norway Terje Wahl, 14. June 2005.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
Yu Sun 1, Zekai Demirezen 1, Marjan Mernik 2, Jeff Gray 1, Barret Bryant 1 1 Department of Computer and Information Sciences, University of Alabama at.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
Introduction to MDA (Model Driven Architecture) CYT.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Agenda 1. Introduction 2. Overview of SU-MoVal 3. OCL-based Model Validation 4. QVT-based Transformations 5. Demo of SU-MoVal 6. Conclusion and Future.
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
August/2007 Helton Souza Lima SBCARS 1 Automatic Generation of Platform Independent Built-in Contract Testers Helton Souza Lima Franklin Ramalho Patricia.
Selected Topics in Software Engineering - Distributed Software Development.
A language to describe software texture in abstract design models and implementation.
Systems Analysis and Design in a Changing World, 3rd Edition
L8 - March 28, 2006copyright Thomas Pole , all rights reserved 1 Lecture 8: Software Asset Management and Text Ch. 5: Software Factories, (Review)
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
Graphical Modeling Framework (GMF) Richard C. Gronback Project Lead.
CPSC 871 John D. McGregor Module 3 Session 1 Architecture.
Formalizing Material Flow Diagrams Robert-Jan Bijl.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping.
Summer Project Marama2008 By Robert and Johnson. What is Marama? Marama is an Eclipses based toolset permits rapid specification of notational elements,
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
AUTOMATIC GENERATION OF MODEL TRAVERSALS FROM METAMODEL DEFINITIONS Authors: Tomaž Lukman, Marjan Mernik, Zekai Demirezen, Barrett Bryant, Jeff Gray ACM.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
Aspect-oriented Code Generation Approaches Abid Mehmood & Dayang N. A. Jawawi Department of Software Engineering Faculty of Computer Science and Information.
Page 1 Hitachi Ltd. – FhI FOKUS TTCN-3 User Conference, June 2005 MDA based approach for generation of TTCN-3 test specifications Hideto Ogawa, Hitachi.
UML Diagrams By Daniel Damaris Novarianto S..
Object-Oriented Analysis and Design
SysML v2 Formalism: Requirements & Benefits
Unified Modeling Language
Web Application Modeling
UML Diagrams Jung Woo.
Evaluating Compuware OptimalJ as an MDA tool
Execute your Processes
Software Architecture & Design
Presentation transcript:

Formalizing Material Flow Diagrams How can an MDE approach be used to improve the design process of material handling systems? Robert-Jan Bijl

Contents The FALCON Project Problem Statement Model Driven Engineering Incorporating MFDs in MDE Stepwise metamodel design Tools and Transformations for Formal MFDs Conclusion PAGE

The FALCON project FALCON: Flexible Automated Logistics CONcepts ‘Warehouse of the future’ PAGE

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

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

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

Material Flow Diagram PAGE

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

General Approach Domain analysis Construction of a metamodel Construction of a graphical editor Construction of transformations/code generators PAGE

Domain Analysis Entities Processing Units Transport Units Operators Floors Blocks PAGE

Material Flow Diagram PAGE

Domain Analysis Entities Processing Units Transport Units Operators Floors Blocks PAGE

First metamodel attempt PAGE

Domain Analysis Level of abstraction Hierarchy Connections and connectors Create model element per connection Can be used for e.g. computing metrics PAGE

Metamodel fragments Hierarchy Connectors Connections PAGE

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

Create Metamodel PAGE

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

Implement Metamodel (cnt’d) PAGE

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

Graphical Editor (cnt’d) Created a (basic) graphical editor for the metamodel we saw a few slides back PAGE

Transformations and generators Used to actually do something with the created models PAGE Meta- metamodel Metamodel Model Object conforms to modeled by conforms to M3M3 M2M2 M0M0 M1M1

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

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

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

Practical Application (1) Transformation + Generator Formalization PAGE

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

Practical Application (2) PAGE

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

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

Final Presentation Tuesday, April 13 th, 10.00h HG 6.29 PAGE