Synthesizing models with classes for automating code generation

Slides:



Advertisements
Similar presentations
BI Web Intelligence 4.0. Business Challenges Incorrect decisions based on inadequate data Lack of Ad hoc reporting and analysis Delayed decisions.
Advertisements

Effective management Accurate tracking Easier automation.
ONYX RIP Version Technical Training General. Overview General Messaging and What’s New in X10 High Level Print and Cut & Profiling Overviews In Depth.
Copyright © 2014 Pearson Education, Inc. 1 Managers from across organizations are involved in developing and acquiring information systems Chapter 5 -
Validata Release Coordinator Accelerated application delivery through automated end-to-end release management.
© 2004 Visible Systems Corporation. All rights reserved. 1 (800) 6VISIBLE Holistic View of the Enterprise Business Development Operations.
Data Analytics and Dynamic Languages Lee E. Edlefsen, Ph.D. VP of Engineering 1.
Extensible Processors. 2 ASIP Gain performance by:  Specialized hardware for the whole application (ASIC). −  Almost no flexibility. −High cost.  Use.
Lesson-12 Information System Development-2
CS 501: Software Engineering
Building software from reusable components.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
1 CS101 Introduction to Computing Lecture 19 Programming Languages.
1 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Software Development Method Topics l Software Development Life Cycle Reading l Section 1.4 – 1.5.
A Free sample background from © 2001 By Default!Slide 1.NET Overview BY: Pinkesh Desai.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
CSC300 Visual Programming Dr. Craig Reinhart. Objectives Teach the basics of C++ –You won’t be an expert but hopefully a very good novice –GUI development.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
1.8History of Java Java –Based on C and C++ –Originally developed in early 1991 for intelligent consumer electronic devices Market did not develop, project.
CS 111 – Nov. 22 Chapter 7 Software engineering Systems analysis Commitment –Please read Section 7.4 (only pp ), Sections –Homework #2.
SONIC-3: Creating Large Scale Installations & Deployments Andrew S. Neumann Principal Engineer, Progress Sonic.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Business and Information Technology Working Together for the Regulator Stephen Hord, Director of Product Development – UBmatrix.
1 OO Analysis & Design - Introduction to main ideas in OO Analysis & design - Practical experience in applying ideas.
Chapter 4 Automated Tools for Systems Development Modern Systems Analysis and Design Third Edition 4.1.
Getting Started with.NET Getting Started with.NET/Lesson 1/Slide 1 of 31 Objectives In this lesson, you will learn to: *Identify the components of the.NET.
Getting company KPIs to employees/customers A presentation template designed to assist you in pitching pocketKPI to your internal stakeholders.
1 Here are some quotations to get an overview of the kinds of issues of interest.
COT 4600 Operating Systems Fall 2010 Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 3:30-4:30 PM.
Perfecto We help customers deliver exceptional digital experiences.
CASE (Computer-Aided Software Engineering) Tools
CLASSIFICATION OF DESIGN PATTERNS Hladchuk Maksym.
Software Reuse. Objectives l To explain the benefits of software reuse and some reuse problems l To discuss several different ways to implement software.
Linux Optimization Kit Many developers need to get a performance increase from their Linux OS Linux OK allows users to achieve higher performance.
Chapter 8 Environments, Alternatives, and Decisions.
Appendix 2 Automated Tools for Systems Development
Software Configuration Management
Leverage your Business with Selenium Automation Testing
Continuous Delivery- Complete Guide
Building Information Systems
Modern Systems Analysis and Design Third Edition
A scalable approach for Test Automation in Vector CAST/Manage with
Cross Platform Development using Software Matrix
Introduction to Design Patterns
Modern Systems Analysis and Design Third Edition
Streamlined publishing through the cloud with HTML5
CS101 Introduction to Computing Lecture 19 Programming Languages
Modernization of Navigation Statistics Publishing
7 Best Programming Languages Based as per Earnings & Opportunities
Smarter Analytics An oil and gas producer in Canada improves safety and reliability with insights into equipment failure and preventive maintenance USD478,000.
Tools of Software Development
Chapter 4 Automated Tools for Systems Development
Design and Programming
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Modern Systems Analysis and Design Third Edition
Introduction to .NET By : Mr. V. D. Panchal Content :
Modern Systems Analysis and Design Third Edition
Top Reasons to Choose Android Today. Over the years the Android OS has progressed largely by acquiring major percent of global market share. A number.
Top Reasons to Choose Android Today. Over the years the Android OS has progressed largely by acquiring major percent of global market share. A number.
How to stop Fortran programming problems at the source
Software visualization and analysis tool box
Chapter 7 –Implementation Issues
Chapter 7 Software Engineering.
Windows Ribbon Framework
How to stop C programming problems at the source
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
Modern Systems Analysis and Design Third Edition
ONAP Architecture Principle Review
Presentation transcript:

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 * Source: Cleanscape 2001 Software Industry Survey 12/2/201812/2/2018 Cleanscape Confidential -- bd2k

Criteria for resolving common developer issues 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 12/2/201812/2/2018 Cleanscape Confidential -- bd2k

Solution for common developer issues Automatically generate commercial-grade code from models with Cleanscape SourceMill 12/2/201812/2/2018 Cleanscape Confidential -- bd2k

Cleanscape SourceMill Synthesizing Models with Classes

Synthesizing similar elements for different results 12/2/201812/2/2018 Cleanscape Confidential -- bd2k

What 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 Cleanscape SourceMill is an automatic source code generation engine that facilitates rapid development of software by automatically generating commercial-grade code for virtually any language or platform from industry-standard models defined during the design phase of a software development project. Cleanscape SourceMill continuously enhances application development productivity by creating consistency and enhancing the ability to rapidly develop and modify applications. 12/2/201812/2/2018 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. 12/2/201812/2/2018 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. 12/2/201812/2/2018 Cleanscape Confidential -- bd2k

Demonstration

Generating code with Cleanscape SourceMill Define object model “Formula” Build template file Storehouse of “Ingredients” Synthesize Mix Code Picture-perfect 12/2/201812/2/2018 Cleanscape Confidential -- bd2k

Generating code with Cleanscape SourceMill 12/2/201812/2/2018 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 12/2/201812/2/2018 Cleanscape Confidential -- bd2k

First, select an object model file 12/2/201812/2/2018 Cleanscape Confidential -- bd2k

First, select an object model file 12/2/201812/2/2018 Cleanscape Confidential -- bd2k

First, select an object model file 12/2/201812/2/2018 Cleanscape Confidential -- bd2k

Second, select the template file 12/2/201812/2/2018 Cleanscape Confidential -- bd2k

Second, select the template file 12/2/201812/2/2018 Cleanscape Confidential -- bd2k

Third, let Cleanscape SourceMill generate the code… 12/2/201812/2/2018 Cleanscape Confidential -- bd2k

Third, let Cleanscape SourceMill generate the code… 12/2/201812/2/2018 Cleanscape Confidential -- bd2k

Let’s inspect the generated source 12/2/201812/2/2018 Cleanscape Confidential -- bd2k

You have generated a complete GUI framework Commercial-grade code Automatically generated Perfectly adheres to standards 12/2/201812/2/2018 Cleanscape Confidential -- bd2k

Now, compile to see your TKL/TK GUI 12/2/201812/2/2018 Cleanscape Confidential -- bd2k

Let’s use the same object model to generate code in Python 12/2/201812/2/2018 Cleanscape Confidential -- bd2k

Select the Python template file 12/2/201812/2/2018 Cleanscape Confidential -- bd2k

Let Cleanscape SourceMill generate the code 12/2/201812/2/2018 Cleanscape Confidential -- bd2k

Let Cleanscape SourceMill generate the code 12/2/201812/2/2018 Cleanscape Confidential -- bd2k

Inspect the generated code 12/2/201812/2/2018 Cleanscape Confidential -- bd2k

Compile to see your Python GUI 12/2/201812/2/2018 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 12/2/201812/2/2018 Cleanscape Confidential -- bd2k

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