The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
Recent device shipment trends strongly indicate that the number of Web-enabled devices other than PCs and smart phones are growing rapidly. Marking the end of the dominant era of these two traditional device categories, people will soon commonly use various types of Internet-connected devices in their daily lives, where no single device will dominate. Since today's devices are mostly standalone and...
Event-driven programming is a popular methodology for the development of resource-constrained embedded systems. While it is a natural abstraction for applications that interface with the physical world, the disadvantage is that the control flow of a program is hidden in the maze of event handlers and call-back functions. TinyOS is a representative event-driven operating system, designed for wireless...
The Cresco distributed agent-based framework is designed to address the challenges of edge computing. We present an actor-model implementation for the management of large numbers of geographically distributed services, comprised from heterogeneous resources and communication protocols, in support of low-latency realtime streaming applications. We present the purpose of our work, the basic methodology,...
For low-rank Frobenius-norm approximations of matrices with non-negative entries, it is shown that the Lagrange dual is computable by semi-definite programming. Under certain assumptions the duality gap is zero. Even when the duality gap is non-zero, several new insights are provided.
This paper describes current research exploring the adaption of the Bridge21 pedagogical model for the provision of a Computer Science (CS) Continuing Professional Development (CPD) Programme for post-primary/high school teachers in the Republic of Ireland. This paper outlines the design of the programme and explores the delivery of two, week long CS CPD interventions delivered in the authors' home...
The sheer size of data sets from application domains such as biomedical and social networks will lead to the need to develop algorithms that have strict time bounds and can tolerate temporary unavailability of data if they are to produce acceptable results in feasible time. In this paper we describe a simple, yet powerful, object-based concurrent programming model that features atomicity, timed execution...
n-gram statistical language model has been successfully applied to capture programming patterns to support code completion and suggestion. However, the approaches using n-gram face challenges in capturing the patterns at higher levels of abstraction due to the mismatch between the sequence nature in n-grams and the structure nature of syntax and semantics in source code. This paper presents GraLan,...
Robot Programming by Demonstration (PbD) allows users to program a robot by demonstrating the desired behavior. Providing these demonstrations typically involves moving the robot through a sequence of states, often by physically manipulating it. This requires users to be co-located with the robot and have the physical ability to manipulate it. In this paper, we present a natural language based interface...
Functional programming is a technique for expressing the constructions and constructs of computer software. This technique treats calculations similarly to the calculation functions in mathematics. Therefore concepts of semantic- states and changeable data are avoided. It may be defined as a declarative technique of programming meaning that programs are mainly expressions. An efficient programming...
Advances in node-level architecture and interconnect technology needed to reach extreme scale necessitate a reevaluation of long-standing models of computation, in particular bulk synchronous processing. The end of Dennard-scaling and subsequent increases in CPU core counts each successive generation of general purpose processor has made the ability to leverage parallelism for communication an increasingly...
We present a new framework for reactive programming in OpenMusic, a visual programming language dedicated to computer-aided music composition. We highlight some characteristics of the programming and computation paradigms, and describe the implementation of a hybrid system merging demand-driven and event-driven evaluation models in this environment.
In Introductory Computer Science courses, especially Computer Science 1 (CS1), dropout rates are generally high and results are often disappointing. In order to motivate and engage students to achieve better results in CS1, our teaching strategy is based on designing several activities using a competences oriented approach. This paper describes the use of a framework proposed by Crismond and Adams...
Human-Computer Interaction (HCI) plays a critical role in software systems, especially when targeting vulnerable individuals (e.g., assistive technologies). However, there exists a gap between well-tooled software development methodologies and HCI techniques, which are generally isolated from the development toolchain and require specific expertise. In this paper, we propose a human-driven software...
Graphics Processing Units (GPUs) are becoming an integral part of modern supercomputer architectures due to their high compute density and performance per watt. In order to maximize utilization, it is imperative that applications running on these clusters have low synchronization and communication overheads. Partitioned Global Address Space (PGAS) models provide an attractive approach for developing...
Systemic Computation is an unconventional paradigm which defines a model of natural behavior and implies a massively parallel computer architecture. It is designed to be a computational paradigm for natural systems and processes modeling. Existing software implementations have been too limited in terms of performance, flexibility and programmability. This paper solves key problems that remained in...
Considering the digital simulation of complex systems, General-Purpose Computing on Graphics Processing Units (GPGPU) is a relevant approach for addressing scalability issues. However, GPU programming is a very specific approach that strongly limits both the accessibility and the re-usability of the frameworks developed using GPGPU. This paper presents our approach for the integration of GPU modules...
In recent years, new business and research opportunities have been increasingly emerging in the field of large-scale context-aware pervasive systems (e.g. pervasive health-care, city traffic monitoring, environmental monitoring, smart grids). These large-scale pervasive systems are characterized by the need to employ large number of context sources, process massive amounts of real-time context data,...
System resilience is an important challenge that needs to be addressed in the era of extreme scale computing. Exascale supercomputers will be architected using millions of processor cores and memory modules. As process technology scales, the reliability of such systems will be challenged by the inherent unreliability of individual components due to extremely small transistor geometries, variability...
In a Software Product Line reuse should be considered from the artifacts conception stage and, when implemented, these artifacts can be part of a library to be further reused by every domain application. In a model-driven context an application development can be seen as a set of transformations that lead to a final system. However, during the transformation process reuse techniques are not usually...
Software development processes have become highly complex with the increase in the complexity of software systems and their architectures. It is widely recognized that requirements engineering (RE) is a critical part of this process, along with the design of a system's software architecture with which to satisfy requirements. In this paper, we aim to provide a methodological approach for Architecture-oriented...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.