Affiliation:
1. University of Passau, Passau, Germany
2. MZA Associates Corporation, Albuquerque, NM
Abstract
The goal of
feature-oriented programming
(FOP) is to modularize software systems in terms of features. A
feature
refines the content of a base program. Both base programs and features may contain various kinds of software artifacts, for example, source code in different languages, models, build scripts, and documentation. We and others have noticed that when composing features, different kinds of software artifacts can be refined in a uniform way, regardless of what they represent. We present gDeep, a core calculus for feature composition, which captures the language independence of FOP; it can be used to compose features containing many different kinds of artifact in a type-safe way. The calculus allows us to gain insight into the principles of FOP and to define general algorithms for feature composition and validation. We provide the formal syntax, operational semantics, and type system of gDeep and outline how languages like Java, Haskell, Bali, and XML can be plugged in.
Funder
Deutsche Forschungsgemeinschaft
Publisher
Association for Computing Machinery (ACM)
Cited by
25 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Deep Semantic Versioning for Evolution and Variability;23rd International Symposium on Principles and Practice of Declarative Programming;2021-09-06
2. Using Abstract Contracts for Verifying Evolving Features and Their Interactions;Lecture Notes in Computer Science;2020
3. Semistructured Merge in JavaScript Systems;2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE);2019-11
4. Featured Event Sequence Graphs for Model-Based Incremental Testing of Software Product Lines;2019 IEEE 43rd Annual Computer Software and Applications Conference (COMPSAC);2019-07
5. Feature-oriented contract composition;Journal of Systems and Software;2019-06