
Niko MäkitaloUniversity of Jyväskylä | JYU · Faculty of Information Technology
Niko Mäkitalo
Doctor of Science (D.Tech)
About
48
Publications
80,662
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
921
Citations
Introduction
Additional affiliations
October 2016 - August 2018
Publications
Publications (48)
Mobile devices have become a commodity: we use several devices for various purposes. Although we carry only some of our devices with us, we still want to access content originating from any device. To overcome this issue, device users often upload content into a hosting service available in the cloud. However, cloud-based hosting can alienate the c...
There's growing interest in developing applications for the Internet of Things. Such applications' main objective is to integrate technology into people's everyday lives, to be of service to them en masse. The form in which this integration is implemented, however, still leaves much room for improvement. Usually, the user must set parameters within...
Computing machines and humans interacting has long followed similar principles – A human gives an input command to a machine, which the machine then executes, gives an output, and waits for the next human input. Thus the interactions are user-initiated, requiring constant active participation, and much attention. Despite this, the number of such in...
System design where cyber-physical applications are securely coordinated from the cloud may simplify the development process. However, all private data are then pushed to these remote “swamps,” and human users lose actual control as compared to when the applications are executed directly on their devices. At the same time, computing at the network...
Today’s dominant design for the Internet of Things (IoT) is a Cloud-based system, where devices transfer their data to a back-end and in return receive instructions on how to act. This view is challenged when delays caused by communication with the back-end become an obstacle for IoT applications with, for example, stringent timing constraints. In...
The growing domain of liquidity in computing extends its boundaries to include advancements like liquid artificial intelligence (AI). Liquid AI leverages liquid software using isomorphic Internet of Things (IoT) architecture to enhance computation at the edge. This innovation presents numerous possibilities and significant challenges. Central to th...
Robotics enabled by AI and advanced software technologies are taking the world by storm. The advanced automation systems, systems-of-systems that power them, and their collaboration are complex and difficult to understand. Lacking knowledge about how they work can only improve our lives so much; in fact, it can hamper the interactions between syste...
The exponentially growing amount of digital information and data analysis increase the ability to perceive the holistic situation of people. This article applies the digital twin paradigm to strengthen a person’s ability to utilize information about themselves by creating a digital representation of their situation to support their well-being. More...
The paper introduces an architecture for robot-to-robot cooperation which takes into consideration how situational context augmented with peer modeling fosters cooperation opportunity identification and cooperation planning. The presented architecture allows developing, training, testing, and deploying dynamic cooperation solutions for diverse auto...
Recent years have seen the rise of a new generation of UI frameworks for web application development. These frameworks differ from previous generations of JavaScript frameworks in that they define a declarative application development model, where transitions in the state of the UI are managed by the framework. This potentially greatly simplifies a...
Going all the way to IoT with web technologies opens up the door to isomorphic IoT system architectures, which deliver flexible deployment and live migration of code between any device in the overall system. In this vision paper, we propose using WebAssembly to implement lightweight containers and deliver the required portability. Our long-term vis...
Nowadays, the number of devices connected to the Internet is growing at an unstoppable rate. This, added to the amount of information these devices produce, makes new techniques necessary to take advantage of their potential. New devices are continually being introduced in the daily life of people, and they are already producing an unprecedented am...
Today, smart environments require attention from the network level for connecting devices to the application level for adapting their behavior to continuously changing environmental conditions. Just as a smartphone can choose between using mobile internet or a WLAN connection, IoT applications that manage smart environments must know how to establi...
We live in an era in which the most valued services are not paid for in money, but in personal data. Every day, service providers collect the personal information of billions of individuals, information that sustain their infrastructure by marketing profiles labeled with this information to personal data consumers, such as advertisers. Not all uses...
Artificial intelligence (AI) and machine learning (ML) is becoming commonplace in numerous fields. As they are often embedded in the context of larger software systems, issues that are faced with software systems in general are also applicable to AI/ML. In this paper, we address ML systems and their characteristics in the light of software maintena...
Today, an increasing number of systems produce, process, and store personal and intimate data. Such data has plenty of potential for entirely new types of software applications, as well as for improving old applications, particularly in the domain of smart healthcare. However, utilizing this data, especially when it is continuously generated by sen...
The availability of open source assets for almost all imaginable domains has led the software industry to opportunistic design—an approach in which people develop new software systems in an ad hoc fashion by reusing and combining components that were not designed to be used together. In this paper we investigate this emerging approach. We demonstra...
Today, the number of interconnected devices and the amount of personal information gathered by them increases tremendously resulting in the need for development tools to harness its potential. New devices are continually being introduced in the daily life of people, and they are already producing an unprecedented amount of data related to people's...
Design by contract is a paradigm that aims at capturing the interactions of different software components, and formalizing them so that they can be relied upon in other phases of the design. Such a characteristic is especially helpful in the context of microservice architecture, where each service is an independent entity that can be individually (...
Software is the key enabling technology (KET) as digitalization is cross-cutting future energy systems spanning the production sites, distribution networks, and consumers particularly in electricity smart grids. In this paper, we identify systematically what particular software competencies are required in the future energy systems focusing on elec...
The Agile Manifesto emphasizes value on individuals and interactions over processes and tools, explicitly encouraging face-to-face communication as the most effective way of conveying information and collaboration between Agile teams. Effective collaboration enables teams to develop workable solutions to complex problems. However, in reality, this...
A growing number of software systems operate in uncertain environments. They benefit from an ability to autonomously adapt to changes during runtime without suffering from a lowered quality of service. Several different architectural approaches to self-adaptive software exist with their sources of inspiration varying from psychology to mathematics....
Fog computing paradigm is emerging after a decade's dominance of cloud-based system design and architecture. Now, instead of centralising the computation and coordination to remote services, these are deployed and distributed to all over physical surroundings and network nodes, including cloud services, smart gateways, and network edge devices. At...
One of the more recent avenues towards more flexible installations and execution is the transition from monolithic architecture to microservice architecture. In such architecture, where microservices can be more liberally updated, relocated, and replaced, building liquid software also becomes simpler, as adaptation and deployment of code is easier...
Major chat platforms, such as Facebook Messenger, have recently added support for chatbots, thus making chatbots more accessible for the end users. This paper presents a case study on building and designing a Messenger chatbot for a media company. The chatbot uses a Serverless Microservice architecture which was implemented using Amazon Web Service...
As the users possess a growing number of personal computers, smart phones, tablets, and other connected computing devices, the architecture of Web applications needs to be redesigned to enable truly seamless cross-device and multi-device use. In this tutorial, we address the Liquid Software concept in the context of Web applications. Liquid Web app...
System design where cyber-physical applications are securely coordinated from the cloud may simplify the development process. However, all private data are then pushed to these remote swamps, and human users lose the actual control as compared to when the applications are executed directly on their devices. At the same time, computing at the networ...
Today, digitalization decisively penetrates all the sides of the modern society. One of the key enablers to maintain this process secure is authentication. It covers many different areas of a hyper-connected world, including online payments, communications, access right management, etc. This work sheds light on the evolution of authentication syste...
In traditional IoT system simple edge devices collect data to specialized server. However, hardware has already evolved enabling intelligence and programmability of IoT devices.
Our focus is on programmability of heterogeneous IoT devices and dynamic orchestration of the IoT applications together with web applications. In this paper we present our...
The mobile devices of today evolve towards offering uninterrupted connectivity while attempting to achieve untethered mobility of their users. Further technological advances in hardware often lead to an increased data consumption. Combining these two factors, we notice that the data rates on the current Internet connections are starting to lag behi...
Both number and diversity of computer-enabled physical objects in our surroundings is rapidly increasing. Such objects offer connectivity and are programmable, which forms basis for new kinds of cyber-physical computing environments. This has inspired us to propose a programming model called Action-Oriented Programming (AcOP), where focus is at sim...
Recent device shipment trends strongly indicate that the number of Web-enabled devices other than PCs and smart phones are growing rapidly. Marking the end of the dominant era of these two traditional device categories, people will soon commonly use various types of Internet-connected devices in their daily lives, where no single device will domina...
Smartphones have become major players in the consumption of cloud services. These services are usually employed to share information and to interact with other people. All this information is reused by marketing companies to create sociological profiles of the users. Users, however, often share similar pieces of information via different platforms....
Today's mobile and embedded devices are Internet-connected, and have decent computing power, which creates a possibility for complex, cooperative multi-device platforms. Yet, from user's perspective, it seems that we are not freed to use different technologies seamlessly and without thinking. From developer's perspective, on the other hand, buildin...
Today's Internet-connected devices, such as tablets and mobile phones, have excellent computing power, which creates a possibility for complex, cooperative multi-device platforms. However, coordinating these devices typically requires implementing the coordination process separately in an application specific fashion, which takes focus away from th...
Nowadays, smart devices have excellent computing power and connectivity and at the same time are used for various purposes. This creates the possibility for complex, cooperative multi-device programs. However, current programming paradigms are not tailored for such a setting. This paper tackles the problem by introducing a new paradigm: an action-o...
Mobile devices are becoming the primary access point for users
for various services and mobile cloud computing has emerged as a means of
utilizing the advantages of cloud computing within mobile devices. Cloud
computing, in general, hides the location of services, regardless of whether
they are provided by the mobile devices or by backend services....
Contemporary Internet connected devices, such as tablets and mobile phones, have excellent computing power, which creates a possibility for complex, cooperative multi-device platforms. We have introduced a concept of Social Devices and its reference implementation Social Devices Platform. The system offers an intuitive way to build interactions bet...
In addition to functions, the architecture of a software system defines numerous other properties, commonly referred to as non-functional or quality properties. In web applications, two well-known architectural styles are common. They are resource-oriented architectural style, implemented using RESTful principles, and message-passing architectural...
Online social media services, such as Facebook and Twitter,
have set new standards on how people interact with
each other online, share their everyday activities, and media
services. While current mobile services supporting social interaction
are typically primarily for remote communication,
similar services can be introduced to co-located social i...
The amount of digital content is increasing at an accelerating speed. This content is distributed to a heterogeneous set of users' devices and handling the content manually is an unsustainable solution and soon leads to a increasing problem. We have studied the most crucial concepts of content management systems and how the distributed environment...