Journal of Computer Languages最新文献

筛选
英文 中文
Solvi: A visual constraint modeling tool Solvi:可视化约束建模工具
IF 2.2 3区 计算机科学
Journal of Computer Languages Pub Date : 2023-11-23 DOI: 10.1016/j.cola.2023.101242
Xu Zhu , Miguel A. Nacenta , Özgür Akgün , Daniel Zenkovitch
{"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区 计算机科学
Journal of Computer Languages Pub Date : 2023-11-23 DOI: 10.1016/j.cola.2023.101251
Paul Boutot, Mirza Rehenuma Tabassum, Abdul Abedin, Sadaf Mustafiz
{"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区 计算机科学
Journal of Computer Languages Pub Date : 2023-11-22 DOI: 10.1016/j.cola.2023.101243
Felicien Ihirwe , Davide Di Ruscio , Katia Di Blasio , Simone Gianfranceschi , Alfonso Pierantonio
{"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区 计算机科学
Journal of Computer Languages Pub Date : 2023-11-19 DOI: 10.1016/j.cola.2023.101252
Hannes Sochor , Flavio Ferrarotti , Daniela Kaufmann
{"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区 计算机科学
Journal of Computer Languages Pub Date : 2023-11-01 DOI: 10.1016/j.cola.2023.101241
Khaoula Bouba , Abderrahim Ait Wakrime , Yassine Ouhammou , Redouane Benaini
{"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区 计算机科学
Journal of Computer Languages Pub Date : 2023-09-16 DOI: 10.1016/j.cola.2023.101239
Christian Attiogbé , Jérôme Rocheteau
{"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区 计算机科学
Journal of Computer Languages Pub Date : 2023-09-15 DOI: 10.1016/j.cola.2023.101240
Soulimane Kamni , Antoine Bertout , Emmanuel Grolleau , Gautier Hattenberger , Yassine Ouhammou
{"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区 计算机科学
Journal of Computer Languages Pub Date : 2023-09-07 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":"<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区 计算机科学
Journal of Computer Languages 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区 计算机科学
Journal of Computer Languages Pub Date : 2023-08-18 DOI: 10.1016/j.cola.2023.101228
Steven Varoumas , Basile Pesin , Benoît Vaugon , Emmanuel Chailloux
{"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
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信