310 likes | 408 Views
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.
E N D
Synthesizing models with classes for automating code generation Cleanscape SourceMillautomatic source code generator
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
Criteria for resolving common developer issues Cleanscape Confidential -- bd2k
Solution for common developer issues • Automatically generate commercial-grade code from models with Cleanscape SourceMill Cleanscape Confidential -- bd2k
Cleanscape SourceMill Synthesizing Models with Classes
Synthesizing similar elements for different results Cleanscape Confidential -- bd2k
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
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
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
Generating code with Cleanscape SourceMill • Define object model • “Formula” • Build template file • Storehouse of “Ingredients” • Synthesize • Mix • Code • Picture-perfect Cleanscape Confidential -- bd2k
Generating code with Cleanscape SourceMill Cleanscape Confidential -- bd2k
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
First, select an object model file Cleanscape Confidential -- bd2k
First, select an object model file Cleanscape Confidential -- bd2k
First, select an object model file Cleanscape Confidential -- bd2k
Second, select the template file Cleanscape Confidential -- bd2k
Second, select the template file Cleanscape Confidential -- bd2k
Third, let Cleanscape SourceMill generate the code… Cleanscape Confidential -- bd2k
Third, let Cleanscape SourceMill generate the code… Cleanscape Confidential -- bd2k
Let’s inspect the generated source Cleanscape Confidential -- bd2k
You have generated a complete GUI framework Commercial-grade code Automatically generated Perfectly adheres to standards Cleanscape Confidential -- bd2k
Now, compile to see your TKL/TK GUI Cleanscape Confidential -- bd2k
Let’s use the same object model to generate code in Python Cleanscape Confidential -- bd2k
Select the Python template file Cleanscape Confidential -- bd2k
Let Cleanscape SourceMill generate the code Cleanscape Confidential -- bd2k
Let Cleanscape SourceMill generate the code Cleanscape Confidential -- bd2k
Inspect the generated code Cleanscape Confidential -- bd2k
Compile to see your Python GUI Cleanscape Confidential -- bd2k
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
Software Development Automation Solutions Faster, Better, Smarter, Cheaper… Cleaner.