Παρουσίαση της Διδακτορικής Διατριβής του διδακτορικού φοιτητή του Τμήματος Επιστήμης Υπολογιστών κ. Βαλσαμάκη Ιωάννη με θέμα: “Full-Scale Visual Programming IDE: Projects, Collaboration and Domain Plugins ”.
13 Απριλίου 2021, 12:00-14:00
-Περιγραφή: Today, visual programming languages (VPLs) are the most popular programming system for non-professional developers. Originally, they have been introduced for teaching purposes, as experimental tools encouraging children to program small-scale games. Nowadays, they are increasingly treated as instruments that can give more powerful and flexible configuration, customization and extension features to the end-users of software systems, through controllable programmability relying on some exposed underlying system functionality. Such an approach has already been applied within various large-scale systems via scripting frameworks, but is still targeted to more professional users and is very demanding for the general end-user.
Overall, in the rapidly emerging era of end-user development (EUD) the adoption of VPLs seems more promising and hotter than ever before. In fact, the broad proliferation of Internet of Things (IoT) technologies has set end-user development as the vehicle to accommodate the increased personalization demands for smart automations. In particular, the IoT domain still faces a low commercial acceptance, something attributed to the low popularity of monolithic and all-in-one solutions. It is clear that there is trend towards more flexible and open infrastructures that end-users may directly tailor to their individual requirements, and even functionally combine into new ways with custom-made programmable personal automations.
However, the existing VPLs are supported with very primitive and poor tool chains, missing the notion of a full-scale integrated development environment (IDE) with all the inherently required high-quality production toolset. In this sense, the missing features should be explicitly focused on genuinely optimizing the end-user programming process, meaning the mirroring of typical IDE functionality of the professional software development domain is insufficient and rather inappropriate.
To this end, as part of this thesis we set one grand challenge: define, develop and validate in a demanding real domain what an integrated toolset for end-user development should offer. To this end, the primary technical challenge has been the development of a full-scale IDE for VPLs, capable to accommodate and host virtually any VPL editor. Then, our research has revealed and supported a number of primary disciplines in the context of EUD that we have fully designed, implemented and tested in the context of our IDE: (i) assisted project management, (ii) collaborative editing and debugging, and (iii) open interactive domain plugins.
In particular, the role of the domain plugins is very crucial, far more than mere extension packages, with the purpose of enriching the interactive IDE functionality with extra development features optimally suiting a target domain. This notion is novel to EUD, with no counterpart in traditional IDEs, and aims to address the inherent complexity of domains for EUD due to the custom programming models and libraries that are very hard to manage without extra toolboxes on top of the IDE. To test and validate our proposition we have developed, on top of our IDE, a complete full-scale IoT plugin, including a very rich interactive toolset, for EUD support of personal smart automations.