 |
Programm
- Tutorials - Produktvorträge
- Ausstellung - Pressemitteilung
Program
- Tutorials - Product
Presentation - Exhibition - Press
report
Dr.
Ira Baxter Semantic Designs
Transformation Systems: Theory, Implementation,
and Survey
Abstract
As software demands grow, so does the need
for tools to aid software engineers in designing and building software
systems. Program Transformation systems are semantically sound tools that
automate the modification of programs (implement specifications, reverse
engineer, change code). Such tools are especially effective for large
scale software system reengineering. Commercial transformation system
tools are beginning to appear (COSMOS (tm Emendo Software Group), Reasoning5
CBMS (tm Reasoning Systems, Inc.), and the DMS Reengineering Toolkit (Semantic
Designs)), and there are very interesting research systems ( IP (Microsoft)
and ASF+SDF (U. Amsterdam)). These tools work by capturing domain analyses
as specification languages, and mechanically reusing implementation knowledge
(domain engineering products). An understanding of transformation system
theory and technology can provide a deep understanding of how code generation,
modification, and reuse of code and other software engineering artifacts
work, how to recognize opportunities to use such tools, as well as provide
background for using such tools in practice. This tutorial provides an
integrated view, built over a decade, of transformation systems, from
concepts, vocabulary, mechanisms, key variations, and discussion of a
number of existing systems from this view. We strongly believe that serious
software engineering automation support will come from such semantically
founded tools. Further, many tools which appear to provide significant
software engineering help can be understood more effectively using a transformational
perspective. An extensive bibliography will be provided.
Target Audience
This tutorial is intended for both members
of the software engineering practitioner community, researchers, and technical
managers trying to choose among program construction tools, be they transformation
systems, CASE tools, application generators, reusable libraries or even
analysis tools. We believe that a transformational perspective will help
cut through much of the confusing differences between such tools to reveal
the real value in each, and to more clearly identify their strengths and
weaknesses using a common vocabulary. For the OO community, the perspective
provided will be especially valuable, for the issues considered are the
same as the aims of much OO technology: how are domain ideas captured
and reused, and thus offer a competing but automatable philosophy. In
particular, transformation systems show the reuse of domain analysis,
domain engineering, and design, and can aid in reuse of code.
Participants need only a general background
in software engineering.
Tutorial Outline
1.Theory: Motivation, Key Concepts and Transformation
System Components 2.Program Representations and Transformation Mechanisms
3.Some Sample Transformation Systems: Sinapse,
IP, DMS
4.Analysis: When to use a transformation
system
5.Relation to Reuse, and why Code Reuse isn't
everything
Keynote: The
Design Maintenance System, Scale, and application to Refactoring
<<
|
|