115,106 research outputs found
The role of concurrency in an evolutionary view of programming abstractions
In this paper we examine how concurrency has been embodied in mainstream
programming languages. In particular, we rely on the evolutionary talking
borrowed from biology to discuss major historical landmarks and crucial
concepts that shaped the development of programming languages. We examine the
general development process, occasionally deepening into some language, trying
to uncover evolutionary lineages related to specific programming traits. We
mainly focus on concurrency, discussing the different abstraction levels
involved in present-day concurrent programming and emphasizing the fact that
they correspond to different levels of explanation. We then comment on the role
of theoretical research on the quest for suitable programming abstractions,
recalling the importance of changing the working framework and the way of
looking every so often. This paper is not meant to be a survey of modern
mainstream programming languages: it would be very incomplete in that sense. It
aims instead at pointing out a number of remarks and connect them under an
evolutionary perspective, in order to grasp a unifying, but not simplistic,
view of the programming languages development process
Automatic differentiation in machine learning: a survey
Derivatives, mostly in the form of gradients and Hessians, are ubiquitous in
machine learning. Automatic differentiation (AD), also called algorithmic
differentiation or simply "autodiff", is a family of techniques similar to but
more general than backpropagation for efficiently and accurately evaluating
derivatives of numeric functions expressed as computer programs. AD is a small
but established field with applications in areas including computational fluid
dynamics, atmospheric sciences, and engineering design optimization. Until very
recently, the fields of machine learning and AD have largely been unaware of
each other and, in some cases, have independently discovered each other's
results. Despite its relevance, general-purpose AD has been missing from the
machine learning toolbox, a situation slowly changing with its ongoing adoption
under the names "dynamic computational graphs" and "differentiable
programming". We survey the intersection of AD and machine learning, cover
applications where AD has direct relevance, and address the main implementation
techniques. By precisely defining the main differentiation techniques and their
interrelationships, we aim to bring clarity to the usage of the terms
"autodiff", "automatic differentiation", and "symbolic differentiation" as
these are encountered more and more in machine learning settings.Comment: 43 pages, 5 figure
Applying Formal Methods to Networking: Theory, Techniques and Applications
Despite its great importance, modern network infrastructure is remarkable for
the lack of rigor in its engineering. The Internet which began as a research
experiment was never designed to handle the users and applications it hosts
today. The lack of formalization of the Internet architecture meant limited
abstractions and modularity, especially for the control and management planes,
thus requiring for every new need a new protocol built from scratch. This led
to an unwieldy ossified Internet architecture resistant to any attempts at
formal verification, and an Internet culture where expediency and pragmatism
are favored over formal correctness. Fortunately, recent work in the space of
clean slate Internet design---especially, the software defined networking (SDN)
paradigm---offers the Internet community another chance to develop the right
kind of architecture and abstractions. This has also led to a great resurgence
in interest of applying formal methods to specification, verification, and
synthesis of networking protocols and applications. In this paper, we present a
self-contained tutorial of the formidable amount of work that has been done in
formal methods, and present a survey of its applications to networking.Comment: 30 pages, submitted to IEEE Communications Surveys and Tutorial
Review of analytical instruments for EEG analysis
Since it was first used in 1926, EEG has been one of the most useful
instruments of neuroscience. In order to start using EEG data we need not only
EEG apparatus, but also some analytical tools and skills to understand what our
data mean. This article describes several classical analytical tools and also
new one which appeared only several years ago. We hope it will be useful for
those researchers who have only started working in the field of cognitive EEG
Transdisciplinarity seen through Information, Communication, Computation, (Inter-)Action and Cognition
Similar to oil that acted as a basic raw material and key driving force of
industrial society, information acts as a raw material and principal mover of
knowledge society in the knowledge production, propagation and application. New
developments in information processing and information communication
technologies allow increasingly complex and accurate descriptions,
representations and models, which are often multi-parameter, multi-perspective,
multi-level and multidimensional. This leads to the necessity of collaborative
work between different domains with corresponding specialist competences,
sciences and research traditions. We present several major transdisciplinary
unification projects for information and knowledge, which proceed on the
descriptive, logical and the level of generative mechanisms. Parallel process
of boundary crossing and transdisciplinary activity is going on in the applied
domains. Technological artifacts are becoming increasingly complex and their
design is strongly user-centered, which brings in not only the function and
various technological qualities but also other aspects including esthetic, user
experience, ethics and sustainability with social and environmental dimensions.
When integrating knowledge from a variety of fields, with contributions from
different groups of stakeholders, numerous challenges are met in establishing
common view and common course of action. In this context, information is our
environment, and informational ecology determines both epistemology and spaces
for action. We present some insights into the current state of the art of
transdisciplinary theory and practice of information studies and informatics.
We depict different facets of transdisciplinarity as we see it from our
different research fields that include information studies, computability,
human-computer interaction, multi-operating-systems environments and
philosophy.Comment: Chapter in a forthcoming book: Information Studies and the Quest for
Transdisciplinarity - Forthcoming book in World Scientific. Mark Burgin and
Wolfgang Hofkirchner, Editor
- …