The +CAL Algorithm Language
نویسنده
چکیده
Algorithms are different from programs and should not be described with programming languages. Until now, the only simple alternative to programming languages has been pseudo-code. Based on the TLA+ specification language, +cal is an algorithm language that is designed to replace pseudocode. A +cal algorithm is automatically translated to a TLA+ specification that can be checked with the TLC model checker and reasoned about formally.
منابع مشابه
Checking a Multithreaded Algorithm with +CAL
A colleague told me about a multithreaded algorithm that was later reported to have a bug. I rewrote the algorithm in the cal algorithm language, ran the TLC model checker on it, and found the error. Programs are not released without being tested; why should algorithms be published without being model checked?
متن کاملAutomatic Method For Efficient Hardware Implementation From RVC-CAL Dataflow: A LAR Coder baseline Case Study
Implementing an algorithm to hardware platforms is generally not an easy task. The algorithm, typically described in a high-level specification language, must be translated to a low-level HDL language. The difference between models of computation (sequential versus fine-grained parallel) limits the efficiency of automatic translation. On the other hand, manual implementation is time-consuming, ...
متن کاملMPEG RVC AVC Baseline Encoder Based on a Novel Iterative Methodology
With the emergence of new generations of multicore architectures, the need for efficient multimedia algorithm implementations has become critical. This paper describes a new methodology for efficient implementations of algorithms targeting reconfigurable architectures. The Reconfigurable Video Coding (RVC) standard aims to provide a framework allowing a dynamic development, implementation and a...
متن کاملAutomatic Hierarchical Discovery of Quasi-Static Schedules of RVC-CAL Dataflow Programs
RVC-CAL is an actor-based dataflow language that enables concurrent, modular and portable description of signal processing algorithms. RVC-CAL programs can be compiled to implementation languages such as C/C++ and VHDL for producing software or hardware implementations. This paper presents a methodology for automatic discovery of piecewise-deterministic (quasi-static) execution schedules for RV...
متن کاملCAL: A Language for Aggregating Functional and Extrafunctional Constraints in Streaming Networks
In this article we present the Constraint Aggregation Language (CAL), a declarative language for describing properties of stateless program components that interact by exchanging messages. CAL allows one to describe functional as well as extra-functional behaviours, such as computation latency. The CAL language intention is to be able to describe the behaviour of so-called boxes in the context ...
متن کامل