Non-Concept Software Subsystems: Tangible and Intangible
  Concepts modified by a Non- prefix apparently denote a negation, an opposite of the concept without this prefix. But, generally the situation is rather subtle: non- implies only partial negation and the concept suggests preserved identity with some reduced quality or absent attribute. In this work tangible and intangible software subsystems based upon Non- concepts are defined and pluggable ontologies are proposed for their representation. Pluggable ontologies are a kind of nano-ontologies, which by their minimal size facilitate fast composition of new software subsystems. These ontologies are made pluggable by Design Sockets, a novel kind of class. These are abstract connectors for removed/added parts, functionalities or identities, and for subdued qualities. Design Sockets are the basis of a Design Pattern for dynamically modifiable software systems. Pragmatic implications of Non- concepts include manageable design of product lines with multiple models. Non- concepts are also relevant to the controversy whether composition is or is not identity. The resolution is not sharp. Identity is entangled with composition, and is preserved to a certain extent, until further removal causes identity breakdown. 
Iaakov Exman
cs.SE