Transforming Platform-Independent to Platform-Specific Component and Connector Software Architecture Models
This addresses the issue of platform-specific components hampering reuse in software architecture for developers and engineers, though it appears incremental as it builds on existing modeling languages and refinement techniques.
The paper tackles the problem of software architecture reuse across multiple platforms by introducing an automated approach to transform platform-independent component and connector models into platform-specific ones, enabling a single logical architecture to be reused with multiple target platforms, which increases architecture maturity and reduces maintenance effort.
Combining component & connector architecture descriptionlanguageswithcomponentbehaviormodelinglanguages enables modeling great parts of software architectures platformindependently. Nontrivial systems typically contain components with programming language behavior descriptions to interface with APIs. These components tie the complete software architecture to a specific platform and thus hamper reuse. Previous work on software architecture reuse with multiple platforms either requires platform-specific handcrafting or the effort of explicit platform models. We present an automated approach to transform platform-independent, logical software architectures into architectures with platform-specific components. This approach introduces abstract components to the platform-independent architecture and refines the se with components specific to the target platform prior to code generation. Consequently, a single logical software architecture model can be reused with multiple target platforms, which increases architecture maturity and reduces the maintenance effort of multiple similar software architectures.