The reference architecture adopted in the survey present in the paper

The co-existence of various kinds of devices, protocols, architectures, and applications make Internet of Things (IoT) systems complex to develop, even for experienced programmers. When novice programmers are learning to implement these systems, they are required to deal with areas in which they do not have a deep knowledge. Furthermore, besides becoming proficient in these areas separately, they should integrate them and build a system whose components are heterogeneous from both software and hardware perspectives.

The accurate understanding of the most challenging issues that novices face is fundamental to envision strategies aimed at easing the development of IoT systems.

The paper On the Challenges Novice Programmers Experience in Developing IoT Systems: A Survey, recently published the Journal of Systems and Software (Elsevier), focuses on identifying such issues in terms of software development tasks that novice programmers encounter when working on IoT systems. To this end, the paper reports the results from a survey conducted among 40 novice developers that worked in groups developing IoT systems during several years of a university course. Based on their own experiences, individually and as a group, the most challenging development tasks were identified and prioritized over a common architecture, in terms of difficulty level and efforts. In addition, qualitative data about the causes of these issues was collected and analyzed. Finally, the paper offers critical insights and points out possible future work to tackle the identified issues.

The knowledge graph built by RecRules

End users can personalize their smart devices and web applications by defining or reusing trigger-action (IF-THEN) rules through dedicated End-User Development (EUD) tools, like IFTTT. Despite apparent simplicity, however, such tools present their own set of issues. The emerging and increasing complexity of the Internet of Things, for instance, is barely taken into account, and the number of possible combinations between triggers and actions of different smart devices and web applications is continuously growing. Such a large design space makes end-user personalization a complex task for non-programmers, and motivates the need of assisting users in easily discovering and managing rules and functionality, e.g., through recommendation techniques.

The paper RecRules: Recommending IF-THEN Rules for End-User Development, published in the ACM Transactions on Intelligent Systems and Technologies, presents RecRules, a hybrid and semantic recommendation system, as as solution for tackling the emerging problem of recommending trigger-action rules to end users. Through a mixed content and collaborative approach, RecRules recommends by functionality: it suggests rules based on their final purposes, thus overcoming details like manufacturers and brands.

Il progetto "Batti il 5" coinvolgerà con attività didattiche i bambini dell'intero ciclo educativo (infanzia, primaria, secondaria di primo grado) delle scuole presenti nel quartiere di Mirafiori (Torino): l'Istituto Comprensivo Cairoli e l'Istituto Comprensivo Salvemini. Il gruppo e-Lite è coinvolto su 3 annualità, con attività differenziate in funzione della preparazione delle varie classi:

  • con le classi quarte della scuola primaria, si svolgeranno attività di coding di base sviluppando insieme un videogioco con la piattaforma Scratch
  • con le classi quinte della scuola primaria, si proporranno attività di robotica educativa programmando robot della serie Lego EV3
  • con le classi seconde della scuola secondaria di primo grado, si esplorerà il coding avanzato utilizzando le schede Micro:bit della BBC.

IS-EUD 2019 logo

The e-Lite group will participate at the 7th International Symposium on End-User Development (IS-EUD 2019) with a full paper about End-User Debugging in the IoT. IS-EUD will be held at the University of Hertfordshire, UK from from 10-12 July 2019.

Alberto will present a paper entitled "My IoT Puzzle: Debugging IF-THEN Rules Through the Jigsaw Metaphor" on Thursday, July 11 during the "Infrastructures for end-user development" session (10:45-12:30, A166 - Lindop Building). The paper introduces "My IoT Puzzle", a tool to compose and debug IF-THEN rules based on the Jigsaw metaphor. My IoT Puzzle interactively assists users in the debugging process with different real-time feedback, and it allows the resolution of conflicts by providing textual and graphical explanations. This work is part of the research activities on End-User Debugging in the IoT.

From 13 to 16 May 2019, Juan Pablo Sáenz participated in the 3rd International Genoa Software Engineering Ph.D. School, held in Genoa, Italy, and hosted by the University of Genova.

The topic of the summer school concerned Automated Functional and Security Testing, and its scope was to provide an overview of the most advanced techniques for automated testing of Web and Mobile apps. The lessons presented cutting-edge techniques regarding testing automation at the unit, integration and system level; usage of automated testing tools (e.g., DOM-based and Visual tools); design patterns specific for Web and Mobile apps (e.g., the page object pattern); and automatic test case generation (based on search-based algorithms and dynamic symbolic execution).

The course included theory lectures in the morning and hands-on, project-oriented labs in the afternoon.The laboratory sessions scheduled for the afternoon are dedicated to practical tasks.

During the ACM Conference on Human Factors in Computing Systems (CHI), held in Glasgow, Scotland, from 6 to 9 May, Juan Pablo Sáenz presented his work on a computational notebook for the Internet of Things. The presentation took place in the poster session and saw discrete participation and some interesting discussions, both with people from the industry and the academia.

The paper associated to that presentation is entitled Towards Computational Notebooks for IoT Development, authored by Fulvio Corno, Luigi De Russis and Juan Pablo Sáenz. It introduces a literate computing approach to support the prototyping of IoT systems.