Towards an Ontology of Software

Presented on 22 Oct at IC3K 2014

Keynote Lecturer: Nicola Guarino

Abstract: For many, software is just code, something intangible best defined in contrast with hardware, but this is not particularly illuminating. Microsoft Word turned 30 last year. During its lifetime it has been the subject of numerous changes, as its requirements, code and documentation have continuously evolved. Still a community of users recognizes it as “the same software product”, a persistent object undergoing several changes through a social process involving owners, developers, salespeople and users, and it is still producing recognizable effects that meet the same core requirements. It is this process that makes software something different than just a piece of code, and justifies its intrinsic nature as a social artifact. Building on Jackson’s and Zave’s seminal work on foundations of requirements engineering, I will present in this talk a first attempt towards an ontology of software and related notions that accounts for such intuitions, and adopt it in software configuration management to provide a better understanding and control of software changes. This is ongoing work with Giancarlo Guizzardi, John Mylopoulos, and Xiaowei Wang.