Jacob Loth, Chico Sundermann, Tobias Schrull, Thilo Brugger, Felix Rieg, Thomas Thüm
{"title":"UVLS: A Language Server Protocol For UVL","authors":"Jacob Loth, Chico Sundermann, Tobias Schrull, Thilo Brugger, Felix Rieg, Thomas Thüm","doi":"10.1145/3579028.3609014","DOIUrl":null,"url":null,"abstract":"The Universal Variability Language (UVL) is a community-driven textual format for feature models. Over the last few years, UVL has been integrated into several relevant product-line tools. One of UVLs major advantages is its manual readability and editability. Still, without automated support it is hard to overview larger UVL models. We implemented a language server protocol (LSP) that includes syntactical and semantic analyses of UVL files. The LSP comes with several handy features to make textual editing of UVL more convenient, such as syntax checks and anomaly detection. Furthermore, the LSP supports the configuration of UVL files in a web-based editor with decision propagation. The reasoning engine supports constraints with a high level of expressiveness, such as numerical and string features. Due to the generic interface of LSPs, UVL can be integrated into modern IDEs with only small efforts. We already integrated the LSP into Visual Studio Code and NeoVim.","PeriodicalId":340233,"journal":{"name":"Proceedings of the 27th ACM International Systems and Software Product Line Conference - Volume B","volume":"73 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-08-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 27th ACM International Systems and Software Product Line Conference - Volume B","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3579028.3609014","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
The Universal Variability Language (UVL) is a community-driven textual format for feature models. Over the last few years, UVL has been integrated into several relevant product-line tools. One of UVLs major advantages is its manual readability and editability. Still, without automated support it is hard to overview larger UVL models. We implemented a language server protocol (LSP) that includes syntactical and semantic analyses of UVL files. The LSP comes with several handy features to make textual editing of UVL more convenient, such as syntax checks and anomaly detection. Furthermore, the LSP supports the configuration of UVL files in a web-based editor with decision propagation. The reasoning engine supports constraints with a high level of expressiveness, such as numerical and string features. Due to the generic interface of LSPs, UVL can be integrated into modern IDEs with only small efforts. We already integrated the LSP into Visual Studio Code and NeoVim.
通用可变性语言(UVL)是一种社区驱动的特征模型文本格式。在过去的几年里,UVL已经集成到几个相关的产品线工具中。UVLs的主要优点之一是它的手动可读性和可编辑性。尽管如此,如果没有自动化的支持,很难概述更大的UVL模型。我们实现了一个语言服务器协议(LSP),该协议包括对UVL文件的语法和语义分析。LSP提供了一些方便的特性,使UVL的文本编辑更加方便,如语法检查和异常检测。此外,LSP还支持在基于web的编辑器中配置具有决策传播功能的UVL文件。推理引擎支持具有高表达性的约束,例如数字和字符串特征。由于lsp的通用接口,UVL可以轻松集成到现代ide中。我们已经将LSP集成到Visual Studio Code和NeoVim中。