655 research outputs found
A programming-language extension for distributed real-time systems
In this paper we propose a method for extending programming languages that enables the specification of timing properties of systems. The way time is treated is not language specific and the extension can therefore be included in many existing programming languages. The presented method includes a view on the system development process. An essential feature is that it enables the construction of (hard) real-time programs that may be proven correct independently of the properties of the machines that are used for their execution. It therefore provides a similar abstraction from the execution platform as is normal for non-real-time languages. The aim of this paper is to illustrate the method and demonstrate its applicability to actual real-time problems. To this end we define a simple programming language that includes the timing extension. We present a formal semantics for a characteristic part of the language constructs and apply formal methods to prove the correctness of a small example program. We consider in detail a larger example, namely the mine-pump problem known from the literature. We construct a real-time program for this problem and describe various ways to map the program to an implementation for different platforms
Recommended from our members
Growing cybernetic ears: transduction and performativity in the analogue and digital what have you
At a time when digital technologies have become ubiquitous in music making, and where the majority of research into music technology happens at the computational âcutting edgeâ, this practice-based PhD explores analogue technologies deemed, in the main, obsolete, anachronistic, or as quaint nostalgic throwbacks, and asks how a combination of technological, historical and practice-based research, focused through commitment to artistic outputs in the domain of music technology, might shed new light on the terms analogue and digital, and on the nature of the analogue-digital relationship.
Underlying much contemporary enthusiasm for âthe digitalâ are progress narratives that rely on both a succession logic (old analogue technology gets replaced by new digital technology) and an assumption of isomorphism (the digital technology does all the same things as the replaced technology, though often with âenhancedâ affordances). This thesis questions such assumptions along historical, philosophical and practice-based trajectories.
Key to these research trajectories is the trans-discipline cybernetics, in particular the second-order cybernetics of Gordon Pask, whose self-designation âphilosophical mechanicâ indicates the importance he placed on a cyclical, mutually accommodating thinking-designing-making. Pask presented a powerful practical methodology for the examination and creation of dynamical systems in flux, systems that evolve as a result of participant interaction, systems that can be seen to manifest self-organisation. Second-order cybernetics puts the emphasis on processes in interaction rather than positing pre-existing objects (including concepts) in a world âout thereâ. Cybernetics helps us to explore systems whose complexity and interdependence precludes the separation out into constituent parts, systems where control is shared across multiple mutually interacting dimensions, and where the observer is a committed participant whose actions, interests and biases cannot be divorced from the interactions therein.
Two other key concepts are: (1) transduction, which relates energy, information, patterns of growth, or other dynamical processes across media or between domains; (2) performativity, an interventional act that brings forth a world. Transduction is essential to an understanding of recording studio processes and practices: the microphone, signal processing and recording itself all rely on transduction. When viewed from a performative perspective, actions such as recording are found to be carried out very differently when the final stage of transduction is discrete (the case with the now ubiquitous digital audio workstation) or continuous (such as recording to tape). This difference is primarily due to the hyper-plasticity of digital audio, a taking of sound âout of timeâ. Rather than seeing this as an evolution of âprecursorâ analogue technologies, as most accounts have it, this thesis takes the perspective that this is a difference in kind, rather than one of degree, and explores that difference with a particular focus on emergent and intertwined cultural, embodied and technological systems, rather than on end products.
The second half of the thesis presents the compositional practice, ranging from experimental work on tape music composition and installation, through a series of modular synthesis live performances, to tape-based recording of pop music. The physical, gestural engagement with the resistant materiality of these technologies emphasises a very different cognitive engagement with processes of composition and production to that which happens with supposed âsuccessorâ digital technologies; assumptions of isomorphism, buttressed by skeuomorphic emulation, tend to occlude this cognitive distinction.
This thesis is offered as an act of cybernetic musicking â resolutely practical in orientation, with a wide-ranging, trans-disciplinary theoretical framework, and with the emphasis not on things but on ongoing processes in complex interaction with a world in constant becoming
Test generation for high coverage with abstraction refinement and coarsening (ARC)
Testing is the main approach used in the software industry to expose failures. Producing thorough test suites is an expensive and error prone task that can greatly benefit from automation. Two challenging problems in test automation are generating test input and evaluating the adequacy of test suites: the first amounts to producing a set of test cases that accurately represent the software behavior, the second requires defining appropriate metrics to evaluate the thoroughness of the testing activities. Structural testing addresses these problems by measuring the amount of code elements that are executed by a test suite. The code elements that are not covered by any execution are natural candidates for generating further test cases, and the measured coverage rate can be used to estimate the thoroughness of the test suite. Several empirical studies show that test suites achieving high coverage rates exhibit a high failure detection ability. However, producing highly covering test suites automatically is hard as certain code elements are executed only under complex conditions while other might be not reachable at all. In this thesis we propose Abstraction Refinement and Coarsening (ARC), a goal oriented technique that combines static and dynamic software analysis to automatically generate test suites with high code coverage. At the core of our approach there is an abstract program model that enables the synergistic application of the different analysis components. In ARC we integrate Dynamic Symbolic Execution (DSE) and abstraction refinement to precisely direct test generation towards the coverage goals and detect infeasible elements. ARC includes a novel coarsening algorithm for improved scalability. We implemented ARC-B, a prototype tool that analyses C programs and produces test suites that achieve high branch coverage. Our experiments show that the approach effectively exploits the synergy between symbolic testing and reachability analysis outperforming state of the art test generation approaches. We evaluated ARC-B on industry relevant software, and exposed previously unknown failures in a safety-critical software component
Computational composition strategies in audiovisual laptop performance
We live in a cultural environment in which computer based musical performances have become ubiquitous. Particularly the use of laptops as instruments is a thriving practice in many genres and subcultures. The opportunity to command the most intricate level of control on the smallest of time scales in music composition and computer graphics introduces a number of complexities and dilemmas for the performer working with algorithms. Writing computer code to create audiovisuals offers abundant opportunities for discovering new ways of expression in live performance while simultaneously introducing challenges and presenting the user with difficult choices. There are a host of computational strategies that can be employed in live situations to assist the performer, including artificially intelligent performance agents who operate according to predefined algorithmic rules. This thesis describes four software systems for real time multimodal improvisation and composition in which a number of computational strategies for audiovisual laptop performances is explored and which were used in creation of a portfolio of accompanying audiovisual compositions
Developing a Polyrhythmic Idiolect
This practice-based multi-media study sets out to reveal how procedural methodologies effect transformative change in a polyrhythmic drum-set idiolect, premised on the idea that archetypal variants and phraseological patterning constituting my musical âvoiceâ are, primarily, results of a procedural mind rather than aggregations of replicative ideas acquired from elsewhere. The thesis accordingly sets out a detailed participant-observer study designed to reveal methodological processes and outcomes pertaining to the cultivation of a unique sonic identity. In revealing how structural-organisational processes can evolve personalised ways of manipulating rhythm, this research offers new analytical tools for understanding what improvising drummers do. Two important aims of the study are (a) to effect and document transformative change in my drum-set language through the application of improvisational methodologies, and (b) to reveal these procedures in operation from a participant-observer perspective, thereby showing how sonic identity can be individuated through personal agency and decision-making/selection processes operating within constraints. Original generative methodologies for hybridizing vocabulary and propagating unique archetypal variants â namely, the Iterative Loop Cycle and Transitional Synthesis - are central to this project, which targets six developmental areas: Suspended Primary Pulsation, Densities, Pulse Streaming, Transposing Rhythm, Isochronous Asymmetry and Mixed Rates
Cybernetics in Music
This thesis examines the use of cybernetics (the science of systems) in music, through the tracing of an obscured history. The author postulates that cybernetic music may be thought of as genera of music in its own right, whose practitioners share a common ontology and set of working practices that distinctly differ from traditional approaches to composing electronic music. Ultimately, this critical examination of cybernetics in music provides the framework for a series of original compositions and the foundation of the further study of cybernetic music
- âŚ