首页 > 最新文献

Journal of Computer Languages最新文献

英文 中文
Surveying communities of users of MATLAB and clone languages MATLAB和克隆语言用户社区调查
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2022-12-01 DOI: 10.1016/j.cola.2022.101170
Eduardo Reis , Catarina Gralha , Miguel P. Monteiro

Context:

MATLAB is a programming language vastly used in scientific and engineering domains by engineers, scientists, and researchers. Still, MATLAB seems to be perceived as being used mainly by non-professional programmers, not taking full advantage of MATLAB’s features (e.g., OOP-support). The current state of the art does not seem to verify these assumptions.

Objectives:

Our goal was to fill the gap in the characteristics of the MATLAB community and its users, how proficient they are with the MATLAB, and what is their satisfaction level.

Methods:

We performed a survey with 212 valid responses, aiming to characterize the community of MATLAB users and clone languages. The survey was published on several platforms, including Reddit, Linkedin, and MATLAB Central.

Results:

There is a balanced distribution across different levels of experience in the community. (12.74%) of our sample uses MATLAB only through the command window. The more users expect other people to use their programs, the more effort they will put into making the code easy to understand, maintain and reuse. The use of OOP is not widespread (22%). The majority of MATLAB users are satisfied with its modularity support.

Conclusions:

Our study provides insights into MATLAB’s use patterns that are potentially useful for entities responsible for MATLAB’s future evolution.

上下文:MATLAB是工程师、科学家和研究人员在科学和工程领域广泛使用的编程语言。尽管如此,MATLAB似乎被认为主要由非专业程序员使用,没有充分利用MATLAB的功能(例如,OOP支持)。目前的技术状态似乎无法验证这些假设。目标:我们的目标是填补MATLAB社区及其用户的特点、他们对MATLAB的熟练程度以及他们的满意度方面的空白。方法:我们对212个有效回答进行了调查,旨在描述MATLAB用户和克隆语言的社区特征。这项调查发表在多个平台上,包括Reddit、Linkedin和MATLAB Central。结果:社区中不同级别的经验分布均衡。(12.74%)的样本仅通过命令窗口使用MATLAB。用户越希望其他人使用他们的程序,他们就越努力使代码易于理解、维护和重用。OOP的使用并不普遍(22%)。大多数MATLAB用户对其模块化支持感到满意。结论:我们的研究为MATLAB的使用模式提供了见解,这些模式对负责MATLAB未来发展的实体可能有用。
{"title":"Surveying communities of users of MATLAB and clone languages","authors":"Eduardo Reis ,&nbsp;Catarina Gralha ,&nbsp;Miguel P. Monteiro","doi":"10.1016/j.cola.2022.101170","DOIUrl":"https://doi.org/10.1016/j.cola.2022.101170","url":null,"abstract":"<div><h3>Context:</h3><p><em>MATLAB</em> is a programming language vastly used in scientific and engineering domains by engineers, scientists, and researchers. Still, <em>MATLAB</em> seems to be perceived as being used mainly by non-professional programmers, not taking full advantage of <em>MATLAB</em>’s features (e.g., OOP-support). The current state of the art does not seem to verify these assumptions.</p></div><div><h3>Objectives:</h3><p>Our goal was to fill the gap in the characteristics of the MATLAB community and its users, how proficient they are with the MATLAB, and what is their satisfaction level.</p></div><div><h3>Methods:</h3><p>We performed a survey with 212 valid responses, aiming to characterize the community of <em>MATLAB</em> users and clone languages. The survey was published on several platforms, including Reddit, Linkedin, and MATLAB Central.</p></div><div><h3>Results:</h3><p>There is a balanced distribution across different levels of experience in the community. (12.74%) of our sample uses MATLAB only through the command window. The more users expect other people to use their programs, the more effort they will put into making the code easy to understand, maintain and reuse. The use of OOP is not widespread (22%). The majority of MATLAB users are satisfied with its modularity support.</p></div><div><h3>Conclusions:</h3><p>Our study provides insights into MATLAB’s use patterns that are potentially useful for entities responsible for MATLAB’s future evolution.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"73 ","pages":"Article 101170"},"PeriodicalIF":2.2,"publicationDate":"2022-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S2590118422000673/pdfft?md5=2ec83f73b2a00c41dd9ac8c37c148c2c&pid=1-s2.0-S2590118422000673-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"72221284","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
Combining stream with data parallelism abstractions for multi-cores 多核流与数据并行抽象的结合
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2022-12-01 DOI: 10.1016/j.cola.2022.101160
Júnior Löff , Renato B. Hoffmann , Dalvan Griebler , Luiz G. Fernandes

Stream processing applications have seen an increasing demand with the raised availability of sensors, IoT devices, and user data. Modern systems can generate millions of data items per day that require to be processed timely. To deal with this demand, application programmers must consider parallelism to exploit the maximum performance of the underlying hardware resources. In this work, we introduce improvements to stream processing applications by exploiting fine-grained data parallelism (via Map and MapReduce) inside coarse-grained stream parallelism stages. The improvements are including techniques for identifying data parallelism in sequential codes, a new language, semantic analysis, and a set of definition and transformation rules to perform source-to-source parallel code generation. Moreover, we investigate the feasibility of employing higher-level programming abstractions to support the proposed optimizations. For that, we elect SPar programming model as a use case, and extend it by adding two new attributes to its language and implementing our optimizations as a new algorithm in the SPar compiler. We conduct a set of experiments in representative stream processing and data-parallel applications. The results showed that our new compiler algorithm is efficient and that performance improved by up to 108.4x in data-parallel applications. Furthermore, experiments evaluating stream processing applications towards the composition of stream and data parallelism revealed new insights. The results showed that such composition may improve latencies by up to an order of magnitude. Also, it enables programmers to exploit different degrees of stream and data parallelism to accomplish a balance between throughput and latency according to their necessity.

随着传感器、物联网设备和用户数据可用性的提高,流处理应用的需求也在增加。现代系统每天可以生成数百万个需要及时处理的数据项。为了满足这种需求,应用程序程序员必须考虑并行性,以利用底层硬件资源的最大性能。在这项工作中,我们通过在粗粒度流并行阶段中利用细粒度数据并行性(通过Map和MapReduce),对流处理应用程序进行了改进。这些改进包括识别序列代码中数据并行性的技术、一种新语言、语义分析以及一组定义和转换规则,以执行源代码到源代码的并行生成。此外,我们还研究了使用更高级别的编程抽象来支持所提出的优化的可行性。为此,我们选择SPar编程模型作为用例,并通过在其语言中添加两个新属性来扩展它,并将我们的优化作为SPar编译器中的新算法来实现。我们在具有代表性的流处理和数据并行应用中进行了一组实验。结果表明,我们的新编译算法是有效的,在数据并行应用中,性能提高了108.4倍。此外,评估流处理应用程序以实现流和数据并行性的实验揭示了新的见解。结果表明,这种组合物可以将潜伏期提高一个数量级。此外,它使程序员能够利用不同程度的流和数据并行性,根据需要实现吞吐量和延迟之间的平衡。
{"title":"Combining stream with data parallelism abstractions for multi-cores","authors":"Júnior Löff ,&nbsp;Renato B. Hoffmann ,&nbsp;Dalvan Griebler ,&nbsp;Luiz G. Fernandes","doi":"10.1016/j.cola.2022.101160","DOIUrl":"https://doi.org/10.1016/j.cola.2022.101160","url":null,"abstract":"<div><p>Stream processing applications have seen an increasing demand with the raised availability of sensors, IoT<span> devices, and user data. Modern systems can generate millions of data items per day that require to be processed timely. To deal with this demand, application programmers<span> must consider parallelism<span> to exploit the maximum performance of the underlying hardware resources. In this work, we introduce improvements to stream processing applications by exploiting fine-grained data parallelism (via Map and MapReduce) inside coarse-grained stream parallelism stages. The improvements are including techniques for identifying data parallelism in sequential codes, a new language, semantic analysis, and a set of definition and transformation rules to perform source-to-source parallel code generation. Moreover, we investigate the feasibility of employing higher-level programming abstractions to support the proposed optimizations. For that, we elect SPar programming model as a use case, and extend it by adding two new attributes to its language and implementing our optimizations as a new algorithm in the SPar compiler. We conduct a set of experiments in representative stream processing and data-parallel applications. The results showed that our new compiler algorithm is efficient and that performance improved by up to 108.4x in data-parallel applications. Furthermore, experiments evaluating stream processing applications towards the composition of stream and data parallelism revealed new insights. The results showed that such composition may improve latencies by up to an order of magnitude. Also, it enables programmers to exploit different degrees of stream and data parallelism to accomplish a balance between throughput and latency according to their necessity.</span></span></span></p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"73 ","pages":"Article 101160"},"PeriodicalIF":2.2,"publicationDate":"2022-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"72221280","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
Program representations for predictive compilation: State of affairs in the early 20's 预测编译的程序表示:20年代早期的事态
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2022-10-01 DOI: 10.1016/j.cola.2022.101171
A. F. da Silva, E. Borin, Fernando Magno Quintão Pereira, Nilton Luiz Queiroz, O. Napoli
{"title":"Program representations for predictive compilation: State of affairs in the early 20's","authors":"A. F. da Silva, E. Borin, Fernando Magno Quintão Pereira, Nilton Luiz Queiroz, O. Napoli","doi":"10.1016/j.cola.2022.101171","DOIUrl":"https://doi.org/10.1016/j.cola.2022.101171","url":null,"abstract":"","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"43 1","pages":"101171"},"PeriodicalIF":2.2,"publicationDate":"2022-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"77651916","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}
引用次数: 2
A surprisingly simple Lua compiler—Extended version 一个非常简单的Lua编译器——扩展版
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2022-10-01 DOI: 10.1016/j.cola.2022.101151
Hugo Musso Gualandi, Roberto Ierusalimschy

Dynamically-typed programming languages are often implemented using interpreters, which offer several advantages in terms of portability and flexibility of the implementation. However, as a language matures and its programs get bigger, programmers may seek compilers, to avoid the interpretation overhead.

In this study, we present LuaAOT, a simple ahead-of-time compiler for Lua derived from the reference Lua interpreter. We describe two alternative compilation strategies. The first one exemplifies an old idea of using partial evaluation to produce a compiler based on an existing interpreter. Its contribution is to apply this idea to a well-established programming language. We show that with a quite modest effort it is possible to implement an efficient compiler that covers the entirety of Lua, including coroutines and tail calls. The whole implementation required less than 500 lines of new code. For this effort, we reduced the running time of our benchmarks from 20% to 60%.

The second compilation strategy is based on function “outlining”, where each bytecode is implemented by a small subroutine. This strategy reduces executable sizes and compilation times, at the cost of not speeding up the running times as much as the first compilation method.

动态类型编程语言通常使用解释器来实现,解释器在实现的可移植性和灵活性方面提供了一些优势。然而,随着一种语言的成熟和程序的庞大,程序员可能会寻求编译器,以避免解释开销。在这项研究中,我们提出了LuaAOT,这是一个简单的Lua提前编译器,源于参考Lua解释器。我们描述了两种可供选择的编译策略。第一个示例了一个旧的想法,即使用部分求值来生成基于现有解释器的编译器。它的贡献是将这一思想应用于一种成熟的编程语言。我们表明,只要付出相当小的努力,就可以实现一个覆盖整个Lua的高效编译器,包括协程和尾部调用。整个实现只需要不到500行的新代码。为此,我们将基准测试的运行时间从20%减少到60%。第二种编译策略基于函数“outlineing”,其中每个字节码都由一个小型子例程实现。这种策略减少了可执行文件的大小和编译时间,代价是没有像第一种编译方法那样加快运行时间。
{"title":"A surprisingly simple Lua compiler—Extended version","authors":"Hugo Musso Gualandi,&nbsp;Roberto Ierusalimschy","doi":"10.1016/j.cola.2022.101151","DOIUrl":"https://doi.org/10.1016/j.cola.2022.101151","url":null,"abstract":"<div><p>Dynamically-typed programming languages are often implemented using interpreters, which offer several advantages in terms of portability and flexibility of the implementation. However, as a language matures and its programs get bigger, programmers may seek compilers, to avoid the interpretation overhead.</p><p>In this study, we present LuaAOT, a simple ahead-of-time compiler for Lua derived from the reference Lua interpreter. We describe two alternative compilation strategies. The first one exemplifies an old idea of using partial evaluation to produce a compiler based on an existing interpreter. Its contribution is to apply this idea to a well-established programming language. We show that with a quite modest effort it is possible to implement an efficient compiler that covers the entirety of Lua, including coroutines and tail calls. The whole implementation required less than 500 lines of new code. For this effort, we reduced the running time of our benchmarks from 20% to 60%.</p><p>The second compilation strategy is based on function “outlining”, where each bytecode is implemented by a small subroutine. This strategy reduces executable sizes and compilation times, at the cost of not speeding up the running times as much as the first compilation method.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"72 ","pages":"Article 101151"},"PeriodicalIF":2.2,"publicationDate":"2022-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"72242279","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
Surveying communities of users of MATLAB and clone languages 调查MATLAB和克隆语言的用户社区
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2022-10-01 DOI: 10.1016/j.cola.2022.101170
Eduardo Reis, Catarina Gralha, M. Monteiro
{"title":"Surveying communities of users of MATLAB and clone languages","authors":"Eduardo Reis, Catarina Gralha, M. Monteiro","doi":"10.1016/j.cola.2022.101170","DOIUrl":"https://doi.org/10.1016/j.cola.2022.101170","url":null,"abstract":"","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"1 1","pages":"101170"},"PeriodicalIF":2.2,"publicationDate":"2022-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"74592196","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
Context-sensitive parsing for programming languages 编程语言的上下文敏感解析
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2022-10-01 DOI: 10.1016/j.cola.2022.101172
B. Slivnik
{"title":"Context-sensitive parsing for programming languages","authors":"B. Slivnik","doi":"10.1016/j.cola.2022.101172","DOIUrl":"https://doi.org/10.1016/j.cola.2022.101172","url":null,"abstract":"","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"156 1","pages":"101172"},"PeriodicalIF":2.2,"publicationDate":"2022-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"75972130","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
Investigating the relationships between class probabilities and users’ appropriate trust in computer vision classifications of ambiguous images 模糊图像计算机视觉分类中分类概率与用户适当信任度的关系研究
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2022-10-01 DOI: 10.1016/j.cola.2022.101149
Gabriel Diniz Junqueira Barbosa, Dalai dos Santos Ribeiro, Marisa do Carmo Silva, Hélio Lopes, Simone Diniz Junqueira Barbosa

The large-scale adoption of systems that automate classifications using Machine Learning (ML) algorithms raises pressing challenges as they support or make decisions with profound consequences for human beings. It is important to understand how users’ trust is affected by ML models’ suggestions, even when those models are wrong. Many research efforts have focused on the user’s ability to interpret what a model has learned. In this paper, we seek to understand another aspect of ML interpretability: whether and how the presence of classification probabilities and their different distributions are related to users’ trust in model outcomes, especially in ambiguous instances. To this end, we conducted two online surveys in which we asked participants to evaluate their agreement with image classifications of pictures of animals made by an ML model. In the first, we analyze their trust before and after presenting them the model classification probabilities. In the second, we investigate the relationships between class probability distributions and users’ trust in the model. We found that, in some cases, the additional information is correlated with undue trust in the model’s classifications. However, in others, they are associated with inappropriate skepticism.

使用机器学习(ML)算法自动分类的系统的大规模采用带来了紧迫的挑战,因为它们支持或做出对人类产生深远影响的决策。重要的是要了解ML模型的建议如何影响用户的信任,即使这些模型是错误的。许多研究工作都集中在用户解释模型所学内容的能力上。在本文中,我们试图理解ML可解释性的另一个方面:分类概率及其不同分布的存在是否以及如何与用户对模型结果的信任有关,尤其是在模糊的情况下。为此,我们进行了两次在线调查,要求参与者评估他们对ML模型制作的动物图片的图像分类的一致性。在第一部分中,我们分析了他们在给出模型分类概率之前和之后的信任。在第二章中,我们研究了类概率分布与用户对模型的信任之间的关系。我们发现,在某些情况下,额外的信息与对模型分类的过度信任有关。然而,在其他人身上,它们与不恰当的怀疑论联系在一起。
{"title":"Investigating the relationships between class probabilities and users’ appropriate trust in computer vision classifications of ambiguous images","authors":"Gabriel Diniz Junqueira Barbosa,&nbsp;Dalai dos Santos Ribeiro,&nbsp;Marisa do Carmo Silva,&nbsp;Hélio Lopes,&nbsp;Simone Diniz Junqueira Barbosa","doi":"10.1016/j.cola.2022.101149","DOIUrl":"https://doi.org/10.1016/j.cola.2022.101149","url":null,"abstract":"<div><p>The large-scale adoption of systems that automate classifications using Machine Learning (ML) algorithms raises pressing challenges as they support or make decisions with profound consequences for human beings. It is important to understand how users’ trust is affected by ML<span> models’ suggestions, even when those models are wrong. Many research efforts have focused on the user’s ability to interpret what a model has learned. In this paper, we seek to understand another aspect of ML interpretability<span>: whether and how the presence of classification probabilities and their different distributions are related to users’ trust in model outcomes, especially in ambiguous instances. To this end, we conducted two online surveys in which we asked participants to evaluate their agreement with image classifications<span> of pictures of animals made by an ML model. In the first, we analyze their trust before and after presenting them the model classification probabilities. In the second, we investigate the relationships between class probability distributions and users’ trust in the model. We found that, in some cases, the additional information is correlated with undue trust in the model’s classifications. However, in others, they are associated with inappropriate skepticism.</span></span></span></p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"72 ","pages":"Article 101149"},"PeriodicalIF":2.2,"publicationDate":"2022-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"72242277","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
Hapi: A domain-specific language for the declaration of access policies Hapi:用于声明访问策略的特定领域语言
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2022-10-01 DOI: 10.1016/j.cola.2022.101153
Vinícius Julião Ramos, Alexander Holmquist, Fernando Magno Quintão Pereira

Access policies specify what are the actions that different actors can perform on available resources. Access policies are a core notion in multiuser environments, such as operating systems and distributed databases. Currently, most of these systems use general data specification languages, such as JSON, XML and YAML to describe access policies. Yet, domain-specific languages are also available for this task. One of such languages is Legalease, from Microsoft. This paper presents a new version of Legalease, called Hapi. Hapi replaces Legalease’s notion of a lattice with a partially ordered set (poset). Posets improve the expressivity of Legalease, at the expenses of a more expensive verification algorithm. This poset-based representation generalizes the notion of actors, actions and resources to user-defined entities. Hapi is publicly available. Its distribution includes a policy visualizer and a code-compression tool to efficiently store specifications.

访问策略指定不同参与者可以对可用资源执行哪些操作。访问策略是多用户环境(如操作系统和分布式数据库)中的核心概念。目前,这些系统大多使用通用的数据规范语言,如JSON、XML和YAML来描述访问策略。然而,域特定语言也可用于此任务。其中一种语言是微软的Legalese。本文介绍了Legalace的一个新版本,名为Hapi。Hapi用偏序集(偏序集)取代了Legalese关于格的概念。Posets以更昂贵的验证算法为代价,提高了Legalace的表达能力。这种基于偏序集的表示将参与者、动作和资源的概念概括为用户定义的实体。Hapi是公开的。它的发行版包括一个策略可视化工具和一个代码压缩工具,用于有效地存储规范。
{"title":"Hapi: A domain-specific language for the declaration of access policies","authors":"Vinícius Julião Ramos,&nbsp;Alexander Holmquist,&nbsp;Fernando Magno Quintão Pereira","doi":"10.1016/j.cola.2022.101153","DOIUrl":"https://doi.org/10.1016/j.cola.2022.101153","url":null,"abstract":"<div><p><span>Access policies specify what are the actions that different actors can perform on available resources. Access policies are a core notion in multiuser environments<span>, such as operating systems and distributed databases. Currently, most of these systems use general data specification languages, such as JSON, XML and YAML to describe access policies. Yet, domain-specific languages are also available for this task. One of such languages is </span></span><span>Legalease</span>, from Microsoft. This paper presents a new version of <span>Legalease</span>, called <span>Hapi</span>. <span>Hapi</span> replaces <span>Legalease</span>’s notion of a lattice with a partially ordered set (poset). Posets improve the expressivity of <span>Legalease</span>, at the expenses of a more expensive verification algorithm. This poset-based representation generalizes the notion of actors, actions and resources to user-defined entities. <span>Hapi</span> is publicly available. Its distribution includes a policy visualizer and a code-compression tool to efficiently store specifications.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"72 ","pages":"Article 101153"},"PeriodicalIF":2.2,"publicationDate":"2022-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"72242275","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
Automatic mandala pattern design and generation based on COOM framework 基于COOM框架的曼陀罗图案自动设计与生成
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2022-10-01 DOI: 10.1016/j.cola.2022.101138
Shuchang Xu , Yu Zhang , Simin Yan

We propose a novel framework to automatically design and generate exquisite color mandala patterns. First, we summarize pre-requirements for generating reasonable and applicable mandala patterns followed by introducing COOM (Curve, Object, Operation and Model), the fundamental framework of mandala pattern generator. The framework defines how to effectively create visually pleasing mandala sketches. Then we propose a color transfer-based method to colorize the mandala sketch, in which all similar regions will share the same color. Currently, the automatically generated mandala patterns have been used in a mobile game with 3 million DAU (Daily Active Users). The experiments show that our mandala generator is quite effective and comparable with professional artists.

我们提出了一种新颖的框架来自动设计和生成精美的彩色曼陀罗图案。首先,我们总结了生成合理适用的曼陀罗模式的先决条件,然后介绍了曼陀罗图案生成器的基本框架COOM(曲线、对象、操作和模型)。该框架定义了如何有效地创建视觉上令人愉悦的曼陀罗草图。然后,我们提出了一种基于颜色转移的方法来对曼陀罗草图进行着色,其中所有相似的区域都将共享相同的颜色。目前,自动生成的曼陀罗图案已在拥有300万DAU(每日活跃用户)的手机游戏中使用。实验表明,我们的曼陀罗发生器非常有效,可以与专业艺术家相媲美。
{"title":"Automatic mandala pattern design and generation based on COOM framework","authors":"Shuchang Xu ,&nbsp;Yu Zhang ,&nbsp;Simin Yan","doi":"10.1016/j.cola.2022.101138","DOIUrl":"https://doi.org/10.1016/j.cola.2022.101138","url":null,"abstract":"<div><p>We propose a novel framework to automatically design and generate exquisite color mandala patterns. First, we summarize pre-requirements for generating reasonable and applicable mandala patterns followed by introducing COOM (Curve, Object, Operation and Model), the fundamental framework of mandala pattern generator. The framework defines how to effectively create visually pleasing mandala sketches. Then we propose a color transfer-based method to colorize the mandala sketch, in which all similar regions will share the same color. Currently, the automatically generated mandala patterns have been used in a mobile game with 3 million DAU (Daily Active Users). The experiments show that our mandala generator is quite effective and comparable with professional artists.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"72 ","pages":"Article 101138"},"PeriodicalIF":2.2,"publicationDate":"2022-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"72242281","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
Combining stream with data parallelism abstractions for multi-cores 结合多核流和数据并行抽象
IF 2.2 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2022-10-01 DOI: 10.1016/j.cola.2022.101160
Júnior Löff, Renato B. Hoffmann, Dalvan Griebler, L. G. Fernandes
{"title":"Combining stream with data parallelism abstractions for multi-cores","authors":"Júnior Löff, Renato B. Hoffmann, Dalvan Griebler, L. G. Fernandes","doi":"10.1016/j.cola.2022.101160","DOIUrl":"https://doi.org/10.1016/j.cola.2022.101160","url":null,"abstract":"","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"27 1","pages":"101160"},"PeriodicalIF":2.2,"publicationDate":"2022-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"73029333","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