Software Futures in Future Energy Systems

Energy systems are in global transition. They are becoming “smarter” by incorporating more and more software and digital data. This is in particular the case with electricity power systems which are currently developed to so-called Smart Grids. In essence they are power systems coupled with ICT systems.

The nature of the future electricity Smart Grid system is fundamentally different from the traditional power systems. Traditional bulk power generation is shifting towards distributed energy resources (e.g., wind turbines). Furthermore, the power flows can now be two-way so that even individual citizens can produce and sell electricity based on for example their private solar panels. In Finland, households are now equipped with smart metering devices making it possible to manage such power flows with information flows.

Such developments bring up many new needs of software systems engineering for current and future energy system houses to be able to design, build and operate the increasingly complex systems-of-systems comprising hardware, software and human elements (cyber-physical systems, CPS). Moreover, the systems must run 24/7/365 being parts of critical national infrastructure under regulations.

We have recently addressed this empirical software research field in a presentation in the Futures Conference 2018: ENERGIZING FUTURES – Sustainable Development and Energy in Transition with the title

Future smart energy software houses

 

For further information, see:

https://futuresconference2018.wordpress.com/
https://futuresconference2018.files.wordpress.com/2018/06/energizing-boa-web.pdf

 

Safe and Secure Executions at the Network Edge: A Framework for Coordinating Cloud, Fog, and Edge.

Take a look at our new paper, published at a recent issue of IEEE Software (Issue No. 01 – January/February; 2018 vol. 35), on how to coordinate cloud, fog, and edge computing. The paper was authored together with our colleagues at Electronics and Communications Engineering & Pervasive Computing, Tampere University of Technology, Tampere, Finland. The paper was It was a pleasure to work with our colleagues from Tampere, as always 🙂

The core message of the paper is that as we approach novel techniques such as 5G, peer-to-peer radio technologies, and multi-access communication channels, we need new technologies that help us program the devices and their interactions in a simpler fashion. While we can work under the terms of different ‘islands’ of technology chosen for a particular application under normal condition, the ability to reach over the boundaries what was originally foreseen is an essential character at corner cases, in particular those that are of critical importance and whose failure or hijacking could lead to disasters.

Considered application scenarios of Cloud, Fog, and Edge computing for the AcOP model. H2H = human-to-human, M2M = machine-to-machine, PPDR = public protection and disaster relief, QoE = quality of experience, V2I = vehicle-to-infrastructure, and V2V = vehicle-to-vehicle.

Author’s post-print version (pdf), which in is content equal to the fully formatted, published version available from IEEE

 

Continuous and collaborative technology transfer: Software engineering research with real-time industry impact

We have co-authored a top tier paper on research collaboration and experiences between academia and industry in Finland. The paper: Continuous and collaborative technology transfer: Software engineering research with real-time industry impact is available online (freely until March 31, 2018) from the web site of Information and Software Technology.

Summary:

Traditional technology transfer models rely on the assumption that innovations are created in academia, after which they are transferred to industry using a sequential flow of activities. This model is outdated in contemporary software engineering research that is done in close collaboration between academia and industry and in large consortia rather than on a one-on-one basis. In the new setup, research can be viewed as continuous co-experimentation, where industry and academia closely collaborate and iteratively and jointly discover problems and develop, test, and improve solutions.

Research questions:

  • How can high-quality, ambitious software engineering research in a collaborative setup be conducted quickly and on a large scale?
  • How can real-time business feedback to continuously improve candidate solutions be gained?

The proposed model has been created, refined, and evaluated in two large, national Finnish software research programs. For this paper, we conducted thematic interviews with representatives of four companies who participated in these programs.

 

The fundamental change is in the mindset of the participants from technology push by academia to technology pull by companies, resulting in co-creation. Furthermore, continuous cooperation between participants enables solutions to evolve in rapid cycles and forms a scalable model of interaction between research institutes and companies.

The multifaceted nature of software engineering research calls for numerous approaches. In particular, when working with human-related topics such as company culture and development methods, many discoveries result from seamless collaboration between companies and research institutes.

 

Regulated Software Meets DevOps

Our paper published in the top tier journal Information and Software Technology on DevOps and regulated software development.

Highlights:

  • Research on DevOps and regulated software development is scarce.
  • Standards for regulated development limit the use of DevOps practices.
  • DevOps tools could help with strict tracing requirements if further developed.
  • DevOps should automate documentation and template generation where applicable.
  • Standards should provide templates that the tools can implement.

Visual abstract:

Publication details Regulated Software Meets DevOps. The paper in pdf  is available online from the publisher’s web site.

Summer Interns in OpenReq project

We are looking for research assistants as summer workers in the research project OpenReq.

Task: Java backend programming as the main objective but can also include Jira plugin development. In addition, other tasks also relevant related to OpenReq project. The tasks will be agreed based on the knowledge and interests of the applicant. Possibility to experiment modern technologies, such as AI  and NLP, with practical problems. We will have people available at office during the summer to support and guide the work.

Skills needed: Basic knowledge of Java, and data structures and algorithms. Knowledge of and interest in software and requirements engineering is a benefit.

Contact: Mikko Raatikainen or Prof. Tomi Männistö, firstname.lastname@helsinki.fi

Context: OpenReq (openreq.eu) is an EU Horizon 2020 framework project that aims to provide better requirements engineering to your organization. We are driving for improvements in the areas of requirements identification, classification and decision making support. The improvements we are looking for can be achieved through improved processes, methods and tools. OpenReq is also looking at hot topics like Artificial Intelligence methods to help with managing requirements and requirement extraction from natural language like social media posts.

In Finnish see also the UH news item: Tulossa: Älykäs ja yhteisöllinen ohjelmistojen vaatimusmäärittely.

The project involves four academic partners: HITEC University of Hamburg (GER), Universitat Politecnica de Catalunya (ESP), Technical University of Graz (AUT), and University of Helsinki. Other five industrial partners participate in OPENREQ: The Qt Company (FIN), SIEMENS (AUT), ENG Engineering(ITA), vogella (GER), and Wind Tre S.p.a. (ITA).

The thesis is carried out in the Empirical Software Engineering Research Group

MSc Thesis in OpenReq research project

MSc Thesis in a research project (funded): Designing and implementing an intelligent product release assistant system that utilises Choco solver for inference about diagnosis and repair.

Problem: The release problem concerns assigning requirements to a set of releases in which the requirements are planned to be implemented. The requirements are defined in different requirements management systems such as Doors or Jira. The requirements have properties, such as priority and effort, as well as interdependencies, such as one requirement requires or excludes another one. These properties must be taken into account when making the decision about the releases, but the release problem is also a negotiation process between stakeholders. We currently have basic functionalities to represent the problem in a declarative manner and to assist in making deductions using Choco solver as the inference engine. However, there is a need for defining and demonstrating more sophisticated inference. In particular, several releases need to be taken into account, conflicting properties and stakeholder concerns need to be negotiated, and explanations for resolving inconsistencies need to be generated for stakeholders.

Starting date: December 2017 – February 2018.

Objective (in addition to the thesis): Demonstration of the prototype implementation in the OpenReq meetings latest in May/June.

Required knowledge / keywords: Java, Spring Boot, CSP, Choco. The working language of the project is English.

Contact & Applications: Mikko Raatikainen or Prof. Tomi Männistö, firstname.lastname@helsinki.fi

Context: OpenReq (openreq.eu) is an EU Horizon 2020 framework project that aims to provide better requirements engineering to your organization. We are driving for improvements in the areas of requirements identification, classification and decision making support. The improvements we are looking for can be achieved through improved processes, methods and tools. OpenReq is also looking at hot topics like Artificial Intelligence methods to help with managing requirements and requirement extraction from natural language like social media posts.

The project involves four academic partners: HITEC University of Hamburg (GER), Universitat Politecnica de Catalunya (ESP), Technical University of Graz (AUT), and University of Helsinki. Other five industrial partners participate in OPENREQ: The Qt Company (FIN), SIEMENS (AUT), ENG Engineering(ITA), vogella (GER), and Wind Tre S.p.a. (ITA).

The thesis is carried out in the Empirical Software Engineering Research Group

Brave New Programmable World

Today, most of us in the industrialised world use at least two computers – a phone and a laptop. Many of us have a third device, a tablet, and more devices such as health monitoring and entertainment systems are being taken to use. Even cars are becoming powerful computing platforms that can be harnessed to serve our increasing needs for apps and data to consume.

Unfortunately, our practices, methods and techniques are not a good fit for such cornucopia of computers. We still treat them more like pets that each requires constant attention rather than accepting their new role as cattle, where no individual plays a defining role in our life. Therefore, new approaches are needed to harness the true power of computers around us to practical use. So-called liquid software is an attempt to build applications that from the end-user perspective flow from one computer to another, offering seamless computation experiences. This initiative is somewhat new, with the 2nd international workshop on liquid software being hosted in Rome, Italy, as a part of the International Conference on Web Engineering.

In addition to the techniques that will help us design software for numerous devices, another dimension to consider is what all these computers mean for humanity. What implications will the increasingly intelligent environment of the brave new programmable world have on our behaviour and actions as humans, as well as to what extent we should consider computers as part of our society are interesting questions for future research. Obviously, such work should be joint endeavour, executed by philosophers, social scientists and software engineers all together.

This blog post repeats the core message Tommi Mikkonen delivered in his inaugural presentation on May 31, 2017.

Tommi Mikkosen tervetuliaisluento (video of Tommi Mikkonen’s inaugural lecture, in Finnish)

Cookbook for the systematic experimentation

The ESE research group has authored a cookbook for continuous experimentation based on the research in the N4S research program.

Continuous experimentation Cookbook – An introduction to systematic experimentation for software-intensive businesses provides an introduction to continuous experimentation, which is a systematic way to continuously test your product or service value and whether your business strategy is working.

An increasing number of companies are involved in building software-intensive products and services – hence the popular slogan “every business is a software business”. Software allows companies to disrupt existing markets because of its flexibility. This creates highly dynamic and competitive environments, imposing high risks to businesses. One risk is that the product or service is of only little or no value to customers, meaning the effort to develop it is wasted. In order to reduce such risks, you can adopt an experiment-driven development approach where you validate your product ideas before spending resources on fully developing them. Experiments allow you to test assumptions about what customers really want and react if the assumptions are wrong.

This book provides an introduction to continuous experimentation, which is a systematic way to continuously test your product or service value and whether your business strategy is working. With real case examples from Ericsson, Solita, Vaadin, and Bittium, the book not only gives you the concepts needed to start performing continuous experimentation, but also shows you how others have been doing it.

The cookbook was a deliverable in the N4S program.

DD-SCALE Project Completed

We have recently completed successfully the DD-SCALE (Distributed dynamic software development work in global value networks – framework, tools and work expertise practices) joint-project with the University of Tampere and Haaga-Helia University of Applied Sciences as research partners and ABB, Comptel, Napa and Nokia as the industrial partners. The Tekes-funded project period was 9/2014-9/2016 with a closing seminar in February 2017.

Productivity in software-intensive product and service development has been a persistent research challenge for decades. Considering total productivity, it is essential to understand holistically the role of software and their development in organizations. In practice, it is not possible to explain conclusively all the business impacts of software development related decisions. Furthermore, the net customer value provided by software is influenced by many company external, non-controllable factors.

However, key factors affecting the total productivity are knowledge and competencies coupled with the ability of the company to leverage them. The company can influence those with various decisions and activities both positively and – possibly unintentionally – negatively. In terms of total productivity, it is imperative to understand that even single, determined decisions and the roles of certain individuals may have major impacts of the performance of the entire organization (e.g., software architectural solutions). In our DD-SCALE research work we have shed light on such factors and events in our industry partner cases. Resulting research publications are currently in preparation.

Further reading (in Finnish): DD-SCALE -tutkimusprojektin päätösseminaari