Many variability management techniques rely on sophisticated language extension or tools to support it. While this can provide dedicated syntax and operational mechanism but it struggling practical adaptation for the cost of adapting new technology as part of development process. We present Self-composable Programming, a language-driven, composition-based variability implementation which takes an object-oriented approach to modeling and composing behaviors in software. Self-composable Programming introduces hierarchical relationship of behavior by providing concepts of abstract function, which modularise commonalities, and specific function which inherits from abstract function and be apply refinement to contain variabilities to fulfill desired functionality. Various object-oriented techniques can applicable in the refinement process including explicit method-based, and implicit traits-based refinement. In order to evaluate the potential independence of behavior from the object by applying object-orientation to function, we compare it to Aspect-oriented Programming both conceptually and empirically.
翻译:许多变异性管理技术依靠复杂的语言扩展或工具来支持它。虽然这可以提供专门的语法和操作机制,但它在实际适应作为发展进程一部分的新技术改造成本方面挣扎不已。我们介绍了可自我兼容的编程,这是一种语言驱动的、基于构成的可变性实施,对软件中的建模和形成行为采取面向目标的方法。自我兼容的编程通过提供抽象功能概念,将共同性与从抽象功能继承下来的具体功能组合起来,并应用完善以包含实现预期功能的可变性,从而引入了行为的等级关系。各种面向目标的技术可以适用于完善过程,包括以明确的方法为基础的和以隐含特性为基础的改进。为了通过应用目标定向功能来评估行为与对象之间的潜在独立性,我们从概念上和实验上将它与面向阿斯佩特的编程加以比较。