Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configuration Workgroup Conference)

Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configuration Workgroup Conference)

Herunterladen, um offline zu lesen

We present ConfigModeler and VClipse, two domain-specific languages and corresponding Eclipse-based integrated development environments (IDEs) for product modeling on different levels of abstraction.

VClipse supports the direct specification of objects and dependencies using VC's abstraction level in a textual language called VCML. VC objects and dependencies can be transferred to an SAP system using RFC or product data replication (PDR) via IDocs. It is also possible to extract product models from an SAP system. This enables the use of standard text comparison tools and version control systems. VClipse is released as an open-source project on http://www.vclipse.org.

ConfigModeler supports the specification of product models in a language supporting a high degree of abstraction. Developed in a customer project at Nokia Siemens Networks, this language has been designed according to the customer's needs, uses the customer's concepts, and fits into the customer’s VC and IPC add-ons. ConfigModeler translates the product models to VC objects and dependencies represented as VCML code.

We will give a demonstration of the two development environments and give an outlook to current and future developments.

We present ConfigModeler and VClipse, two domain-specific languages and corresponding Eclipse-based integrated development environments (IDEs) for product modeling on different levels of abstraction.

VClipse supports the direct specification of objects and dependencies using VC's abstraction level in a textual language called VCML. VC objects and dependencies can be transferred to an SAP system using RFC or product data replication (PDR) via IDocs. It is also possible to extract product models from an SAP system. This enables the use of standard text comparison tools and version control systems. VClipse is released as an open-source project on http://www.vclipse.org.

ConfigModeler supports the specification of product models in a language supporting a high degree of abstraction. Developed in a customer project at Nokia Siemens Networks, this language has been designed according to the customer's needs, uses the customer's concepts, and fits into the customer’s VC and IPC add-ons. ConfigModeler translates the product models to VC objects and dependencies represented as VCML code.

We will give a demonstration of the two development environments and give an outlook to current and future developments.

Weitere Verwandte Inhalte

Ähnliche Bücher

Kostenlos mit einer 30-tägigen Testversion von Scribd

Alle anzeigen

Ähnliche Hörbücher

Kostenlos mit einer 30-tägigen Testversion von Scribd

Alle anzeigen

Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configuration Workgroup Conference)

  1. 1. Domain Specific Languages for Product Modeling Tim Geisler webXcerpt Software GmbH tg@webxcerpt.com CWG 2011, Cologne 2011-05-10
  2. 2. Product Modeling
  3. 3. Product Modeling Specification Coding in SAP R/3 ● Materials ● BOMs ● Classes ● Cstics ● Procedures ● Constraints ● Selection Conditions ● Interface Designs
  4. 4. Domain-Specific Languages
  5. 5. Domain-Specific Languages Domain-specific language (noun): a computer programming language of limited expressiveness focused on a particular domain. The two main reasons why DSLs are popular: ● Improving productivity for developers ● Improving communication with domain experts (Martin Fowler)
  6. 6. Customer Project @ Company-wide generic product structure NSN VC framework IPC extensions coding conventions Standardized product descriptions
  7. 7. Customer Project @ Company-wide generic product structure NSN VC framework IPC extensions coding conventions product descriptions Standardized Formalized
  8. 8. Customer Project @ Company-wide generic product structure NSN VC framework IPC extensions coding conventions product descriptions Standardized Formalized Tooling: Eclipse-based IDEs ConfigModeler VClipse Domain Specific Languages CML + CMLUI + CMLT VCML
  9. 9. ConfigModeler and Vclipse: Two DSLs with Eclipse-based IDE RFC Editor/IDE Editor/IDE ConfigModeler VClipse CML VCML Code Generation
  10. 10. CML: Customer's abstractions product structure grouping for order structure logical materials domains complex expressions equations counting
  11. 11. VCML: SAP's abstractions Language elements for describing VC objects: ● cstic ● class ● dependency net ● … Embedded SAP languages for dependencies
  12. 12. Code Generation: CML to VCML Generate VC objects and dependencies ● correct ordering of procedures Use NSN VC framework ● use generic variant functions ● use generic cstics ● use generic procedures and dependency nets ● respect NSN naming conventions Code generation on the fly ● using Eclipse builder infrastructure (CWG 2011 presentation by P. Muthsam/M. Titerea)
  13. 13. Interfacing SAP Two mechanisms for interfacing SAP ● ALE via IDocs (Product Data Replication) ● create/change/read/delete objects via RFC Reading objects via RFC ● Model extraction from SAP to VCML No extraction of CML from SAP possible!
  14. 14. “When you think product modeling, think programming.” (Peter Illing, CWG 2011)
  15. 15. IDE: Tooling for Modelers
  16. 16. IDE: Tooling for Modelers Syntax checking Cross references Semantic checking
  17. 17. IDE: Tooling for Modelers Outline Templates Content Assist Folding
  18. 18. Companion Languages
  19. 19. Companion Language I: CMLUI NSN UI Enhancement Framework CWG 2011 presentation by Krisztian Kovacz (Siemens ICT) Maintenance Dialogs DSL + IDE Tooling
  20. 20. Companion Language II: CMLT Automated Model Testing Test tool: Fysbee's ConfigScan CWG 2011 presentation by Winfried Kung DSL for describing test cases Transformation into ConfigScan XML input format
  21. 21. Use of ConfigModeler @ More than 100 product models are currently in development using ConfigModeler. (prototypes not included) 40% of these product models are already on production system. About 50% of all product models on production system have been built with ConfigModeler. (size and complexity not taken into account)
  22. 22. Showtime
  23. 23. Product “hiT 7030” Multiplexes STM-1/STM-4 to 2M, 34/45M, STM-1, STM4 1 uplink board with 2 SFP module slots 3 downlink boards with 0-6 SFP module slots
  24. 24. Life Demo: Modeling with DSLs
  25. 25. Demo: Deployment to SAP ● Using PDR
  26. 26. Technology in Use Open source technology based on Java ● Eclipse: IDE platform ● Xtext: ● domain-specific language framework ● ANTLR-based parser ● IDE generated automatically ● adaptable via dependency injection (Google Guice) ● EMF: Eclipse Modeling Framework SAP JCo / IDocs library
  27. 27. Xtext – Some Code Snippets
  28. 28. What's new wrt. CWG Vienna 2010? ConfigModeler ● ConfigModeler implemented with Xtext ● improved language and tooling ● language for NSN UI Extensions ● language for test cases (Fysbee ConfigScan) ● new features: variant functions, modularization VClipse ● delta calculation ● minor changes and bugfixes
  29. 29. Future ConfigModeler + VClipse ● migration to Xtext 2.0 and Eclipse Indigo (3.7) – improved text-hover information – improved performance – code refactoring (e.g. renaming) ● model-validation rules ● variant-table contents ● Engineering Change Management VClipse ● language reorganisation ● features for Advanced Mode
  30. 30. VClipse is Free
  31. 31. VClipse is Free
  32. 32. VClipse.org: Open Source Use, adapt, integrate, contribute!
  33. 33. Use Cases for VClipse Mass upload (of parts) of configuration Model comparison – Use textual or EMF diff tools to compare models Model versioning – use version control system for textual models Model refactoring – rename objects, move cstics Model validation – check own naming conventions – check for syntactic and semantic errors
  34. 34. Conclusion
  35. 35. Conclusion Textual Domain-Specfic Languages ● suitable for product modeling ● modern tooling easy to create with Eclipse / Xtext VClipse ● interface to SAP system when using DSLs ● open-source tool useful for various product-modeling tasks
  36. 36. Thanks to ... ● various persons at Nokia Siemens Networks ● Peter Muthsam & Michael Wilhelm (SAP VC) ● Daniel Naus (CWG Sandbox) ● various persons at itemis (Xtext) ● webXcerpt team
  37. 37. Can product modeling with textual DSLs be suitable for your domain and your company?

×