2,260 research outputs found
Darwinian Data Structure Selection
Data structure selection and tuning is laborious but can vastly improve an
application's performance and memory footprint. Some data structures share a
common interface and enjoy multiple implementations. We call them Darwinian
Data Structures (DDS), since we can subject their implementations to survival
of the fittest. We introduce ARTEMIS a multi-objective, cloud-based
search-based optimisation framework that automatically finds optimal, tuned DDS
modulo a test suite, then changes an application to use that DDS. ARTEMIS
achieves substantial performance improvements for \emph{every} project in
Java projects from DaCapo benchmark, popular projects and uniformly
sampled projects from GitHub. For execution time, CPU usage, and memory
consumption, ARTEMIS finds at least one solution that improves \emph{all}
measures for () of the projects. The median improvement across
the best solutions is , , for runtime, memory and CPU
usage.
These aggregate results understate ARTEMIS's potential impact. Some of the
benchmarks it improves are libraries or utility functions. Two examples are
gson, a ubiquitous Java serialization framework, and xalan, Apache's XML
transformation tool. ARTEMIS improves gson by \%, and for
memory, runtime, and CPU; ARTEMIS improves xalan's memory consumption by
\%. \emph{Every} client of these projects will benefit from these
performance improvements.Comment: 11 page
PROTOTYPE AIR CONDITIONING MONITORING AND CONTROL SYSTEM FOR SMART CLASSROOM BASED ON THE INTERNET OF THINGS
Electricity wastage is a growing concern, often resulting from human behavior. One common scenario is the continuous operation of a high-powered air conditioner (AC) even when it's unnecessary. Moreover, extended AC usage can accelerate wear and tear, potentially damaging the unit. To address these issues, a remote monitoring and control device based on the Internet of Things (IoT) concept is crucial. This device can connect to smartphones, allowing users to remotely monitor and control AC usage. Through an AC simulator, the system enables monitoring and control via a telegram system linked to the smartphone. Developed using the waterfall method and utilizing the NodeMCU ESP8266 microcontroller, the prototype proves effective in assisting users in monitoring and controlling AC usage. Particularly useful when users are away from the AC location and inadvertently forget to turn it off, the system mitigates unnecessary electricity wastage. By implementing this solution, energy efficiency is promoted, and the lifespan of AC units is extended. With the potential to reduce electricity wastage, this technology contributes to a more sustainable future
Program development by inductive step wise refinement
A constructive method of program development is presented. It seeks to unify two important ideas about program development. Namely that programming is a goal-oriented activity and that there should be a correspondence between data and program structures. The latter concept is seen to be extensible beyond the data processing context in which it was originally proposed. Induction provides the vehicle for program development by stepwise refinement, with the final program being constructed by application of a sequence of progressively more powerful generalizations. The design process employed guarantees the correctness of the final program provided each of the refinement steps have been correctly taken. The method is illustrated by a number of examples
NASA software specification and evaluation system: Software verification/validation techniques
NASA software requirement specifications were used in the development of a system for validating and verifying computer programs. The software specification and evaluation system (SSES) provides for the effective and efficient specification, implementation, and testing of computer software programs. The system as implemented will produce structured FORTRAN or ANSI FORTRAN programs, but the principles upon which SSES is designed allow it to be easily adapted to other high order languages
A Conversational Bot Expert in TCP/IP
When studying a telecommunication degree, it can be sometimes hard to remember all concepts or memorizing in detail how certain protocols work. To answer this problem, this project aimed to study how to create a bot in order to answer simple questions regarding the TCP/IP protocols.
First of all, it was necessary to analyse general information about conversational bots and programming tools in order to choose how to make the best implementation possible. Afterwards, we proposed different design alternatives that had to be done in order to develop the bot. These alternatives included the creation of a new algorithm to analyse text from users and obtain the main concepts for creating answers to questions. Finally, we divided TeCePe’s implementation in programming modules that perform each of its functionalities separately to make easier its analysis and addition to the general code.
Users’ results suggest that bots like TeCePe could provide some benefits to students while studying a subject. They usually prefer realistic human interactions and want more additional features besides bot’s main functionality in order to be encouraged to use conversational bots, which are not very popular in the education field at this moment.
The main results of this project are generally favourable, as the bot developed fulfilled most requirements using all algorithms proposed. TeCePe is fast when searching, and can correctly detect users’ intention in order to output the best possible answer.Al estudiar un grado en ingenierÃa de telecomunicaciones, puede ocurrir que sea difÃcil recordar todos los conceptos dados en clase o memorizar cómo funcionan algunos protocolos. Para resolver este problema, en este proyecto se ha estudiado como crear un bot para resolver preguntas sencillas relacionadas con los protocolos TCP/IP.
En primer lugar fue necesario un análisis sobre los bots conversacionales y herramientas de programación para poder realizar la mejor implementación posible. A continuación se propusieron diferentes alternativas de diseño que deberÃan realizarse para desarrollar el bot. Estas alternativas incluyen crear un nuevo algoritmo para analizar textos de los usuarios y obtener los principales conceptos e ideas para crear las respuestas del bot. Por último, dividimos la implementación de TeCePe en diferentes módulos de programación, realizando cada una de las funciones de TeCePe por separado para hacer la programación más sencilla y facilitar su integración con el código principal.
Los resultados con usuarios sugieren que bots como TeCePe podrÃan otorgar algunos beneficios a los estudiantes que estén estudiando una asignatura concreta. Normalmente prefieren interacciones realistas (similares a las humanas) y quieren funcionalidades extra para que estén motivados a utilizar bots conversacionales, que no son muy populares en el campo educativo por el momento.
Los principales resultados del proyecto son generalmente favorables, puesto que el bot desarrollado cumple la mayorÃa de los requisitos utilizando todos los algoritmos propuestos anteriormente. TeCePe es rápido en sus búsquedas y puede detectar las intenciones de los usuarios para dar la mejor respuesta posible en cada caso.IngenierÃa Telemátic
Analysing Bang & Olufsen's BeoLink Audio/Video System Using Coloured Petri Nets
Bang & Olufsen A/S (B&O) is a renowned manufacturer of audio and video products. Their BeoLink (BeoLink) system distributes sound and vision throughout a home via a network. In this way, e.g., while doing the cooking in the kitchen, a person can remotely select and listen to a track from a CD, loaded in the CD player situated in the living room. To resolve conflicts, synchronisation between various actions is needed, and is indeed taken care of by appropiate communication protocols.The purpose of the project described in this paper vas to test Coloured Petri Nets (CP-nets or CPN) as a way to improve B&O's methods for specification, validation, and verification of protocols. In the main experiment, an engineer from B&O used the Desing/CPN tool to build a simulations with a familiar graphical feedback, and to formally verify crucial properties using occurrence graphs (also known as state spaces and reachability graphs/trees). The latter activity demonstrated the applicability of occurrence graphs for timed CP-nets. Moreover, CPN was used to examine important aspects of a possible future revision of Beo-Link, and to check compatibility between the new and the old version. Based on the experiments reported in this paper, CPN has been included in the set of methods for specification, validation, and verification of future protocols at B&O. Topics: System design oand verification using nets; higher-level net models; computer tools for nets; experience with using nets, case studies; application of nets to protocols and embedded systems
- …