Beyond definition/use: architectural interconnection
IDL '94 Proceedings of the workshop on Interface definition languages
Abstractions for Software Architecture and Tools to Support Them
IEEE Transactions on Software Engineering - Special issue on software architecture
Specification and Analysis of System Architecture Using Rapide
IEEE Transactions on Software Engineering - Special issue on software architecture
Extracting architectural features from source code
Reverse engineering
Architectural Mismatch: Why Reuse Is So Hard
IEEE Software
Architectural Mismatch: Why Reuse Is So Hard
IEEE Software
Aspects in Distributed Environments
GCSE '99 Proceedings of the First International Symposium on Generative and Component-Based Software Engineering
GCSE '00 Proceedings of the Second International Symposium on Generative and Component-Based Software Engineering-Revised Papers
Classifying Architectural Elements as a Foundation for Mechanism Matching
COMPSAC '97 Proceedings of the 21st International Computer Software and Applications Conference
Software Architectural Transformation
WCRE '99 Proceedings of the Sixth Working Conference on Reverse Engineering
Automatic Design Pattern Detection
IWPC '03 Proceedings of the 11th IEEE International Workshop on Program Comprehension
COMPASS: Tool-Supported Adaptation of Interactions
Proceedings of the 19th IEEE international conference on Automated software engineering
Practical conflict resolution for the composition of program transformations
SC'08 Proceedings of the 7th international conference on Software composition
Hi-index | 0.00 |
Program analyses and transformations are means to support program evolution and bridge architectural mismatches in component composition. The Program Structures Group at the University of Karlsruhe und the FZI Karlsruhe, that we are or have been members of, have developed a suite of program analysis and transformation tools to attack these problems. The basic tool Recoder offers sophisticated source code analyses and a library of common transformations in the form of Java meta programs to perform necessary component and interaction adapations. This library can be extended by the Recoder framework that offers means for implementing custom transformations. A transformation can also be a generator to produce glue code, for example. Inject/J uses Recoder and offers a comfortable scripting language for implementing transformations. The scripting language combines declarative specifications of the program points, where the transformation should be applied, with imperative specifications of the transformation itself. COMPASS is focused on bridging interaction mismatches among software components. It introduces architectural elements like components, ports and aspect-oriented connectors as source code transformations based on the Recoder framework. COMPOST defines the general model of invasive software composition, where the ports of the COMPASS model are just one kind of hooks. Hooks are join points, i.e. part of a component that may be extended or replaced.