Present and Future of Software Transformation Tools - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

Present and Future of Software Transformation Tools

Description:

Title: PowerPoint Presentation Author: galfaro Last modified by: caraya Created Date: 9/18/2001 5:33:17 PM Document presentation format: On-screen Show – PowerPoint PPT presentation

Number of Views:114
Avg rating:3.0/5.0
Slides: 20
Provided by: galf4
Category:

less

Transcript and Presenter's Notes

Title: Present and Future of Software Transformation Tools


1
Present and Future ofSoftware Transformation
Tools
  • Dr. Carlos Araya
  • CEO ArtinSoft
  • Feb, 2003

2
About ArtinSoft
  • Founded in 1993
  • HQ in San José, CR operations in US, MX, EU
  • RD in automatic source code transformation
  • 150 employees
  • Customers include Microsoft, Borland,
    ICL-Fujitsu, Intel, ATT
  • Strategic investors include Intel and Microsoft

3
PresentationContents
  • General transformation process
  • Current transformation processes
  • Next generation of transformation tools
  • What is needed to get there...
  • Study case ArtinSofts technologies

4
Source codetransformation
Meaning
Semantic level
Compilation
Understating
Abstractrepresentation
Abstract targetsource code
Abstract syntax
Term by Term transformation
Target sourcecode
Source code
Concrete syntax
5
Some semantics formalisms
  • Denotational
  • Value based (what expressions denote) explained
    in functional calculus
  • Operational
  • Evaluation based
  • Explains execution
  • Axiomatic semantic
  • Axiomatic semantics
  • Introduced by Tony Hoare and others
  • Defining programming language semantics
    independently of syntax and any particular
    implementation of language
  • General linguistic representations
  • Similar to XML
  • Other formalisms separate from human
    understanding
  • Used by ArtinSoft

6
Current transformation tools/services
  • Based on term-by-term transformation
  • With manual adjustments(Services)
  • Mostly for Migrations
  • Un-maintainable result code
  • High risk of human error
  • Increased testing cost

7
Next generation of transformation tools
  • Semantics representation formalisms and standards
  • Linguistic reasoning transformation technology
  • Transparent manipulation
  • Independence of concrete languages
  • Automatic programming
  • Automatic programming assistance
  • Total human maintainable code
  • Risk free and low cost software maintainable
    processes
  • Software knowledge as assets
  • Independence of market shifts

8
What is needed
  • Semantic representation languages
  • Automatic deduction and reasoning
  • Equivalence preserving re-writing tools
  • Strong search and matching capabilities
  • Broad range of applicability

9
What can be done
  • Tools that might derive from a languages
  • Scanner/Parsers Pretty-printers
  • Syntax-directed editors Type-checkers
  • Interpreters Dataflow analyzers
  • Call graph extractors Partial evaluators
  • Optimizers Program slicers
  • Origin trackers Debuggers
  • Code generators Compilers
  • Profilers Test case generators
  • Test coverage analyzers Impact analyzers
  • Complexity analyzers Documentation generators
  • Systematic program modification tools
  • Component descriptions
  • .and more

10
and what we are really looking for
  • Software automation
  • Language and platform migration
  • Re-architecture transformations
  • Aspect-oriented manipulation
  • Self-correcting software
  • Model-based and constrained systems
  • Immobots (immobile robots)
  • Autonomic computing

11
Model-based and constrained systems
  • Coming from engineering design
  • Variety of formal and informal tools
  • representation formalisms, component
    manipulation,properties from the modeled
    artifact
  • Critical, essential, static and dynamic component
    properties
  • Ex Finite state machine models of software
  • Ex XIML interface model markup language

12
Immobots
  • Inward-focused, self-reconfiguring machines
  • Hard to anticipate all possible contingencies
    how vs what
  • Models of their own inner workings
  • Safest, fastest and most cost-effective way to
    deal with instructions, simulations, corrections,
    and emergencies
  • Mars Polar Lander vs Deep Space One

13
IBMs autonomic computing"Civilization advances
by extending the number of important operations
which we can perform without thinking about
them." - Alfred Whitehead
  • "know itself" - its components must also
    possess a system identity
  • configure and reconfigure itself under varying
    (and in the future, even unpredictable)
    conditions
  • always looks for ways to optimize its workings
  • be able to recover from routine and
    extraordinary events
  • must be an expert in self-protection
  • know its environment and the context
    surrounding its activity, and act accordingly
  • function in a heterogeneous world and implement
    open standards
  • marshal I/T resources to shrink the gap between
    the business or personal goals of the user and
    the necessary implementation

14
Káblök technology(from Bribrí agreement,
matching)
  • A programming language for linguistic reasoning
  • Positivism, if it exists, then it can be
    described
  • New general purpose programming paradigm
  • Algebraic optimizations and simplifications
  • Highest-level pattern detection and re-write
  • Top-down design patterns, bottom-up concept
    mapping
  • 100 semantic equivalence
  • Natural mathematical deduction OO grammar
    representation

15
Káblök advantages
  • Highest automatic manipulation of code (95-99)
  • Generated code is for human consumption
  • Applicable to aspect-oriented manipulation
    (security, substitution, performance,
    simplification, re-architecture, etc.)
  • Consistency several languages and problems
  • Integrates/generates other re-architecture/compone
    ntization tools
  • Add-in to Interactive Development Environments
  • Code understanding business logic abstraction
  • Linearly correlated efficiency
  • Binding resolution and type inference

16
Example tools for n-tiering
  • Knowledge-based analysis facilitates keeping
    related pieces of code together

17
Where should each piece of code go?
18
Methodology advantages
  • Decomposable, fully controllable processes
  • Safe and predictable
  • Minimum testing, downtime, and re-training
  • Quicker, easier and cheaper
  • Bridges backward compatibility
  • Results will use latest technologies

19
Software transformationpromise
  • Quicker, low-risk corporate evolution
  • Support the growing complexity
  • Minimal organizational disruptions
  • Reinforce knowledge capital
  • Facilitate platform unification and lower costs
  • Simplify technology decisions
  • Better returns on investments
  • Transform software economics
Write a Comment
User Comments (0)
About PowerShow.com