arXivDaily arXiv每日学术速递 周一至周五更新
重置
cs.PL编程语言5
2606.11442 2026-06-11 cs.SE cs.PL 新提交

Web-Native Graphical EMF Model Editors

Web原生图形化EMF模型编辑器

Susanne Göbel, Ralf Lämmel

AI总结 提出纯Web框架EMFular,基于Ecore模型自动生成图形编辑器,支持EMF一致性操作与Angular扩展,实现低代码生成、高可定制与无后端部署。

详情
AI中文摘要

图形化模型编辑正从桌面应用转向基于Web的工具。我们分析了现有框架的特点,并基于此推导出一组设计原则,这些原则意味着低成本的生成、广泛的定制可能性以及所生成编辑器的直接部署。在此基础上,我们引入了EMFular,一个纯基于Web的框架,用于管理EMF模型而无需任何后端。配套的EMFular生成器将给定的Ecore模型(一个EMF元模型)映射为即用型且可定制的图形编辑器。EMFular编辑器提供“EMF一致性”,即它们不仅支持标准建模操作,如创建、检查、导航、编辑和撤销/重做,而且还以与EMF紧密对齐的方式处理包含和反向引用;它们还通过与EMF兼容的序列化/反序列化提供与现有EMF工具的互操作性。生成的编辑器是一个Angular项目,具有指定的扩展点,允许开发人员利用Angular及其生态系统的表达能力,在EMFular扩展点的指导下,定制和扩展编辑器的所有方面。我们从编辑器充分性(可用的编辑能力)、适应性(定制机制和所需工作量)以及生成的鲁棒性三个方面评估了EMFular。

英文摘要

Graphical model editing is shifting from desktop applications to web-based tools. We analyze the characteristics of existing frameworks and, based on this analysis, we derive a set of design principles that imply low-effort generation, extensive customization possibilities, and straightforward deployment of the resulting editors. On these grounds, we introduce EMFular, a purely web-based framework for managing EMF models without any backend. The accompanying EMFular generator maps a given Ecore model (an EMF metamodel) to a ready-to-use and ready-to-customize graphical editor. EMFular editors provide 'EMF consistency', that is, they not only support standard modeling operations such as creation, inspection, navigation, editing, and undo/redo, but they also handle containment and inverse references in close alignment with EMF; they also provide interoperability with existing EMF tooling through compatible de-/serialization. A generated editor is an Angular project with designated extension points, which allows developers to customize and extend all aspects of the editor using the expressive power of Angular and its ecosystem, guided by the extension points of EMFular. We evaluate EMFular in terms of editor adequacy (available editing capabilities), adaptability (customization mechanisms and required effort), and robustness of the generation.

2604.11454 2026-06-11 cs.DB cs.PL 版本更新

Foundations of the GraphAlg Language

GraphAlg语言基础

Daan de Graaf, Robert Brijder, Nikolay Yakovets

AI总结 本文展示图算法领域特定语言GraphAlg如何建立在矩阵操作形式语言MATLANG之上,通过扩展和语法糖实现,并证明任何GraphAlg程序可在支持同时归纳的for-MATLANG扩展中模拟。

详情
AI中文摘要

用于图算法的领域特定语言GraphAlg使得用户能够在图数据库中定义算法。在这项工作中,我们展示了GraphAlg是如何建立在用于矩阵操作的形式化语言MATLANG之上的。从MATLANG出发,我们描述了为推导出GraphAlg所需的MATLANG扩展和语法糖。此外,我们证明了任何GraphAlg程序都可以在支持同时归纳的for-MATLANG扩展中被模拟。

英文摘要

The GraphAlg domain-specific language for graph algorithms enables user-defined algorithms in graph databases. In this work we show how GraphAlg is built on top of the formal MATLANG language for matrix manipulation. Starting from MATLANG, we describe the extensions to MATLANG and the syntactic sugar needed to derive GraphAlg. Furthermore, we prove that any GraphAlg program can be simulated in an extension of for-MATLANG that supports simultaneous induction.

2512.22219 2026-06-11 cs.DC cs.LG cs.PL 版本更新

MPK: A Compiler and Runtime for Mega-Kernelizing Tensor Programs

MPK:一种用于将张量程序转化为巨型内核的编译器和运行时系统

Xinhao Cheng, Zhihao Zhang, Yu Zhou, Jianan Ji, Jinchen Jiang, Zepeng Zhao, Ziruo Xiao, Zihao Ye, Yingyi Huang, Ruihang Lai, Hongyi Jin, Bohan Hou, Mengdi Wu, Yixin Dong, Anthony Yip, Zihao Ye, Songting Wang, Wenqin Yang, Xupeng Miao, Tianqi Chen, Zhihao Jia

AI总结 提出MPK,首个自动将多GPU模型推理转化为单个高性能巨型内核的编译器和运行时系统,通过SM级图表示实现跨算子软件流水线和细粒度计算通信重叠,显著降低推理延迟。

详情
Comments
14 pages
AI中文摘要

我们介绍了Mirage Persistent Kernel (MPK),这是首个自动将多GPU模型推理转化为单个高性能巨型内核的编译器和运行时系统。MPK引入了一种SM级图表示,该表示在单个流式多处理器(SM)的粒度上捕获数据依赖关系,从而实现跨算子软件流水线、计算与通信的细粒度重叠,以及在传统每算子内核执行模型下不可行的其他优化。MPK编译器将张量程序降级为优化的SM级任务图,并为每个任务生成快速的CUDA实现,而MPK内核内并行运行时则通过跨SM的分散调度在单个持久巨型内核内执行这些任务。这些组件共同提供了端到端的内核融合,且开发工作量极小,同时保留了现有编程模型的灵活性。我们的评估表明,MPK显著优于现有的每算子内核LLM服务系统,实现了高达1.7倍的端到端推理延迟降低,并将LLM推理性能推近底层硬件的极限。MPK在此https URL公开可用。

英文摘要

We introduce Mirage Persistent Kernel (MPK), the first compiler and runtime system that automatically transforms multi-GPU model inference into a single high-performance mega-kernel. MPK introduces an SM-level graph representation that captures data dependencies at the granularity of individual streaming multiprocessors (SMs), enabling cross-operator software pipelining, \rev{fine-grained overlap of computation and communication, and other optimizations that are infeasible under the conventional kernel-per-operator execution model}. The MPK compiler lowers tensor programs into optimized SM-level task graphs and generates fast CUDA implementations for each task, while the MPK in-kernel parallel runtime executes these tasks within a single persistent mega-kernel using decentralized scheduling across SMs. Together, these components provide end-to-end kernel fusion with minimal developer effort, while preserving the flexibility of existing programming models. Our evaluation shows that MPK significantly outperforms existing kernel-per-operator LLM serving systems, achieving up to 1.7$\times$ lower end-to-end inference latency and pushing LLM inference performance close to the limits of the underlying hardware. MPK is publicly available at this https URL.

2404.08217 2026-06-11 cs.PL

Escape with Your Self: Sound and Expressive Bidirectional Typing with Avoidance for Reachability Types

Songlin Jia, Guannan Wei, Siyuan He, Yuyan Bao, Tiark Rompf

详情
英文摘要

Reasoning about programs in the presence of mutation and aliasing is notoriously difficult. Rust has popularized lifetime-based ownership tracking in systems programming, but its "shared XOR mutable" model is fundamentally at odds with higher-level functional programming. Reachability types offer an alternative: they enable safe sharing and escape of mutable data by tracking which resources each expression's result can reach. To track internal reachability within complex object graphs, reachability types adopt self-references that let components refer to enclosing resources from inside, just like `this` pointers in OO languages. While natural for declaratively typing escaping data, self-references complicate subtyping and furthermore type inference: variance restricts where self-references may appear, yet useful type conversions must allow them to vary in controlled ways, which in turn imposes constraints on inference. As an undesirable result, prior works require programmers to insert term-level coercions for even just avoidance -- avoiding ill-scoped names in types. With all prior works being declarative, we investigate algorithmic reachability types in this work. We introduce a refined subtyping relation that permits more flexible usages of self-references. We further develop a sound and decidable bidirectional typing algorithm, implemented and verified in Lean. The algorithm automatically avoids ill-scoped names in types, and infers qualifiers via a lightweight unification mechanism. As a step towards practical reachability programming, we show that the system is capable of tracking diverse reachability patterns without explicit coercions in complex Church-encoded datatypes.

2506.08238 2026-06-11 cs.PL 版本更新

The complexity of verifying the release-acquire semantics over register machines

释放-获取语义的验证

Parosh Abdulla, Elli Anastasiadi, Mohamed Faouzi Atig, Léo Exibard, Samuel Grahn

AI总结 本文研究寄存器机实现是否符合释放-获取(RA)及其变体语义的验证问题,证明弱RA可在O(n^5)内验证,而RA和强RA是PSPACE完全的。

详情
Comments
New title
AI中文摘要

释放-获取(RA)语义及其变体是架构、编程语言和分布式系统中最基本的并发语义模型之一。在测试此类语义方面已经采取了一些步骤,其中人们感兴趣的是单个程序执行是否与内存模型一致。更一般的验证问题,即检查任何允许的程序运行是否与内存模型一致,尚未得到充分研究。本文旨在弥合这一差距。我们处理验证问题,其中,给定一个描述为寄存器机的实现,我们检查其任何运行是否违反RA语义或其强(SRA)和弱(WRA)变体。我们表明,在此设置下验证WRA的时间复杂度为O(n^5),而验证RA和SRA是PSPACE完全的。这既回答了关于这些问题复杂性的一些基本问题,也提供了关于寄存器机作为模型的表达能力的见解。

英文摘要

The Release-Acquire (RA) semantics and its variants are some of the most fundamental models of concurrent semantics for architectures, programming languages, and distributed systems. Several steps have been taken in the direction of testing such semantics, where one is interested in whether a single program execution is consistent with a memory model. The more general verification problem, i.e., checking whether any allowed program run is consistent with a memory model, has still not been studied as much. The purpose of this work is to bridge this gap. We tackle the verification problem, where, given an implementation described as a register machine, we check if any of its runs violates the RA semantics or its Strong (SRA) and Weak (WRA) variants. We show that verifying WRA in this setup is in O(n5 ), while verifying the RA and SRA is PSPACE complete. This both answers some fundamental questions about the complexity of these problems, but also provides insights on the expressive power of register machines as a model.