首页 > 最新文献

Journal of Computer Languages最新文献

英文 中文
Solvi: A visual constraint modeling tool Solvi:可视化约束建模工具
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-11-23 DOI: 10.1016/j.cola.2023.101242
Xu Zhu , Miguel A. Nacenta , Özgür Akgün , Daniel Zenkovitch

Discrete constraint problems surface often in everyday life. Teachers might group students with complex considerations and hospital administrators need to produce staff rosters. Constraint programming (CP) provides techniques to efficiently find solutions. However, there remains a key challenge: these techniques are still largely inaccessible because expressing constraint problems requires sophisticated programming and logic skills. In this work we contribute a language and tool that leverage knowledge of how non-experts conceptualize problems to facilitate the expression of constraint models. Additionally, we report the results of a study surveying the advantages and remaining challenges towards making CP accessible to the wider public.

离散约束问题在日常生活中经常出现。教师可能会出于复杂的考虑将学生分组,医院管理人员需要编制员工名册。约束规划(CP)提供了有效地寻找解决方案的技术。然而,仍然存在一个关键的挑战:这些技术在很大程度上仍然无法实现,因为表达约束问题需要复杂的编程和逻辑技能。在这项工作中,我们提供了一种语言和工具,利用非专家如何概念化问题的知识来促进约束模型的表达。此外,我们报告了一项研究的结果,调查了使CP更广泛地进入公众的优势和仍然存在的挑战。
{"title":"Solvi: A visual constraint modeling tool","authors":"Xu Zhu ,&nbsp;Miguel A. Nacenta ,&nbsp;Özgür Akgün ,&nbsp;Daniel Zenkovitch","doi":"10.1016/j.cola.2023.101242","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101242","url":null,"abstract":"<div><p>Discrete constraint problems surface often in everyday life. Teachers might group students with complex considerations and hospital administrators need to produce staff rosters. Constraint programming (CP) provides techniques to efficiently find solutions. However, there remains a key challenge: these techniques are still largely inaccessible because expressing constraint problems requires sophisticated programming and logic skills. In this work we contribute a language and tool that leverage knowledge of how non-experts conceptualize problems to facilitate the expression of constraint models. Additionally, we report the results of a study surveying the advantages and remaining challenges towards making CP accessible to the wider public.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"78 ","pages":"Article 101242"},"PeriodicalIF":2.2,"publicationDate":"2023-11-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S2590118423000527/pdfft?md5=42dcd60e8822ed624ec930252ba9fd7e&pid=1-s2.0-S2590118423000527-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138435915","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Requirements development for IoT systems with UCM4IoT 利用 UCM4IoT 开发物联网系统需求
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-11-23 DOI: 10.1016/j.cola.2023.101251
Paul Boutot, Mirza Rehenuma Tabassum, Abdul Abedin, Sadaf Mustafiz

The engineering of IoT (Internet of Things) systems brings about various challenges due to the inherent complexities associated with such adaptive systems. Addressing the adaptive nature of IoT systems in the early stages of the development life cycle is essential for developing a complete and precise system specification. In this paper, we propose a use case-based modelling language, UCM4IoT, to support requirements elicitation and specification of IoT systems. UCM4IoT takes into account the heterogeneity of IoT systems and provides domain-specific language constructs to model the different facets of IoT systems. The language also incorporates the notion of exceptional situations and adaptive system behaviour. Our language is supported with a textual modelling environment to assist modellers in writing use cases. The environment supports syntax-directed editing, validation of use case models, and requirements analysis. The proposed language and tool is demonstrated and evaluated with two case studies: smart store system and smart fire alarm system.

由于自适应系统固有的复杂性,物联网(IoT)系统的工程带来了各种挑战。在开发生命周期的早期阶段解决物联网系统的自适应特性对于开发完整而精确的系统规范至关重要。在本文中,我们提出了一种基于用例的建模语言UCM4IoT,以支持物联网系统的需求激发和规范。UCM4IoT考虑到物联网系统的异质性,并提供特定于领域的语言结构来对物联网系统的不同方面进行建模。该语言还包含了异常情况和适应性系统行为的概念。我们的语言由文本建模环境支持,以帮助建模者编写用例。该环境支持语法导向的编辑、用例模型的验证和需求分析。通过智能存储系统和智能火灾报警系统两个案例,对所提出的语言和工具进行了演示和评估。
{"title":"Requirements development for IoT systems with UCM4IoT","authors":"Paul Boutot,&nbsp;Mirza Rehenuma Tabassum,&nbsp;Abdul Abedin,&nbsp;Sadaf Mustafiz","doi":"10.1016/j.cola.2023.101251","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101251","url":null,"abstract":"<div><p><span>The engineering of IoT (Internet of Things) systems brings about various challenges due to the inherent complexities associated with such adaptive systems. Addressing the adaptive nature of IoT systems in the early stages of the development life cycle<span> is essential for developing a complete and precise system specification. In this paper, we propose a use case-based modelling language<span>, UCM4IoT, to support requirements elicitation and specification of IoT systems. UCM4IoT takes into account the heterogeneity of IoT systems and provides domain-specific language constructs to model the different facets of IoT systems. The language also incorporates the notion of exceptional situations and adaptive system behaviour. Our language is supported with a textual modelling environment to assist modellers in writing use cases. The environment supports syntax-directed editing, validation of use case models, and requirements analysis. The proposed language and tool is demonstrated and evaluated with two case studies: smart store system and smart </span></span></span>fire alarm system.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"78 ","pages":"Article 101251"},"PeriodicalIF":2.2,"publicationDate":"2023-11-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138489706","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Supporting model-based safety analysis for safety-critical IoT systems 支持安全关键型物联网系统的基于模型的安全分析
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-11-22 DOI: 10.1016/j.cola.2023.101243
Felicien Ihirwe , Davide Di Ruscio , Katia Di Blasio , Simone Gianfranceschi , Alfonso Pierantonio

Dependability is regarded as the ability of the system to provide services that can be trusted within a specific period. As the complexity and heterogeneity of Internet of Things (IoT) systems rise, so does the possibility of errors and failure. Early safety analysis not only reduces the cost of late failure but also makes it easier to trace and determine the source of the failure beforehand in case something goes wrong. In this paper, we present an early safety analysis approach based on Failure-Logic Analysis (FLA) and Fault-Tree Analysis (FTA) for safety-critical IoT systems. The safety analysis infrastructure, supported by the CHESSIoT tool, takes into account the system-level physical architecture model annotated with the component’s failure logic properties to perform different kinds of automated failure analyses. In addition to its ability to generate the system Fault-Trees (FTs), the new FTA analysis approach automatically performs qualitative and quantitative analyses which include the elimination of redundant events, unnecessary failure paths, as well as automatic probabilistic calculation of the undesired events. To assess the effectiveness of the approach, a comparative study between our propose approach with 19 existing approaches in both academia and industry was conducted showcasing its contribution to the state of the art. Finally, a Patient Monitoring System (PMS) use case has been developed to demonstrate the capabilities of the supporting CHESSIoT tool, and the results are thoroughly presented.

可靠性被认为是系统在特定时期内提供可信任服务的能力。随着物联网(IoT)系统的复杂性和异质性的增加,错误和故障的可能性也在增加。早期的安全分析不仅可以降低后期故障的成本,而且可以在出现故障时更容易地跟踪和确定故障的来源。在本文中,我们提出了一种基于故障逻辑分析(FLA)和故障树分析(FTA)的早期安全分析方法,用于安全关键型物联网系统。由CHESSIoT工具支持的安全分析基础设施考虑了系统级物理体系结构模型,其中注释了组件的故障逻辑属性,以执行不同类型的自动故障分析。除了能够生成系统故障树(FTs)之外,新的FTA分析方法还可以自动执行定性和定量分析,包括消除冗余事件,不必要的故障路径以及不希望发生的事件的自动概率计算。为了评估该方法的有效性,我们将我们提出的方法与学术界和工业界现有的19种方法进行了比较研究,以展示其对最新技术的贡献。最后,开发了一个患者监测系统(PMS)用例来演示支持CHESSIoT工具的功能,并详细介绍了结果。
{"title":"Supporting model-based safety analysis for safety-critical IoT systems","authors":"Felicien Ihirwe ,&nbsp;Davide Di Ruscio ,&nbsp;Katia Di Blasio ,&nbsp;Simone Gianfranceschi ,&nbsp;Alfonso Pierantonio","doi":"10.1016/j.cola.2023.101243","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101243","url":null,"abstract":"<div><p>Dependability is regarded as the ability of the system to provide services that can be trusted within a specific period. As the complexity and heterogeneity of Internet of Things (IoT) systems rise, so does the possibility of errors and failure. Early safety analysis not only reduces the cost of late failure but also makes it easier to trace and determine the source of the failure beforehand in case something goes wrong. In this paper, we present an early safety analysis approach based on Failure-Logic Analysis (FLA) and Fault-Tree Analysis (FTA) for safety-critical IoT systems. The safety analysis infrastructure, supported by the CHESSIoT tool, takes into account the system-level physical architecture model annotated with the component’s failure logic properties to perform different kinds of automated failure analyses. In addition to its ability to generate the system Fault-Trees (FTs), the new FTA analysis approach automatically performs qualitative and quantitative analyses which include the elimination of redundant events, unnecessary failure paths, as well as automatic probabilistic calculation of the undesired events. To assess the effectiveness of the approach, a comparative study between our propose approach with 19 existing approaches in both academia and industry was conducted showcasing its contribution to the state of the art. Finally, a Patient Monitoring System (PMS) use case has been developed to demonstrate the capabilities of the supporting CHESSIoT tool, and the results are thoroughly presented.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"78 ","pages":"Article 101243"},"PeriodicalIF":2.2,"publicationDate":"2023-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138435916","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Fuzzing-based grammar learning from a minimal set of seed inputs 基于模糊的基于最小种子输入集的语法学习
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-11-19 DOI: 10.1016/j.cola.2023.101252
Hannes Sochor , Flavio Ferrarotti , Daniela Kaufmann

To be effective, a fuzzer needs to generate inputs that are well formed, so that they are not outright rejected by the Software Under Test (SUT) and can thus detect meaningful bugs. Grammar based fuzzers solve this problem, but they obviously require a grammar of the input language accepted by the SUT. Many times such grammar is unknown. Therefore, different black- and white-box algorithms have been proposed for learning them from SUTs. Black-box algorithms rely only on membership queries, but need access to carefully crafted well formed inputs in order to obtain good results. White-box algorithms require access to the source code and generally produce grammars with higher precision and recall, but at the expense of working only for specific programming languages and libraries. We propose a new algorithm and show through extensive experimentation that it can learn grammars from recursive descendent parsers with consistently high levels of both, recall and precision. Notably, this result was obtained starting with a couple of arbitrary seed inputs and includes evaluations with sophisticated languages such as Java Script Object Notation (JSON). Different to other state of the art white-box approaches, our method does not require sophisticated program analysis techniques such as dynamic tainting or symbolic execution. In fact, the experiments confirm that our method performs extremely well with just a (standard) generic Abstract Syntax Tree (AST) of the parsing program as input. The core of our method uses fuzzing techniques combined with fundamental theoretical results on grammar learning. Compared to other white-box approaches, ours is not tied to specific programming languages and tools, and thus can be easily ported. Regarding performance, we have shown that our algorithm works well in practice and that, under reasonable assumptions, its worst-case complexity is polynomial (with low exponents) w.r.t. time and space requirements.

为了有效,fuzzer需要生成格式良好的输入,这样它们就不会被被测试软件(SUT)直接拒绝,从而可以检测到有意义的错误。基于语法的fuzzers解决了这个问题,但它们显然需要SUT接受的输入语言的语法。很多时候这样的语法是未知的。因此,人们提出了不同的黑盒和白盒算法来从sut中学习它们。黑盒算法仅依赖于成员查询,但需要访问精心制作的格式良好的输入,以获得良好的结果。白盒算法需要访问源代码,并且通常产生具有更高精度和召回率的语法,但代价是只适用于特定的编程语言和库。我们提出了一种新的算法,并通过广泛的实验表明,它可以从递归的后代解析器中学习语法,并且具有一致的高水平,召回率和精度。值得注意的是,这个结果是从几个任意的种子输入开始获得的,并且包括使用Java Script Object Notation (JSON)等复杂语言的计算。与其他先进的白盒方法不同,我们的方法不需要复杂的程序分析技术,如动态污染或符号执行。事实上,实验证实,我们的方法仅使用解析程序的(标准的)通用抽象语法树(AST)作为输入就可以非常好地执行。我们的方法的核心是使用模糊技术结合语法学习的基本理论结果。与其他白盒方法相比,我们的方法不依赖于特定的编程语言和工具,因此可以很容易地移植。关于性能,我们已经证明我们的算法在实践中工作得很好,并且在合理的假设下,其最坏情况复杂度是多项式(低指数),而不是时间和空间要求。
{"title":"Fuzzing-based grammar learning from a minimal set of seed inputs","authors":"Hannes Sochor ,&nbsp;Flavio Ferrarotti ,&nbsp;Daniela Kaufmann","doi":"10.1016/j.cola.2023.101252","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101252","url":null,"abstract":"<div><p><span>To be effective, a fuzzer needs to generate inputs that are well formed, so that they are not outright rejected by the Software Under Test (SUT) and can thus detect meaningful bugs. Grammar based fuzzers<span><span> solve this problem, but they obviously require a grammar of the input language accepted by the SUT. Many times such grammar is unknown. Therefore, different black- and white-box algorithms have been proposed for learning them from SUTs. Black-box algorithms rely only on membership queries, but need access to carefully crafted well formed inputs in order to obtain good results. White-box algorithms require access to the source code and generally produce grammars with higher precision and recall, but at the expense of working only for specific programming languages and libraries. We propose a new algorithm and show through extensive experimentation that it can learn grammars from recursive descendent parsers with consistently high levels of both, recall and precision. Notably, this result was obtained starting with a couple of arbitrary seed inputs and includes evaluations with sophisticated languages such as </span>Java Script Object Notation<span> (JSON). Different to other state of the art white-box approaches, our method does not require sophisticated program analysis techniques such as dynamic tainting or symbolic execution. In fact, the experiments confirm that our method performs extremely well with just a (standard) generic Abstract Syntax Tree (AST) of the </span></span></span>parsing program as input. The core of our method uses fuzzing techniques combined with fundamental theoretical results on grammar learning. Compared to other white-box approaches, ours is not tied to specific programming languages and tools, and thus can be easily ported. Regarding performance, we have shown that our algorithm works well in practice and that, under reasonable assumptions, its worst-case complexity is polynomial (with low exponents) w.r.t. time and space requirements.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"78 ","pages":"Article 101252"},"PeriodicalIF":2.2,"publicationDate":"2023-11-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138430607","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
A transformation methodology for Capella to Event-B models with DSL verification 用于Capella到带有DSL验证的Event-B模型的转换方法
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-11-01 DOI: 10.1016/j.cola.2023.101241
Khaoula Bouba , Abderrahim Ait Wakrime , Yassine Ouhammou , Redouane Benaini

Capella/Arcadia helps engineers design complex system models, but as models grew in complexity, simulation and verification became necessary. An automatic model-to-model transformation approach was proposed to interpret the dynamic behavior of the semi-formal Capella models. Custom domain-specific languages were introduced to assess the syntax of these models. The approach was applied to the Adaptive Exterior Light system, transforming Capella models into Event-B models for safety verification. The paper provides traceability between Capella and Event-B meta-models to aid interpretation of verification results.

Capella/Arcadia帮助工程师设计复杂的系统模型,但随着模型变得越来越复杂,仿真和验证变得必要。提出了一种模型到模型的自动转换方法来解释半形式化Capella模型的动态行为。引入了特定于领域的定制语言来评估这些模型的语法。将该方法应用于自适应外部照明系统,将Capella模型转换为Event-B模型进行安全验证。本文提供了Capella和Event-B元模型之间的可追溯性,以帮助解释验证结果。
{"title":"A transformation methodology for Capella to Event-B models with DSL verification","authors":"Khaoula Bouba ,&nbsp;Abderrahim Ait Wakrime ,&nbsp;Yassine Ouhammou ,&nbsp;Redouane Benaini","doi":"10.1016/j.cola.2023.101241","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101241","url":null,"abstract":"<div><p>Capella/Arcadia helps engineers design complex system models, but as models grew in complexity, simulation and verification became necessary. An automatic model-to-model transformation approach was proposed to interpret the dynamic behavior of the semi-formal Capella models. Custom domain-specific languages were introduced to assess the syntax of these models. The approach was applied to the Adaptive Exterior Light system, transforming Capella models into Event-B models for safety verification. The paper provides traceability between Capella and Event-B meta-models to aid interpretation of verification results.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"77 ","pages":"Article 101241"},"PeriodicalIF":2.2,"publicationDate":"2023-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"92025575","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Correctness of IoT-based systems: From a DSL to a mechanised analysis 基于物联网的系统的正确性:从DSL到机械化分析
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-09-16 DOI: 10.1016/j.cola.2023.101239
Christian Attiogbé , Jérôme Rocheteau

Systems based on the Internet of Things are being widely used in industrial areas such as smart manufacturing, in smart health monitoring, in entertainment and in home automation application. They impact more and more every day life. Ensuring their correct construction, their well functioning and their reliability is an important issue for some of these systems which can be critical in case of dysfunction. The main requirements on physical architectures and control software are common to most of IoT-based systems. We propose, on the basis of the common architectural properties and the behaviour of IoT-based systems, the rigorous analysis of their intrinsic consistency properties; specific properties may also be considered and analysed.

We propose a model-based approach to help in systematically modelling and analysing these systems. Our approach focuses both on the formalisation of the model of the targeted systems for their rigorous analysis purpose, and on the design of a modelling language as a domain specific language dedicated to describe IoT-based systems. We build a generic formal model which captures the common features and the properties required for any IoT-based system. This formal model is then a parametrised model where the parameters are the specific data and properties of a given system. The proposed DSL, named τila , is used to describe an IoT system which will be submitted to formal analysis of correctness. τila is a tiny declarative language, extensible, based on a library of building component blocks available as types.

In fact, a description in τila helps to model a system, by collecting the parameters necessary to instantiate the generic formal model. Therefore the analysis requirements are based on the generic model. We experimented our approach using the proposed τila DSL for modelling and the Event-B framework for the formal analysis. The overall proposed approach is accompanied by a model editor generated to assist users in modelling an application and a prototype tool we have developed to assist the users in analysing their systems. Examples are provided.

The generic formal model is extensible; it may be profitably adapted to more general hybrid or cyber–physical systems. Moreover, our generic model is independent of the target formal modelling tools; it may be implemented in various other formal analysis environments.

基于物联网的系统正被广泛应用于工业领域,如智能制造、智能健康监测、娱乐和家庭自动化应用。它们对日常生活的影响越来越大。对于其中一些系统来说,确保其正确的结构、良好的功能和可靠性是一个重要问题,这在功能失调的情况下可能至关重要。物理体系结构和控制软件的主要要求对于大多数基于物联网的系统来说是常见的。我们建议,在基于物联网的系统的常见架构属性和行为的基础上,严格分析其内在一致性属性;还可以考虑和分析特定的特性。我们提出了一种基于模型的方法来帮助系统地建模和分析这些系统。我们的方法侧重于目标系统模型的形式化,以实现其严格的分析目的,并将建模语言设计为专门用于描述基于物联网的系统的特定领域语言。我们构建了一个通用的形式化模型,该模型捕捉了任何基于物联网的系统所需的共同特征和属性。该形式化模型是一个参数化模型,其中参数是给定系统的特定数据和特性。所提出的DSL名为τila,用于描述物联网系统,该系统将提交正式的正确性分析。τila是一种微小的声明性语言,可扩展,基于可作为类型使用的构建组件块库。事实上,τila中的描述通过收集实例化通用形式模型所需的参数,有助于对系统进行建模。因此,分析需求基于通用模型。我们使用所提出的τila DSL进行建模,并使用Event-B框架进行形式化分析。所提出的总体方法附带了一个模型编辑器,该编辑器用于帮助用户对应用程序进行建模,以及我们开发的一个原型工具,该工具用于帮助用户分析其系统。提供了示例。通用形式模型是可扩展的;它可以有益地适应更通用的混合或网络物理系统。此外,我们的通用模型独立于目标形式建模工具;它可以在各种其他形式化分析环境中实现。
{"title":"Correctness of IoT-based systems: From a DSL to a mechanised analysis","authors":"Christian Attiogbé ,&nbsp;Jérôme Rocheteau","doi":"10.1016/j.cola.2023.101239","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101239","url":null,"abstract":"<div><p>Systems based on the Internet of Things are being widely used in industrial areas such as smart manufacturing, in smart health monitoring, in entertainment and in home automation application. They impact more and more every day life. Ensuring their correct construction, their well functioning and their reliability is an important issue for some of these systems which can be critical in case of dysfunction. The main requirements on physical architectures and control software are common to most of IoT-based systems. We propose, on the basis of the common architectural properties and the behaviour of IoT-based systems, the rigorous analysis of their intrinsic consistency properties; specific properties may also be considered and analysed.</p><p>We propose a model-based approach to help in systematically modelling and analysing these systems. Our approach focuses both on the formalisation of the model of the targeted systems for their rigorous analysis purpose, and on the design of a modelling language as a domain specific language dedicated to describe IoT-based systems. We build a generic formal model which captures the common features and the properties required for any IoT-based system. This formal model is then a parametrised model where the parameters are the specific data and properties of a given system. The proposed DSL, named <span><math><mrow><mi>τ</mi><mi>i</mi><mi>l</mi><mi>a</mi></mrow></math></span> , is used to describe an IoT system which will be submitted to formal analysis of correctness. <span><math><mrow><mi>τ</mi><mi>i</mi><mi>l</mi><mi>a</mi></mrow></math></span> is a tiny declarative language, extensible, based on a library of building component blocks available as types.</p><p>In fact, a description in <span><math><mrow><mi>τ</mi><mi>i</mi><mi>l</mi><mi>a</mi></mrow></math></span> helps to model a system, by collecting the parameters necessary to instantiate the generic formal model. Therefore the analysis requirements are based on the generic model. We experimented our approach using the proposed <span><math><mrow><mi>τ</mi><mi>i</mi><mi>l</mi><mi>a</mi></mrow></math></span> DSL for modelling and the Event-B framework for the formal analysis. The overall proposed approach is accompanied by a model editor generated to assist users in modelling an application and a prototype tool we have developed to assist the users in analysing their systems. Examples are provided.</p><p>The generic formal model is extensible; it may be profitably adapted to more general hybrid or cyber–physical systems. Moreover, our generic model is independent of the target formal modelling tools; it may be implemented in various other formal analysis environments.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"77 ","pages":"Article 101239"},"PeriodicalIF":2.2,"publicationDate":"2023-09-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"50188351","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Easing the tuning of drone autopilots through a model-based framework 通过基于模型的框架简化无人机自动驾驶仪的调整
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-09-15 DOI: 10.1016/j.cola.2023.101240
Soulimane Kamni , Antoine Bertout , Emmanuel Grolleau , Gautier Hattenberger , Yassine Ouhammou

Off-the-shelf open-source autopilots are customized by practitioners to satisfy their customer’s specific needs. When custom functions require low delays and/or fast frequency, in the order of magnitude of hundreds or a couple of thousand hertz, they may impact the behavior of the underlying stabilization loop. This paper proposes a tool chain able to extract a model using a Domain-Specific Language (DSL) based on AADL (Architecture Analysis & Design Language) semantics, extended with specific needs to capture the internal behavior of autopilots. This extraction is done directly during the compilation process of the autopilot. Then, we apply on the model of an autopilot a tool to assign offsets for offset-free systems.

现成的开源自动驾驶是由从业者定制的,以满足客户的特定需求。当自定义函数需要数百赫兹或几千赫兹量级的低延迟和/或快频率时,它们可能会影响底层稳定回路的行为。本文提出了一种工具链,该工具链能够使用基于AADL(架构分析与设计语言)语义的领域特定语言(DSL)提取模型,并根据特定需求进行扩展,以捕捉自动驾驶的内部行为。这种提取是在自动驾驶仪的编译过程中直接完成的。然后,我们在自动驾驶仪的模型上应用一种工具来为无偏移系统分配偏移。
{"title":"Easing the tuning of drone autopilots through a model-based framework","authors":"Soulimane Kamni ,&nbsp;Antoine Bertout ,&nbsp;Emmanuel Grolleau ,&nbsp;Gautier Hattenberger ,&nbsp;Yassine Ouhammou","doi":"10.1016/j.cola.2023.101240","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101240","url":null,"abstract":"<div><p>Off-the-shelf open-source autopilots are customized by practitioners to satisfy their customer’s specific needs. When custom functions require low delays and/or fast frequency, in the order of magnitude of hundreds or a couple of thousand hertz, they may impact the behavior of the underlying stabilization loop. This paper proposes a tool chain able to extract a model using a Domain-Specific Language (DSL) based on AADL (Architecture Analysis &amp; Design Language) semantics, extended with specific needs to capture the internal behavior of autopilots. This extraction is done directly during the compilation process of the autopilot. Then, we apply on the model of an autopilot a tool to assign offsets for offset-free systems.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"77 ","pages":"Article 101240"},"PeriodicalIF":2.2,"publicationDate":"2023-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"50188349","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
A comparison of three solver-aided programming languages: αRby, ProB, and Rosette 三种求解器辅助编程语言的比较:αRby、ProB和Rosette
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-09-07 DOI: 10.1016/j.cola.2023.101238
Richard St-Denis

The premise of this paper asserts that the source code of software programs must preserve the underlying domain knowledge in the form of declarative domain models and fully exploit the capacity of satisfiability solvers, or constraint solvers in general, to get solutions of domain-specific problem instances so as to interleave data processing with such problem-solving techniques. This way of contemplating programming upsets the usual practice of software developers and lays the foundation for an original programming paradigm that has begun to take root in a novel family of programming languages classified under the name solver-aided programming language. This paper explores and compares three of them: α Rby, ProB, and Rosette. It highlights the wide spectrum of ideas and features that emerged from these research efforts. It reveals how these initial attempts provide valuable clues for how best to design a new generation of programming languages notwithstanding the current limitations of α Rby, ProB, and Rosette to fully achieve the goal conveyed by the above premise.

本文的前提是,软件程序的源代码必须以声明性领域模型的形式保留底层领域知识,并充分利用可满足性求解器(或一般的约束求解器)的能力来获得特定领域问题实例的解决方案,从而将数据处理与此类问题解决技术交织在一起。这种思考编程的方式颠覆了软件开发人员的常规做法,并为原始编程范式奠定了基础,该范式已开始在一个新的编程语言家族中扎根,该家族被归类为求解器辅助编程语言。本文对其中三种进行了探索和比较:αRby、ProB和Rosette。它强调了从这些研究工作中产生的广泛的思想和特征。它揭示了这些最初的尝试如何为如何最好地设计新一代编程语言提供有价值的线索,尽管αRby、ProB和Rosette目前存在局限性,以完全实现上述前提所传达的目标。
{"title":"A comparison of three solver-aided programming languages: αRby, ProB, and Rosette","authors":"Richard St-Denis","doi":"10.1016/j.cola.2023.101238","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101238","url":null,"abstract":"<div><p>The premise of this paper asserts that the source code of software programs must preserve the underlying domain knowledge in the form of declarative domain models and fully exploit the capacity of satisfiability solvers, or constraint solvers in general, to get solutions of domain-specific problem instances so as to interleave data processing with such problem-solving techniques. This way of contemplating programming upsets the usual practice of software developers and lays the foundation for an original programming paradigm that has begun to take root in a novel family of programming languages classified under the name <em>solver-aided programming language</em>. This paper explores and compares three of them: <span><math><mi>α</mi></math></span> <span>Rby</span>, <span>ProB</span>, and <span>Rosette</span>. It highlights the wide spectrum of ideas and features that emerged from these research efforts. It reveals how these initial attempts provide valuable clues for how best to design a new generation of programming languages notwithstanding the current limitations of <span><math><mi>α</mi></math></span> <span>Rby</span>, <span>ProB</span>, and <span>Rosette</span> to fully achieve the goal conveyed by the above premise.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"77 ","pages":"Article 101238"},"PeriodicalIF":2.2,"publicationDate":"2023-09-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"50188382","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
A comparison of three solver-aided programming languages: αRby, ProB, and Rosette 三种求解器辅助编程语言:αRby, ProB和Rosette的比较
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-09-01 DOI: 10.1016/j.cola.2023.101238
Richard St-Denis
{"title":"A comparison of three solver-aided programming languages: αRby, ProB, and Rosette","authors":"Richard St-Denis","doi":"10.1016/j.cola.2023.101238","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101238","url":null,"abstract":"","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":" ","pages":""},"PeriodicalIF":2.2,"publicationDate":"2023-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"48328865","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Programming microcontrollers through high-level abstractions: The OMicroB project 通过高级抽象对微控制器进行编程:OMicroB项目
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-08-18 DOI: 10.1016/j.cola.2023.101228
Steven Varoumas , Basile Pesin , Benoît Vaugon , Emmanuel Chailloux

In this paper, we present an approach for programming microcontrollers that provides more expressivity and safety than the low-level language approach traditionally used to program such devices. To this end, we provide various abstraction layers (abstraction of the microcontroller, of the electronic components of the circuit, and of concurrency) which, while being adapted to the scarce resources of the hardware, offer high-level programming traits for the development of embedded applications. The various presented abstractions make use of an OCaml virtual machine, called OMicroB, which is able to run on devices with limited resources. These take advantage of the expressivity and safety of the OCaml language (parameterized modules, advanced type system). Its extensibility allows to define a synchronous extension to manage concurrency while keeping a good level of efficiency at execution. We illustrate the value of our work on both entertainment applications and embedded software examples.

在本文中,我们提出了一种对微控制器进行编程的方法,与传统上用于对此类设备进行编程的低级语言方法相比,该方法提供了更多的表现力和安全性。为此,我们提供了各种抽象层(微控制器的抽象、电路的电子组件的抽象和并发的抽象),这些抽象层在适应硬件的稀缺资源的同时,为嵌入式应用程序的开发提供了高级编程特性。所呈现的各种抽象使用了一个名为OMicroB的OCaml虚拟机,该虚拟机能够在资源有限的设备上运行。这些利用了OCaml语言(参数化模块、高级类型系统)的表现力和安全性。它的可扩展性允许定义一个同步扩展来管理并发,同时保持良好的执行效率。我们展示了我们在娱乐应用程序和嵌入式软件示例方面的工作价值。
{"title":"Programming microcontrollers through high-level abstractions: The OMicroB project","authors":"Steven Varoumas ,&nbsp;Basile Pesin ,&nbsp;Benoît Vaugon ,&nbsp;Emmanuel Chailloux","doi":"10.1016/j.cola.2023.101228","DOIUrl":"10.1016/j.cola.2023.101228","url":null,"abstract":"<div><p>In this paper, we present an approach for programming microcontrollers that provides more expressivity and safety than the low-level language approach traditionally used to program such devices. To this end, we provide various abstraction layers (abstraction of the microcontroller, of the electronic components of the circuit, and of concurrency) which, while being adapted to the scarce resources of the hardware, offer high-level programming traits for the development of embedded applications. The various presented abstractions make use of an OCaml virtual machine, called OMicroB, which is able to run on devices with limited resources. These take advantage of the expressivity and safety of the OCaml language (parameterized modules, advanced type system). Its extensibility allows to define a synchronous extension to manage concurrency while keeping a good level of efficiency at execution. We illustrate the value of our work on both entertainment applications and embedded software examples.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"77 ","pages":"Article 101228"},"PeriodicalIF":2.2,"publicationDate":"2023-08-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49484389","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
期刊
Journal of Computer Languages
全部 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学术文献互助群
群 号:604180095
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1