Many researchers believe that software transactional memory (STM) will play an important role in the transition to multicore systems. However, little effort has been placed on assessing whether STM delivers on its pro...
详细信息
Most of the mainstream programminglanguages in use today originated in the 70s and 80s. Even the scripting languages in growing use today tend to be based on paradigms established twenty years ago. Does the arrival o...
详细信息
ISBN:
(纸本)9781450309424
Most of the mainstream programminglanguages in use today originated in the 70s and 80s. Even the scripting languages in growing use today tend to be based on paradigms established twenty years ago. Does the arrival of multicore, manycore, and cloud computing mean that we need to establish a new set of programminglanguages with new paradigms, or should we focus on adding more parallel programming features to our existing programminglanguages? Consistent with the SPLASH theme of the Internet as the world-wide Virtual Machine, and the Onward! theme focused on the future of Software languagedesign, this panel will discuss the role that programminglanguages should play in this new distributed, highly parallel computing milieu. Do we need new languages with new programming paradigms, and if so, what should these new languages look like?
Linearity is a multi-faceted and ubiquitous notion in the analysis and the development of programminglanguage concepts. We study linearity in a denotational perspective by picking out programs that correspond to line...
详细信息
ISBN:
(纸本)9781450308656
Linearity is a multi-faceted and ubiquitous notion in the analysis and the development of programminglanguage concepts. We study linearity in a denotational perspective by picking out programs that correspond to linear functions between coherence spaces. We introduce a language, named SlPCF(star), that increases the higher-order expressivity of a linear core of PCF by means of new operators related to exception handling and parallel evaluation. SlPCF(star) allows us to program all the finite elements of the model and, consequently, it entails a full abstraction result that makes the reasoning on the equivalence between programs simpler. Denotational linearity provides also crucial information for the operational evaluation of programs. We formalize two evaluation machineries for the language. The first one is an abstract and concise operational semantics designed with the aim of explaining the new operators, and is based on an infinite-branching search of the evaluation space. The second one is more concrete and it prunes such a space, by exploiting the linear assumptions. This can also be regarded as a base for an implementation.
While parallel programming for very regular problems has been used in the scientific community by non-computer-scientists successfully for a few decades now, concurrent programming and solving irregular problems remai...
详细信息
language extensions are proposed to make aspects more natural for programmers. The extensions involve two main elements: (1) Completely separating the identification of events and locally accumulating information abou...
详细信息
ISBN:
(纸本)9781450305563
language extensions are proposed to make aspects more natural for programmers. The extensions involve two main elements: (1) Completely separating the identification of events and locally accumulating information about them from any possible response to the events, and (2) composing both events and aspects into hierarchies that loosen the connection to code-level methods and field names. The combination of these extensions are shown (in preliminary experiments) to increase modularity, and facilitate using terminology natural for each concern. Extensions to AspectJ and Compose* are shown to illustrate how the concepts can be easily embodied in particular languages. The execution model of ALIA4J is used to present the concepts in a language-independent way, providing a prototype generic implementation of the extensions, that can be used to implement them for both AspectJ and Compose*. The extensions increase the flexibility of aspects, encourage reuse, and allow expressing events and responses to them in terms natural to the concern that an aspect treats.
Domain-Specific languages (DSLs) allow modelling concerns at a high abstraction level. This simplifies the modelling process and ensures that non-technical stakeholders can be more closely involved in software develop...
详细信息
The Architectural Patterns for Parallel programming is a collection of patterns related with a method for developing the coordination structure of parallel software systems. These architectural patterns take as input ...
详细信息
ISBN:
(纸本)9781450321099
The Architectural Patterns for Parallel programming is a collection of patterns related with a method for developing the coordination structure of parallel software systems. These architectural patterns take as input information (a) the available parallel hardware platform, (b) the parallel programminglanguage of this platform, and (c) the analysis of the problem to solve, in terms of an algorithm and data. In this paper, it is presented the application of the architectural patterns along with the method for developing a coordination structure for solving an N-Body Simulation. The method used here takes the information from the problem analysis, selects an architectural pattern for the coordination, and provides some elements about its implementation. Copyright 2011 acm.
Managing variation is an important problem in software engineering that takes different forms, ranging from version control and configuration management to software product lines. In this paper, I present our recent w...
详细信息
Managing variation is an important problem in software engineering that takes different forms, ranging from version control and configuration management to software product lines. In this paper, I present our recent work on the choice calculus, a fundamental representation for software variation that can serve as a common language of discourse for variation research, filling a role similar to lambda calculus in programminglanguage research. After motivating the design of the choice calculus and sketching its semantics, I will discuss several potential application areas.
The proceedings contain 27 papers. The topics discussed include: AspectLTL: an aspect language for LTL specifications;from aspect-oriented requirements models to aspect-oriented business process design models: an iter...
ISBN:
(纸本)9781450305563
The proceedings contain 27 papers. The topics discussed include: AspectLTL: an aspect language for LTL specifications;from aspect-oriented requirements models to aspect-oriented business process design models: an iterative and concern-driven approach for software engineering;compositional type-checking for delta-oriented programming;on the impact of crosscutting concern projection on code measurement;aspect-based dynamic software updating: a model and its empirical evaluation;translucid contracts: expressive specification and modular verification for aspect-oriented interfaces;an aspect-oriented approach for implementing evolutionary computation applications;an exploratory study of code smells in evolving aspect-oriented systems;putting events in context: aspects for event-based distributed programming;making aspects natural: events and composition;and modularity for the changing meaning of changing.
暂无评论