We gratefully acknowledge support from
the Simons Foundation and member institutions.

Programming Languages

New submissions

[ total of 6 entries: 1-6 ]
[ showing up to 2000 entries per page: fewer | more ]

New submissions for Wed, 18 May 22

[1]  arXiv:2205.07979 [pdf, ps, other]
Title: The Budge programming language
Authors: Boro Sitnikovski
Subjects: Programming Languages (cs.PL); Computation and Language (cs.CL); Logic in Computer Science (cs.LO)

We present a simple, esoteric programming language based on G\"odel numbering and prime factorization, enhanced with explicit, scoped loops, allowing for easy program composition. We will show the syntax and semantics and then provide a few example programs and their evaluation. We will also provide a few interpreter implementations.

[2]  arXiv:2205.08260 [pdf]
Title: LabVIEW is faster and C is economical interfacing tool for UCT automation
Comments: 15 pages, 9 figures, 2 tables, 23 references
Subjects: Programming Languages (cs.PL); Robotics (cs.RO)

An in-house developed 2D ultrasound computerized Tomography system is fully automated. Performance analysis of instrument and software interfacing soft tools, namely the LabVIEW, MATLAB, C, and Python, is presented. The instrument interfacing algorithms, hardware control algorithms, signal processing, and analysis codes are written using above mentioned soft tool platforms. Total of eight performance indices are used to compare the ease of (a) realtime control of electromechanical assembly, (b) sensors, instruments integration, (c) synchronized data acquisition, and (d) simultaneous raw data processing. It is found that C utilizes the least processing power and performs a lower number of processes to perform the same task. In runtime analysis (data acquisition and realtime control), LabVIEW performs best, taking 365.69s in comparison to MATLAB (623.83s), Python ( 1505.54s), and C (1252.03s) to complete the experiment. Python performs better in establishing faster interfacing and minimum RAM usage. LabVIEW is recommended for its fast process execution. C is recommended for the most economical implementation. Python is recommended for complex system automation having a very large number of components involved. This article provides a methodology to select optimal soft tools for instrument automation-related aspects.

Cross-lists for Wed, 18 May 22

[3]  arXiv:2205.07808 (cross-list from eess.SY) [pdf, other]
Title: Switch as a Verifier: Toward Scalable Data Plane Checking via Distributed, On-Device Verification
Subjects: Systems and Control (eess.SY); Networking and Internet Architecture (cs.NI); Programming Languages (cs.PL)

Data plane verification (DPV) is important for finding network errors. Current DPV tools employ a centralized architecture, where a server collects the data planes of all devices and verifies them. Despite substantial efforts on accelerating DPV, this centralized architecture is inherently unscalable. In this paper, to tackle the scalability challenge of DPV, we circumvent the scalability bottleneck of centralized design and design Coral, a distributed, on-device DPV framework. The key insight of Coral is that DPV can be transformed into a counting problem on a directed acyclic graph, which can be naturally decomposed into lightweight tasks executed at network devices, enabling scalability. Coral consists of (1) a declarative requirement specification language, (2) a planner that employs a novel data structure DVNet to systematically decompose global verification into on-device counting tasks, and (3) a distributed verification (DV) protocol that specifies how on-device verifiers communicate task results efficiently to collaboratively verify the requirements. We implement a prototype of Coral. Extensive experiments with real-world datasets (WAN/LAN/DC) show that Coral consistently achieves scalable DPV under various networks and DPV scenarios, i.e., up to 1250 times speed up in the scenario of burst update, and up to 202 times speed up on 80% quantile of incremental verification, than state-of-the-art DPV tools, with little overhead on commodity network devices.

[4]  arXiv:2205.07985 (cross-list from cs.AI) [pdf]
Title: Expert Systems with Logic#. A Novel Modeling Framework for Logic Programming in an Object-Oriented Context of C#
Comments: 23 pages, 4 figures, 4 tables, 7 appendices
Subjects: Artificial Intelligence (cs.AI); Programming Languages (cs.PL)

We present a novel approach how logic programming for expert systems can be declared directly in an object-oriented language.

[5]  arXiv:2205.08128 (cross-list from cs.LO) [pdf, ps, other]
Title: Local Completeness Logic on Kleene Algebra with Tests
Subjects: Logic in Computer Science (cs.LO); Programming Languages (cs.PL)

Local Completeness Logic (LCL) has been put forward as a program logic for proving both the correctness and incorrectness of program specifications. LCL is an abstract logic, parameterized by an abstract domain that allows combining over- and under-approximations of program behaviors. It turns out that LCL instantiated to the trivial singleton abstraction boils down to O'Hearn incorrectness logic, which allows us to prove the presence of program bugs. It has been recently proved that suitable extensions of Kleene algebra with tests (KAT) allow representing both O'Hearn incorrectness and Hoare correctness program logics within the same equational framework. In this work, we generalize this result by showing how KATs extended either with a modal diamond operator or with a top element are able to represent the local completeness logic LCL. This is achieved by studying how these extended KATs can be endowed with an abstract domain so as to define the validity of correctness/incorrectness LCL triples and to show that the LCL proof system is logically sound and, under some hypotheses, complete.

Replacements for Wed, 18 May 22

[6]  arXiv:2112.11988 (replaced) [pdf, other]
Title: Reducing Programs to Objects
Authors: Yegor Bugayenko
Subjects: Programming Languages (cs.PL)
[ total of 6 entries: 1-6 ]
[ showing up to 2000 entries per page: fewer | more ]

Disable MathJax (What is MathJax?)

Links to: arXiv, form interface, find, cs, recent, 2205, contact, help  (Access key information)