This report covers the activities of the 3(rd) European Lisp Workshop. We introduce the motivation for a workshop focussing on languages in the Lisp family, and mention relevant organisational aspects. We summarize th...
详细信息
ISBN:
(纸本)9783540717720
This report covers the activities of the 3(rd) European Lisp Workshop. We introduce the motivation for a workshop focussing on languages in the Lisp family, and mention relevant organisational aspects. We summarize the presentations and discussions, including Nick Levine's keynote talk, and provide pointers to related work and events.
Scientific and engineering programming has been around since the beginning of computing, often being the driving force for new system development and innovation. At the same time a continual focus on new modeling capa...
详细信息
ISBN:
(纸本)9780769527840
Scientific and engineering programming has been around since the beginning of computing, often being the driving force for new system development and innovation. At the same time a continual focus on new modeling capabilities, and some apparent cultural issues, find software processes for many computational science and engineering (CSE) software projects lacking. Certainly there are notable exceptions, but our experience has been that CSE software exceptions, but our experience has been that CSE software projects, although committed to writing high-quality software, have few if any formal software processes and tools in place, and are often unaware of formal software quality assurance (SQA) concepts. Presently, increasing complexity of applications and a broad push to certify computations are dictating, a higher standard for CSE software quality;it is no longer sufficient to claim to write high quality software. However, traditional software development models can be impractical for CSE projects to implement. Despite this, CSE software teams can benefit by implementing valuable SQA processes and tools. In this paper we outline some the processes and tools that are successfully used by the Trilinos Project. These tools and processes have been useful not only in increasing verifiable software quality, but also have improved overall software quality, and the development experience in general.
A new coordination language for distributed data-parallel programs is presented, call SNet. The intention of SNet is to introduce advanced structuring techniques into a coordination language: stream processing and var...
详细信息
ISBN:
(纸本)9783540708803
A new coordination language for distributed data-parallel programs is presented, call SNet. The intention of SNet is to introduce advanced structuring techniques into a coordination language: stream processing and various forms of subtyping. The talk will present the organisation of SNet, its major type inferencing algorithms and will briefly discuss the current state of implementation and possible applications.
Information flow exhibited by multithreaded programs is subtle because the attacker may exploit scheduler properties when deducing secret information from publicly observable outputs. Volpano and Smith have introduced...
详细信息
ISBN:
(纸本)9783540708803
Information flow exhibited by multithreaded programs is subtle because the attacker may exploit scheduler properties when deducing secret information from publicly observable outputs. Volpano and Smith have introduced a protect command that prevents the scheduler from observing sensitive timing behavior of protected commands and therefore prevents undesired information flows. While a useful construct, protect is nonstandard and difficult to implement. This paper presents a transformation that eliminates the need for protect under cooperative scheduling. We show that both termination-insensitive and termination-sensitive security can be enforced by variants of the transformation in a language with dynamic thread creation.
Spec# is research programming system that aims to provide programmers with a higher degree of rigor than in common languages today. The Spec# language extends the object-oriented .NET language C#, adding features like...
详细信息
Semi-inversion is a generalisation of inversion: A semi-inverse of a program takes some of the inputs and outputs of the original program and returns the remaining inputs and outputs. We report on an implementation of...
详细信息
ISBN:
(纸本)9783540708803
Semi-inversion is a generalisation of inversion: A semi-inverse of a program takes some of the inputs and outputs of the original program and returns the remaining inputs and outputs. We report on an implementation of a semi-inversion method. We will show some examples of semi-inversions made by the implementation and discuss limitations and possible extensions.
This talk is about Erlang and Concurrency Oriented programming. We start with a short history of Erlang and of shared state and message passing concurrency. We argue that it is impossible to make fault-tolerant system...
详细信息
In 1969 the Second All-Soviet programming Conference took place here, in Akademgorodok. One of the hot issues discussed at that conference was the problem of crisis of programming, which was proposed by Andrei Ershov....
详细信息
ISBN:
(纸本)9783540708803
In 1969 the Second All-Soviet programming Conference took place here, in Akademgorodok. One of the hot issues discussed at that conference was the problem of crisis of programming, which was proposed by Andrei Ershov. Indeed, programs were becoming bulky and complicated, and were swarming with errors; the programmer’s labor efficiency was thus low, and the development process hardly manageable. The laundry list of troubles can be continued. One can recall the dramatic story of developing the OS 360, which Brooks told in his “The Mythical Man Month”. The world has changed drastically over the past years, much due to the advances in computer science. Even the mighty OS 360 is, by today’s standards, an all-average program. But have all those troubles and problems been solved? No - and they’ve kept accumulating.
Aspect-oriented programming languages are becoming commonplace, and programmers are accumulating experience in building and maintaining aspect-oriented systems. This paper addresses how the use of these languages affe...
详细信息
ISBN:
(纸本)9783879408191
Aspect-oriented programming languages are becoming commonplace, and programmers are accumulating experience in building and maintaining aspect-oriented systems. This paper addresses how the use of these languages affects program design: how aspect-oriented languages change the design space, which designs should be emulated and which avoided, and the strengths and weaknesses of particular kinds of design. We identify five patterns of aspect-oriented design: Spectator, Regulator, Patch, Extension, and Heterarchical Design. For each pattern, we describe the problem it solves, show how aspect-oriented language features are used in the pattern, give characteristic examples of the pattern's use, and assess its benefits and liabilities. Our patterns provide the beginnings of a taxonomy of aspect-oriented design. We believe that they should help programmers to understand and evaluate existing aspect-oriented designs, to improve new designs, to make better use of the aspect-oriented features of new programming languages, and also guide those who wish to implement these patterns in non aspect-oriented languages.
Despite the automated refactoring support provided by today's IDEs many program transformations that are easy to conceptualize - such as improving the implementation of a design pattern - are not supported and are...
详细信息
ISBN:
(纸本)9781595938114
Despite the automated refactoring support provided by today's IDEs many program transformations that are easy to conceptualize - such as improving the implementation of a design pattern - are not supported and are hence hard to perform. We propose an extension to the refactoring paradigm that provides for the modular maintenance of crosscutting design idioms, supporting both substitutability of design idiom implementations and the checking of essential constraints. We evaluate this new approach through the design and use of Arcum, an IDE-based mechanism for declaring, checking, and evolving crosscutting design idioms. Copyright 2007 ACM.
暂无评论