Informatica 42 (2018) 77–84 77 Towards Creative Software Blending: Computational Infrastructure and Use Cases Matej Martinc 1,2 , Martin ˇ Znidarˇ siˇ c 1 , Nada Lavraˇ c 1,3 and Senja Pollak 1 1 Joˇ zef Stefan Institute, Jamova 39, 1000 Ljubljana, Slovenia 2 Joˇ zef Stefan International Postgraduate School, Jamova 39, 1000 Ljubljana, Slovenia 3 University of Nova Gorica, Nova Gorica, Slovenia E-mail: matej.martinc@ijs.si, nada.lavrac@ijs.si, martin.znidarsic@ijs.si, senja.pollak@ijs.si Keywords: computational creativity, software blending, visual programming platforms Received: October 31, 2017 Numerous visual programming platforms support the generation, execution and reuse of constructed scien- tific workflows. However, there has been little effort devoted to building creative software blending sys- tems, capable of composing novel workflows by autonomously combining individual software components or even entire workflows originally designed for solving tasks in different research fields. Based on the review of relevant computational creativity research and of contemporary web platforms for workflow construction, this paper defines the desired functionality of a software blending system. Considering the required autonomy of the system and the workflow complexity limitations, we investigate the necessary conditions for the implementation of a creative blending system within the existing visual programming platforms. Povzetek: ˇ Stevilne platforme za vizualno programiranje podpirajo gradnjo, izvajanje in ponovno uporabo zgrajenih znanstvenih delotokov. Dosedanje raziskave niso posveˇ cale pozornosti izdelavi kreativnih siste- mov za spajanje programske opreme, ki bi bili sposobni avtonomnega sestavljanja posameznih program- skih komponent ali celo celotnih delotokov, prvotno izdelanih za reˇ sevanje nalog na razliˇ cnih znanstvenih podroˇ cjih. Na podlagi pregleda raziskav s podroˇ cja raˇ cunalniˇ ske ustvarjalnosti in obstojeˇ cih spletnih plat- form za gradnjo delotokov v tem ˇ clanku definiramo ˇ zeleno funkcionalnost sistema za kreativno spajanje programske opreme. Upoˇ stevaje zahteve po avtonomnosti sistema in dovoljeno kompleksnost delotokov preuˇ cimo tudi pogoje za implementacijo takega sistema v obstojeˇ cih platformah za vizualno programiranje. 1 Introduction Creativity was defined by M. Boden [3] as “the ability to come up with ideas or artefacts that are new, surprising, and valuable”. It is considered as an aspect of human intel- ligence, grounded in everyday abilities such as conceptual thinking, perception, memory and reflective self-criticism. Software is usually not considered creative because it follows explicit instructions of the programmer [4]. Ho- wever, writing software is considered to be a creative task. If a program could define its own instructions, this would clearly mean that the program has some level of creativity. A subfield of artificial intelligence has recently emerged, in which one of the main goals is the creation of software that is able to model, simulate or replicate human creativity. This field, called computational creativity, has been defi- ned by S. Colton and G. Wiggins [6] as “the philosophy, science and engineering of computational systems which, by taking on particular responsibilities, exhibit behaviours that unbiased observers would deem to be creative.” Note that the field of computational creativity should not be confused with the field of creative computing. Alt- hough these two research areas partly overlap, creative computing differs from computational creativity by gene- rally not being considered as a subfield of artificial intel- ligence, since it mostly addresses the task of creative de- velopment of computing products and with how to write software that would better serve the needs of the creative community [13]. Infrastructures supporting computational creativity and the generation of creative systems are scarce, although some recent research attempts has tried to fill this gap. One of the recent developments is FloWr [4], a system for im- plementing creative systems as scripts over processes and manipulated visually as flowcharts. Another is the Con- CreTeFlows infrastructure [27], which was developed to enable the construction, sharing and execution of compu- tational creativity (CC) workflows, composed of software ingredients of different partners of European project Con- CreTe 1 . Both of these infrastructures use different types of resources (e.g., musical, pictorial and textual inputs) in order to support the development of some typical CC task such as poetry generation, metaphor creation, generation of narratives, creation of fictional ideas and conceptual blen- ding. 1 http://conceptcreationtechnology.eu