首页 > 最新文献

Proceedings of the 8th ACM SIGPLAN International Workshop on Feature-Oriented Software Development最新文献

英文 中文
Variational lists: comparisons and design guidelines 变分列表:比较和设计指南
Karl Smeltzer, Martin Erwig
Variation is widespread in software artifacts (data and programs) and in some cases, such as software product lines, is widely studied. In order to analyze, transform, or otherwise manipulate such variational software artifacts, one needs a suitable data structure representation that incorporate variation. However, relatively little work has focused on what effective representations could be to support programming with variational data. In this paper we explore how variational data can be represented and what the implications and requirements are for corresponding variational data structures. Due to the large design space, we begin by focusing on linked lists. We discuss different variational linked-list representations and their respective strengths and weaknesses. Based on our experience, we identify some general design principles and techniques that can help with the development of other variational data structures that are needed to make variational programming practical.
变化在软件工件(数据和程序)中是广泛存在的,并且在某些情况下,例如软件产品线,被广泛研究。为了分析、转换,或者以其他方式操作这样的变分软件工件,需要一个包含变化的合适的数据结构表示。然而,相对较少的工作集中在支持变分数据编程的有效表示是什么。在本文中,我们探讨了如何表示变分数据,以及相应的变分数据结构的含义和要求。由于设计空间很大,我们从链表开始。我们讨论了不同的变分链表表示及其各自的优缺点。根据我们的经验,我们确定了一些通用的设计原则和技术,这些原则和技术可以帮助开发使变分编程实用的其他变分数据结构。
{"title":"Variational lists: comparisons and design guidelines","authors":"Karl Smeltzer, Martin Erwig","doi":"10.1145/3141848.3141852","DOIUrl":"https://doi.org/10.1145/3141848.3141852","url":null,"abstract":"Variation is widespread in software artifacts (data and programs) and in some cases, such as software product lines, is widely studied. In order to analyze, transform, or otherwise manipulate such variational software artifacts, one needs a suitable data structure representation that incorporate variation. However, relatively little work has focused on what effective representations could be to support programming with variational data. In this paper we explore how variational data can be represented and what the implications and requirements are for corresponding variational data structures. Due to the large design space, we begin by focusing on linked lists. We discuss different variational linked-list representations and their respective strengths and weaknesses. Based on our experience, we identify some general design principles and techniques that can help with the development of other variational data structures that are needed to make variational programming practical.","PeriodicalId":229487,"journal":{"name":"Proceedings of the 8th ACM SIGPLAN International Workshop on Feature-Oriented Software Development","volume":" 12","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-10-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133121084","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 7
Automated recommendations for reducing unnecessary variability of technology architectures 减少不必要的技术架构可变性的自动建议
Kenny Wehling, David Wille, C. Seidl, Ina Schaefer
A technology architecture (TA) represents the technical infrastructure of a company and consists of hardware and software components. As the evolution of such TAs is typically uncoordinated, their complexity often grows with a company’s requirements. As a consequence, a variety of redundancies and architectural variants exist, which are not necessary for the architecture’s purpose. This leads to increased costs and higher effort for evolving and maintaining the entire IT landscape. To alleviate these problems, unnecessary variability has to be identified and reduced. As a manual approach requires high effort and is not feasible for largescale analysis, experts face a major challenge. For this purpose, we propose an automated approach, which provides experts with recommendations for restructurings of related TAs in order to reduce unnecessary variability. We show suitability of our approach by expert interviews and an industrial case study with real-world TAs.
技术体系结构(TA)表示公司的技术基础设施,由硬件和软件组件组成。由于此类技术任务的演变通常是不协调的,因此它们的复杂性通常会随着公司需求的增长而增长。因此,存在各种冗余和体系结构变体,这对于体系结构的目的来说是不必要的。这将导致成本的增加,以及发展和维护整个IT环境的工作量的增加。为了缓解这些问题,必须识别和减少不必要的可变性。由于手工方法需要很高的努力,并且不适合大规模的分析,专家们面临着一个重大的挑战。为此,我们提出了一种自动化的方法,该方法为专家提供相关TAs重组的建议,以减少不必要的可变性。我们通过专家访谈和现实世界助教的工业案例研究来展示我们方法的适用性。
{"title":"Automated recommendations for reducing unnecessary variability of technology architectures","authors":"Kenny Wehling, David Wille, C. Seidl, Ina Schaefer","doi":"10.1145/3141848.3141849","DOIUrl":"https://doi.org/10.1145/3141848.3141849","url":null,"abstract":"A technology architecture (TA) represents the technical infrastructure of a company and consists of hardware and software components. As the evolution of such TAs is typically uncoordinated, their complexity often grows with a company’s requirements. As a consequence, a variety of redundancies and architectural variants exist, which are not necessary for the architecture’s purpose. This leads to increased costs and higher effort for evolving and maintaining the entire IT landscape. To alleviate these problems, unnecessary variability has to be identified and reduced. As a manual approach requires high effort and is not feasible for largescale analysis, experts face a major challenge. For this purpose, we propose an automated approach, which provides experts with recommendations for restructurings of related TAs in order to reduce unnecessary variability. We show suitability of our approach by expert interviews and an industrial case study with real-world TAs.","PeriodicalId":229487,"journal":{"name":"Proceedings of the 8th ACM SIGPLAN International Workshop on Feature-Oriented Software Development","volume":"202 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-10-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122422620","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
Feature oriented programming in Groovy Groovy中面向特性的编程
G. T. Assis, Gustavo Vale, Eduardo Figueiredo
Software Product Line (SPL) aims to reuse code and other artifacts in order to reduce costs and gain agility. Feature Oriented Programming (FOP) is a technique to develop SPLs that aims to improve the modularity and flexibility of feature code. The basic idea of FOP is to decompose software into smaller pieces, called features, so they can be composed according to the needs of each customer. Currently, Groovy programming language has no tool or framework that supports the implementation of FOP-SPLs. Groovy is a programming language that has been growing in popularity in recent years. Given this scenario, this work proposes and evaluates G4FOP, a light way to develop SPLs using Groovy. G4FOP extends FeatureHouse which is a framework for software composition and FOP. A preliminary evaluation shows that G4FOP covers Groovy grammar. We also demonstrate by an example that G4FOP is suitable to develop SPLs. G4FOP is currently integrated to the official FeatureHouse repository.
软件产品线(SPL)旨在重用代码和其他工件,以降低成本并获得敏捷性。面向特征编程(Feature Oriented Programming, FOP)是一种开发特定语言接口的技术,旨在提高特征代码的模块化和灵活性。FOP的基本思想是将软件分解成更小的部分,称为功能,因此它们可以根据每个客户的需求进行组合。目前,Groovy编程语言还没有支持op - spls实现的工具或框架。Groovy是一种近年来越来越流行的编程语言。在这种情况下,本文提出并评估了G4FOP,这是一种使用Groovy开发SPLs的简便方法。G4FOP扩展了FeatureHouse,后者是一个用于软件组合和FOP的框架。初步评估表明G4FOP涵盖了Groovy语法。并通过实例证明了G4FOP适用于SPLs的开发。G4FOP目前被集成到官方的FeatureHouse存储库中。
{"title":"Feature oriented programming in Groovy","authors":"G. T. Assis, Gustavo Vale, Eduardo Figueiredo","doi":"10.1145/3141848.3141851","DOIUrl":"https://doi.org/10.1145/3141848.3141851","url":null,"abstract":"Software Product Line (SPL) aims to reuse code and other artifacts in order to reduce costs and gain agility. Feature Oriented Programming (FOP) is a technique to develop SPLs that aims to improve the modularity and flexibility of feature code. The basic idea of FOP is to decompose software into smaller pieces, called features, so they can be composed according to the needs of each customer. Currently, Groovy programming language has no tool or framework that supports the implementation of FOP-SPLs. Groovy is a programming language that has been growing in popularity in recent years. Given this scenario, this work proposes and evaluates G4FOP, a light way to develop SPLs using Groovy. G4FOP extends FeatureHouse which is a framework for software composition and FOP. A preliminary evaluation shows that G4FOP covers Groovy grammar. We also demonstrate by an example that G4FOP is suitable to develop SPLs. G4FOP is currently integrated to the official FeatureHouse repository.","PeriodicalId":229487,"journal":{"name":"Proceedings of the 8th ACM SIGPLAN International Workshop on Feature-Oriented Software Development","volume":"304 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-10-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132135878","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Towards a development process for maturing Delta-oriented software product lines 走向成熟的面向增量的软件产品线的开发过程
Sven Schuster, C. Seidl, Ina Schaefer
A Software Product Line (SPL) exploits reuse-in-the-large to enable customization by explicitly modeling commonalities and variabilities of closely related software systems. Delta-Oriented Programming (DOP) is a flexible implementation approach to SPL engineering, which transforms an existing core product to another desired product by applying transformation operations. By capturing product alterations related to configurable functionality within delta modules, DOP closely resembles a natural process of software development, which proves beneficial in early stages of development. However, increasing complexity for a growing SPL in later development stages caused by the invasiveness of DOP drastically impairs maintenance and extensibility. Hence, a process utilizing the invasiveness of DOP in early development stages and restricting it in later stages would allow developers to mature growing delta-oriented SPLs. Moreover, ever-increasing complexity requires means to migrate into less invasive development approaches that are more suited for large-scale configurable applications. To this end, we propose a development process for delta-oriented SPLs including explicit variability points, metrics and refactorings as well as a semi-automatic reengineering of a delta-oriented SPL into a development approach based on blackbox-components. In this paper, we sketch this development process with its constituents and point out required research essential for successfully maturing a delta-oriented SPL.
软件产品线(SPL)利用大规模重用,通过显式地对密切相关的软件系统的共性和可变性进行建模来实现定制。面向增量编程(Delta-Oriented Programming, DOP)是SPL工程的一种灵活的实现方法,它通过应用转换操作将现有的核心产品转换为另一个期望的产品。通过捕获与增量模块中可配置功能相关的产品变更,DOP非常类似于软件开发的自然过程,这在开发的早期阶段被证明是有益的。然而,在后期开发阶段,由于DOP的侵入性,不断增长的SPL的复杂性会大大削弱维护和可扩展性。因此,在早期开发阶段利用DOP的侵入性并在后期限制它的过程将使开发人员能够使不断增长的面向delta的spc成熟起来。此外,不断增加的复杂性需要迁移到更适合大规模可配置应用程序的侵入性更小的开发方法。为此,我们提出了面向delta的SPL的开发过程,包括明确的可变性点、度量和重构,以及将面向delta的SPL半自动地重新设计为基于黑盒组件的开发方法。在本文中,我们概述了这一发展过程及其组成部分,并指出了成功成熟面向三角洲的SPL所需的必要研究。
{"title":"Towards a development process for maturing Delta-oriented software product lines","authors":"Sven Schuster, C. Seidl, Ina Schaefer","doi":"10.1145/3141848.3141853","DOIUrl":"https://doi.org/10.1145/3141848.3141853","url":null,"abstract":"A Software Product Line (SPL) exploits reuse-in-the-large to enable customization by explicitly modeling commonalities and variabilities of closely related software systems. Delta-Oriented Programming (DOP) is a flexible implementation approach to SPL engineering, which transforms an existing core product to another desired product by applying transformation operations. By capturing product alterations related to configurable functionality within delta modules, DOP closely resembles a natural process of software development, which proves beneficial in early stages of development. However, increasing complexity for a growing SPL in later development stages caused by the invasiveness of DOP drastically impairs maintenance and extensibility. Hence, a process utilizing the invasiveness of DOP in early development stages and restricting it in later stages would allow developers to mature growing delta-oriented SPLs. Moreover, ever-increasing complexity requires means to migrate into less invasive development approaches that are more suited for large-scale configurable applications. To this end, we propose a development process for delta-oriented SPLs including explicit variability points, metrics and refactorings as well as a semi-automatic reengineering of a delta-oriented SPL into a development approach based on blackbox-components. In this paper, we sketch this development process with its constituents and point out required research essential for successfully maturing a delta-oriented SPL.","PeriodicalId":229487,"journal":{"name":"Proceedings of the 8th ACM SIGPLAN International Workshop on Feature-Oriented Software Development","volume":"244 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-10-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122719003","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Towards complete consistency checks of Clafer models 完成Clafer模型的一致性检查
Markus Weckesser, Malte Lochau, Michael Ries, Andy Schürr
Clafer is a general purpose modeling language that combines UML-like class and meta-modeling with feature-oriented variability modeling and first-order logic constraints. The considerable expressiveness of Clafer makes automated reasoning about properties like model consistency (i.e., finding a valid model instance) very challenging. In particular, multiplicity annotations and recursive model structures yield a potentially unbounded number of model instances resulting in an infinite search space. Existing approaches for consistency checking encode Clafer models into finite constraint-satisfaction problems by either manually or heuristically, setting bounds for the search space. Hence, if no valid model instance has been found, it is unknown whether the model is inconsistent, or whether the bounds have been chosen too tight. In this paper, we characterize a restricted sub-language of Clafer with complex inheritance relations that is crucial for facilitating sound and complete model-consistency checking. To this end, we present the idea of a novel technique for automated search-space restriction, by flattening Clafer models and encoding them as Integer Linear Programs (ILP). Our evaluation shows very promising results of our approach in terms of runtime efficiency for both flattening of complex inheritance hierarchies as well as sound and complete consistency checking.
Clafer是一种通用的建模语言,它将类似uml的类和元建模与面向特征的可变性建模和一阶逻辑约束结合在一起。Clafer相当强的表达能力使得关于模型一致性(即,找到一个有效的模型实例)等属性的自动推理非常具有挑战性。特别是,多重注释和递归模型结构会产生无限数量的模型实例,从而产生无限的搜索空间。现有的一致性检查方法通过手动或启发式方式将Clafer模型编码为有限约束满足问题,并为搜索空间设置边界。因此,如果没有找到有效的模型实例,则不知道模型是否不一致,或者边界是否选择得太紧。在本文中,我们描述了具有复杂继承关系的Clafer的受限子语言,这对于促进健全和完整的模型一致性检查至关重要。为此,我们提出了一种自动搜索空间限制的新技术,通过将Clafer模型扁平化并将其编码为整数线性规划(ILP)。我们的评估显示了我们的方法在运行时效率方面非常有希望的结果,包括复杂继承层次结构的扁平化以及健全和完整的一致性检查。
{"title":"Towards complete consistency checks of Clafer models","authors":"Markus Weckesser, Malte Lochau, Michael Ries, Andy Schürr","doi":"10.1145/3141848.3141850","DOIUrl":"https://doi.org/10.1145/3141848.3141850","url":null,"abstract":"Clafer is a general purpose modeling language that combines UML-like class and meta-modeling with feature-oriented variability modeling and first-order logic constraints. The considerable expressiveness of Clafer makes automated reasoning about properties like model consistency (i.e., finding a valid model instance) very challenging. In particular, multiplicity annotations and recursive model structures yield a potentially unbounded number of model instances resulting in an infinite search space. Existing approaches for consistency checking encode Clafer models into finite constraint-satisfaction problems by either manually or heuristically, setting bounds for the search space. Hence, if no valid model instance has been found, it is unknown whether the model is inconsistent, or whether the bounds have been chosen too tight. In this paper, we characterize a restricted sub-language of Clafer with complex inheritance relations that is crucial for facilitating sound and complete model-consistency checking. To this end, we present the idea of a novel technique for automated search-space restriction, by flattening Clafer models and encoding them as Integer Linear Programs (ILP). Our evaluation shows very promising results of our approach in terms of runtime efficiency for both flattening of complex inheritance hierarchies as well as sound and complete consistency checking.","PeriodicalId":229487,"journal":{"name":"Proceedings of the 8th ACM SIGPLAN International Workshop on Feature-Oriented Software Development","volume":"107 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-10-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116243513","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 7
Proceedings of the 8th ACM SIGPLAN International Workshop on Feature-Oriented Software Development 第八届ACM SIGPLAN面向功能的软件开发国际研讨会论文集
{"title":"Proceedings of the 8th ACM SIGPLAN International Workshop on Feature-Oriented Software Development","authors":"","doi":"10.1145/3141848","DOIUrl":"https://doi.org/10.1145/3141848","url":null,"abstract":"","PeriodicalId":229487,"journal":{"name":"Proceedings of the 8th ACM SIGPLAN International Workshop on Feature-Oriented Software Development","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128310815","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
期刊
Proceedings of the 8th ACM SIGPLAN International Workshop on Feature-Oriented Software Development
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1