2,743 research outputs found
Design science, engineering science and requirements engineering
For several decades there has been a debate in the computing sciences about the relative roles of design and empirical research, and about the contribution of design and research methodology to the relevance of research results. In this minitutorial we review this debate and compare it with evidence about the relation between design and research in the history of science and technology. Our review shows that research and design are separate but concurrent activities, and that relevance of research results depends on problem setting rather than on rigorous methods. We argue that rigorous scientific methods separate design from research, and we give simple model for how to do this in a problem-driven way
Types for X10 Clocks
X10 is a modern language built from the ground up to handle future parallel
systems, from multicore machines to cluster configurations. We take a closer
look at a pair of synchronisation mechanisms: finish and clocks. The former
waits for the termination of parallel computations, the latter allow multiple
concurrent activities to wait for each other at certain points in time. In
order to better understand these concepts we study a type system for a stripped
down version of X10. The main result assures that well typed programs do not
run into the errors identified in the X10 language reference, namely the
ClockUseException. The study will open, we hope, doors to a more flexible
utilisation of clocks in the X10 language.Comment: In Proceedings PLACES 2010, arXiv:1110.385
From Events to Reactions: A Progress Report
Syndicate is a new coordinated, concurrent programming language. It occupies
a novel point on the spectrum between the shared-everything paradigm of threads
and the shared-nothing approach of actors. Syndicate actors exchange messages
and share common knowledge via a carefully controlled database that clearly
scopes conversations. This approach clearly simplifies coordination of
concurrent activities. Experience in programming with Syndicate, however,
suggests a need to raise the level of linguistic abstraction. In addition to
writing event handlers and managing event subscriptions directly, the language
will have to support a reactive style of programming. This paper presents
event-oriented Syndicate programming and then describes a preliminary design
for augmenting it with new reactive programming constructs.Comment: In Proceedings PLACES 2016, arXiv:1606.0540
FastFlow tutorial
FastFlow is a structured parallel programming framework targeting shared
memory multicores. Its layered design and the optimized implementation of the
communication mechanisms used to implement the FastFlow streaming networks
provided to the application programmer as algorithmic skeletons support the
development of efficient fine grain parallel applications. FastFlow is
available (open source) at SourceForge
(http://sourceforge.net/projects/mc-fastflow/). This work introduces FastFlow
programming techniques and points out the different ways used to parallelize
existing C/C++ code using FastFlow as a software accelerator. In short: this is
a kind of tutorial on FastFlow.Comment: 49 pages + cove
The design and implementation of a multimedia storage server tosupport video-on-demand applications
In this paper we present the design and implementation of a client/server based multimedia architecture for supporting video-on-demand applications. We describe in detail the software architecture of the implementation along with the adopted buffering mechanism. The proposed multithreaded architecture obtains, on one hand, a high degree of parallelism at the server side, allowing both the disk controller and the network card controller work in parallel. On the other hand; at the client side, it achieves the synchronized playback of the video stream at its precise rate, decoupling this process from the reception of data through the network. Additionally, we have derived, under an engineering perspective, some services that a real-time operating system should offer to satisfy the requirements found in video-on-demand applications.This research has been supported by the Regional Research Plan of the Autonomus Community of Madrid under an F.P.I. research grant.Publicad
- …