International Conference on Acoustics, Speech, and Signal Processing, 1989
ABSTRACT The authors examine the benefits of using highly parallel, general-purpose MIMD machines... more ABSTRACT The authors examine the benefits of using highly parallel, general-purpose MIMD machines for image processing. They argue that for low-level image processing the only advantages are flexibility and ease of development, which are relatively unimportant in comparison to those of more efficient special-purpose hardware. In high-level image processing, however, parallel algorithms will, in general, require computer system features that are not satisfiable by special-purpose hardware or SIMD machines. Therefore, image processing applications for which the high-level part is the most time consuming can benefit the most from MIMD machines. For an optimally efficient implementation the authors recommend a hybrid approach. Reference throughout is made to the Distributed Object Oriented Machine (DOOM), and MIMD computer intended to exploit coarse-grain parallelism
ABSTRACT Although the λ-calculus is well known as a universal programming language, it is seldom ... more ABSTRACT Although the λ-calculus is well known as a universal programming language, it is seldom used for actual programming or expressing algorithms. Here we demonstrate that it is possible to use the λ-calculus as a comprehensive formalism for programming by showing how to convert programs written in functional programming languages like Clean and Haskell to closed λ-expressions. The transformation is based on using the Scott-encoding for Algebraic Data Types instead of the more common Church encoding. In this way we not only obtain an encoding that is better comprehensible but that is also more efficient. As a proof of the pudding we provide an implementation of Eratosthenes’ prime sieve algorithm as a self-contained, 143 character length, λ-expression.
ABSTRACT In this paper a parallel algorithm for branch-and-bound problems is sketched. It is desi... more ABSTRACT In this paper a parallel algorithm for branch-and-bound problems is sketched. It is designed to run on MIMD machines and exploits coarse grain parallelism. Due to the irregular and unpredictable behavior of branch-and-bound algorithms, it is hard to obtain a good load-balance. Another design issue is the minimization of the communication overhead. Our algorithm overcomes these problems by a dynamic load-balancing strategy and a dynamic way to decide when communication is really useful. After first sketching a general parallel algorithm for branch-and-bound problems, we concentrate on a particular instance of a branch-and-bound problem: the so-called knapsack problem. The performance of the algorithm for this problem is measured with a simulator for a multiprocessor system.
The iTask library of Clean enables the user to specify web-enabled workflow systems on a high lev... more The iTask library of Clean enables the user to specify web-enabled workflow systems on a high level of abstraction. Details like client-server communication, storage and retrieval of state information, HTML generation, and web form handling are all handled automatically. Using only standard HTML web browser elements also has a disadvantage: it does not offer the same level of interaction as
It is generally known that algorithms can be expressed using simple function applications only. I... more It is generally known that algorithms can be expressed using simple function applications only. In this paper we will show that it is possible to make a systematic translation of algebraic data types and pattern-based function deflnitions, like they are used in most modern functional programming languages, to function applications. The trans- lated algebraic data types closely resemble the original
ABSTRACT Current process support technology for crisis management is often limited to either shar... more ABSTRACT Current process support technology for crisis management is often limited to either sharing of information or hard-coded process support through dedicated systems. Workflow management systems have the potential to improve crisis response operations by automating coordination aspects. Unfortunately most contemporary systems can only support static workflows, hence yielding inflexible support systems. Recent work on the use of functional programming techniques for workflow modeling has led to the development of the iTask system. It uses function combination to model dynamic datadriven processes and generates executable workflow support systems. Because of its focus on dynamic processes it appears promising for development of flexible crisis response systems. In this paper we present an initial discussion of the potential of the iTask system for crisis management applications. We give an overview of the iTask system, and discuss to what extent it meets the requirements of the crisis management domain.
The dynamic nature of crisis response operations and the rigidity of workflow modelling languages... more The dynamic nature of crisis response operations and the rigidity of workflow modelling languages are two things that do not go well together. A recent alternative approach to workflow management systems that allows for more flexibility is the iTask system. It uses an embedded functional language for the specification of workflow models that integrates control-flow with data-flow in dynamic data-dependent
In this paper we present the stepwise construction of an efficient interpreter for lazy functiona... more In this paper we present the stepwise construction of an efficient interpreter for lazy functional programming languages like Haskell and Clean. The interpreter is realized by first transforming the source language to the intermediate language SAPL (Simple Application Programming Language) consisting of pure functions only. During this transformation algebraic data types and pattern-based function definitions are mapped to functions. This eliminates the need for constructs for Algebraic Data Types and Pattern Matching in SAPL. For SAPL a simple and elegant interpreter is constructed using straightforward graph reduction techniques. This interpreter can be considered as a prototype implementa- tion of lazy functional programming languages. Using abstract interpretation tech- niques the interpreter is optimised. The performance of the resulting interpreter turns out to be very competitive in a comparison with other interpreters like Hugs, Helium, GHCi and Amanda for a number benchmark...
Modern military operations are complex endeavours involving different services and nations, as we... more Modern military operations are complex endeavours involving different services and nations, as well as governmental, commercial, non-governmental, and international organizations. Each partner may have its own planning process and tools. This diversity must be orchestrated to plan the overall operation, while maintaining the agility to respond to changing situations. We contend that dynamic workflow mechanisms are suited to planning military operations. We developed the iTask dynamic workflow system that enables the construction of high level multi-user workflow applications. Workflows can change in response to dynamic situations, new tasks can be spawned by or be dependent on previous tasks, tasks can be dynamically adapted. iTask based applications have a web-based user interface, allowing external partners to use them without installing special software. Moreover, new parties can join them on-thefly. Because of its focus on dynamic processes iTask appears promising for developmen...
The Internet has become a prominent platform for the deployment of computer applications. Web-bro... more The Internet has become a prominent platform for the deployment of computer applications. Web-browsers are an important interface for e-mail, on-line shopping, and banking applications. Despite this popularity, the development of web applications is a difficult job through their complex client-server structure. Web applications use client-side processing to speed up their performance. This is often realized by using an interpreter at the browser side. This complicates the development of web applications even more. The programmer has to develop code for both server and client and these parts should co-operate closely to obtain the desired result. Functional programming languages like Haskell and Clean are a promising development platform for web applications. They support higher order functions that enable a high level of compositional programming where irrelevant details can be hidden for the developer. They support generic programming techniques for automatic generation and handlin...
International Conference on Acoustics, Speech, and Signal Processing, 1989
ABSTRACT The authors examine the benefits of using highly parallel, general-purpose MIMD machines... more ABSTRACT The authors examine the benefits of using highly parallel, general-purpose MIMD machines for image processing. They argue that for low-level image processing the only advantages are flexibility and ease of development, which are relatively unimportant in comparison to those of more efficient special-purpose hardware. In high-level image processing, however, parallel algorithms will, in general, require computer system features that are not satisfiable by special-purpose hardware or SIMD machines. Therefore, image processing applications for which the high-level part is the most time consuming can benefit the most from MIMD machines. For an optimally efficient implementation the authors recommend a hybrid approach. Reference throughout is made to the Distributed Object Oriented Machine (DOOM), and MIMD computer intended to exploit coarse-grain parallelism
ABSTRACT Although the λ-calculus is well known as a universal programming language, it is seldom ... more ABSTRACT Although the λ-calculus is well known as a universal programming language, it is seldom used for actual programming or expressing algorithms. Here we demonstrate that it is possible to use the λ-calculus as a comprehensive formalism for programming by showing how to convert programs written in functional programming languages like Clean and Haskell to closed λ-expressions. The transformation is based on using the Scott-encoding for Algebraic Data Types instead of the more common Church encoding. In this way we not only obtain an encoding that is better comprehensible but that is also more efficient. As a proof of the pudding we provide an implementation of Eratosthenes’ prime sieve algorithm as a self-contained, 143 character length, λ-expression.
ABSTRACT In this paper a parallel algorithm for branch-and-bound problems is sketched. It is desi... more ABSTRACT In this paper a parallel algorithm for branch-and-bound problems is sketched. It is designed to run on MIMD machines and exploits coarse grain parallelism. Due to the irregular and unpredictable behavior of branch-and-bound algorithms, it is hard to obtain a good load-balance. Another design issue is the minimization of the communication overhead. Our algorithm overcomes these problems by a dynamic load-balancing strategy and a dynamic way to decide when communication is really useful. After first sketching a general parallel algorithm for branch-and-bound problems, we concentrate on a particular instance of a branch-and-bound problem: the so-called knapsack problem. The performance of the algorithm for this problem is measured with a simulator for a multiprocessor system.
The iTask library of Clean enables the user to specify web-enabled workflow systems on a high lev... more The iTask library of Clean enables the user to specify web-enabled workflow systems on a high level of abstraction. Details like client-server communication, storage and retrieval of state information, HTML generation, and web form handling are all handled automatically. Using only standard HTML web browser elements also has a disadvantage: it does not offer the same level of interaction as
It is generally known that algorithms can be expressed using simple function applications only. I... more It is generally known that algorithms can be expressed using simple function applications only. In this paper we will show that it is possible to make a systematic translation of algebraic data types and pattern-based function deflnitions, like they are used in most modern functional programming languages, to function applications. The trans- lated algebraic data types closely resemble the original
ABSTRACT Current process support technology for crisis management is often limited to either shar... more ABSTRACT Current process support technology for crisis management is often limited to either sharing of information or hard-coded process support through dedicated systems. Workflow management systems have the potential to improve crisis response operations by automating coordination aspects. Unfortunately most contemporary systems can only support static workflows, hence yielding inflexible support systems. Recent work on the use of functional programming techniques for workflow modeling has led to the development of the iTask system. It uses function combination to model dynamic datadriven processes and generates executable workflow support systems. Because of its focus on dynamic processes it appears promising for development of flexible crisis response systems. In this paper we present an initial discussion of the potential of the iTask system for crisis management applications. We give an overview of the iTask system, and discuss to what extent it meets the requirements of the crisis management domain.
The dynamic nature of crisis response operations and the rigidity of workflow modelling languages... more The dynamic nature of crisis response operations and the rigidity of workflow modelling languages are two things that do not go well together. A recent alternative approach to workflow management systems that allows for more flexibility is the iTask system. It uses an embedded functional language for the specification of workflow models that integrates control-flow with data-flow in dynamic data-dependent
In this paper we present the stepwise construction of an efficient interpreter for lazy functiona... more In this paper we present the stepwise construction of an efficient interpreter for lazy functional programming languages like Haskell and Clean. The interpreter is realized by first transforming the source language to the intermediate language SAPL (Simple Application Programming Language) consisting of pure functions only. During this transformation algebraic data types and pattern-based function definitions are mapped to functions. This eliminates the need for constructs for Algebraic Data Types and Pattern Matching in SAPL. For SAPL a simple and elegant interpreter is constructed using straightforward graph reduction techniques. This interpreter can be considered as a prototype implementa- tion of lazy functional programming languages. Using abstract interpretation tech- niques the interpreter is optimised. The performance of the resulting interpreter turns out to be very competitive in a comparison with other interpreters like Hugs, Helium, GHCi and Amanda for a number benchmark...
Modern military operations are complex endeavours involving different services and nations, as we... more Modern military operations are complex endeavours involving different services and nations, as well as governmental, commercial, non-governmental, and international organizations. Each partner may have its own planning process and tools. This diversity must be orchestrated to plan the overall operation, while maintaining the agility to respond to changing situations. We contend that dynamic workflow mechanisms are suited to planning military operations. We developed the iTask dynamic workflow system that enables the construction of high level multi-user workflow applications. Workflows can change in response to dynamic situations, new tasks can be spawned by or be dependent on previous tasks, tasks can be dynamically adapted. iTask based applications have a web-based user interface, allowing external partners to use them without installing special software. Moreover, new parties can join them on-thefly. Because of its focus on dynamic processes iTask appears promising for developmen...
The Internet has become a prominent platform for the deployment of computer applications. Web-bro... more The Internet has become a prominent platform for the deployment of computer applications. Web-browsers are an important interface for e-mail, on-line shopping, and banking applications. Despite this popularity, the development of web applications is a difficult job through their complex client-server structure. Web applications use client-side processing to speed up their performance. This is often realized by using an interpreter at the browser side. This complicates the development of web applications even more. The programmer has to develop code for both server and client and these parts should co-operate closely to obtain the desired result. Functional programming languages like Haskell and Clean are a promising development platform for web applications. They support higher order functions that enable a high level of compositional programming where irrelevant details can be hidden for the developer. They support generic programming techniques for automatic generation and handlin...
Uploads
Papers by Jan Martin Jansen