Title: Synthesizing models with classes for automating code generation
1Synthesizing models with classes for automating
code generation
- Cleanscape SourceMillautomatic source code
generator
2Common 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
3Criteria for resolving common developer issues
Issue Criteria for resolution
Time to market pressures Reduce coding phase by 60 Speed development process by 15
Cross platform development Automatically create consistency across versions and platforms
Changing design requirements Automate implementation and enforcement of standards
Shrinking budgets Reallocate up to 20 of resources to other phases or projects
High cost of failure Automatically eliminate 70 of potential source code problems
4Solution for common developer issues
- Automatically generate commercial-grade code from
models with Cleanscape SourceMill
5Cleanscape SourceMill
- Synthesizing Models with Classes
6Synthesizing similar elements for different
results
7What is Cleanscape SourceMill?
- 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
8What 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 Templates
classes - Automatically generates clean code for the object
model based on the template file.
9Automatic 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.
10Demonstration
11Generating code with Cleanscape SourceMill
- Define object model
- Formula
- Build template file
- Storehouse of Ingredients
- Synthesize
- Mix
- Code
- Picture-perfect
12Generating code with Cleanscape SourceMill
13SourceMill Interface simple, powerful clean
Lets see how easy it is to automatically build
GUI frameworks for multiple languages using the
same object model
14First, select an object model file
15First, select an object model file
16First, select an object model file
17Second, select the template file
18Second, select the template file
19Third, let Cleanscape SourceMill generate the
code
20Third, let Cleanscape SourceMill generate the
code
21Lets inspect the generated source
22You have generated a complete GUI framework
Commercial-grade code Automatically
generated Perfectly adheres to standards
23Now, compile to see your TKL/TK GUI
24Lets use the same object model to generate code
in Python
25Select the Python template file
26Let Cleanscape SourceMill generate the code
27Let Cleanscape SourceMill generate the code
28Inspect the generated code
29Compile to see your Python GUI
30Lets 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
31Software Development Automation Solutions
Faster, Better, Smarter, Cheaper Cleaner.
32TKL/TK
Python
33SourceMill construction analogy
1. Design
4. Cranks out multiple units for specific needs
3. Construct
2. Gather materials defined by plans