1 / 31

Synthesizing models with classes for automating code generation

Synthesizing models with classes for automating code generation. Cleanscape SourceMill automatic source code generator. Common software developer issues*. Time to market pressure Cross platform development Changing design requirements Shrinking budgets High cost of failure.

adarden
Download Presentation

Synthesizing models with classes for automating code generation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Synthesizing models with classes for automating code generation Cleanscape SourceMillautomatic source code generator

  2. Common software developer issues* • Time to market pressure • Cross platform development • Changing design requirements • Shrinking budgets • High cost of failure * Source: Cleanscape 2001 Software Industry Survey Cleanscape Confidential -- bd2k

  3. Criteria for resolving common developer issues Cleanscape Confidential -- bd2k

  4. Solution for common developer issues • Automatically generate commercial-grade code from models with Cleanscape SourceMill Cleanscape Confidential -- bd2k

  5. Cleanscape SourceMill Synthesizing Models with Classes

  6. Synthesizing similar elements for different results Cleanscape Confidential -- bd2k

  7. Classification Automatic source code generation engine Function Automatically generates commercial-grade code for virtually any language or platform from industry-standard models defined during the design phase of a software development project Benefits Facilitates rapid development of software Bridges the gap between design and coding Continuously enhances application development productivity Creates consistency across versions and platforms Implements and enforces standards Enhances the ability to rapidly develop and modify applications What is Cleanscape SourceMill? Cleanscape Confidential -- bd2k

  8. What is needed to automatically generate code? • Object model • The “formula” for creating the code • High-level structure that describes part of an application. • Defines data objects, state transitions, process interactions, etc. • Template file • The “storehouse” of classes, or “ingredients” required by user to generate code for multiple languages and/or platforms • Defines a set of code patterns, which provide code fragments and algorithms needed to instantiate the object model. • SourceMill • Synthesizes Model requirements with Template’s classes • Automatically generates clean code for the object model based on the template file. Cleanscape Confidential -- bd2k

  9. Automatic code generation • Object model • The “Formula”. Provides SourceMill with a framework. • Tells what objects, or ingredients, it needs from Template, and how they should be put together. • Template • A “storehouse” of all classes available for languages and platforms defined by user. • Code generation engine • Synthesizes Model & Template by extracting from Template classes, or ingredients, defined in Model for target language and/or platform. Cleanscape Confidential -- bd2k

  10. Demonstration

  11. Generating code with Cleanscape SourceMill • Define object model • “Formula” • Build template file • Storehouse of “Ingredients” • Synthesize • Mix • Code • Picture-perfect Cleanscape Confidential -- bd2k

  12. Generating code with Cleanscape SourceMill Cleanscape Confidential -- bd2k

  13. SourceMill Interface: simple, powerful… clean Let’s see how easy it is to automatically build GUI frameworks for multiple languages using the same object model Cleanscape Confidential -- bd2k

  14. First, select an object model file Cleanscape Confidential -- bd2k

  15. First, select an object model file Cleanscape Confidential -- bd2k

  16. First, select an object model file Cleanscape Confidential -- bd2k

  17. Second, select the template file Cleanscape Confidential -- bd2k

  18. Second, select the template file Cleanscape Confidential -- bd2k

  19. Third, let Cleanscape SourceMill generate the code… Cleanscape Confidential -- bd2k

  20. Third, let Cleanscape SourceMill generate the code… Cleanscape Confidential -- bd2k

  21. Let’s inspect the generated source Cleanscape Confidential -- bd2k

  22. You have generated a complete GUI framework Commercial-grade code Automatically generated Perfectly adheres to standards Cleanscape Confidential -- bd2k

  23. Now, compile to see your TKL/TK GUI Cleanscape Confidential -- bd2k

  24. Let’s use the same object model to generate code in Python Cleanscape Confidential -- bd2k

  25. Select the Python template file Cleanscape Confidential -- bd2k

  26. Let Cleanscape SourceMill generate the code Cleanscape Confidential -- bd2k

  27. Let Cleanscape SourceMill generate the code Cleanscape Confidential -- bd2k

  28. Inspect the generated code Cleanscape Confidential -- bd2k

  29. Compile to see your Python GUI Cleanscape Confidential -- bd2k

  30. Let’s review • In just a few seconds, Cleanscape SourceMill just helped you: • Generate hundreds of lines of commercial-grade code that is consist across versions and platforms and that perfectly adheres to standards • Overall, Cleanscape SourceMill will help you: • Cut programming hours up to 70% • Reduce coding phase by 60% • Speed the entire development process by 15% • Reallocate up to 20% of resources to other phases or projects • Automatically eliminate 70% of potential source code problems Cleanscape Confidential -- bd2k

  31. Software Development Automation Solutions Faster, Better, Smarter, Cheaper… Cleaner.

More Related