Map- and fold-like skeletons are a suitable abstractions to guide parallel program execution in functional array processing. However, when it comes to achieving high performance, it turns out that confining compilatio...
详细信息
ISBN:
(数字)9783540460282
ISBN:
(纸本)3540435379
Map- and fold-like skeletons are a suitable abstractions to guide parallel program execution in functional array processing. However, when it comes to achieving high performance, it turns out that confining compilation efforts to individual skeletons is insufficient. This paper proposes compilation schemes which aim at reducing runtime overhead due to communication and synchronization by embedding multiple array skeletons within a so-called spmd meta skeleton. Whereas the meta skeleton exclusively takes responsibility for the organization of parallel program execution, the original array skeletons are focussed to their individual numerical operation. While concrete compilation schemes assume multithreading in a shared memory environment as underlying execution model, ideas can be carried over to other settings straightforwardly. Preliminary performance investigations help to quantify potential benefits.
In the setting of program algebra (PGA). a projection from PGAu. i.e., PGA extended with a unit instruction operator, into PGA is defined. This is done via a composition that employs backward jumps and (labeled) goto&...
详细信息
In the setting of program algebra (PGA). a projection from PGAu. i.e., PGA extended with a unit instruction operator, into PGA is defined. This is done via a composition that employs backward jumps and (labeled) goto's. (C) 2002 Elsevier Science Inc. All rights reserved.
SAC is a purely functional array processing language designed with numerical applications in mind. It supports generic, high-level program specifications in the style of APL. However, rather than providing a fixed set...
Part of software maintenance consists in applying program transformations system-wide. In a number of recent papers, a factory approach has been advocated in which one program after another is fed to an assembly line ...
详细信息
Part of software maintenance consists in applying program transformations system-wide. In a number of recent papers, a factory approach has been advocated in which one program after another is fed to an assembly line that consists of a sequence of transformation tools. The general feeling seems to be that such factories have to be constructed and operated by specialists (the I vendors'). We think this is an undesirable situation. In this paper we present a software renovation factory which is, as much as possible, user controlled. The factory is controlled by means of a graphical user interface. Two modes of control are distinguished: an architectural mode where an operational renovation factory is constructed out of a set of available tools (parsers, unparsers, transformation modules), and an execution mode where the operational factory is applied for renovation purposes. We report about an experiment with a COBOL transformation factory which has been used for the conversion of a real-world business application system. (C) 2002 Elsevier Science B.V. All rights reserved.
The Lübeck Transformation System supports the refinement of higher order algebraic specifications following sound transformation rules. We discuss the system requirements, describe the specification language and ...
详细信息
Part of software maintenance consists in applying program transformations system-wide. In a number of recent papers, a factory approach has been advocated in which one program after another is fed to an assembly line ...
详细信息
ISBN:
(纸本)0769500900
Part of software maintenance consists in applying program transformations system-wide. In a number of recent papers, a factory approach has been advocated in which one program after another is fed to an assembly line that consists of a sequence of transformation tools. The general feeling seems to be that such factories have to be constructed and operated by specialists (the I vendors'). We think this is an undesirable situation. In this paper we present a software renovation factory which is, as much as possible, user controlled. The factory is controlled by means of a graphical user interface. Two modes of control are distinguished: an architectural mode where an operational renovation factory is constructed out of a set of available tools (parsers, unparsers, transformation modules), and an execution mode where the operational factory is applied for renovation purposes. We report about an experiment with a COBOL transformation factory which has been used for the conversion of a real-world business application system. (C) 2002 Elsevier Science B.V. All rights reserved.
We describe a compositional framework, together with its supporting toolset, for hardware/software co-design. Our framework is an integration of a formal approach within a traditional design flow. The formal approach ...
详细信息
We describe a compositional framework, together with its supporting toolset, for hardware/software co-design. Our framework is an integration of a formal approach within a traditional design flow. The formal approach is based on Interval Temporal Logic and its executable subset, Tempura. Refinement is the key element in our framework because it will derive from a single formal specification of the system the software and hardware parts of the implementation, while preserving all properties of the system specification. During refinement simulation is used to choose the appropriate refinement rules, which are applied automatically in the HOL system. The framework is illustrated with two case studies. The work presented is part of a UK collaborative research project between the software Technology Research Laboratory at the De Montfort University and the Oxford University Computing Laboratory.
Concurrency and failures are fundamental problems in distributed computing. One likes to think that the mechanisms needed to address these problems can be separated from the rest of the distributed application: in mod...
详细信息
ISBN:
(纸本)3540437592
Concurrency and failures are fundamental problems in distributed computing. One likes to think that the mechanisms needed to address these problems can be separated from the rest of the distributed application: in modern words, these mechanisms could be aspectized. Does this however make sense? This paper relates an experience that conveys our initial and indeed biased intuition that the answer is in general no. Except for simple academic examples, it is hard and even potentially dangerous to separate concurrency control and failure management from the actual application. We point out the very facts that (1) an aspect-oriented language can, pretty much like a macro language, be beneficial for code factorization (but should be reserved to experienced programmers), and (2) concurrency and failures are particularly hard to aspectize because they are usually par. of the phenomenon that objects should simulate. They are in this sense different than other concerns, like for instance tracing, which might be easier to aspectize.
State machines consume and process actions complementary to programs issuing actions. State machines maintain a state and reply with a boolean response to each action in their inter-face. As state machines offer a ser...
详细信息
State machines consume and process actions complementary to programs issuing actions. State machines maintain a state and reply with a boolean response to each action in their inter-face. As state machines offer a service to programs, their interface is also called a service interface. State machines can be combined with several natural operators, thus giving rise to a state machine calculus. State machines are used for abstract data type modeling. (C) 2002 Published by Elsevier Science Inc.
This paper proposes to use the formal technique of Concept Analysis to analyse how methods and classes in an object-oriented inheritance hierarchy are coupled by means of the inheritance and interfaces relationships. ...
详细信息
暂无评论