Multi-Platform Generative Development of Component & Connector Systems using Model and Code Libraries
This work addresses the challenge of reducing development effort and increasing component reuse for software engineers, though it appears incremental as it builds on existing model-driven engineering concepts.
The paper tackles the problem of platform-specific restrictions in component-based software engineering by proposing a model-driven mechanism to transform platform-independent architectures into platform-specific implementations using model and code libraries, which increases reuse of software architectures and components.
Component-based software engineering aims to reduce software development effort by reusing established components as building blocks of complex systems. Defining components in general-purpose programming languages restricts their reuse to platforms supporting these languages and complicates component composition with implementation details. The vision of model-driven engineering is to reduce the gap between developer intention and implementation details by lifting abstract models to primary development artifacts and systematically transforming these into executable systems. For sufficiently complex systems the transformation from abstract models to platform-specific implementations requires augmentation with platform-specific components. We propose a model-driven mechanism to transform platform-independent logical component & connector architectures into platform-specific implementations combining model and code libraries. This mechanism allows to postpone commitment to a specific platform and thus increases reuse of software architectures and components.