Forward-Oriented Programming: A meta-DSL for fast development of component libraries

Information and Software Technology(2024)

引用 0|浏览4
暂无评分
摘要
Libraries that implement Domain-Specific Language (DSL) components keep gaining traction when it comes to developing software for specific application domains. However, creating components that can be organically weaved into use cases is an extremely complex task. In this work, we introduce a meta-DSL to assist library development, called Forward-Oriented Programming (FOP). This combines lazy evaluation and aspect-oriented programming principles to align crosscutting component configurations and alter execution outcomes depending on usage in subsequent code. Theoretical analysis shows that FOP simplifies component development and makes their combination logic learnable by library users. We realize the paradigm with a Python package, called pyfop, and conduct a case study that compares it with purely functional and object-oriented library implementations. In the study, source code quality metrics demonstrate reduced time and effort to write library components, and increased comprehensibility. Configurations are shared without modifying distant code segments.
更多
查看译文
关键词
Programming,Abstraction,Software engineering,Meta-Domain Specific Language,Component combination,Aspect variables,Software tool,Python
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要