Fri 17 June 2022 Plovdiv, BulgariaCo-located with ICTS4S
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.
This workshop seeks to cross-pollinate the project and its results with the entire ICT4S community. The project results will be presented to the community by the team members, fostering the discussion of the achievements so far and raising new directions for future collaborative research.
The workshop will be organized as a hybrid event.
- Presentation proposals deadline: Fri 15 April 2022.
- Notification of acceptance: Fri 29 April 2022.
- Workshop date: Fri 17 June 2022.
All times in EEST (UTC+3)
|10:00-10:30||TBA||Using Strong Types in C++ for Sustainable Long-term Code Management
|10:30-11:00||TBA||Data Pre-processing for Green Data Mining
|11:00-11:30||Coffee Room||Coffee Break|
|11:30-12:00||TBA||Understanding the relations between static code metric and energy consumption
Tihana Galinac Grbac, Dalibor Fonović
|12:00-12:30||TBA||Quantum Computing for Sustainability
Cláudio Gomes, Gabriel Falcão, João Paulo Fernandes
|12:30-13:00||TBA||On Energy Debt: Managing Consumption on Evolving Software
|14:30-15:00||TBA||Scalable Actor Model Middleware with Unified Distributed Communication Pattern
|15:00-15:30||TBA||Energy-aware Software Engineering
Ana Oprescu, Lukas Koedijk, Sander van Oostveen, Stephan Kok
|15:30-16:00||TBA||Exploring the energy/time/security/fault-tolerance trade-off with the TeamPlay coordination language
|16:00-16:30||Coffee Room||Coffee Break|
|16:30-17:00||TBA||Adoption of Blockchain Technology for Tracking Students’ Progress
|17:00-17:30||TBA||Teaching by Example - Temporal-Logic Automated Solutions for Sustainable Educational Progress
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)
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.
- Elena Somova
Faculty of Mathematics and Informatics, University of Plovdiv “Paisii Hilendarski”, Plovdiv, Bulgaria.
- Zoltán Porkoláb
Faculty of Informatics, Eötvös Loránd University, Budapest, Hungary.