際際滷

際際滷Share a Scribd company logo
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
Overview Introduction Problem Description Developed Solution Demo Conclusions Future Work Questions Modeling Environment for Product Configuration in an ERP System September 2007
Introduction 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. Modeling Environment for Product Configuration in an ERP System September 2007 Microsoft Corporation
Introduction 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 Modeling Environment for Product Configuration in an ERP System September 2007 Microsoft Development Center Copenhagen
Introduction 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 Modeling Environment for Product Configuration in an ERP System September 2007 Product Configuration I
Introduction Modeling Environment for Product Configuration in an ERP System September 2007 Product Configuration II base model  configured model
Introduction Modeling Environment for Product Configuration in an ERP System September 2007 Product Configuration III Product Modeler Product Configurator
Introduction Modeling Environment for Product Configuration in an ERP System September 2007 Microsoft Dynamics AX Product Builder Current solution for product configuration in the Microsoft Dynamics AX ERP system Integrates to other AXs functional areas: Enterprise Portal, Master Planning, Production and Sales and Purchasing  Rule based system
Problem Description Modeling Environment for Product Configuration in an ERP System September 2007 Objectives I Product Modeling language (Pml) Language with declarative syntax Objective oriented (OO) compliant language Syntax Highlighting and Code Completion services
Problem Description Modeling Environment for Product Configuration in an ERP System September 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
Problem Description Pml Compiler    provides support for model compilation Pml Compiler Tools   gives support for syntax highlighting and code completion, based on the same idea behind Microsofts  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 Modeling Environment for Product Configuration in an ERP System September 2007 The Pml Framework
Developed Solution 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 Modeling Environment for Product Configuration in an ERP System September 2007 The Pml Language
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
Developed Solution 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 Modeling Environment for Product Configuration in an ERP System September 2007 The Compiler The lexical and the syntactical analyzers are based respectively in the GPLEX and GPPG solutions
Developed Solution 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 Modeling Environment for Product Configuration in an ERP System September 2007 The Compiler Tools
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
Developed Solution Modeling Environment for Product Configuration in an ERP System September 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
Developed Solution 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 Modeling Environment for Product Configuration in an ERP System September 2007 The Adapter Abstraction Layer
Developed Solution Modeling Environment for Product Configuration in an ERP System September 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
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 Modeling Environment for Product Configuration in an ERP System September 2007
Demo Modeling Environment for Product Configuration in an ERP System September 2007 Demo
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 Modeling Environment for Product Configuration in an ERP System September 2007
Debugger Documentation generation Increased support for complex BOM and Routes Better use of Metadata Unit Test support Model obfuscation / encryption Future Work Modeling Environment for Product Configuration in an ERP System September 2007
Questions Questions Modeling Environment for Product Configuration in an ERP System September 2007

More Related Content

What's hot (8)

Office 2007
Office 2007Office 2007
Office 2007
darren_quinn
What's New in Autocad Mechanical 2011
What's New in Autocad Mechanical 2011What's New in Autocad Mechanical 2011
What's New in Autocad Mechanical 2011
Applied Engineering
SimulationX Meets Office
SimulationX Meets OfficeSimulationX Meets Office
SimulationX Meets Office
SimulationX
Architectural Tactics Support in Cloud Computing Providers: The Jelastic Case
Architectural Tactics Support in Cloud Computing Providers: The Jelastic CaseArchitectural Tactics Support in Cloud Computing Providers: The Jelastic Case
Architectural Tactics Support in Cloud Computing Providers: The Jelastic Case
Jaime Chavarriaga
Concept To Production
Concept To ProductionConcept To Production
Concept To Production
Ubique Mechanical Design, Inc
Bi Publisher 11g: Only good news
Bi Publisher 11g: Only good newsBi Publisher 11g: Only good news
Bi Publisher 11g: Only good news
Edelweiss Kammermann
Building BI Publisher Reports using Templates
Building BI Publisher Reports using TemplatesBuilding BI Publisher Reports using Templates
Building BI Publisher Reports using Templates
p6academy
New Enhancements + Upgrade Path to Oracle EBS R12.1.3
New Enhancements + Upgrade Path to Oracle EBS R12.1.3New Enhancements + Upgrade Path to Oracle EBS R12.1.3
New Enhancements + Upgrade Path to Oracle EBS R12.1.3
iWare Logic Technologies Pvt. Ltd.
What's New in Autocad Mechanical 2011
What's New in Autocad Mechanical 2011What's New in Autocad Mechanical 2011
What's New in Autocad Mechanical 2011
Applied Engineering
SimulationX Meets Office
SimulationX Meets OfficeSimulationX Meets Office
SimulationX Meets Office
SimulationX
Architectural Tactics Support in Cloud Computing Providers: The Jelastic Case
Architectural Tactics Support in Cloud Computing Providers: The Jelastic CaseArchitectural Tactics Support in Cloud Computing Providers: The Jelastic Case
Architectural Tactics Support in Cloud Computing Providers: The Jelastic Case
Jaime Chavarriaga
Bi Publisher 11g: Only good news
Bi Publisher 11g: Only good newsBi Publisher 11g: Only good news
Bi Publisher 11g: Only good news
Edelweiss Kammermann
Building BI Publisher Reports using Templates
Building BI Publisher Reports using TemplatesBuilding BI Publisher Reports using Templates
Building BI Publisher Reports using Templates
p6academy

Similar to Modeling Environment for Product Configuration in an ERP System (20)

Modeling Environment for Product Configuration in an ERP System
Modeling Environment for Product Configuration in an ERP SystemModeling Environment for Product Configuration in an ERP System
Modeling Environment for Product Configuration in an ERP System
Jo達o Magalh達es
Solution engine presentation
Solution engine presentationSolution engine presentation
Solution engine presentation
guestfd80a3
Solution engine presentation
Solution engine presentationSolution engine presentation
Solution engine presentation
guestfd80a3
Presentation on Visual Studio Tools for Office (VSTO) at HyderabadTechies
Presentation on Visual Studio Tools for Office (VSTO) at HyderabadTechiesPresentation on Visual Studio Tools for Office (VSTO) at HyderabadTechies
Presentation on Visual Studio Tools for Office (VSTO) at HyderabadTechies
pranavaa
Oracle OpenWorld 2009 AIA Best Practices
Oracle OpenWorld 2009 AIA Best PracticesOracle OpenWorld 2009 AIA Best Practices
Oracle OpenWorld 2009 AIA Best Practices
Rajesh Raheja
DevBCN Vertex AI - Pipelines for your MLOps workflows
DevBCN Vertex AI - Pipelines for your MLOps workflowsDevBCN Vertex AI - Pipelines for your MLOps workflows
DevBCN Vertex AI - Pipelines for your MLOps workflows
M叩rton Kodok
How to Create Your Own Product-Modeling Environment
How to Create Your Own Product-Modeling EnvironmentHow to Create Your Own Product-Modeling Environment
How to Create Your Own Product-Modeling Environment
Tim Geisler
Best Implementation Practices with BI Publisher
Best Implementation Practices with BI PublisherBest Implementation Practices with BI Publisher
Best Implementation Practices with BI Publisher
Mohan Dutt
What's New in Rational Software for POWER Systems
What's New in Rational Software for POWER SystemsWhat's New in Rational Software for POWER Systems
What's New in Rational Software for POWER Systems
Strongback Consulting
Bpm Tools
Bpm ToolsBpm Tools
Bpm Tools
Sarbashrestha Panda
Practical Experiences Migrating Unified Modeling Language Models to IBM速 Rati...
PracticalExperiences Migrating Unified Modeling Language Models to IBM速 Rati...PracticalExperiences Migrating Unified Modeling Language Models to IBM速 Rati...
Practical Experiences Migrating Unified Modeling Language Models to IBM速 Rati...
Einar Karlsen
Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008
Lucas Jellema
Cognos CIO CEE 2010 Prague CZE
Cognos CIO CEE 2010 Prague CZECognos CIO CEE 2010 Prague CZE
Cognos CIO CEE 2010 Prague CZE
Stepan Kutaj
SAP Microsoft Interoperability - Business Process Solutions
SAP Microsoft Interoperability - Business Process SolutionsSAP Microsoft Interoperability - Business Process Solutions
SAP Microsoft Interoperability - Business Process Solutions
Kristian Kalsing
Innovate2012_MAC-2196
Innovate2012_MAC-2196Innovate2012_MAC-2196
Innovate2012_MAC-2196
Arman Atashi
Rational Team Concertfor Power Customer Presentation02 09 10
Rational Team Concertfor Power Customer Presentation02 09 10Rational Team Concertfor Power Customer Presentation02 09 10
Rational Team Concertfor Power Customer Presentation02 09 10
Strongback Consulting
Rhapsody and mechatronics, multi-domain simulation
Rhapsody and mechatronics, multi-domain simulationRhapsody and mechatronics, multi-domain simulation
Rhapsody and mechatronics, multi-domain simulation
Graham Bleakley
Planning customizing office 2010 for your environment online
Planning  customizing office 2010 for your environment onlinePlanning  customizing office 2010 for your environment online
Planning customizing office 2010 for your environment online
Stephen Rose
Vs2005p
Vs2005pVs2005p
Vs2005p
cm_chitta
Utilisation de MLflow pour le cycle de vie des projet Machine learning
Utilisation de MLflow pour le cycle de vie des projet Machine learningUtilisation de MLflow pour le cycle de vie des projet Machine learning
Utilisation de MLflow pour le cycle de vie des projet Machine learning
Paris Data Engineers !
Modeling Environment for Product Configuration in an ERP System
Modeling Environment for Product Configuration in an ERP SystemModeling Environment for Product Configuration in an ERP System
Modeling Environment for Product Configuration in an ERP System
Jo達o Magalh達es
Solution engine presentation
Solution engine presentationSolution engine presentation
Solution engine presentation
guestfd80a3
Solution engine presentation
Solution engine presentationSolution engine presentation
Solution engine presentation
guestfd80a3
Presentation on Visual Studio Tools for Office (VSTO) at HyderabadTechies
Presentation on Visual Studio Tools for Office (VSTO) at HyderabadTechiesPresentation on Visual Studio Tools for Office (VSTO) at HyderabadTechies
Presentation on Visual Studio Tools for Office (VSTO) at HyderabadTechies
pranavaa
Oracle OpenWorld 2009 AIA Best Practices
Oracle OpenWorld 2009 AIA Best PracticesOracle OpenWorld 2009 AIA Best Practices
Oracle OpenWorld 2009 AIA Best Practices
Rajesh Raheja
DevBCN Vertex AI - Pipelines for your MLOps workflows
DevBCN Vertex AI - Pipelines for your MLOps workflowsDevBCN Vertex AI - Pipelines for your MLOps workflows
DevBCN Vertex AI - Pipelines for your MLOps workflows
M叩rton Kodok
How to Create Your Own Product-Modeling Environment
How to Create Your Own Product-Modeling EnvironmentHow to Create Your Own Product-Modeling Environment
How to Create Your Own Product-Modeling Environment
Tim Geisler
Best Implementation Practices with BI Publisher
Best Implementation Practices with BI PublisherBest Implementation Practices with BI Publisher
Best Implementation Practices with BI Publisher
Mohan Dutt
What's New in Rational Software for POWER Systems
What's New in Rational Software for POWER SystemsWhat's New in Rational Software for POWER Systems
What's New in Rational Software for POWER Systems
Strongback Consulting
Practical Experiences Migrating Unified Modeling Language Models to IBM速 Rati...
PracticalExperiences Migrating Unified Modeling Language Models to IBM速 Rati...PracticalExperiences Migrating Unified Modeling Language Models to IBM速 Rati...
Practical Experiences Migrating Unified Modeling Language Models to IBM速 Rati...
Einar Karlsen
Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008
Lucas Jellema
Cognos CIO CEE 2010 Prague CZE
Cognos CIO CEE 2010 Prague CZECognos CIO CEE 2010 Prague CZE
Cognos CIO CEE 2010 Prague CZE
Stepan Kutaj
SAP Microsoft Interoperability - Business Process Solutions
SAP Microsoft Interoperability - Business Process SolutionsSAP Microsoft Interoperability - Business Process Solutions
SAP Microsoft Interoperability - Business Process Solutions
Kristian Kalsing
Innovate2012_MAC-2196
Innovate2012_MAC-2196Innovate2012_MAC-2196
Innovate2012_MAC-2196
Arman Atashi
Rational Team Concertfor Power Customer Presentation02 09 10
Rational Team Concertfor Power Customer Presentation02 09 10Rational Team Concertfor Power Customer Presentation02 09 10
Rational Team Concertfor Power Customer Presentation02 09 10
Strongback Consulting
Rhapsody and mechatronics, multi-domain simulation
Rhapsody and mechatronics, multi-domain simulationRhapsody and mechatronics, multi-domain simulation
Rhapsody and mechatronics, multi-domain simulation
Graham Bleakley
Planning customizing office 2010 for your environment online
Planning  customizing office 2010 for your environment onlinePlanning  customizing office 2010 for your environment online
Planning customizing office 2010 for your environment online
Stephen Rose
Utilisation de MLflow pour le cycle de vie des projet Machine learning
Utilisation de MLflow pour le cycle de vie des projet Machine learningUtilisation de MLflow pour le cycle de vie des projet Machine learning
Utilisation de MLflow pour le cycle de vie des projet Machine learning
Paris Data Engineers !

Recently uploaded (20)

Automating Behavior-Driven Development: Boosting Productivity with Template-D...
Automating Behavior-Driven Development: Boosting Productivity with Template-D...Automating Behavior-Driven Development: Boosting Productivity with Template-D...
Automating Behavior-Driven Development: Boosting Productivity with Template-D...
DOCOMO Innovations, Inc.
New from BookNet Canada for 2025: BNC SalesData and BNC LibraryData
New from BookNet Canada for 2025: BNC SalesData and BNC LibraryDataNew from BookNet Canada for 2025: BNC SalesData and BNC LibraryData
New from BookNet Canada for 2025: BNC SalesData and BNC LibraryData
BookNet Canada
Cloudflares Game-Changing Move The First Remote MCP Server for AI Agent Deve...
Cloudflares Game-Changing Move The First Remote MCP Server for AI Agent Deve...Cloudflares Game-Changing Move The First Remote MCP Server for AI Agent Deve...
Cloudflares Game-Changing Move The First Remote MCP Server for AI Agent Deve...
davidandersonofficia
Ricardo Jebb Bruno - A Structural CAD Technician
Ricardo Jebb Bruno - A Structural CAD TechnicianRicardo Jebb Bruno - A Structural CAD Technician
Ricardo Jebb Bruno - A Structural CAD Technician
Ricardo Jebb Bruno
Research Data Management (RDM): the management of dat in the research process
Research Data Management (RDM): the management of dat in the research processResearch Data Management (RDM): the management of dat in the research process
Research Data Management (RDM): the management of dat in the research process
HeilaPienaar
Evaluating Global Load Balancing Options for Kubernetes in Practice (Kubermat...
Evaluating Global Load Balancing Options for Kubernetes in Practice (Kubermat...Evaluating Global Load Balancing Options for Kubernetes in Practice (Kubermat...
Evaluating Global Load Balancing Options for Kubernetes in Practice (Kubermat...
Tobias Schneck
From SBOMs to xBOMs to Transparency - Pavel Shukhman at OWASP Ottawa on 2025-...
From SBOMs to xBOMs to Transparency - Pavel Shukhman at OWASP Ottawa on 2025-...From SBOMs to xBOMs to Transparency - Pavel Shukhman at OWASP Ottawa on 2025-...
From SBOMs to xBOMs to Transparency - Pavel Shukhman at OWASP Ottawa on 2025-...
Pavel Shukhman
AI Driven Posture Analysis Fall Detection System for the Elderly.pdf
AI Driven Posture Analysis Fall Detection System for the Elderly.pdfAI Driven Posture Analysis Fall Detection System for the Elderly.pdf
AI Driven Posture Analysis Fall Detection System for the Elderly.pdf
Patrick Ogbuitepu
Automated Engineering of Domain-Specific Metamorphic Testing Environments
Automated Engineering of Domain-Specific Metamorphic Testing EnvironmentsAutomated Engineering of Domain-Specific Metamorphic Testing Environments
Automated Engineering of Domain-Specific Metamorphic Testing Environments
Pablo G坦mez Abajo
April Patch Tuesday
April Patch TuesdayApril Patch Tuesday
April Patch Tuesday
Ivanti
TrustArc Webinar - Data Privacy and Cyber Security: A Symbiotic Relationship
TrustArc Webinar - Data Privacy and Cyber Security: A Symbiotic RelationshipTrustArc Webinar - Data Privacy and Cyber Security: A Symbiotic Relationship
TrustArc Webinar - Data Privacy and Cyber Security: A Symbiotic Relationship
TrustArc
Meet CrewAI The Framework Powering Agentic AI (2).pdf
Meet CrewAI The Framework Powering Agentic AI (2).pdfMeet CrewAI The Framework Powering Agentic AI (2).pdf
Meet CrewAI The Framework Powering Agentic AI (2).pdf
Yodaplus Technologies Private Limited
San Francisco Atlassian ACE - Mar 27 2025.pdf
San Francisco Atlassian ACE - Mar 27 2025.pdfSan Francisco Atlassian ACE - Mar 27 2025.pdf
San Francisco Atlassian ACE - Mar 27 2025.pdf
Matt Doar
AI in Talent Acquisition: Boosting Hiring
AI in Talent Acquisition: Boosting HiringAI in Talent Acquisition: Boosting Hiring
AI in Talent Acquisition: Boosting Hiring
Beyond Chiefs
All-Data, Any-AI Integration: FME & Amazon Bedrock in the Real-World
All-Data, Any-AI Integration: FME & Amazon Bedrock in the Real-WorldAll-Data, Any-AI Integration: FME & Amazon Bedrock in the Real-World
All-Data, Any-AI Integration: FME & Amazon Bedrock in the Real-World
Safe Software
AI Breakthroughs and Innovations-Whats Next.docx
AI Breakthroughs and Innovations-Whats Next.docxAI Breakthroughs and Innovations-Whats Next.docx
AI Breakthroughs and Innovations-Whats Next.docx
AIvolut
Commit Conf 2025 Bitnami Charts with Kubescape
Commit Conf 2025 Bitnami Charts with KubescapeCommit Conf 2025 Bitnami Charts with Kubescape
Commit Conf 2025 Bitnami Charts with Kubescape
Alfredo Garc鱈a Lavilla
Network_Packet_Brokers_Presentation.pptx
Network_Packet_Brokers_Presentation.pptxNetwork_Packet_Brokers_Presentation.pptx
Network_Packet_Brokers_Presentation.pptx
Khushi Communications
Build Your Uber Clone App with Advanced Features
Build Your Uber Clone App with Advanced FeaturesBuild Your Uber Clone App with Advanced Features
Build Your Uber Clone App with Advanced Features
V3cube
Innovative Web Design | Malachite Technologies
Innovative Web Design | Malachite TechnologiesInnovative Web Design | Malachite Technologies
Innovative Web Design | Malachite Technologies
malachitetechnologie1
Automating Behavior-Driven Development: Boosting Productivity with Template-D...
Automating Behavior-Driven Development: Boosting Productivity with Template-D...Automating Behavior-Driven Development: Boosting Productivity with Template-D...
Automating Behavior-Driven Development: Boosting Productivity with Template-D...
DOCOMO Innovations, Inc.
New from BookNet Canada for 2025: BNC SalesData and BNC LibraryData
New from BookNet Canada for 2025: BNC SalesData and BNC LibraryDataNew from BookNet Canada for 2025: BNC SalesData and BNC LibraryData
New from BookNet Canada for 2025: BNC SalesData and BNC LibraryData
BookNet Canada
Cloudflares Game-Changing Move The First Remote MCP Server for AI Agent Deve...
Cloudflares Game-Changing Move The First Remote MCP Server for AI Agent Deve...Cloudflares Game-Changing Move The First Remote MCP Server for AI Agent Deve...
Cloudflares Game-Changing Move The First Remote MCP Server for AI Agent Deve...
davidandersonofficia
Ricardo Jebb Bruno - A Structural CAD Technician
Ricardo Jebb Bruno - A Structural CAD TechnicianRicardo Jebb Bruno - A Structural CAD Technician
Ricardo Jebb Bruno - A Structural CAD Technician
Ricardo Jebb Bruno
Research Data Management (RDM): the management of dat in the research process
Research Data Management (RDM): the management of dat in the research processResearch Data Management (RDM): the management of dat in the research process
Research Data Management (RDM): the management of dat in the research process
HeilaPienaar
Evaluating Global Load Balancing Options for Kubernetes in Practice (Kubermat...
Evaluating Global Load Balancing Options for Kubernetes in Practice (Kubermat...Evaluating Global Load Balancing Options for Kubernetes in Practice (Kubermat...
Evaluating Global Load Balancing Options for Kubernetes in Practice (Kubermat...
Tobias Schneck
From SBOMs to xBOMs to Transparency - Pavel Shukhman at OWASP Ottawa on 2025-...
From SBOMs to xBOMs to Transparency - Pavel Shukhman at OWASP Ottawa on 2025-...From SBOMs to xBOMs to Transparency - Pavel Shukhman at OWASP Ottawa on 2025-...
From SBOMs to xBOMs to Transparency - Pavel Shukhman at OWASP Ottawa on 2025-...
Pavel Shukhman
AI Driven Posture Analysis Fall Detection System for the Elderly.pdf
AI Driven Posture Analysis Fall Detection System for the Elderly.pdfAI Driven Posture Analysis Fall Detection System for the Elderly.pdf
AI Driven Posture Analysis Fall Detection System for the Elderly.pdf
Patrick Ogbuitepu
Automated Engineering of Domain-Specific Metamorphic Testing Environments
Automated Engineering of Domain-Specific Metamorphic Testing EnvironmentsAutomated Engineering of Domain-Specific Metamorphic Testing Environments
Automated Engineering of Domain-Specific Metamorphic Testing Environments
Pablo G坦mez Abajo
April Patch Tuesday
April Patch TuesdayApril Patch Tuesday
April Patch Tuesday
Ivanti
TrustArc Webinar - Data Privacy and Cyber Security: A Symbiotic Relationship
TrustArc Webinar - Data Privacy and Cyber Security: A Symbiotic RelationshipTrustArc Webinar - Data Privacy and Cyber Security: A Symbiotic Relationship
TrustArc Webinar - Data Privacy and Cyber Security: A Symbiotic Relationship
TrustArc
San Francisco Atlassian ACE - Mar 27 2025.pdf
San Francisco Atlassian ACE - Mar 27 2025.pdfSan Francisco Atlassian ACE - Mar 27 2025.pdf
San Francisco Atlassian ACE - Mar 27 2025.pdf
Matt Doar
AI in Talent Acquisition: Boosting Hiring
AI in Talent Acquisition: Boosting HiringAI in Talent Acquisition: Boosting Hiring
AI in Talent Acquisition: Boosting Hiring
Beyond Chiefs
All-Data, Any-AI Integration: FME & Amazon Bedrock in the Real-World
All-Data, Any-AI Integration: FME & Amazon Bedrock in the Real-WorldAll-Data, Any-AI Integration: FME & Amazon Bedrock in the Real-World
All-Data, Any-AI Integration: FME & Amazon Bedrock in the Real-World
Safe Software
AI Breakthroughs and Innovations-Whats Next.docx
AI Breakthroughs and Innovations-Whats Next.docxAI Breakthroughs and Innovations-Whats Next.docx
AI Breakthroughs and Innovations-Whats Next.docx
AIvolut
Commit Conf 2025 Bitnami Charts with Kubescape
Commit Conf 2025 Bitnami Charts with KubescapeCommit Conf 2025 Bitnami Charts with Kubescape
Commit Conf 2025 Bitnami Charts with Kubescape
Alfredo Garc鱈a Lavilla
Network_Packet_Brokers_Presentation.pptx
Network_Packet_Brokers_Presentation.pptxNetwork_Packet_Brokers_Presentation.pptx
Network_Packet_Brokers_Presentation.pptx
Khushi Communications
Build Your Uber Clone App with Advanced Features
Build Your Uber Clone App with Advanced FeaturesBuild Your Uber Clone App with Advanced Features
Build Your Uber Clone App with Advanced Features
V3cube
Innovative Web Design | Malachite Technologies
Innovative Web Design | Malachite TechnologiesInnovative Web Design | Malachite Technologies
Innovative Web Design | Malachite Technologies
malachitetechnologie1

Modeling Environment for Product Configuration in an ERP System

  • 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. Overview Introduction Problem Description Developed Solution Demo Conclusions Future Work Questions Modeling Environment for Product Configuration in an ERP System September 2007
  • 3. Introduction 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. Modeling Environment for Product Configuration in an ERP System September 2007 Microsoft Corporation
  • 4. Introduction 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 Modeling Environment for Product Configuration in an ERP System September 2007 Microsoft Development Center Copenhagen
  • 5. Introduction 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 Modeling Environment for Product Configuration in an ERP System September 2007 Product Configuration I
  • 6. Introduction Modeling Environment for Product Configuration in an ERP System September 2007 Product Configuration II base model configured model
  • 7. Introduction Modeling Environment for Product Configuration in an ERP System September 2007 Product Configuration III Product Modeler Product Configurator
  • 8. Introduction Modeling Environment for Product Configuration in an ERP System September 2007 Microsoft Dynamics AX Product Builder Current solution for product configuration in the Microsoft Dynamics AX ERP system Integrates to other AXs functional areas: Enterprise Portal, Master Planning, Production and Sales and Purchasing Rule based system
  • 9. Problem Description Modeling Environment for Product Configuration in an ERP System September 2007 Objectives I Product Modeling language (Pml) Language with declarative syntax Objective oriented (OO) compliant language Syntax Highlighting and Code Completion services
  • 10. Problem Description Modeling Environment for Product Configuration in an ERP System September 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
  • 11. Problem Description Pml Compiler provides support for model compilation Pml Compiler Tools gives support for syntax highlighting and code completion, based on the same idea behind Microsofts 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 Modeling Environment for Product Configuration in an ERP System September 2007 The Pml Framework
  • 12. Developed Solution 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 Modeling Environment for Product Configuration in an ERP System September 2007 The Pml Language
  • 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. Developed Solution 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 Modeling Environment for Product Configuration in an ERP System September 2007 The Compiler The lexical and the syntactical analyzers are based respectively in the GPLEX and GPPG solutions
  • 15. Developed Solution 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 Modeling Environment for Product Configuration in an ERP System September 2007 The Compiler Tools
  • 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. Developed Solution Modeling Environment for Product Configuration in an ERP System September 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
  • 18. Developed Solution 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 Modeling Environment for Product Configuration in an ERP System September 2007 The Adapter Abstraction Layer
  • 19. Developed Solution Modeling Environment for Product Configuration in an ERP System September 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
  • 20. 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 Modeling Environment for Product Configuration in an ERP System September 2007
  • 21. Demo Modeling Environment for Product Configuration in an ERP System September 2007 Demo
  • 22. 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 Modeling Environment for Product Configuration in an ERP System September 2007
  • 23. Debugger Documentation generation Increased support for complex BOM and Routes Better use of Metadata Unit Test support Model obfuscation / encryption Future Work Modeling Environment for Product Configuration in an ERP System September 2007
  • 24. Questions Questions Modeling Environment for Product Configuration in an ERP System September 2007

Editor's Notes

  • #2: Welcome and thank you all for coming. My name is Joao Magalh達es and Im 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