How to make a bridge between transformation and analysis - - PowerPoint PPT Presentation

how to make a bridge between transformation and analysis
SMART_READER_LITE
LIVE PREVIEW

How to make a bridge between transformation and analysis - - PowerPoint PPT Presentation

How to make a bridge between transformation and analysis technologies? TrafoDag Session April, 2005 Transformation and Analysis in Software Engineering Transformation Analysis Conversion Abstraction Presentation Source Code Abstractions


slide-1
SLIDE 1

How to make a bridge between transformation and analysis technologies?

TrafoDag Session April, 2005

slide-2
SLIDE 2

Transformation and Analysis in Software Engineering

Source Code Transformation Abstractions Abstraction Documentation Conversion Formalization Generation Presentation Analysis

There is a difference between analysis and transformation Technological diversity:

Transformation: graph/term rewriting, fp, templates, . . . Analysis: databases, logic, relations, state machines, . . .

Exploiting the benefits of understanding a domain How to make a bridge between these kinds of technologies?

slide-3
SLIDE 3

Answer 1

You need unique identification of entities Choice: passing source code locations or entities

Identify by reference: locations Identify by value: unique id

Obtaining unicity can be a non-trivial computation Locations are highly unstable

slide-4
SLIDE 4

Answer 2

There is no conceptual problem. Interesting engineering issues, inventoried by example. Integration scheduling

Lazy — get data when needed, or transform when needed SOUL, Stratego Eager — serialize and transmit full model TXL/GROK, ASF+SDF/RScript, Columbus

Composition: monolithic vs Separated Language design:

  • ne general formalism for both

separation into different domains conclusion: all existing systems separate the domain

slide-5
SLIDE 5

Domain summary

The given two soups of technologies

Computation View Analysis Transformation Render Definition Recovery Synthesis Presentation Abstraction Normalization Optimization lazy / eager Locality local global Bridge

slide-6
SLIDE 6

Domain summary

The variability without the constraints

Communication Protocol Co-routines-RMI Batch-Pipe/Filter Granularity Identification Marshalling Representation Who's the Driver Data Direction 1 way/2 way left/right AS {T,G} Architecture Call graphs By reference By value Get/Put Linking Sharing Files AS {T, G} Parse trees

slide-7
SLIDE 7

Separating versus Unifying

Monolithic approach Advantages

Consistency is easier No marshalling

Disadvantages

Tends to loose domain benefits Glass boxes, everything depends on everything

Separated approach Advantages

Forces explicit contracts Reuse, variability by composition

Disadvantages

Marshalling may be complex Update consistency problem

slide-8
SLIDE 8

Conclusion

Identity Identified features and variability Discussed some trade-offs My suggestion for the future:

Fill out the variability analysis and formalize in FDL Then express constraints that capture trade-offs (implication, exclusion, dependance)