Non-Concept Software Subsystems: Tangible and Intangible

Reading time: 6 minute
...

📝 Abstract

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.

💡 Analysis

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.

📄 Content

Non-Concept Software Subsystems: Tangible and Intangible
Iaakov Exman January 2016 / [Extended from KEOD Conf. paper in ref. [11] / October 2012] Page 1

Non-Concept Software Subsystems: Tangible and Intangible Iaakov Exman

Software Engineering Department The Jerusalem College of Engineering – JCE – Azrieli POB 3566, Jerusalem, 91035, Israel iaakov@jce.ac.il

Categories and subject Descriptors D.2.2 [Software Engineering]: Design Tools and Techniques {1998 ACM Classification}

Software and its engineering  Software creation and management  Designing software {CCS 2012} Abstract: 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/isn’t identity. The resolution is not sharp. Identity is entangled with composition, and is preserved to a certain extent, until further removal causes identity break-down. Keywords: Non-, Concepts, Software, Subsystems, Tangible, Intangible, Pluggable Nano-Ontologies, Abstract Design Sockets, DSocket Design Pattern, Connectors, Identity, Parts, Functionality. 1 INTRODUCTION The top-level concept of an ontology is called thing. All software subsystems are things. This is a similar idea to the Java programing language root-class called Object, which is a superclass of all other classes in the language. A next level pair of concepts of an ontology is tangible and intangible. An informal way of defining a tangible thing is to say that it is physical, e.g. a car. An intangible thing is not physical, e.g. an algorithm or a nostalgia feeling. Non-concepts, soon to be motivated, can also be of two types: tangible and intangible.
1.1 Software Systems are expressed in Natural Language Concepts
Our basic assumption is that software systems in their highest abstraction design levels are expressed in terms of natural language concepts – and not programming language constructs. The relevant structures in these abstraction levels are application ontologies [15], [19] which are specialized for specific applications and much smaller than domain ontologies. From application ontologies one is able to generate [14] the next downward abstraction level, viz. UML class diagrams, and so on down to the code executable in a machine, real or virtual. Non-Concept Software Subsystems: Tangible and Intangible
Iaakov Exman

January 2016 / [Extended from KEOD Conf. paper in ref. [11] / October 2012] Page 2

In order to redesign a software system in the highest abstraction levels, efficient mechanisms are needed for modifying subsystems. Efficiency requires usage of smaller nano-ontologies [12] with a few ontology classes. Enter Non-concepts. Intangible non-concepts – a concise expression for “non-concepts that refer to intangible things” – are used in colloquial natural language and triggered the idea of non-concept subsystems. Intangible non-concepts refer to notions with some less intense or almost absent quality. For instance, one possible meaning of non-trivial (often written without a hyphen) is a thing of some importance. This usage is different from a logical not: it is neither saying that the referred thing is not important, nor that it is decidedly important. Although dictionary- wise “non-“ is a prefix indicating negation, we shall use it in this work as a noun, with the specific meaning of a kind of concept.
Tangible non-concepts refer to objects with some part removed/added or some functionality lost. For instance, a non-clock could be an electronic clock with a battery removed, so that it cannot perform its essential function of showing the current time. Non-concepts are an easy way to make slight modifications in a well-known system. Instead of reproducing a whole (possibly large) application ontology for the system with small additions/changes/deletions here and there, it suffices to represent the modified system by a single concept (class) standing for the whole original system and the very few explicit changes that are performed. This kind of nano

This content is AI-processed based on ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut