0000000000136295

AUTHOR

Tommi Mikkonen

showing 27 related works from this author

Embracing iterations in Quantum software: a vision

2022

In today’s software engineering, iterations, affordable en masse, form an important part of just about any system. However, not all computing resources are cheap to consume. In High-Performance (HPC) and Quantum Computing (QC), executions can consume considerable amounts of energy and time, which is reserved and used even if the very first steps in the process fail. This means that developers must assume a different attitude towards programming, and aim at error-free software before its execution. This is com monly facilitated using simulators, which are commonplace for both HPC and QC. However the fashion developers advance from one tool to another is ad-hoc, with no established software e…

quantum software engineeringiterointiohjelmistosuunnittelusoftware prototypingohjelmistotuotantosimulointiquantum computing quantum IDEkvanttilaskentaohjelmistokehityssoftware development techniquesProceedings of the 1st International Workshop on Quantum Programming for Software Engineering
researchProduct

Node co-activations as a means of error detection : Towards fault-tolerant neural networks

2022

Context: Machine learning has proved an efficient tool, but the systems need tools to mitigate risks during runtime. One approach is fault tolerance: detecting and handling errors before they cause harm. Objective: This paper investigates whether rare co-activations – pairs of usually segregated nodes activating together – are indicative of problems in neural networks (NN). These could be used to detect concept drift and flagging untrustworthy predictions. Method: We trained four NNs. For each, we studied how often each pair of nodes activates together. In a separate test set, we counted how many rare co-activations occurred with each input, and grouped the inputs based on whether its class…

machine learningkoneoppiminenerror detectionvirheetfault toleranceneuroverkotneural networksconcept driftluotettavuusdependability
researchProduct

Continuous design control for machine learning in certified medical systems

2022

AbstractContinuous software engineering has become commonplace in numerous fields. However, in regulating intensive sectors, where additional concerns need to be taken into account, it is often considered difficult to apply continuous development approaches, such as devops. In this paper, we present an approach for using pull requests as design controls, and apply this approach to machine learning in certified medical systems leveraging model cards, a novel technique developed to add explainability to machine learning systems, as a regulatory audit trail. The approach is demonstrated with an industrial system that we have used previously to show how medical systems can be developed in a con…

FOS: Computer and information scienceslääketieteellinen tekniikkaComputer Science - Artificial Intelligencetekninen suunnittelutietokoneohjelmat113 Computer and information sciencesregulated softwarecontinuous engineeringSoftware Engineering (cs.SE)ohjelmistosuunnittelusuunnitteluComputer Science - Software EngineeringArtificial Intelligence (cs.AI)machine learningkoneoppiminenmedical softwaredesign controlSafety Risk Reliability and QualitySoftwareSoftware Quality Journal
researchProduct

Data-driven value creation in digitalizing public service

2022

Data has become an important asset in value creation. Organizations are dealing with a huge amount of data generated on different platforms. In dynamic environments, public organizations have an opportunity to make innovations by applying innovative technologies, implementing big data, and enabling data analytics capabilities that can create value. Evidence from the literature shows that organizations need data analytics capabilities to achieve data-driven value creation. In this chapter, based on a literature review and case example, the aim is to present the factors enabling public innovations from the big data analytics perspective; a theoretical framework for data-driven value creation …

big dataarvonluontisähköiset palvelut512 Business and managementtiedonlouhinta113 Computer and information sciencesdigitalisaatiojulkiset palvelutinnovaatiot
researchProduct

From Agile Software Development to Mercury Business

2014

The rapid downfall of the Nokia software ecosystem has radically altered the landscape of software industry in Finland in recent years. There has been a shift from largely corporate driven way of working, which is often dominant in large companies, to more agile practices, and in general software organizations are seeking new, leaner ways of composing, delivering, and using software also inside already established companies. To accelerate this transformation in large scale, a collaborative research program has been created, called Need for Speed (N4S). In this paper, we give an insight to the joint goals and concrete actions of the program and discuss the motivations of individual companies…

deep customer insightProcess managementelastic enterprisebusiness.industrySoftware ecosystemlean startupreal-time value deliveryBusiness Model CanvasCustomer insightManufacturing engineeringcustomer insightSoftwaremercury businessLean software developmentbusinessLean startupAgile software developmentEnterprise software
researchProduct

Supporting Agile Development by Facilitating Natural User Interaction with Executable Formal Specifications

2011

Agile development benefits from fast feedback from various stakeholders. If implemented in a suitable way, formal methods can enhance the agile development process. With an executable formal specification, it is possible to analyse and simulate the behaviour of the target system before it is being built. However, for the users' and developers' natural participation in the development process, it is necessary to use a real end-user interface and bind it to the execution environment being used in the simulations and animations. This requires, though, that the execution model used to simulate the specification is appropriately changed to facilitate the use of these user interfaces. The authors…

ta113Agile usability engineeringbusiness.industryComputer scienceProgramming languageAgile Unified ProcessGeneral Medicinecomputer.file_formatFormal methodscomputer.software_genreFormal specificationExecutableUser interfacebusinessSoftware engineeringcomputerExecution modelAgile software developmentACM SIGSOFT Software Engineering Notes
researchProduct

On Supervising Master’s Theses in Industry Context

2022

In software engineering, students easily find internships in companies while still studying. To combine their studies and employment, many of them seek to compose their final theses in an industry context, for the benefit of the employer as well as to simplify their context switching between job and studies. This can put the student between a rock and a hard place, as on one hand the employer has certain expectations in terms of working for the company, whereas the supervising professor needs to follow the university guidelines. An additional aspect worth considering is the university as an administrative home for the thesis and owner of the thesis process. In this paper, we study how the d…

Software engineering educationindustry-academy collaborationohjelmistotuotantoyritysyhteistyöthesis supervisiontyöharjoittelusidosryhmät113 Computer and information sciencespro gradu -tutkielmatkorkeakouluopetusProceedings of the 22nd Koli Calling International Conference on Computing Education Research
researchProduct

Towards Process Centered Architecting for Quantum Software Systems

2022

Quantum Software Engineering (QSE) is a recent trend - focused on unifying the principles of quantum mechanics and practices of software engineering - to design, develop, validate, and evolve quantum age software systems and applications. Software architecture for quantum computing (a.k. a. quantum software architectures (QSA)) supports the design, development, and maintenance etc. phases of quantum software systems using architectural components and connectors. QSA can enable quantum software designers and developers to map the operations of Qubits to architectural components and connectors for implementing quantum software. This research aims to explore the role of QSAs by investigating (…

ohjelmistokehittäjätArchitecture ProcessReference ArchitectureohjelmistoarkkitehtuurikvanttitietokoneetohjelmistotuotantoQuantum Software ArchitecturetyöprosessitohjelmistokehitysQuantum Software Engineering
researchProduct

Towards a Secure DevOps Approach for Cyber-Physical Systems

2020

With the expansion of cyber-physical systems (CPSs) across critical and regulated industries, systems must be continuously updated to remain resilient. At the same time, they should be extremely secure and safe to operate and use. The DevOps approach caters to business demands of more speed and smartness in production, but it is extremely challenging to implement DevOps due to the complexity of critical CPSs and requirements from regulatory authorities. In this study, expert opinions from 33 European companies expose the gap in the current state of practice on DevOps-oriented continuous development and maintenance. The study contributes to research and practice by identifying a set of needs…

Process managementComputer scienceeducationPerspective (graphical)0202 electrical engineering electronic engineering information engineeringCyber-physical system020207 software engineering02 engineering and technologytietoturvaDevOps113 Computer and information sciences020202 computer hardware & architectureInternational Journal of Systems and Software Security and Protection
researchProduct

ScrumBut as an Indicator of Process Debt

2022

Technical debt analysis is used to detect problems in a codebase. Most technical debt indicators rely on measuring the quality of the code, as developers tend to induce recurring technical debt that emerges along with evolution cycles. This debt can emerge when project pressure leads to process deviations, for instance. In agile methods like Scrum, such deviations are commonly known as ScrumButs (like Scrum but …), which can be considered as a form of process debt. In this paper, we investigate two recurring signs of process debt (i.e. code smells and anti-patterns) caused by Scrumbuts. Our contribution investigates typical ScrumBut practices found in agile projects in one company and we re…

anti-patterns.ketterät menetelmätprosessittechnical debtohjelmistotuotantoScrumButcode smellsprocess debtohjelmistokehitysongelmat113 Computer and information sciences2022 48th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)
researchProduct

Quaternary Reversible Circuit Optimization for Scalable Multiplexer and Demultiplexer

2023

Information loss is generally related to power consumption. Therefore, reducing information loss is an interesting challenge in designing digital systems. Quaternary reversible circuits have received significant attention due to their low-power design applications and attractive advantages over binary reversible logic. Multiplexer and demultiplexer circuits are crucial parts of computing circuits in ALU, and their efficient design can significantly affect the processors’ performance. A new scalable realization of quaternary reversible 4×1 multiplexer and 1×4 demultiplexer, based on quaternary 1-qudit Shift, 2-qudit Controlled Feynman, and 2-qudit Muthukrishnan-Stroud gates, is presented in …

multiplexingGeneral Computer Sciencecircuit synthesislogic gatesGeneral EngineeringGalois fieldscostsGeneral Materials SciencetransformsElectrical and Electronic Engineeringkvanttilaskentaquantum computing
researchProduct

Cargo-Cult Containerization : A Critical View of Containers in Modern Software Development

2022

Software is increasingly developed and deployed using containers. While the concept of a container is conceptually straightforward, there are various issues to be considered while using them, ranging from technical details inside containers to the orchestration of containers that jointly form a meaningful application. In recent years, the use of containers has become so prevalent that developers have a tendency to resort to cargo-cult containerization - ritual adherence to the use of containers just because so many others are doing the same thing. In this paper, we study advantages and downsides of containers in modern-day software development. We foresee the use of containers to spread int…

DevOpsdesign principlesvirtualisointicontainer orchestrationcontainerizationsoftware containersohjelmistotuotanto113 Computer and information sciencessoftware designohjelmistosuunnittelupilvipalvelutohjelmistoarkkitehtuuriohjelmistokehityscontinuous software engineering
researchProduct

Migrating from a Centralized Data Warehouse to a Decentralized Data Platform Architecture

2021

To an increasing degree, data is a driving force for digitization, and hence also a key asset for numerous companies. In many businesses, various sources of data exist, which are isolated from one another in different domains, across a heterogeneous application landscape. Well-known centralized solution technologies, such as data warehouses and data lakes, exist to integrate data into one system, but they do not always scale well. Therefore, robust and decentralized ways to manage data can provide the companies with better value give companies a competitive edge over a single central repository. In this paper, we address why and when a monolithic data storage should be decentralized for imp…

hajautetut järjestelmätComputer scienceDistributed computingtietovarastotData platform architectureDistributed data management02 engineering and technologydata warehousingAsset (computer security)Competitive advantageDecentralizationdistributed data managementkeskittäminen020204 information systems0202 electrical engineering electronic engineering information engineeringDigitizationtietojärjestelmäthajautusbusiness.industrytiedonhallinta020207 software engineeringData decentralizationtiedonhallintajärjestelmät113 Computer and information sciencesData warehousedata decentralizationyrityksetData warehousingdatadata platform architectureComputer data storageScalabilitytietohallintoKey (cryptography)business
researchProduct

Elements of Sustainability for Public Sector Software : Mosaic Enterprise Architecture, Macroservices, and Low-Code

2021

Public sector is a large consumer for software. In countries such as Finland, many of the systems are made to order by consultancy companies that participate in public tenders. These tenders initiated by the state, cities, and other public sector organizations. Furthermore, as public sector tasks are often decomposed to various actors, each and every one of them makes their purchase based on their own needs. In this paper, we argue that to maintain software sustainability in this context, there is a need for three key elements. Firstly, there is a need for an enterprise architecture where independent services from various vendors are can be easily deployed and integrated. Secondly, these se…

järjestelmäarkkitehtuurikestävä käyttö0209 industrial biotechnologyProcess managementMosaic architectureBuild to ordersoftware sustainabilityEnterprise architectureContext (language use)02 engineering and technologypublic sector software020901 industrial engineering & automationSoftware0202 electrical engineering electronic engineering information engineeringMacroservicesmacroservicestietojärjestelmät020203 distributed computingCall for bidsbusiness.industryPublic sectorohjelmistot (taiteet)Software sustainability113 Computer and information sciencesjulkinen sektorimosaic architectureSoftware deploymentSustainabilityPublic sector softwarebusiness
researchProduct

Energizing Collaborative Industry-Academia Learning: A Present Case and Future Visions

2022

AbstractIn Industry-Academia Collaborations (IAC) both academic, scientific research results and industrial practitioner findings and experiences are produced. Both types of knowledge should be gathered, codified, and disseminated efficiently and effectively. This paper investigates a recent (2014–2017) large-scale IAC R&D&I program case (Need for Speed, N4S) from a learning perspective. It was one of the programs in the Finnish SHOK (Strategic Centres of Science, Technology, and Innovation) system. The theoretical bases are in innovation management, knowledge management, and higher education (university) pedagogy. In the future, IAC projects should be more and more commonplace sinc…

learning networksSociology and Political ScienceohjelmistotuotantoEconomics Econometrics and Finance (miscellaneous)113 Computer and information sciencesIndustry-Academia Collaborationinnovaatiotoimintainnovaatiojärjestelmätkehitysohjelmattutkimus- ja kehittämistoimintaManagement of Technology and InnovationTourism Leisure and Hospitality Managementyritysyhteistyökorkeakoulutinnovation ecosystemsLearning networksyliopistotSocial Sciences (miscellaneous)Innovation ecosystemsindustry-academia collaboration
researchProduct

Introducing Traceability in GitHub for Medical Software Development

2021

Assuring traceability from requirements to implementation is a key element when developing safety critical software systems. Traditionally, this traceability is ensured by a waterfall-like process, where phases follow each other, and tracing between different phases can be managed. However, new software development paradigms, such as continuous software engineering and DevOps, which encourage a steady stream of new features, committed by developers in a seemingly uncontrolled fashion in terms of former phasing, challenge this view. In this paper, we introduce our approach that adds traceability capabilities to GitHub, so that the developers can act like they normally do in GitHub context bu…

FOS: Computer and information sciencesTraceabilityComputer scienceProcess (engineering)Context (language use)computer.software_genreregulated softwareGitHubComputer Science - Software EngineeringDocumentationMedical softwarejäljitettävyysSoftware systemDevOpsDevOpsbusiness.industryturvallisuusSoftware developmenttietokoneohjelmatohjelmistot (taiteet)kehittäminen113 Computer and information sciencesSoftware Engineering (cs.SE)ohjelmistosuunnittelutraceabilityvaatimustenhallintabusinessSoftware engineeringohjelmistokehityscomputercontinuous software engineering
researchProduct

Practices and Infrastructures for Machine Learning Systems : An Interview Study in Finnish Organizations

2022

Using interviews, we investigated the practices and toolchains for machine learning (ML)-enabled systems from 16 organizations across various domains in Finland. We observed some well-established artificial intelligence engineering approaches, but practices and tools are still needed for the testing and monitoring of ML-enabled systems. Peer reviewed

organizationscomputational modelingliiketoimintaprosessitGeneral Computer Scienceinterviewsbusiness practicesohjelmistotuotantoorganisaatiotmonitorointitekoäly113 Computer and information sciencesartificial intelligencelearning systemsdata modelsmonitoringmachine learningkoneoppiminenälytekniikkahaastattelututkimussoftware engineering
researchProduct

Exploring Virtual Reality as an Integrated Development Environment for Cyber-Physical Systems

2019

Cyber Physical Systems (CPS) development approaches tend to start from the physical (hardware) perspective, and the software is the final element in the process. However, this approach is unfit for the more software-intensive world that is increasingly iterative, connected, and constantly online. Many constraints prevent the application of iterative, incremental, and agile development methodologies, which now are the norm for many other fields of software. Time-consuming system validation can only start when both hardware and software components are ready, which implies that the software delivery and quality is almost always the final bottleneck in the CPS development and integration. Also …

0209 industrial biotechnologybusiness.industryComputer scienceProcess (engineering)Integrated softwareeducationCyber-physical system020207 software engineering02 engineering and technologyVirtualizationcomputer.software_genre113 Computer and information sciencesBottleneck020901 industrial engineering & automationSoftwareComponent-based software engineering0202 electrical engineering electronic engineering information engineeringbusinessSoftware engineeringcomputerAgile software development
researchProduct

Amidst Uncertainty–or Not? : Decision-Making in Early-Stage Software Startups

2019

It is commonly claimed that the initial stages of any startup business are dominated by continuous, extended uncertainty, in an environment that has even been described as chaotic. Consequently, decisions are made in uncertain circumstances, so making the right decision is crucial to successful business. However, little currently exists in the way of empirical studies into this supposed uncertainty. In this paper, we study decision-making in early-stage software startups by means of a single, in-depth case study. Based on our data, we argue that software startups do not work in a chaotic environment, nor are they characterized by unique uncertainty unlike that experienced by other firms. pe…

FOS: Computer and information sciencesComputer sciencepäätöksentekoeducation02 engineering and technologyentrepreneurshipstartup-yrityksetComputer Science - Software EngineeringSoftwareEmpirical researchohjelmistoala0202 electrical engineering electronic engineering information engineeringcynefin frameworkliiketoimintaympäristöbusiness.industry020207 software engineeringdecision-makingyrittäjyys113 Computer and information sciencesin-depth case studyepävarmuusIndustrial engineeringSoftware Engineering (cs.SE)Work (electrical)020201 artificial intelligence & image processingsoftware startupsStage (hydrology)business
researchProduct

Towards Seamless IoT Device-Edge-Cloud Continuum:

2021

In this paper we revisit a taxonomy of client-side IoT software architectures that we presented a few years ago. We note that the emergence of inexpensive AI/ML hardware and new communication technologies are broadening the architectural options for IoT devices even further. These options can have a significant impact on the overall end-to-end architecture and topology of IoT systems, e.g., in determining how much computation can be performed on the edge of the network. We study the implications of the IoT device architecture choices in light of the new observations, as well as make some new predictions about future directions. Additionally, we make a case for isomorphic IoT systems in whic…

software architectureIoTsulautettu tietotekniikkaprogrammable worldembedded devicesohjelmistotuotantointernet of thingsliquid softwarepilvipalvelutedge computingisomorphismreunalaskentaohjelmistoarkkitehtuuriisomorphic softwareesineiden internetsoftware engineering
researchProduct

Containers in Software Development: A Systematic Mapping Study

2019

Over the past decade, continuous software development has become a common place in the field of software engineering. Containers like Docker are a lightweight solution that developers can use to deploy and manage applications. Containers are used to build both component-based architectures and microservice architectures. Still, practitioners often view containers only as way to lower resource requirements compared to virtual machines. In this paper, we conducted a systematic mapping study to find information on what is known of how containers are used in software development. 56 primary studies were selected into this paper and they were categorized and mapped to identify the gaps in the cu…

050101 languages & linguisticsvirtualisointiComputer scienceeducationohjelmistotuotantoCloud computingContext (language use)02 engineering and technologycomputer.software_genreField (computer science)Resource (project management)ohjelmistoarkkitehtuuriComponent (UML)0202 electrical engineering electronic engineering information engineering0501 psychology and cognitive sciencesDevOpssystematic mapping studiesbusiness.industry05 social sciencesSoftware development113 Computer and information sciencesVirtual machinecontainers020201 artificial intelligence & image processingohjelmistokehitysbusinessSoftware engineeringcomputersoftware engineering
researchProduct

Medical Software Needs Calm Compliance

2022

The promise of calm computing, a concept introduced by Mark Weiser more than 20 years ago, has been mostly realized today. For instance, as an end user, you expect to interact during your daily routine with a multitude of sophisticated services and applications without being aware of their technical implementation. All you need is a smartphone and an always-on Internet connection. peerReviewed

software systemsketterät menetelmätlääketieteellinen tekniikkakäytettävyysterveydenhuoltotietokoneohjelmatvaatimustenmukaisuusmedical servicesohjelmistokehitysSoftwareperformance evaluationlääkintälaitteetIEEE Software
researchProduct

Agile Enterprise Transformations : Surveying the Many Facets of Agility for the Hybrid Era

2022

Agile companies are not uniform. Consequently, agile transformations are conceived broadly, ranging from adopting agile methods and practices in software development teams or functions to building all-encompassing enterprise agility. Moreover, the targeted effects of agility may vary, and the success of transformations and the attainment of agility are measured in various ways. In this paper, based on a recent industrial survey study, we scrutinize holistically why companies want to transform, what types of agility they are aiming at, and how they gauge transformations. The survey data was collected during the COVID-19 pandemic in 2020. Most of the respondents were in large or very large co…

liiketoimintaprosessitenterprise agilityindustry-academia researchohjelmistotuotantoCOVID-19large-scale agileagile transformationbusiness agilityketterät menetelmätjoustotyöpoikkeusolothybrid workohjelmistokehitystietotekniikkayrityksetohjelmistoteollisuus
researchProduct

Time for AI (Ethics) maturity model is now

2021

Publisher Copyright: Copyright © 2021 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). There appears to be a common agreement that ethical concerns are of high importance when it comes to systems equipped with some sort of Artificial Intelligence (AI). Demands for ethical AI are declared from all directions. As a response, in recent years, public bodies, governments, and universities have rushed in to provide a set of principles to be considered when AI based systems are designed and used. We have learned, however, that high-level principles do not turn easily into actionable advice for practitioners. Hence, also companie…

FOS: Computer and information sciencesjärjestelmäsuunnitteluComputer Science - Computers and SocietytoimintaohjeetComputingMethodologies_PATTERNRECOGNITIONComputers and Society (cs.CY)tekoälyetiikkaeettisyysohjelmistokehitys113 Computer and information sciencesGeneralLiterature_MISCELLANEOUS
researchProduct

The Role of Explainable AI in the Research Field of AI Ethics

2023

Ethics of Artiicial Intelligence (AI) is a growing research ield that has emerged in response to the challenges related to AI. Transparency poses a key challenge for implementing AI ethics in practice. One solution to transparency issues is AI systems that can explain their decisions. Explainable AI (XAI) refers to AI systems that are interpretable or understandable to humans. The research ields of AI ethics and XAI lack a common framework and conceptualization. There is no clarity of the ield’s depth and versatility. A systematic approach to understanding the corpus is needed. A systematic review ofers an opportunity to detect research gaps and focus points. This paper presents the results…

AI ethicssystematic mapping studytutkimusetiikkateknologinen kehitysetiikkatekoälyartificial intelligenceexplainable AI
researchProduct

Towards Human-Bot Collaborative Software Architecting with ChatGPT

2023

Architecting software-intensive systems can be a complex process. It deals with the daunting tasks of unifying stakeholders' perspectives, designers' intellect, tool-based automation, pattern-driven reuse, and so on, to sketch a blueprint that guides software implementation and evaluation. Despite its benefits, architecture-centric software engineering (ACSE) inherits a multitude of challenges. ACSE challenges could stem from a lack of standardized processes, socio-technical limitations, and scarcity of human expertise etc. that can impede the development of existing and emergent classes of software (e.g., IoTs, blockchain, quantum systems). Software Development Bots (DevBots) trained on la…

Software Engineering (cs.SE)FOS: Computer and information sciencessoftware architectureComputer Science - Software EngineeringArtificial Intelligence (cs.AI)ChatGPTComputer Science - Artificial Intelligenceohjelmistoarkkitehtuurilarge language modelsDevBotstekoäly
researchProduct

Towards multi-concern software development with Everything-as-Code

2022

As software is becoming a central element in our lives, more and more stakeholders have concerns. Unlike today, when developers stop their coding activities to satisfy these stakeholder concerns, we propose dealing with them as part of the coding workflow, the central element of programmers’ daily duties. This can be achieved by extending the approach that we call Everything-as-Code (EaC) beyond software engineers and operators. peerReviewed

data modelssoftwareohjelmoijatohjelmistotuotantotask analysiscodessidosryhmätohjelmistokehitysdocumentationstakeholderspipelines
researchProduct