SusTrainability Workshop - community workshop

Fri 17 June 2022 Plovdiv, Bulgaria
Co-located with ICT4S

Sustainability as a key driver for the development of modern society and the future of the planet has never achieved as much consensus worldwide as today. Experts estimate the energy consumption share of the ICT domain at 6-9% and expect this share to grow to 10-20% by 2030. It is anticipated that the energy consumed by the ubiquity of ICT services and devices in a globally connected world and our digital lifestyle in general will soon have a bigger impact on global warming than the entire aviation industry. In other words ICT is part of the solution but also part of the problem in terms of sustainable global development including any political aspirations towards stopping climate change. Ultimately, it is the hardware of ICT systems that consumes energy, but it is software that controls this hardware. Thus, controlling the software is crucial to reduce the ever-growing energy footprint of ICT systems.

The SusTrainable project advocates the introduction of all facets of sustainability as a primary concern into software engineering practice. This project aims to actively promote educating the next generation of software engineers to consider sustainability in all aspects of the software engineering process: SusTrainable means Training for Sustainability. We aim to provide future software engineers with essential skills to develop software that is not only functionally correct, but also easy to maintain and evolve, that is durable, has a low impact and uses the hardware it is running on in the most energy-efficient way.

In this workshop the project members will present the results of the project. The workshop will be organized as a hybrid event.

Important dates

Planned program

All times in EEST (UTC+3)

time (EEST) Room  
09:00-9:30 Coffee Room Registration
9:30-10:00 424 Potential of Web-Based Virtual Environments For Sustainable Prototype Validation and Evaluation
Štefan Korečko (Technical University of Kosice, Slovakia)
10:00-10:30 424 Using Strong Types in C++ for Sustainable Long-term Code Management
Richárd Szalay (Eötvös Loránd University, Hungary)
10:30-11:00 424 Data Pre-processing for Green Data Mining
Goran Mauša (University of Rijeka, Croatia)
11:00-11:30 Coffee Room Coffee Break
11:30-12:00 424 Understanding the relations between static code metric and energy consumption
Tihana Galinac Grbac, Dalibor Fonović (University Juraj Dobrila of Pula, Croatia)
12:00-12:30 424 Quantum Computing for Sustainability
Cláudio Gomes (University of Porto, Portugal), Gabriel Falcão (University of Coimbra, Portugal), João Paulo Fernandes (University of Porto, Portugal)
12:30-13:00 424 On Energy Debt: Managing Consumption on Evolving Software
João Saraiva (University of Minho, Portugal)
13:00-14:30 424 Lunch
14:30-15:00 424 Scalable Actor Model Middleware with Unified Distributed Communication Pattern
Li Jianhao (Eötvös Loránd University, Hungary)
15:00-15:30 424 Energy-aware Software Engineering
Ana Oprescu, Lukas Koedijk, Sander van Oostveen, Stephan Kok (University of Amsterdam, The Netherlands)
15:30-16:00 424 Exploring the energy/time/security/fault-tolerance trade-off with the TeamPlay coordination language
Clemens Grelck (University of Amsterdam, The Netherlands)
16:00-16:30 Coffee Room Coffee Break
16:30-17:00 424 Adoption of Blockchain Technology for Tracking Students’ Progress
Mihail Petrov (University of Plovdiv "Paisii Hilendarski", Bulgaria)
17:00-17:30 424 Teaching by Example - Temporal-Logic Automated Solutions for Sustainable Educational Progress
Vladimir Valkanov (University of Plovdiv "Paisii Hilendarski", Bulgaria)
17:30-18:30 424 Sustainability in software -- round table
Discussion with the workshop participants

Abstracts

Potential of Web-Based Virtual Environments For Sustainable Prototype Validation and Evaluation

Štefan Korečko (Technical University of Kosice, Slovakia)

When developing autonomous systems that are supposed to interact with human beings, safety concerns are one of the most important. Special means, such as formal methods or rigid testing procedures, are used to ensure that the system under development meets corresponding safety properties. However, a question remains whether the properties themselves are defined appropriately. One of the ways how to answer the question in a sustainable way during the early development phases is to validate or evaluate a prototype of the system in a virtual environment. In this talk, we explore the potential of current web-based virtual reality technologies for such evaluation and validation.

Using Strong Types in C++ for Sustainable Long-term Code Management

Richárd Szalay (Eötvös Loránd University, Hungary)

When using programming languages, type systems are crucial tools in the hands of developers to guarantee an elevated level of safety of their programs. However, in practice, type systems are not used to their full extent, and trade-offs are made. This mainly manifests in developers overusing built-in and well-known library types, such as int or string, instead of types that express the domain of the represented values with a finer granularity. The results of this range from a hindrance to code comprehension to subtle security vulnerabilities going undetected for potentially years. In this presentation, we detail how strong types can be implemented and how they support long term maintenance sustainability.

Data Pre-processing for Green Data Mining

Goran Mauša (University of Rijeka, Croatia)

The use of soft computing techniques in various research domains has witnessed an exponential growth over the last years. Their inherent tolerance to uncertainty and imprecision, and the robustness of these techniques makes them essential in solving many of data mining challenges. The green principles of data mining give guidelines to improving the sustainability in each phase of their development. With focus primarily on data pre-processing, this talk will demonstrate the benefits of feature selection in building a machine learning-based prediction model in terms of both performance and energy consumption.

Understanding the relations between static code metric and energy consumption

Tihana Galinac Grbac, Dalibor Fonović (University Juraj Dobrila of Pula, Croatia)

Some studies have identified that C/C++ programs have the best performance/energy consumption ratio when compared to other programming languages. As energy consumption is getting its importance on working software products we have to reconsider its relations with other software metrics that are traditionally used within the software development process to guide quality and early management decisions. In this paper we conduct an empirical study on 60 software projects written in C/C++ programming language to investigate the impact and correlation of static source code attributes on energy consumption. Results show that existing static code metrics may be misleading to guide early energy efficiency decisions on software applications that are not purely developed by developer and where much of the code is reused. The problem of correlating static code metric is not in metric definition but in practical inability to collect static code metric from reused parts of source code. Therefore, new engineering approaches have to be considered to guide developers during the early phase of application development with code reuse.

Quantum Computing for Sustainability

Cláudio Gomes (University of Porto, Portugal), Gabriel Falcão (University of Coimbra, Portugal), João Paulo Fernandes (University of Porto, Portugal)

Quantum Computing is an emerging field of technology that is becoming more and more accessible to the general public. The advent of new computers that follow an entirely different paradigm brings opportunities to provide better solutions for optimization problems. Ultimately, these solutions may help us achieve more sustainable systems, answering problems while reducing total energy expenditure, total time spent, and many more relevant metrics from the perspective of sustainability. In this talk, Quantum Computing will be introduced and its potential for Sustainability will be addressed.

On Energy Debt: Managing Consumption on Evolving Software

João Saraiva (University of Minho, Portugal)

In this talk we introduce the concept of energy debt: a new metric, reflecting the implied cost in terms of energy consumption over time, of choosing a flawed implementation of a software system rather than a more robust, yet possibly time consuming, approach. A flawed implementation is considered to contain code smells, known to have a negative influence on the energy consumption. Similar to technical debt, if energy debt is not properly addressed, it can accumulate an energy “interest”. This interest will keep increasing as new versions of the software are released, and eventually reach a point where the interest will be higher than the initial energy debt. Addressing the issues/smells at such a point can remove energy debt, at the cost of having already consumed a significant amount of energy which can translate into high costs. We present all underlying concepts of energy debt, bridging the connection with the existing concept of technical debt and show how to compute the energy debt through a motivational example.

Scalable Actor Model Middleware with Unified Distributed Communication Pattern

Li Jianhao (Eötvös Loránd University, Hungary)

In the presentation, we summarize the analysis conducted on various distributed systems tools (RabbitMq, Mangos, Distributed Erlang, etc.) However, they have drawbacks to becoming a unified solution for a general-purpose software with different architectures (Peer-to-Peer or traditional Server-Client): centralized middleware problems (single points of failure), communication pattern separated problems, and scalability problems. Therefore, we design and implement a new scalable actor model-based distributed communication middleware with a unified distributed communication pattern for general-purpose software.

Energy-aware Software Engineering

Ana Oprescu, Lukas Koedijk, Sander van Oostveen, Stephan Kok (University of Amsterdam, The Netherlands)

The EU Climate Law targets climate neutrality by 2050. At the same time, the Knowledge Economy is deemed crucial to EU prosperity. Thus, the energy footprint of software services remains an important topic of research and education. In these lecture notes, we set out to educate students on energy-aware software engineering. We show how to establish whether some programming languages are inherently more “green”. We also show how to assess whether established software smells (anti-patterns) are also energy-related smells.

Exploring the energy/time/security/fault-tolerance trade-off with the TeamPlay coordination language

Clemens Grelck (University of Amsterdam, The Netherlands)

It is estimated that 98% of the world’s computing devices operate in embedded or cyber-physical systems, where non-functional properties of program execution, such as energy (budgets), time (budgets), security or fault-tolerance can be as crucial as functional correctness. The rise of the internet-of-things with the edge-fog-cloud computing continuum and the increasing heterogeneity and parallelism of computing platforms rather solidify than change the need for resource-aware software. These developments create new challenges for software engineering. We present one of our contributions to the field: the novel coordination language TeamPlay that introduces energy, time, security and fault-tolerance as first-class citizens into the software design process. Following the concept of exogeneous coordination, TeamPlay enforces a stringent software architecture with strict separation of concerns between operational detail and application-level design. We discuss selected aspects of the TeamPlay compiler and runtime environment, and illustrate our approach by means of an industrial case study featuring a search-and-rescue drone application.

Adoption of Blockchain Technology for Tracking Students’ Progress

Mihail Petrov (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 paper we will look at the use of blockchain for securing the information integrity in controlling educational processes.

Teaching by Example - Temporal-Logic Automated Solutions for Sustainable Educational Progress

Vladimir Valkanov (University of Plovdiv “Paisii Hilendarski”, Bulgaria)

The process of teaching and learning new knowledge can rarely be classified as standard. Teaching curriculum and the initial professor assessment of the audience are often indirectly related to the end result. The achievements which may vary based on discriminative factors such as gender, age, social background, past experience, learning through techniques such as listening, reading et al can be used as the basis of an analysis with the goal of identifying the factors allowing the students to achieve better results in the learning process.

Organizers

ICTS4S Conference
Accepted workshops