Onward Papers 2
"The Magic Carpets of Aladdin"

Wednesday, 28 Otober 2009
3:30 PM – 5:00 PM
Room:
Grand Republic B
Session chair: Elisa Baniassad


3:30 PM
Concurrency by Default: Using permissions to express dataflow in stateful programs
Sven Stork, Carnegie Mellon University / Institute for Software Research
Paulo Marques, University of Coimbra / Dep. Eng. Informatica
Jonathan Aldrich, Carnegie Mellon University / Institute for Software Research


Abstract: The rise of the multicore era is catapulting concurrency into mainstream programming. Current programming paradigms build in sequentiality, and as a result, concurrency support in those languages forces programmers into low-level reasoning about execution order.
In this paper, we introduce a new programming paradigm in which concurrency is the default.  Our Aeminium language uses access permissions to express logical dependencies in the code at a higher level of abstraction than sequential order. Therefore compiler/runtime-system can leverage that dependency information to allow concurrent execution.
Because in Aeminium programmers specify dependencies rather than control flow, there is no need to engage in difficult, error-prone, and low-level reasoning about execution order or thread interleavings. Developers can instead focus on the design of the program, and benefit as the runtime automatically extracts the concurrency inherent in.
3:50 PM
Modelling Software Processes - a Focus on Objectives
Diana Kirk, Auckland University of Technology (AUT)
Stephen MacDonell, Auckland University of Technology (AUT)
Ewan Tempero, The University of Auckland


Abstract: Existing software process models such as Waterfall and XP are characterised by unstated assumptions, a consequence of which is that we can not easily compare models or transfer data from one model to another. This means that software planners have no mechanism for selecting process activities that are best suited to individual projects. In this paper, we propose a framework for modelling software processes that supports representation and comparison of different kinds of software process. Our framework is based on a lift in focus from `choosing activities' to `identifying project objectives and selecting activities to meet those objectives'. We overview some evidence to support the claims of representation and comparison and discuss benefits and limitations of the approach.
4:10 PM
Language Factories
Tony Clark, Thames Valley University
Laurence Tratt, Bournemouth University


Abstract: Science, industry, and society are being revolutionized by radical new capabilities for information sharing, distributed computation, and collaboration offered by the World Wide Web. This revolution promises dramatic benefits but also poses serious risks due to the fluid nature of digital information. One important cross-cutting issue is managing and recording provenance, or metadata about the origin, context, or history of data. We posit that provenance will play a central role in emerging advanced digital infrastructures. In this paper, we outline the current state of provenance research and practice, identify hard open research problems involving provenance semantics, formal modeling, and security, and articulate a vision for the future of provenance.
4:30 PM
Writing Code for Other People
Thomas Mullen

Abstract: This paper demonstrates how the cognitive model of the mind can explain the core fundamentals behind widely accepted design principles. The conclusion is that software design is largely a task of chunking analogies and presents a theory that is detailed enough to be accessible to even the most inexperienced programmer. The corollary of which is a pedagogical approach to understanding design principles rather than the necessity of years of software development experience.