1,254 research outputs found
Improving lifecycle query in integrated toolchains using linked data and MQTT-based data warehousing
The development of increasingly complex IoT systems requires large
engineering environments. These environments generally consist of tools from
different vendors and are not necessarily integrated well with each other. In
order to automate various analyses, queries across resources from multiple
tools have to be executed in parallel to the engineering activities. In this
paper, we identify the necessary requirements on such a query capability and
evaluate different architectures according to these requirements. We propose an
improved lifecycle query architecture, which builds upon the existing Tracked
Resource Set (TRS) protocol, and complements it with the MQTT messaging
protocol in order to allow the data in the warehouse to be kept updated in
real-time. As part of the case study focusing on the development of an IoT
automated warehouse, this architecture was implemented for a toolchain
integrated using RESTful microservices and linked data.Comment: 12 pages, worksho
BEAT: An Open-Source Web-Based Open-Science Platform
With the increased interest in computational sciences, machine learning (ML),
pattern recognition (PR) and big data, governmental agencies, academia and
manufacturers are overwhelmed by the constant influx of new algorithms and
techniques promising improved performance, generalization and robustness.
Sadly, result reproducibility is often an overlooked feature accompanying
original research publications, competitions and benchmark evaluations. The
main reasons behind such a gap arise from natural complications in research and
development in this area: the distribution of data may be a sensitive issue;
software frameworks are difficult to install and maintain; Test protocols may
involve a potentially large set of intricate steps which are difficult to
handle. Given the raising complexity of research challenges and the constant
increase in data volume, the conditions for achieving reproducible research in
the domain are also increasingly difficult to meet.
To bridge this gap, we built an open platform for research in computational
sciences related to pattern recognition and machine learning, to help on the
development, reproducibility and certification of results obtained in the
field. By making use of such a system, academic, governmental or industrial
organizations enable users to easily and socially develop processing
toolchains, re-use data, algorithms, workflows and compare results from
distinct algorithms and/or parameterizations with minimal effort. This article
presents such a platform and discusses some of its key features, uses and
limitations. We overview a currently operational prototype and provide design
insights.Comment: References to papers published on the platform incorporate
Instruction Set Architecture (ISA) for Processing-in-Memory DNN Accelerators
In this article, we introduce an instruction set architecture (ISA) for
processing-in-memory (PIM) based deep neural network (DNN) accelerators. The
proposed ISA is for DNN inference on PIM-based architectures. It is assumed
that the weights have been trained and programmed into PIM-based DNN
accelerators before inference, and they are fixed during inference. We do not
restrict the devices of PIM-based DNN accelerators. Popular devices used to
build PIM-based DNN accelerators include resistive random-access memory (RRAM),
flash, ferroelectric field-effect transistor (FeFET), static random-access
memory (SRAM), etc. The target DNNs include convolutional neural networks
(CNNs) and multi-layer perceptrons (MLPs). The proposed ISA is transparent to
both applications and hardware implementations. It enables to develop unified
toolchains for PIM-based DNN accelerators and software stacks. For practical
hardware that uses a different ISA, the generated instructions by unified
toolchains can easily converted to the target ISA. The proposed ISA has been
used in the open-source DNN compiler PIMCOMP-NN
(https://github.com/sunxt99/PIMCOMP-NN) and the associated open-source
simulator PIMSIM-NN (https://github.com/wangxy-2000/pimsim-nn)
An Iterative and Toolchain-Based Approach to Automate Scanning and Mapping Computer Networks
As today's organizational computer networks are ever evolving and becoming
more and more complex, finding potential vulnerabilities and conducting
security audits has become a crucial element in securing these networks. The
first step in auditing a network is reconnaissance by mapping it to get a
comprehensive overview over its structure. The growing complexity, however,
makes this task increasingly effortful, even more as mapping (instead of plain
scanning), presently, still involves a lot of manual work. Therefore, the
concept proposed in this paper automates the scanning and mapping of unknown
and non-cooperative computer networks in order to find security weaknesses or
verify access controls. It further helps to conduct audits by allowing
comparing documented with actual networks and finding unauthorized network
devices, as well as evaluating access control methods by conducting delta
scans. It uses a novel approach of augmenting data from iteratively chained
existing scanning tools with context, using genuine analytics modules to allow
assessing a network's topology instead of just generating a list of scanned
devices. It further contains a visualization model that provides a clear, lucid
topology map and a special graph for comparative analysis. The goal is to
provide maximum insight with a minimum of a priori knowledge.Comment: 7 pages, 6 figure
Efficient Prior Publication Identification for Open Source Code
Free/Open Source Software (FOSS) enables large-scale reuse of preexisting
software components. The main drawback is increased complexity in software
supply chain management. A common approach to tame such complexity is automated
open source compliance, which consists in automating the verication of
adherence to various open source management best practices about license
obligation fulllment, vulnerability tracking, software composition analysis,
and nearby concerns.We consider the problem of auditing a source code base to
determine which of its parts have been published before, which is an important
building block of automated open source compliance toolchains. Indeed, if
source code allegedly developed in house is recognized as having been
previously published elsewhere, alerts should be raised to investigate where it
comes from and whether this entails that additional obligations shall be
fullled before product shipment.We propose an ecient approach for prior
publication identication that relies on a knowledge base of known source code
artifacts linked together in a global Merkle direct acyclic graph and a
dedicated discovery protocol. We introduce swh-scanner, a source code scanner
that realizes the proposed approach in practice using as knowledge base
Software Heritage, the largest public archive of source code artifacts. We
validate experimentally the proposed approach, showing its eciency in both
abstract (number of queries) and concrete terms (wall-clock time), performing
benchmarks on 16 845 real-world public code bases of various sizes, from small
to very large
An IoT Toolchain Architecture for Planning, Running and Managing a Complete Condition Monitoring Scenario
Condition Monitoring (CM) is an extremely critical application of the Internet of Things
(IoT) within Industry 4.0 and Smart City scenarios, especially following the recent energy crisis. CM aims to monitor the status of a physical appliance over time and in real time in order to react promptly when anomalies are detected, as well as perform predictive maintenance tasks. Current deployments suffer from both interoperability and management issues within their engineering process at all phases – from their design to their deployment, to their management –, often requiring human intervention. Furthermore, the fragmentation of the IoT landscape and the heterogeneity of IoT solutions hinder a seamless onboarding process of legacy devices and systems. In this paper, we tackle these problems by first proposing an architecture for CM based on both abstraction layers and toolchains, i.e., automated pipelines of engineering tools aimed at supporting the engineering process. In particular, we introduce four different toolchains, each of them dedicated to a well-defined task (e.g., energy monitoring). This orthogonal separation of concerns aims to simplify both the understanding of a complex ecosystem and the accomplishment of independent tasks. We then illustrate our
implementation of a complete CM system that follows said architecture as a real Structural Health Monitoring (SHM) pilot of the Arrowhead Tools project, by describing in detail every single tool that we developed. We finally show how our pilot achieves the main objectives of the project: the reduction of engineering costs, the integration of legacy systems, and the interoperability with IoT frameworks
Towards Understanding Third-party Library Dependency in C/C++ Ecosystem
Third-party libraries (TPLs) are frequently reused in software to reduce
development cost and the time to market. However, external library dependencies
may introduce vulnerabilities into host applications. The issue of library
dependency has received considerable critical attention. Many package managers,
such as Maven, Pip, and NPM, are proposed to manage TPLs. Moreover, a
significant amount of effort has been put into studying dependencies in
language ecosystems like Java, Python, and JavaScript except C/C++. Due to the
lack of a unified package manager for C/C++, existing research has only few
understanding of TPL dependencies in the C/C++ ecosystem, especially at large
scale.
Towards understanding TPL dependencies in the C/C++ecosystem, we collect
existing TPL databases, package management tools, and dependency detection
tools, summarize the dependency patterns of C/C++ projects, and construct a
comprehensive and precise C/C++ dependency detector. Using our detector, we
extract dependencies from a large-scale database containing 24K C/C++
repositories from GitHub. Based on the extracted dependencies, we provide the
results and findings of an empirical study, which aims at understanding the
characteristics of the TPL dependencies. We further discuss the implications to
manage dependency for C/C++ and the future research directions for software
engineering researchers and developers in fields of library development,
software composition analysis, and C/C++package manager.Comment: ASE 202
- …