Modeling Environment for Product Configuration in an ERP System LEIC traineeship at Microsoft Development Center Copenhage...
Overview <ul><li>Introduction </li></ul><ul><li>Problem Description </li></ul><ul><li>Developed Solution </li></ul><ul><li...
Introduction <ul><li>Founded in 1975 by Bill Gates and Paul Allen with the BASIC programming language for MITS Altair </li...
Introduction <ul><li>Located in Vedbæk (Outskirts of Copenhagen) </li></ul><ul><li>Member of Microsoft Business Division <...
Introduction <ul><li>Way to personalize products for customers </li></ul><ul><li>Base for the production order </li></ul><...
Introduction Modeling Environment for Product Configuration in an ERP System September 2007 Product Configuration II base ...
Introduction Modeling Environment for Product Configuration in an ERP System September 2007 Product Configuration III Prod...
Introduction Modeling Environment for Product Configuration in an ERP System September 2007 Microsoft Dynamics AX Product ...
Problem Description Modeling Environment for Product Configuration in an ERP System September 2007 Objectives I <ul><li>Pr...
Problem Description Modeling Environment for Product Configuration in an ERP System September 2007 Objectives II <ul><li>P...
Problem Description <ul><li>Pml Compiler  –  provides support for model compilation </li></ul><ul><li>Pml Compiler Tools –...
Developed Solution <ul><li>Defines the product block as the base block, equivalent to class, extension support </li></ul><...
Developed Solution Modeling Environment for Product Configuration in an ERP System September 2007 The Modeling Environment...
Developed Solution <ul><li>Semantic analyzer based in a recursive descent of the Pml AST using C# code </li></ul><ul><li>M...
Developed Solution <ul><li>Provide simple way to produce and compile Pml code </li></ul><ul><li>Use the current location o...
Developed Solution Modeling Environment for Product Configuration in an ERP System September 2007 The Configuration Enviro...
Developed Solution Modeling Environment for Product Configuration in an ERP System September 2007 The Interpretation Tools...
Developed Solution <ul><li>Provides the necessary support to load multiple constraint solvers </li></ul><ul><li>.NET Refle...
Developed Solution Modeling Environment for Product Configuration in an ERP System September 2007 The Configuration Engine...
<ul><li>Bicycle factory based problem </li></ul><ul><li>Configuring a bike to fulfill the customer requirements for a cust...
Demo Modeling Environment for Product Configuration in an ERP System September 2007 Demo
<ul><li>The proposed project has been successfully  implemented </li></ul><ul><li>All the main requirements have been fulf...
<ul><li>Debugger </li></ul><ul><li>Documentation generation </li></ul><ul><li>Increased support for complex BOM and Routes...
<ul><li>Questions </li></ul>Questions Modeling Environment for Product Configuration in an ERP System September 2007
Upcoming SlideShare
Loading in …5
×

Modeling Environment for Product Configuration in an ERP System

1,389 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,389
On SlideShare
0
From Embeds
0
Number of Embeds
14
Actions
Shares
0
Downloads
56
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Welcome and thank you all for coming. My name is Joao Magalhães and I’m here to present my traineeship project titled: Modeling Environment for Product Configuration in an ERP System. This project itself has been developed at the Microsoft Development Center Copenhagen (optional) under supervision of Per Vikkelsøe and António Coelho from FEUP
  • Modeling Environment for Product Configuration in an ERP System

    1. 1. Modeling Environment for Product Configuration in an ERP System LEIC traineeship at Microsoft Development Center Copenhagen Author: João Filipe Gama de Magalhães Supervisor at FEUP: António Coelho Supervisor at Microsoft: Per Vikkelsøe September 2007
    2. 2. Overview <ul><li>Introduction </li></ul><ul><li>Problem Description </li></ul><ul><li>Developed Solution </li></ul><ul><li>Demo </li></ul><ul><li>Conclusions </li></ul><ul><li>Future Work </li></ul><ul><li>Questions </li></ul>Modeling Environment for Product Configuration in an ERP System September 2007
    3. 3. Introduction <ul><li>Founded in 1975 by Bill Gates and Paul Allen with the BASIC programming language for MITS Altair </li></ul><ul><li>Biggest software company worldwide </li></ul><ul><li>Employs more than 75 thousand persons </li></ul><ul><li>Flagship products include Windows OS and Office suite </li></ul><ul><li>Has a complete set of different products, ranging from ERP to Games, Books, Hardware, etc. </li></ul>Modeling Environment for Product Configuration in an ERP System September 2007 Microsoft Corporation
    4. 4. Introduction <ul><li>Located in Vedbæk (Outskirts of Copenhagen) </li></ul><ul><li>Member of Microsoft Business Division </li></ul><ul><li>Supply chain excellence center </li></ul><ul><ul><li>Microsoft Dynamics AX </li></ul></ul><ul><ul><li>ERP system targeted at mid-large sized companies </li></ul></ul><ul><ul><li>Originally developed by Damgaard Data A/S </li></ul></ul><ul><ul><li>Current version is 4.0 the next version is planed for 2008 </li></ul></ul><ul><ul><li>The business logic development uses the proprietary X++ language </li></ul></ul>Modeling Environment for Product Configuration in an ERP System September 2007 Microsoft Development Center Copenhagen
    5. 5. Introduction <ul><li>Way to personalize products for customers </li></ul><ul><li>Base for the production order </li></ul><ul><li>The outputs are the BOM and the Routes </li></ul><ul><li>Divided into modeling and configuration parts </li></ul>Modeling Environment for Product Configuration in an ERP System September 2007 Product Configuration I
    6. 6. Introduction Modeling Environment for Product Configuration in an ERP System September 2007 Product Configuration II base model configured model
    7. 7. Introduction Modeling Environment for Product Configuration in an ERP System September 2007 Product Configuration III Product Modeler Product Configurator
    8. 8. Introduction Modeling Environment for Product Configuration in an ERP System September 2007 Microsoft Dynamics AX Product Builder <ul><li>Current solution for product configuration in the Microsoft Dynamics AX ERP system </li></ul><ul><li>Integrates to other AX’s functional areas: Enterprise Portal, Master Planning, Production and Sales and Purchasing </li></ul><ul><li>Rule based system </li></ul>
    9. 9. Problem Description Modeling Environment for Product Configuration in an ERP System September 2007 Objectives I <ul><li>Product Modeling language (Pml) </li></ul><ul><li>Language with declarative syntax </li></ul><ul><li>Objective oriented (OO) compliant language </li></ul><ul><li>Syntax Highlighting and Code Completion services </li></ul>
    10. 10. Problem Description Modeling Environment for Product Configuration in an ERP System September 2007 Objectives II <ul><li>Product configurator compatible with Pml models </li></ul><ul><li>Simple API for external configuration usage </li></ul><ul><li>Configurator capable of use the Object Orientation (OO) capabilities provided by the Pml language </li></ul>
    11. 11. Problem Description <ul><li>Pml Compiler – provides support for model compilation </li></ul><ul><li>Pml Compiler Tools – gives support for syntax highlighting and code completion, based on the same idea behind Microsoft’s “Intellisense” technology </li></ul><ul><li>Interpretation tools – represents the set of tools for interpretation of the compiled models </li></ul><ul><li>Adapter Abstraction Layer – loads the adapters using reflection, allowing the usage of multiple constraint solvers </li></ul><ul><li>Configuration Engine – coordinates the configuration process and provides the API for configuration </li></ul>Modeling Environment for Product Configuration in an ERP System September 2007 The Pml Framework
    12. 12. Developed Solution <ul><li>Defines the product block as the base block, equivalent to class, extension support </li></ul><ul><li>Supports the definition of the BOM and Route structures </li></ul><ul><li>The inheritance on the product variables, BOM structure, Route structure and constraints </li></ul><ul><li>Contains namespaces for context division </li></ul>Modeling Environment for Product Configuration in an ERP System September 2007 The Pml Language
    13. 13. Developed Solution Modeling Environment for Product Configuration in an ERP System September 2007 The Modeling Environment Compiler Tools Pml Compiler Client Code Generator Lexical Analyzer Semantic Analyzer Syntactical Analyzer Pml Code Tools Syntax Highlighter Code Completer AST
    14. 14. Developed Solution <ul><li>Semantic analyzer based in a recursive descent of the Pml AST using C# code </li></ul><ul><li>Multiple code output (XPML, XCML), but it possible to add others </li></ul>Modeling Environment for Product Configuration in an ERP System September 2007 The Compiler <ul><li>The lexical and the syntactical analyzers are based respectively in the GPLEX and GPPG solutions </li></ul>
    15. 15. Developed Solution <ul><li>Provide simple way to produce and compile Pml code </li></ul><ul><li>Use the current location of the caret to send information to the client </li></ul><ul><li>Rely on the context information to provide accurate completion data </li></ul><ul><li>Based in dictionaries to provide a fast and responsive system </li></ul>Modeling Environment for Product Configuration in an ERP System September 2007 The Compiler Tools
    16. 16. Developed Solution Modeling Environment for Product Configuration in an ERP System September 2007 The Configuration Environment Configuration Engine Adapter Abstraction Layer Microsoft Constraint Solver Adapter Microsoft Parallel Constraint Solver Adapter Interpretation Tools Client API Microsoft Parallel Constraint Solver Microsoft Constraint Solver AST Adapters
    17. 17. Developed Solution Modeling Environment for Product Configuration in an ERP System September 2007 The Interpretation Tools <ul><li>Supports both XCML and XPML model formats </li></ul><ul><li>Uses the .NET XML parsing library (DOM based) </li></ul><ul><li>Outputs a simple AST used by the various visitors </li></ul><ul><li>Faster than interpreting Pml code directly </li></ul>
    18. 18. Developed Solution <ul><li>Provides the necessary support to load multiple constraint solvers </li></ul><ul><li>.NET Reflection based </li></ul><ul><li>“ Uses” the Adapter pattern to load the adapters </li></ul><ul><li>Requires the Visitor pattern to adapt the AST contents to the selected solver </li></ul><ul><li>Reference implementation contains support for two Microsoft based constraint solvers </li></ul>Modeling Environment for Product Configuration in an ERP System September 2007 The Adapter Abstraction Layer
    19. 19. Developed Solution Modeling Environment for Product Configuration in an ERP System September 2007 The Configuration Engine <ul><li>Main entry point for the configuration process </li></ul><ul><li>Controls the interpretation of the compiled models </li></ul><ul><li>Calls the AAL for loading and running of the various constraint solvers </li></ul><ul><li>Controls the external API calls </li></ul>
    20. 20. <ul><li>Bicycle factory based problem </li></ul><ul><li>Configuring a bike to fulfill the customer requirements for a customized bicycle </li></ul><ul><li>Configuration of the bicycle according to: </li></ul><ul><ul><li>Model type – Mountain, City, BMX </li></ul></ul><ul><ul><li>Frame Type – Steel, Titanium, Aluminium, Carbon </li></ul></ul><ul><ul><li>Crank Type – Silver, Steel, Titanium, Aluminium, Carbon, CarbonAluminium </li></ul></ul><ul><ul><li>Grip Type – Ergonomic, City, Mountain </li></ul></ul><ul><ul><li>Pedal Type – Steel, Titanium, Aluminium, Carbon </li></ul></ul><ul><ul><li>Seat Type – Gel, Leather, Sheep, Silver </li></ul></ul><ul><ul><li>Wheels and Tyres </li></ul></ul>Demo Modeling Environment for Product Configuration in an ERP System September 2007
    21. 21. Demo Modeling Environment for Product Configuration in an ERP System September 2007 Demo
    22. 22. <ul><li>The proposed project has been successfully implemented </li></ul><ul><li>All the main requirements have been fulfilled </li></ul><ul><li>Integration with André’s project has been completely achieved </li></ul><ul><li>Cooperation with the members of the Microsoft campus has been critical to the success of the project </li></ul>Conclusions Modeling Environment for Product Configuration in an ERP System September 2007
    23. 23. <ul><li>Debugger </li></ul><ul><li>Documentation generation </li></ul><ul><li>Increased support for complex BOM and Routes </li></ul><ul><li>Better use of Metadata </li></ul><ul><li>Unit Test support </li></ul><ul><li>Model obfuscation / encryption </li></ul>Future Work Modeling Environment for Product Configuration in an ERP System September 2007
    24. 24. <ul><li>Questions </li></ul>Questions Modeling Environment for Product Configuration in an ERP System September 2007

    ×