Semantics, the meaning of things, what things represent, is a concept highly interlinked with the thought process, the consciousness, of humans and human existence itself. As such, it is very hard or even impossible to thoroughly define it outside this context, but it seems to have a lot to do with our ability to operate on or based on things.
It can be argued, very simplistically speaking, that the meaning of things is in fact the totality of actions that a person can autonomously perform with or based on those things, be that mechanical or mental in nature. The autonomous term is highly important, because if the person, or any agent1 for that matter, needs “guidance” in performing an action with regards to a specific thing or cannot perform any action with that thing, it means that the object in discussion has limited or no meaning to him. These are very rear situations, because for almost anything that we pick from our reality there is something that we can do with it, not necessarily mechanically. This is completely natural because otherwise it would not be part of our reality, it would be meaningless to us the same way as atoms, quarks and other subatomic elements are irrelevant to the vast majority of humans in the everyday life and the same way as numbers are meaningless to the Pirahã.
If the meaning of objects to an agent stands in the activities that the agent can perform with these objects, the meaning of activities would stand in the objects they affect together with the activities that can be performed with these activities: equivalences, implications, triggers, etc. This blend of objects and activities is what the current paper considers as being the Semantic Reality.
Under this assumption, the meaning of things, cannot be perceived as a stand alone, absolute, concept, because it depends on the agent and it only makes sense in conjunction with it. One cannot ask what the meaning of a rock is. The question itself is nonsensical. One should rather ask what the meaning of a rock is to them. Depending on other factors too, like size, material, quality, one can hunt with a rock, can injure oneself or someone else with it, one can use it in a construction, polish it into a decoration, et cetera, a plethora of variations that trigger different potential actions or emotions and which have the capability to enrich the connection between the person and the rock with meaning.
But what does a rock mean to a computer? Absolutely nothing. The computer does not have any capability to perceive or perform actions on, or because of a rock, and so we cannot talk about any process of comprehending or understanding with regards to the computer and the rock. One could argue though that a computer can be destroyed by a rock, so there is a semantical connection between the two, but this would be profoundly misleading. The semantical connection does not exist between the rock and the computer. This semantical connection is one, between the conjunction of the computer and the rock as object of the meaning, and the person that states the scenario as subject of the meaning, not between the rock and the computer.
The semantic reality of computer applications reside in the code, as a mechanism for action and data as object of meaning, on which the pre-programmed specific actions can be performed on an autonomous manner. It is important to consider this semantic reality conservatively. Performing certain actions autonomously does not mean full autonomy. Computers will not start acting on their own and possess free will, but there are many processes that can be automated, and that would provide enormous benefits to the industry in terms of cost, quality and security
- Example 15, Unit of measurement semantics
- both the concept of meter (m) and the concept of foot (ft) exist and they are universally accepted
- they are both distances or length (hence interchangeable) and that
- (m) = 0.3048 * (ft)
For example if units of measurement were to be considered universal primitive concepts, with terms like “meter” (m) and “foot” (ft) being in the collective reality and there existed an equivalence formula like in example: 15, a computer program can be written to find this correlation and provide (meter) to an operation that requires (meter) but is being provided values in (foot)s. An inference path exists between the two concepts and as such the aforementioned units and the associated activity represent a semantically rich fragment of the application’s reality.
This may seem like very poor performance in human terms, but in terms of current programming techniques this could be an enormous step forward. A great deal of the code an application needs, deals with low level data validation, data integrity checks, consistency checks, as well as data access policy enforcement. Collectively, these represent a highly critical aspect of applications because they are responsible for most dangerous bugs, failures, loss of information through data hierarchy corruption, and security breaches. Consequently great resources (time, work and money) are dedicated to this aspect but even so, due to the enormous complexities associated, fast pace of changing needs and often lack of sufficient expertise, the results fall short of the expectations.
- 1, An umbrella term covering entities that can perform activities in a voluntary or pseudo voluntary manner. The best example for this are humans, but this concept is also starting to encompass objects like robots, computers, or other complex machines that can operate on and with the surrounding environment.