+ All Categories
Home > Technology > Modeling Environment for Product Configuration in an ERP System

Modeling Environment for Product Configuration in an ERP System

Date post: 28-Nov-2014
Category:
Upload: joao-magalhaes
View: 2,273 times
Download: 0 times
Share this document with a friend
Description:
 
24
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
Transcript
Page 1: Modeling Environment for Product Configuration in an ERP System

Modeling Environment for Product Configuration in an ERP SystemLEIC traineeship at Microsoft Development Center Copenhagen

Author: João Filipe Gama de MagalhãesSupervisor at FEUP: António Coelho

Supervisor at Microsoft: Per Vikkelsøe

September 2007

Page 2: Modeling Environment for Product Configuration in an ERP System

Overview

1. Introduction

2. Problem Description

3. Developed Solution

4. Demo

5. Conclusions

6. Future Work

7. Questions

2Modeling Environment for Product Configuration in an ERP SystemSeptember 2007

Page 3: Modeling Environment for Product Configuration in an ERP System

Introduction

3Modeling Environment for Product Configuration in an ERP SystemSeptember 2007

Microsoft Corporation

• Founded in 1975 by Bill Gates and Paul Allen with the

BASIC programming language for MITS Altair

• Biggest software company worldwide

• Employs more than 75 thousand persons

• Flagship products include Windows OS and Office suite

• Has a complete set of different products, ranging from

ERP to Games, Books, Hardware, etc.

Page 4: Modeling Environment for Product Configuration in an ERP System

Introduction

4Modeling Environment for Product Configuration in an ERP SystemSeptember 2007

Microsoft Development Center Copenhagen

• Located in Vedbæk (Outskirts of Copenhagen)• Member of Microsoft Business Division• Supply chain excellence center• Microsoft Dynamics AX– ERP system targeted at mid-large sized companies– Originally developed by Damgaard Data A/S– Current version is 4.0 the next version is planed for 2008– The business logic development uses the proprietary X++ language

Page 5: Modeling Environment for Product Configuration in an ERP System

Introduction

5Modeling Environment for Product Configuration in an ERP SystemSeptember 2007

Product Configuration I

• Way to personalize products for customers

• Base for the production order

• The outputs are the BOM and the Routes

• Divided into modeling and configuration parts

Page 6: Modeling Environment for Product Configuration in an ERP System

Introduction

6Modeling Environment for Product Configuration in an ERP SystemSeptember 2007

Product Configuration II

base model

configured model

Page 7: Modeling Environment for Product Configuration in an ERP System

Introduction

7Modeling Environment for Product Configuration in an ERP SystemSeptember 2007

Product Configuration III

Product ModelerProduct Modeler

Product Configurator

Product Configurator

Salesman / Order ProcessorProduction Engineer

ModelData

ModelData

Page 8: Modeling Environment for Product Configuration in an ERP System

Introduction

8Modeling Environment for Product Configuration in an ERP SystemSeptember 2007

Microsoft Dynamics AX Product Builder

• Current solution for product configuration in the Microsoft Dynamics AX ERP system

• Integrates to other AX’s functional areas: Enterprise Portal, Master Planning, Production and Sales and Purchasing

• Rule based system

Page 9: Modeling Environment for Product Configuration in an ERP System

Problem Description

9Modeling Environment for Product Configuration in an ERP SystemSeptember 2007

Objectives I

• Product Modeling language (Pml)

• Language with declarative syntax

• Objective oriented (OO) compliant language

• Syntax Highlighting and Code Completion services

Page 10: Modeling Environment for Product Configuration in an ERP System

Problem Description

10Modeling Environment for Product Configuration in an ERP SystemSeptember 2007

Objectives II

• Product configurator compatible with Pml models

• Simple API for external configuration usage

• Configurator capable of use the Object Orientation (OO) capabilities provided by the Pml language

Page 11: Modeling Environment for Product Configuration in an ERP System

Problem Description

11Modeling Environment for Product Configuration in an ERP SystemSeptember 2007

The Pml Framework

• Pml Compiler – provides support for model compilation

• Pml Compiler Tools – gives support for syntax highlighting and code completion, based on the same idea behind Microsoft’s “Intellisense” technology

• Interpretation tools – represents the set of tools for interpretation of the compiled models

• Adapter Abstraction Layer – loads the adapters using reflection, allowing the usage of multiple constraint solvers

• Configuration Engine – coordinates the configuration process and provides the API for configuration

Page 12: Modeling Environment for Product Configuration in an ERP System

Developed Solution

12Modeling Environment for Product Configuration in an ERP SystemSeptember 2007

The Pml Language

• Defines the product block as the base block, equivalent to class, extension support

• Supports the definition of the BOM and Route structures

• The inheritance on the product variables, BOM structure, Route structure and constraints

• Contains namespaces for context division

Page 13: Modeling Environment for Product Configuration in an ERP System

Developed Solution

13Modeling Environment for Product Configuration in an ERP SystemSeptember 2007

The Modeling Environment

Compiler ToolsPml Compiler

Client Compiled Product Model

Code Generator

Lexical Analyzer

Semantic Analyzer

Syntactical Analyzer

Product Model

Pml Code Tools

Syntax Highlighter

Code CompleterAST

Page 14: Modeling Environment for Product Configuration in an ERP System

Developed Solution

14Modeling Environment for Product Configuration in an ERP SystemSeptember 2007

The Compiler

• Semantic analyzer based in a recursive descent of the Pml AST using C# code

• Multiple code output (XPML, XCML), but it possible to add others

Pml Compiler Input / Output

PML FilePML Compiler

XPML File

XCML File

Other Pml output

compliant file

• The lexical and the syntactical analyzers are based

respectively in the GPLEX and GPPG solutions

Page 15: Modeling Environment for Product Configuration in an ERP System

Developed Solution

15Modeling Environment for Product Configuration in an ERP SystemSeptember 2007

The Compiler Tools

• Provide simple way to produce and compile Pml code

• Use the current location of the caret to send information to the client

• Rely on the context information to provide accurate completion data

• Based in dictionaries to provide a fast and responsive system

Page 16: Modeling Environment for Product Configuration in an ERP System

Developed Solution

16Modeling Environment for Product Configuration in an ERP SystemSeptember 2007

The Configuration Environment

Configuration EngineAdapter Abstraction Layer

Microsoft Constraint Solver

Adapter

Microsoft Parallel Constraint Solver

Adapter

Interpretation Tools

Client

API

Microsoft Parallel Constraint Solver

Microsoft Constraint Solver

Compiled Product Model

ASTAdapters

Page 17: Modeling Environment for Product Configuration in an ERP System

Developed Solution

17Modeling Environment for Product Configuration in an ERP SystemSeptember 2007

The Interpretation Tools

• Supports both XCML and XPML model formats

• Uses the .NET XML parsing library (DOM based)

• Outputs a simple AST used by the various visitors

• Faster than interpreting Pml code directly

Page 18: Modeling Environment for Product Configuration in an ERP System

Developed Solution

18Modeling Environment for Product Configuration in an ERP SystemSeptember 2007

The Adapter Abstraction Layer

• Provides the necessary support to load multiple constraint solvers

• .NET Reflection based

• “Uses” the Adapter pattern to load the adapters

• Requires the Visitor pattern to adapt the AST contents to the selected solver

• Reference implementation contains support for two Microsoft based constraint solvers

Page 19: Modeling Environment for Product Configuration in an ERP System

Developed Solution

19Modeling Environment for Product Configuration in an ERP SystemSeptember 2007

The Configuration Engine

• Main entry point for the configuration process

• Controls the interpretation of the compiled models

• Calls the AAL for loading and running of the various

constraint solvers

• Controls the external API calls

Page 20: Modeling Environment for Product Configuration in an ERP System

20Modeling Environment for Product Configuration in an ERP SystemSeptember 2007

• Bicycle factory based problem• Configuring a bike to fulfill the customer requirements for a

customized bicycle• Configuration of the bicycle according to:

• Model type – Mountain, City, BMX

• Frame Type – Steel, Titanium, Aluminium, Carbon

• Crank Type – Silver, Steel, Titanium, Aluminium, Carbon, CarbonAluminium

• Grip Type – Ergonomic, City, Mountain

• Pedal Type – Steel, Titanium, Aluminium, Carbon

• Seat Type – Gel, Leather, Sheep, Silver

• Wheels and Tyres

Demo

Page 21: Modeling Environment for Product Configuration in an ERP System

21Modeling Environment for Product Configuration in an ERP SystemSeptember 2007

Demo

Demo

Page 22: Modeling Environment for Product Configuration in an ERP System

22Modeling Environment for Product Configuration in an ERP SystemSeptember 2007

• The proposed project has been successfully implemented

• All the main requirements have been fulfilled• Integration with André’s project has been

completely achieved• Cooperation with the members of the Microsoft

campus has been critical to the success of the project

Conclusions

Page 23: Modeling Environment for Product Configuration in an ERP System

23Modeling Environment for Product Configuration in an ERP SystemSeptember 2007

• Debugger

• Documentation generation

• Increased support for complex BOM and Routes

• Better use of Metadata

• Unit Test support

• Model obfuscation / encryption

Future Work

Page 24: Modeling Environment for Product Configuration in an ERP System

24Modeling Environment for Product Configuration in an ERP SystemSeptember 2007

Questions

Questions


Recommended