Concurrent constraint programs operate on data which is represented by a constraint of a given cylindric constraint system. Such a system provides an algebraic representation of first-order logic. It features a (binary) entailment relation, a binary union operation for adding information (formally defined as the least upper bound of two …
read moreCombining Bialgebraic Semantics and Equations
Combining Bialgebraic Semantics and Equations
It was observed by Turi and Plotkin that structural operational semantics can be studied at the level of universal coalgebra, providing specification formats for well-behaved operations at a general level. We extend this framework with non-structural assignment rules which can express, for example, the syntactic …
read moreMoessner's Theorem: an Exercise in Coinductive Reasoning in Coq
Moessner's Theorem describes a construction of the sequence of powers (1^n, 2^n, 3^n, ...), by repeatedly dropping and summing elements from the sequence of positive natural numbers. The theorem was presented by Moessner in 1951 without a proof and later proved and generalized in several directions. More recently …
read moreSyntactic Monoids and Their Dual
Because of the isomorphism (X x A) -> X = X -> (A -> X), the transition structure of a deterministic automaton with state set X and with inputs from an alphabet A can be viewed both as an algebra and as a coalgebra. This algebra-coalgebra duality goes back to Arbib and Manes, who …
read moreImproving Performance of Simulation Software Using Haskells Concurrency and Parallelism
Computer simulation has been widely applied in many areas, ranging from physics to biology and from economics even to transportation. This tremendous applicability has the effect that, in most of the cases, simulations are constructed by scientists with non-computer expertise. These scientists are striving for ease of development and fast …
read moreA Cost-aware Scheduler for High-Throughput Computing in the Cloud
Cloud computing has become one of the most important trends in the field of Computer Science. It is a flexible, efficient and reliable method of allocating computing power to large-scale applications or services. A very common use of cloud computing is to schedule bags of tasks on machines and have …
read moreAn Implicit Characterization of PSPACE
One of the aims of Implicit Computational Complexity is to characterize complexity classes independently from a specific computational model.
In this setting we present a type system for an extension of lambda calculus with a conditional construction, named STAB, that characterizes the PSPACE class. This system is obtained by extending …
read moreCoinductive Stream Calculus in Action with Haskell
Haskell's lazy evaluation makes it easily possible to coinductively specify, and compute, infinitary structures such as streams. In particular, the coinductive stream calculus can easily be implemented using simple Haskell code, and there is a close relationship between systems of behavioural differential equations for streams on one side, and coinductive …
read moreCode Generation for Reo: Dealing with data constraints (work-in-progress)
In ongoing work, we develop a code generator for Reo connectors. Our current tool works by computing the formal semantics of a connector as a constraint automaton (CA) and then translating that CA to Java code. This approach requires us to deal with data constraints (i.e., transition labels of …
read moreLeveraging Cloud Computing in Real-World Situations
We aim to provide a practical and brief overview of how cloud computing is leveraged in real-world situations. A commonly used set of fundamental concepts are discussed in short and in a pragmatic way including an introduction of different cloud services and cloud service providers. SDL Fredhopper manages a large …
read more