首页 > 最新文献

Journal of Computer Languages最新文献

英文 中文
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
Model consistency as a heuristic for eventual correctness 将模型一致性作为最终正确性的启发式方法
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-08-01 DOI: 10.1016/j.cola.2023.101223
Istvan David , Hans Vangheluwe , Eugene Syriani

Inconsistencies between stakeholders’ views pose a severe challenge in the engineering of complex systems. The past decades have seen a vast number of sophisticated inconsistency management techniques being developed. These techniques build on the common idea of “managing consistency instead of removing inconsistency”, as put forward by Finkelstein. While it is clear what and how to do about inconsistencies, it is less clear why inconsistency is particularly useful. After all, it is the correctness of the system that should matter, as correctness is the end-user-facing quality of the product. In this paper, we analyze this question by investigating the relationship between (in)consistency and (in)correctness. We formally prove that, contrary to intuition, consistency does not imply correctness. However, consistency is still a good heuristic for eventual correctness. We elaborate on the consequences of this assertion and provide pointers as to how to make use of it in the next generation of inconsistency management techniques.

利益相关者观点的不一致性对复杂系统的工程设计提出了严峻的挑战。在过去的几十年里,开发了大量复杂的不一致管理技术。这些技术建立在Finkelstein提出的“管理一致性而不是消除不一致性”的共同理念之上。虽然很清楚如何处理不一致,但为什么不一致特别有用还不太清楚。毕竟,系统的正确性才是最重要的,因为正确性是面向最终用户的产品质量。本文通过研究一致性和正确性之间的关系来分析这个问题。我们正式证明,与直觉相反,一致性并不意味着正确性。然而,一致性对于最终的正确性仍然是一个很好的启发式方法。我们详细说明了这一断言的后果,并提供了如何在下一代不一致管理技术中使用它的指针。
{"title":"Model consistency as a heuristic for eventual correctness","authors":"Istvan David ,&nbsp;Hans Vangheluwe ,&nbsp;Eugene Syriani","doi":"10.1016/j.cola.2023.101223","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101223","url":null,"abstract":"<div><p>Inconsistencies between stakeholders’ views pose a severe challenge in the engineering of complex systems. The past decades have seen a vast number of sophisticated inconsistency management techniques being developed. These techniques build on the common idea of “managing consistency instead of removing inconsistency”, as put forward by Finkelstein. While it is clear what and how to do about inconsistencies, it is less clear why inconsistency is particularly useful. After all, it is the correctness of the system that should matter, as correctness is the end-user-facing quality of the product. In this paper, we analyze this question by investigating the relationship between (in)consistency and (in)correctness. We formally prove that, contrary to intuition, consistency does not imply correctness. However, consistency is still a good heuristic for eventual correctness. We elaborate on the consequences of this assertion and provide pointers as to how to make use of it in the next generation of inconsistency management techniques.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"76 ","pages":"Article 101223"},"PeriodicalIF":2.2,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49891919","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 domain-specific language for describing machine learning datasets 用于描述机器学习数据集的领域特定语言
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-08-01 DOI: 10.1016/j.cola.2023.101209
Joan Giner-Miguelez , Abel Gómez , Jordi Cabot

Datasets are essential for training and evaluating machine learning (ML) models. However, they are also at the root of many undesirable model behaviors, such as biased predictions. To address this issue, the machine learning community is proposing a data-centric cultural shift, where data issues are given the attention they deserve and more standard practices for gathering and describing datasets are discussed and established.

So far, these proposals are mostly high-level guidelines described in natural language and, as such, they are difficult to formalize and apply to particular datasets. In this sense, and inspired by these proposals, we define a new domain-specific language (DSL) to precisely describe machine learning datasets in terms of their structure, provenance, and social concerns. We believe this DSL will facilitate any ML initiative to leverage and benefit from this data-centric shift in ML (e.g., selecting the most appropriate dataset for a new project or better replicating other ML results). The DSL is implemented as a Visual Studio Code plugin, and it has been published under an open-source license.

数据集对于训练和评估机器学习(ML)模型至关重要。然而,它们也是许多不受欢迎的模型行为的根源,比如有偏见的预测。为了解决这个问题,机器学习社区正在提出一种以数据为中心的文化转变,在这种文化转变中,数据问题得到了应有的关注,并讨论和建立了更多收集和描述数据集的标准实践。到目前为止,这些建议大多是用自然语言描述的高级指导方针,因此,它们很难形式化并应用于特定的数据集。从这个意义上说,受这些建议的启发,我们定义了一种新的领域特定语言(DSL),以精确地描述机器学习数据集的结构、来源和社会关注。我们相信这个DSL将促进任何ML计划利用并受益于ML中这种以数据为中心的转变(例如,为新项目选择最合适的数据集或更好地复制其他ML结果)。DSL是作为Visual Studio Code插件实现的,并且在开源许可下发布。
{"title":"A domain-specific language for describing machine learning datasets","authors":"Joan Giner-Miguelez ,&nbsp;Abel Gómez ,&nbsp;Jordi Cabot","doi":"10.1016/j.cola.2023.101209","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101209","url":null,"abstract":"<div><p>Datasets are essential for training and evaluating machine learning (ML) models. However, they are also at the root of many undesirable model behaviors, such as biased predictions. To address this issue, the machine learning community is proposing a <em>data-centric cultural shift</em>, where data issues are given the attention they deserve and more standard practices for gathering and describing datasets are discussed and established.</p><p>So far, these proposals are mostly high-level guidelines described in natural language and, as such, they are difficult to formalize and apply to particular datasets. In this sense, and inspired by these proposals, we define a new domain-specific language (DSL) to precisely describe machine learning datasets in terms of their structure, provenance, and social concerns. We believe this DSL will facilitate any ML initiative to leverage and benefit from this data-centric shift in ML (e.g., selecting the most appropriate dataset for a new project or better replicating other ML results). The DSL is implemented as a Visual Studio Code plugin, and it has been published under an open-source license.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"76 ","pages":"Article 101209"},"PeriodicalIF":2.2,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49891921","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
E-APK: Energy pattern detection in decompiled android applications E-APK:反编译android应用程序中的能量模式检测
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-08-01 DOI: 10.1016/j.cola.2023.101220
Nelson Gregório , João Bispo , João Paulo Fernandes , Sérgio Queiroz de Medeiros

Energy efficiency is a non-functional requirement that developers must consider, particularly when building software for battery-operated devices like mobile ones: a long-lasting battery is an essential requirement for an enjoyable user experience.

In previous studies, it has been shown that many mobile applications include inefficiencies that cause battery to be drained faster than necessary. Some of these inefficiencies result from software patterns that have been catalogued, and for which more energy-efficient alternatives are also known.

The existing catalogues, however, assume as a fundamental requirement that one has access to the source code of an application in order to be able to analyse it. This requirement makes independent energy analysis challenging, or even impossible, e.g. for a mobile user or, most significantly, an App Store trying to provide information on how efficient an application being submitted for publication is.

We study the viability of looking for known energy patterns in applications by decompiling them and analysing the resulting code. For this, we decompiled and analysed 420 open-source applications by extending an existing tool, which is now capable of transparently decompiling and analysing android applications. With the collected data, we performed a comparative study of the presence of four energy patterns between the source code and the decompiled code.

We performed two types of analysis: (i) comparing the total number of energy pattern detections; (ii) comparing the similarity between energy pattern detections. When comparing the total number of detections in source code against decompiled code, we found that 79.29% of the applications reported the same number of energy pattern detections.

To test the similarity between source code and APKs, we calculated, for each application, a similarity score based on our four implemented detectors. Of all applications, 35.76% achieved a perfect similarity score of 4, and 89.40% got a score of 3 or more out of 4. Furthermore, only two applications got a score of 0.

When viewed in tandem, the results of the two analyses we performed point in a promising direction. They provide initial evidence that static analysis techniques, typically used in source code, can be a viable method to inspect APKs when access to source code is restricted, and further research in this area is worthwhile.

能源效率是开发人员必须考虑的非功能性要求,特别是在为移动设备等电池供电的设备构建软件时:持久的电池是令人愉快的用户体验的基本要求。在之前的研究中,已经证明许多移动应用程序的低效率导致电池耗尽的速度比必要的要快。其中一些效率低下是由已经编目的软件模式造成的,而对于这些模式,更节能的替代方案也是已知的。然而,现有目录的基本要求是,为了能够对应用程序进行分析,必须能够访问应用程序的源代码。这一要求使得独立的能量分析具有挑战性,甚至不可能,例如,对于移动用户,或者最重要的是,对于试图提供有关应用程序提交发布的效率的信息的应用程序商店。我们通过反编译和分析结果代码来研究在应用程序中寻找已知能量模式的可行性。为此,我们通过扩展现有工具来反编译和分析420个开源应用程序,该工具现在能够透明地反编译和分析android应用程序。利用收集到的数据,我们对源代码和反编译代码之间存在的四种能量模式进行了比较研究。我们进行了两种类型的分析:(i)比较能量模式检测的总数;(ii)比较能量模式检测之间的相似性。当比较源代码和反编译代码中的检测总数时,我们发现79.29%的应用程序报告了相同数量的能量模式检测。为了测试源代码和apk之间的相似性,我们基于四个实现的检测器计算了每个应用程序的相似性得分。在所有应用程序中,35.76%的应用程序达到了4分的完美相似度,89.40%的应用程序在4分中得到3分及以上。此外,只有两份申请得到了0分。当我们同时观察时,我们进行的两项分析的结果指向一个有希望的方向。它们提供了最初的证据,证明静态分析技术(通常用于源代码)可以作为一种可行的方法,在对源代码的访问受到限制时检查apk,并且在该领域的进一步研究是值得的。
{"title":"E-APK: Energy pattern detection in decompiled android applications","authors":"Nelson Gregório ,&nbsp;João Bispo ,&nbsp;João Paulo Fernandes ,&nbsp;Sérgio Queiroz de Medeiros","doi":"10.1016/j.cola.2023.101220","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101220","url":null,"abstract":"<div><p>Energy efficiency is a non-functional requirement that developers must consider, particularly when building software for battery-operated devices like mobile ones: a long-lasting battery is an essential requirement for an enjoyable user experience.</p><p>In previous studies, it has been shown that many mobile applications include inefficiencies that cause battery to be drained faster than necessary. Some of these inefficiencies result from software patterns that have been catalogued, and for which more energy-efficient alternatives are also known.</p><p>The existing catalogues, however, assume as a fundamental requirement that one has access to the source code of an application in order to be able to analyse it. This requirement makes independent energy analysis challenging, or even impossible, e.g. for a mobile user or, most significantly, an App Store trying to provide information on how efficient an application being submitted for publication is.</p><p>We study the viability of looking for known energy patterns in applications by decompiling them and analysing the resulting code. For this, we decompiled and analysed 420 open-source applications by extending an existing tool, which is now capable of transparently decompiling and analysing android applications. With the collected data, we performed a comparative study of the presence of four energy patterns between the source code and the decompiled code.</p><p>We performed two types of analysis: (i) comparing the total number of energy pattern detections; (ii) comparing the similarity between energy pattern detections. When comparing the total number of detections in source code against decompiled code, we found that 79.29% of the applications reported the same number of energy pattern detections.</p><p>To test the similarity between source code and APKs, we calculated, for each application, a similarity score based on our four implemented detectors. Of all applications, 35.76% achieved a perfect similarity score of 4, and 89.40% got a score of 3 or more out of 4. Furthermore, only two applications got a score of 0.</p><p>When viewed in tandem, the results of the two analyses we performed point in a promising direction. They provide initial evidence that static analysis techniques, typically used in source code, can be a viable method to inspect APKs when access to source code is restricted, and further research in this area is worthwhile.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"76 ","pages":"Article 101220"},"PeriodicalIF":2.2,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49891923","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
Composition operators for modeling languages: A literature review 建模语言的组合运算符:文献综述
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-08-01 DOI: 10.1016/j.cola.2023.101226
Jérôme Pfeiffer , Bernhard Rumpe , David Schmalzing , Andreas Wortmann

Efficiently engineering modeling languages demands their reuse through composition. Research in language engineering has produced many different operators to reuse and compose languages and language parts. Unfortunately, these operate on different dimensions of languages, produce diverse results, and are distributed across various technological spaces and publications, which hampers understanding the state of language composition for researchers and practitioners. To mitigate this, we report the results of a literature review on modeling language composition operators. In this review, we identify operators, their properties, and supported language dimensions, and relate them to categories of language composition. Through this, our survey draws a new, detailed map of modeling language composition operators that can guide researchers in software language engineering in identifying uncharted territory and practitioners in employing the most suitable composition operators.

高效的工程建模语言需要通过组合进行重用。语言工程的研究产生了许多不同的操作符来重用和组合语言和语言部件。不幸的是,这些方法在不同的语言维度上运行,产生不同的结果,并且分布在不同的技术空间和出版物中,这阻碍了研究人员和从业者对语言构成状况的理解。为了缓解这种情况,我们报告了关于建模语言组合操作符的文献综述的结果。在这篇综述中,我们识别了操作符、它们的属性和支持的语言维度,并将它们与语言组成的类别联系起来。通过这种方式,我们的调查绘制了一幅新的、详细的语言组合运算符建模地图,可以指导软件语言工程的研究人员识别未知领域,并指导从业者使用最合适的组合运算符。
{"title":"Composition operators for modeling languages: A literature review","authors":"Jérôme Pfeiffer ,&nbsp;Bernhard Rumpe ,&nbsp;David Schmalzing ,&nbsp;Andreas Wortmann","doi":"10.1016/j.cola.2023.101226","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101226","url":null,"abstract":"<div><p>Efficiently engineering modeling languages demands their reuse through composition. Research in language engineering has produced many different operators to reuse and compose languages and language parts. Unfortunately, these operate on different dimensions of languages, produce diverse results, and are distributed across various technological spaces and publications, which hampers understanding the state of language composition for researchers and practitioners. To mitigate this, we report the results of a literature review on modeling language composition operators. In this review, we identify operators, their properties, and supported language dimensions, and relate them to categories of language composition. Through this, our survey draws a new, detailed map of modeling language composition operators that can guide researchers in software language engineering in identifying uncharted territory and practitioners in employing the most suitable composition operators.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"76 ","pages":"Article 101226"},"PeriodicalIF":2.2,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49891924","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}
引用次数: 1
Minimum modulus visualization of algebraic fractals 代数分形的最小模可视化
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-08-01 DOI: 10.1016/j.cola.2023.101222
Severino F. Galán

Fractals are a family of shapes formed by irregular and fragmented patterns. They can be classified into two main groups: geometric and algebraic. Whereas the former are characterized by a fixed geometric replacement rule, the latter are defined by a recurrence function in the complex plane. The classical method for visualizing algebraic fractals considers the sequence of complex numbers originated from each point in the complex plane. Thus, each original point is colored depending on whether its generated sequence escapes to infinity. The present work introduces a novel visualization method for algebraic fractals. This method colors each original point by taking into account the complex number with minimum modulus within its generated sequence. The advantages of the novel method are twofold: on the one hand, it preserves the fractal view that the classical method offers of the escape set boundary and, on the other hand, it additionally provides interesting visual details of the prisoner set (the complement of the escape set). The novel method is comparatively evaluated with other classical and non-classical visualization methods of fractals, giving rise to aesthetic views of prisoner sets.

分形是由不规则和破碎的图案形成的一组形状。它们可以分为两大类:几何和代数。前者具有固定的几何替换规则,后者则由复平面上的递归函数定义。可视化代数分形的经典方法考虑从复平面上的每个点出发的复数序列。因此,每个原始点的颜色取决于其生成的序列是否转义到无穷大。本文介绍了一种新的代数分形的可视化方法。该方法通过考虑在其生成的序列中具有最小模数的复数来为每个原始点着色。该方法的优点有两方面:一方面,它保留了经典方法提供的逃跑集边界的分形视图,另一方面,它额外提供了囚犯集(逃跑集的补充)的有趣的视觉细节。将该方法与其他经典和非经典的分形可视化方法进行了比较评价,提出了囚犯集的美学观点。
{"title":"Minimum modulus visualization of algebraic fractals","authors":"Severino F. Galán","doi":"10.1016/j.cola.2023.101222","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101222","url":null,"abstract":"<div><p>Fractals are a family of shapes formed by irregular and fragmented patterns. They can be classified into two main groups: geometric and algebraic. Whereas the former are characterized by a fixed geometric replacement rule, the latter are defined by a recurrence function in the complex plane. The classical method for visualizing algebraic fractals considers the sequence of complex numbers originated from each point in the complex plane. Thus, each original point is colored depending on whether its generated sequence escapes to infinity. The present work introduces a novel visualization method for algebraic fractals. This method colors each original point by taking into account the complex number with minimum modulus within its generated sequence. The advantages of the novel method are twofold: on the one hand, it preserves the fractal view that the classical method offers of the escape set boundary and, on the other hand, it additionally provides interesting visual details of the prisoner set (the complement of the escape set). The novel method is comparatively evaluated with other classical and non-classical visualization methods of fractals, giving rise to aesthetic views of prisoner sets.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"76 ","pages":"Article 101222"},"PeriodicalIF":2.2,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49891920","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
Introduction to the special issue on foundations and practice of visual modeling (FPVM) 《可视化建模的基础与实践》特刊导论
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-08-01 DOI: 10.1016/j.cola.2023.101227
Amleto Di Salle , Ludovico Iovino , Alfonso Pierantonio , Juha-Pekka Tolvanen
{"title":"Introduction to the special issue on foundations and practice of visual modeling (FPVM)","authors":"Amleto Di Salle ,&nbsp;Ludovico Iovino ,&nbsp;Alfonso Pierantonio ,&nbsp;Juha-Pekka Tolvanen","doi":"10.1016/j.cola.2023.101227","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101227","url":null,"abstract":"","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"76 ","pages":"Article 101227"},"PeriodicalIF":2.2,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49891922","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
Dandelion: A scalable, cloud-based graphical language workbench for industrial low-code development 蒲公英:用于工业低代码开发的可伸缩的、基于云的图形语言工作台
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-08-01 DOI: 10.1016/j.cola.2023.101217
Francisco Martínez-Lasaca , Pablo Díez , Esther Guerra , Juan de Lara

There is an increasing demand nowadays for low-code development platforms (LCDPs). As they rely heavily on graphical languages rather than writing code, these platforms enable citizen developers to participate in software development. However, creating new LCDPs is very costly, since it requires building support for graphical modelling and its integration with services like model validation, recommendation systems, or code generation. While Model-driven Engineering (MDE) has developed technologies to create these components, most of them are not cloud-based, as required by LCDPs. In particular, a cloud-based graphical workbench capable of providing the scalability required by industrial applications and adequately supporting technological heterogeneity is currently missing.

To fill this gap we introduce Dandelion, a cloud-based graphical language workbench for LCDPs built following an MDE approach. The tool handles model heterogeneity by using a harmonising meta-model to uniformly represent models from diverse technologies, and supports a customisable level of conformance between models and meta-models. Scalability is addressed by persisting models in a distributed, highly flexible database whose infrastructure is designed to conform to the harmonising meta-model, thus favouring model retrieval. Additionally, a customisable scalability component is introduced for lazy model loading.

This paper describes the concepts and principles behind the tool design and reports on an evaluation on large synthetic process mining models, and on domain-specific languages and large industrial models used within the UGROUND company, showing promising results.

如今,对低代码开发平台(LCDPs)的需求越来越大。由于它们严重依赖图形语言而不是编写代码,这些平台使公民开发人员能够参与软件开发。然而,创建新的lcdp是非常昂贵的,因为它需要构建对图形化建模的支持,以及与模型验证、推荐系统或代码生成等服务的集成。虽然模型驱动工程(MDE)已经开发了创建这些组件的技术,但它们中的大多数都不是基于云的,这是lcdp所要求的。特别是,目前缺少能够提供工业应用程序所需的可伸缩性和充分支持技术异构性的基于云的图形工作台。为了填补这一空白,我们介绍了Dandelion,这是一个基于云的图形语言工作台,用于遵循MDE方法构建的lcdp。该工具通过使用协调元模型来统一地表示来自不同技术的模型来处理模型的异构性,并支持模型和元模型之间可定制的一致性级别。可伸缩性是通过在分布式、高度灵活的数据库中持久化模型来解决的,该数据库的基础结构被设计为符合协调元模型,从而有利于模型检索。此外,还引入了一个可定制的可伸缩性组件,用于惰性模型加载。本文描述了工具设计背后的概念和原则,并报告了对大型综合过程挖掘模型的评估,以及对UGROUND公司内使用的特定领域语言和大型工业模型的评估,显示了有希望的结果。
{"title":"Dandelion: A scalable, cloud-based graphical language workbench for industrial low-code development","authors":"Francisco Martínez-Lasaca ,&nbsp;Pablo Díez ,&nbsp;Esther Guerra ,&nbsp;Juan de Lara","doi":"10.1016/j.cola.2023.101217","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101217","url":null,"abstract":"<div><p>There is an increasing demand nowadays for low-code development platforms (LCDPs). As they rely heavily on graphical languages rather than writing code, these platforms enable citizen developers to participate in software development. However, creating new LCDPs is very costly, since it requires building support for graphical modelling and its integration with services like model validation, recommendation systems, or code generation. While Model-driven Engineering (MDE) has developed technologies to create these components, most of them are not cloud-based, as required by LCDPs. In particular, a cloud-based graphical workbench capable of providing the scalability required by industrial applications and adequately supporting technological heterogeneity is currently missing.</p><p>To fill this gap we introduce <em>Dandelion</em>, a cloud-based graphical language workbench for LCDPs built following an MDE approach. The tool handles model heterogeneity by using a harmonising meta-model to uniformly represent models from diverse technologies, and supports a customisable level of conformance between models and meta-models. Scalability is addressed by persisting models in a distributed, highly flexible database whose infrastructure is designed to conform to the harmonising meta-model, thus favouring model retrieval. Additionally, a customisable scalability component is introduced for lazy model loading.</p><p>This paper describes the concepts and principles behind the tool design and reports on an evaluation on large synthetic process mining models, and on domain-specific languages and large industrial models used within the UGROUND company, showing promising results.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"76 ","pages":"Article 101217"},"PeriodicalIF":2.2,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49891925","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 new versioning approach for collaboration in blended modeling 混合建模中用于协作的新版本控制方法
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-08-01 DOI: 10.1016/j.cola.2023.101221
Joeri Exelmans , Jakob Pietron , Alexander Raschke , Hans Vangheluwe , Matthias Tichy

The complexity of modern software-intensive systems and the need for flexibility in their development process forces developers to collaborate using the most appropriate language(s) for each given task, view and component. Blended modeling is the ability to edit a model through multiple concrete syntaxes simultaneously.

To support collaborative blended modeling, we present a variation of operation-based versioning that allows bi-directional propagation of changes between concrete and abstract syntaxes. This allows us to support layout continuity between different versions, and to handle information that is not (yet) available (e.g., layout information) when rendering changes from abstract to concrete syntax. Finally, our approach does not enforce immediate conflict resolution. Rather, different merge options and their consequences can be presented to the users, who may choose to only perform partial conflict resolution, deferring final resolution till later.

In this article, we present the general approach and describe salient parts of an implementation.

现代软件密集型系统的复杂性以及开发过程中对灵活性的需求迫使开发人员为每个给定的任务、视图和组件使用最合适的语言进行协作。混合建模是指通过多种具体语法同时编辑模型的能力。为了支持协作混合建模,我们提出了一种基于操作的版本控制的变体,它允许在具体语法和抽象语法之间双向传播更改。这允许我们支持不同版本之间的布局连续性,并在呈现从抽象语法到具体语法的变化时处理(尚未)可用的信息(例如,布局信息)。最后,我们的方法并不强制立即解决冲突。相反,不同的合并选项及其结果可以呈现给用户,用户可以选择只执行部分冲突解决,将最终解决推迟到以后。在本文中,我们将介绍通用方法并描述实现的重要部分。
{"title":"A new versioning approach for collaboration in blended modeling","authors":"Joeri Exelmans ,&nbsp;Jakob Pietron ,&nbsp;Alexander Raschke ,&nbsp;Hans Vangheluwe ,&nbsp;Matthias Tichy","doi":"10.1016/j.cola.2023.101221","DOIUrl":"https://doi.org/10.1016/j.cola.2023.101221","url":null,"abstract":"<div><p>The complexity of modern software-intensive systems and the need for flexibility in their development process forces developers to collaborate using the most appropriate language(s) for each given task, view and component. Blended modeling is the ability to edit a model through multiple concrete syntaxes simultaneously.</p><p>To support collaborative blended modeling, we present a variation of operation-based versioning that allows bi-directional propagation of changes between concrete and abstract syntaxes. This allows us to support layout continuity between different versions, and to handle information that is not (yet) available (e.g., layout information) when rendering changes from abstract to concrete syntax. Finally, our approach does not enforce immediate conflict resolution. Rather, different merge options and their consequences can be presented to the users, who may choose to only perform partial conflict resolution, deferring final resolution till later.</p><p>In this article, we present the general approach and describe salient parts of an implementation.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"76 ","pages":"Article 101221"},"PeriodicalIF":2.2,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49891918","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
Towards smart contract distributed directory based on the uniform description language 面向基于统一描述语言的智能合约分布式目录
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-07-29 DOI: 10.1016/j.cola.2023.101225
Wafa Ben Slama Souei , Chiraz El Hog , Raoudha Ben Djemaa , Layth Sliman , Ikram Amous Ben Amor

A Smart Contract (SC) is a piece of code executed on the blockchain to automatically trigger transactions upon the occurrence of predefined events. Due to the intrinsic features regarding traceability and data immutability, many companies started using blockchain Smart Contracts to perform collaborative processes. Despite their promising features, there is a lack of Smart Contacts management platforms that enable blockchain participants to describe and publish their smart contacts or “search and match” already deployed ones. In this paper, a new Distributed Smart Directory (DSD) where providers can publish their SCs description is proposed. The SCs descriptions include metadata covering functional, and non-functional properties of the SC. Hence, users can find SCs according to their non-functional preferences, needs, and constraints. The proposed DSD is an extension of the ebXML directory. It was fully implemented on-chain. The SCs descriptions are generated based on the Uniform Description language for SC (UDL-SC). The proposed solution is implemented on the Ethereum blockchain. It was then tested and evaluated.

智能合约(SC)是在区块链上执行的一段代码,用于在发生预定义事件时自动触发交易。由于可追溯性和数据不变性的内在特征,许多公司开始使用区块链智能合约来执行协作过程。尽管智能联系人具有很好的功能,但缺乏使区块链参与者能够描述和发布他们的智能联系人或“搜索和匹配”已经部署的联系人的智能联系人管理平台。在本文中,提出了一种新的分布式智能目录(DSD),提供商可以在其中发布其SC描述。SC描述包括涵盖SC的功能和非功能属性的元数据。因此,用户可以根据其非功能偏好、需求和约束条件找到SC。拟议的DSD是ebXML目录的扩展。它已在链上全面实施。SC描述是基于SC的统一描述语言(UDL-SC)生成的。所提出的解决方案在以太坊区块链上实现。然后对其进行了测试和评估。
{"title":"Towards smart contract distributed directory based on the uniform description language","authors":"Wafa Ben Slama Souei ,&nbsp;Chiraz El Hog ,&nbsp;Raoudha Ben Djemaa ,&nbsp;Layth Sliman ,&nbsp;Ikram Amous Ben Amor","doi":"10.1016/j.cola.2023.101225","DOIUrl":"10.1016/j.cola.2023.101225","url":null,"abstract":"<div><p>A Smart Contract (SC) is a piece of code executed on the blockchain to automatically trigger transactions upon the occurrence of predefined events. Due to the intrinsic features regarding traceability and data immutability, many companies started using blockchain Smart Contracts to perform collaborative processes. Despite their promising features, there is a lack of Smart Contacts management platforms that enable blockchain participants to describe and publish their smart contacts or “search and match” already deployed ones. In this paper, a new Distributed Smart Directory (DSD) where providers can publish their SCs description is proposed. The SCs descriptions include metadata covering functional, and non-functional properties of the SC. Hence, users can find SCs according to their non-functional preferences, needs, and constraints. The proposed DSD is an extension of the ebXML directory. It was fully implemented on-chain. The SCs descriptions are generated based on the Uniform Description language for SC (UDL-SC). The proposed solution is implemented on the Ethereum blockchain. It was then tested and evaluated.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"77 ","pages":"Article 101225"},"PeriodicalIF":2.2,"publicationDate":"2023-07-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"48820061","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学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1