ea44cb6fcbe6f20939cc1b5dcd02dd64.ppt
- Количество слайдов: 24
Code Generation in CDE Remi Lequette ILOG 0 -1
Overview £ Introduction £ £ £ CDE architecture £ £ £ 2 Cartridge structure Generated artifacts Generation technique £ £ ILOG & VCM CDE The OPML language The UML model The generators Conclusion
ILOG £ Provides Software Components £ £ £ VCM Division £ £ £ 3 C++ and Java class libraries Graphics, Rules Optimization: Linear, Constraints, Scheduling, Dispatching. Telecom, Transportation & Finance, VCM Provides consulting Value Chain Management (production & distribution planning) ISV customers (SAP, Oracle, …) ERP - SCM End User customers (in house development)
CDE - Cartridge Development Env. £ Target is ERP - SCM users £ £ They buy a solution from £ £ ILOG consulting Consulting firm Third party reusable solution CDE provides cartridges £ £ £ 4 They have data and an execution system They have an optimization problem Generic solution is not applicable £ Reusable architecture Code, projects, documentation generation Data access (files, RDBMS, ERP system) Increase productivity by focus on optimization code
CDE Cartridge Application Server Control GUI Architecture 5 £ £ £ Algorithm Data Model Provides a standard architecture Provides a flexible integration framework Provides a toolbox for development
Detailed Architecture high level entry points GUI, console, batch Commands Algorithm Transformation Control optimization algorithm Data Model Internal Mapping External Mapping interface to external data sources Architecture 6 internal objectoriented model internal relational model mapping
Typical Data Flow 2. mapping & check 3. data transformation & check 1. data loading Commands Algorithm Transformation Control Data Model Internal Mapping 7. solution saving 4. optimization Architecture 7 External Mapping 5. solution transformation & check 6. mapping & check
Cartridge Generation customizable module Commands Tables ECPI or In te gr at pe lo ve te In 8 gr at or Architecture Commands Internal Mapping External Mapping r Structure De CDE specification Data Model Algorithm CDE code generation Transformation Control CDE/ILOG libraries
Generated Artifacts £ Code £ £ Documentation £ £ 9 Code and panels for testing the cartridge Directories £ £ Classes, tables, commands GUI £ £ Data model in C++ Script access to the data model Relational mapping Project organization, test structure Compilation projects £ For Microsoft Visual Studio
Generation Technology OPML specification Templates CDE Generator Data Access Model Implementation Scripting Interface Architecture 10 Algorithm HTML documentation CDE Libraries Cartridge ILOG optimization Libraries
Cartridge Specification Language £ Object Property Modeling Language (OPML) £ £ Based on UML concepts: classes, components, stereotypes. . . Textual language Specification of cartridge organization, data model (C++, script), mappings, commands… Advanced property management: £ £ Properties can be attached to model elements Property tool £ £ OPML 11 £ Declares available properties for a tool: cpp, script, documentation. . . Property definition = name, types, default values, related elements. . . Property instance holds property values for a given model
Project // This is an internal comment include of other OPML files #include
Categories and Classes project christmas {. . . category christmas { cpp. generate = yes; visibility= private; assigns a Cpp property for the category /** * HTML Documentation for Location */ class Location {. . . defines } class Application : ilcde: : Collector { visibility= protected; }. . . } OPML 13 } assigns OPML property “christmas: : Location” Class super class
Stereotypes £ Gives a specific semantic to an element <