Skip to search boxSkip to navigationSkip to main content

Designing Evolvable Software Products

Project:
Research
Project status
Finished

Description

Software kernels are used in the development of widely differing software products such as enterprise resource planning (ERP) systems, booking systems, game engines, content management systems for the World Wide Web, telecommunication infrastructure and simulation software. The software kernel encapsulates and provides core functionality, and each specific product is then developed by deploying and adapting this kernel. Software kernels encapsulate domain knowledge, and good kernels are seen as a clear competitive advantage. Flexible kernels increase application development productivity and the adaptability of applications.

The project goal is to contribute to more adaptable and durable software products. Scientifically this means to explore and contribute to an approach to software development that has evolved in practice but is not yet seriously taken up in the research community. By developing this knowledge we will be able to provide more relevant education at the ITU.

Layman's description

En softwarekerne er en del af et softwaresystem, som er stabil over tid, og som genbruges i en familie af beslægtede systemer. Softwarekerner findes i virksomhedssystemer (ERP-systemer), simuleringssoftware, computerspil, telekommunikationsinfrastruktur og mange andre softwareprodukter. En softwarekerne indeholder og indkapsler central funktionalitet der repræsenterer domæneviden. Hvert softwareprodukt i familien bygger videre på denne kerne med tilpasninger (adaptations).

Identifikation, design og robust implementation af softwarekerner er et vigtigt skridt mod rationel udvikling af familier af beslægtede softwareprodukter og dermed mod en effektiv og konkurrencedygtig softwareindustri. Dette projekt vil fokusere på to aspekter af softwarekerner:

(1) Identifikation af spirende softwarekerner. Hvordan identificeres og udskilles de fælles stabile komponenter fra en eksisterende familie af softwaresystemer, som er ved at udvikle sig til en række softwareprodukter? Her samarbejdes med DHI Vand og Miljø, der udvikler simuleringssoftware med høj eksportandel.
(2) Udviklingsprocesser og softwareteknologi der støtter evolution og adaptabilitet. Hvordan implementeres en softwarekerne, sådan at den vifte af systemer der bygger på kernen kan migreres fra én version af kernen til den næste? Her samarbejdes med Microsoft Business Solutions (MBS – Danmark), der udvikler ERP-systemer (virksomhedssystemer) til små og mellemstore virksomheder.

Projektet er empirisk og konstruktionsorienteret. Samarbejdet med de to virksomheder gør det muligt på den ene side at kortlægge hvordan softwarekerner opstår i praksis, og på den anden side udvikle teknologier og processer, der er til gavn både for de konkrete partnere og for andre softwarevirksomheder.
Projektet gør det også muligt for IT-Universitetet senere at udvikle undervisningstilbud inden for området.

Project Information

Project Type

Research

Project Collaborators

Acronym

ESP

Time Period

01/07/200630/06/2008

Status

Finished

Funding Details

Designing Evolvable Software ProductsAward
FundersAmounts
Ministry of Higher Education and Science
3627600 DKK