Lectures

A tentative list of lecture titles and abstracts is available here. We will be adding additional lecture information upon confirmation from individual speakers. The final schedule will be disclosed once we make all the arrangements.

 An overview on multicriteria decision methods for sustainability

Luís Paquete, Ph.D.
University of Coimbra, Portugal

Multicriteria decision making or multi-criteria decision analysis (MCDA) consists of a set of methods developed in the field of decision theory to aid in problem solving. MCDA has become a topic of great interest in decision sciences and has been applied in a broad spectrum of studies. We review some of the most relevant MCDA methods and explore its application in the context of the Technical Sustainability of a software project.

Verified Software in Virtual Environments

Štefan Korečko, Ph.D.
Technical University of Košice, Slovakia

This tutorial introduces verified software development (VSD). VSD means using formal methods (FM) to verify that the software under development preserves properties defined in its specification. We focus on one of the critical points of VSD: that FM don’t provide analytical means to validate that the defined properties are really the ones desired by its future users. For attractiveness, the tutorial will use web-based virtual reality for constructing an environment where the developed software will be validated.

Energy Debt: Managing Consumption on Evolving Software

João Saraiva, Ph.D.
University of Minho, Braga, Portugal

Technical Debt is the gap between the current state of a software system and its ideal state. In this talk we adapt this definition to the Sustainable Software realm: we present Energy Debt as the additional estimated energy cost of executing a software system, due to the occurrence of energy smells in the software’s source code, when compared to the estimated energy cost of executing the non-energy smelly (i.e. energy ideal) version of that same software.

Using strong types in C++ for long term code management

Richárd Szalay and Zoltán Porkoláb, Ph.D.
Eötvös Loránd University, Budapest, Hungary

The type system of modern programming languages is used to filter out defects in compilation time. However, the type system is unable to detect situations when we use the same type for different roles. Strong typing is a method to typify the roles of the objects, making it more maintainable for large software systems and decreasing the possible faults of what we could do at code modifications. We investigate the role of strong typing, its implementations in current mainstream programming languages and the possible future directions.

Group Based Actor Model Middleware with Unified Distributed Communication Pattern 

Li Jianhao and Viktoria Zsok, Ph.D.
Eötvös Loránd University, Budapest, Hungary

We designed and implemented a new actor model based distributed communication middleware in Golang with embedded group patterns for general-purpose software. Based on the actor model with groups, we further improved the scalability and sustainability by reducing the connections and saving ports and memory. To achieve that, we divide the roles in group, we change the under-layer protocol, and we eliminate the global name service usage and the virtual machine dependency. On the other hand, the middleware integrates existing distributed communication patterns to provide unified distributed communication services for general-purpose distributed systems. 

The practice provides hands on experience in creating patterns using the system.

Applying Soft Computing for Sustainability

Goran Mauša, Ph.D.
University of Rijeka, Croatia

Modern soft computing tools and techniques are required to enable the decision makers to fully understand the dynamic interplay of numerous factors that characterise complex nature – society interactions in sustainability science. This tutorial will explain the versatility of metaheuristics and machine learning techniques that enables evaluation and decision making regardless of uncertainty and information sparsity.

Adoption of Blockchain Technology for Tracking Students’ Progress

Vladimir Valkanov, Ph.D. and Mihail Petrov, Ph.D. 
University of Plovdiv "Paisii Hilendarski", Bulgaria

With the increasing popularity of crypto currencies in contemporary economics the application of the blockchain technology in the control of processes other than payments is getting even more coverage. On an abstract level, the networks for transfer of financial assets can be equated to mechanisms for control of all information which solves problems having to do with information security and its completeness. In this current lecture we will look at the use of blockchain for securing the information integrity in controlling educational processes.

Green computing for the IoT

Mart Lubbers and Pieter Koopman, Ph.D.
Radboud University, Nijmegen, Netherlands

The Internet of Things, IoT, consists today of 20 to 200 billion devices which consume about 100 TWh per year. One can reduce the energy consumption of a device with a factor 10 by basing it on a microcomputer instead of a minicomputer. Most microcomputers have a deep-sleep mode where they consume hardly any energy. For many devices, it is sufficient to be active during 1% of the time. Achieving this energy reduction is poorly supported by most software stacks. We show how it can be achieved easily by our task-based system that is aware of service levels for tasks. 

Algorithms for sustainable system topologies

Tihana Galinac Grbac, Ph.D.
University Juraj Dobrila of Pula, Croatia

When topological data analysis is applied to software system structures we can observe numerous related quality attributes. In this lecture we will provide details on how the topological data analysis can be used to build sustainable software structures, discuss related implementation details and introduce students with open source tools in which they can experiment with these algorithms.

Energy-motivated software engineering

Ana-Maria Oprescu, Ph.D.
University of Amsterdam, Netherlands

In this lecture, we set out to understand why some programming languages are inherently more “green” than others and allow programmers to achieve the same runtime behaviour with less energy consumption. We further explore  whether established software smells (software anti-patterns) are also energy-related smells or whether we need to define a novel set of energy software smells.

Sustainable functional programming and applications

Lehel Csato, Ph.D.
Babes-Bolyai University of Cluj-Napoca, Romania

In this lecture we will explore examples and cases where the use of functional programming concepts — like strong typing or the usage of higher order functions — can be used in making sustainable systems — both from a resource consumption point of view and from an “ease of modify” aspect.