There are countless debates whether Artificial Intelligence is really “intelligent”, and then what “intelligent” really means. Some of these debates gravitate towards discussions on syntax and semantics. But before trying to dig into this debate, I’d like to step back and review syntax and semantics with respect to functional safety.
In the functional safety standard ISO 26262 there are work products requiring different degrees of rigor to notations, depending on the ASIL. These work products are:
1. Specification of all safety requirements (e.g. safety goals, functional safety requirements, technical safety requirements, etc.);
2. Software architecture design;
3. Software unit design.
The different rigors of notations, from lowest to highest, are informal, semi-formal and formal notations, defined as:
- Informal notation: technique that does not have its syntax or semantics completely defined;
- Semi-formal notation: technique whose syntax is completely defined but whose semantics are not completely defined;
- Formal notation: technique that has both its syntax and semantics completely defined.
Say what? What does this really mean? Let’s start out simple and understand syntax and semantics with respect to the study of the English language. Syntax simply refers to the rules of grammar. Whether we remember them or not, we follow certain rules when writing sentences, such as the word order (subject-verb-object) and the subject-verb agreement (subject and its verb must be both singular or both plural). These rules are important to ensure ideas are conveyed clearly and consistently, allowing people to understand one another. Whereas semantics refers to the meaning of the sentence in the context of a shared language, or a shared world which drives shared mental concepts. Take for example the sentence, “The boy throws the ball.” This sentence has proper syntax and has a meaning (semantics) assuming we have a common understanding of what a boy is, what a ball is and what throwing is. We have all likely seen a boy throw a ball many times, so a common meaning should be associated for everyone. Now let’s change the sentence to, “The ball throws the boy.” This still has proper syntax, but it doesn’t make sense and doesn’t seem plausible, so the semantics is not completely defined, at least in the context of our common mental concept.
Now what does this mean in the context of the notations defined previously? The most common informal notation is natural language, which often is a form of technical English. Of course, the same syntax and semantics discussed above applies to this English, however, there is no formality (such as in a tool) in completely defining the syntax and semantics, i.e., it is generally engineers who write in natural language based on their experience and skill set, which differs from one engineer to the next. There is a lot of freedom in how natural language is written, which can lead to ambiguity and different interpretations. This is why informal notations provide the lowest rigor and are only recommended for lower ASILs.
The next level of rigor is semi-formal notations, recommended for ASIL C and D. Unified Modeling Language (UML) is a widely accepted modeling language used for semi-formal notations. Common UML diagrams include use case, sequence, class and statechart diagrams. UML, like all languages, follow a set of rules and have a completely defined syntax. However, the semantics are not completely defined. Here is where heavy debate can be introduced, and can go philosophical quickly; how do we know the meaning of something (like a word)? This could easily spin out into internalism vs. externalism in semantics. There are many theories on how humans form meanings.
However, in context to notations, we accept “meaning” being represented by mathematical rigorous techniques. UML and other semi-formal techniques lack this mathematical rigor and depend on the human for interpretation.
However, formal techniques (notations) employ this mathematical rigor, but are very complex and depend on theoretical computer science fundamentals. So formal notations are considered to have completely defined syntax and semantics. Notwithstanding, the completely defined semantics is with reference to a model that is mathematically created. So yes, that is true, but then the question becomes how good is that model in representing real life, because divergence in reality causes errors in the formal technique, and thus a divergence in semantics. Imagine a model using formal techniques to identify water as O2H. We can have completely defined syntax and semantics for this model, however, when we look outside of the model, we realize that water is actually H2O. Formal notations are presented as an option in ISO 26262, but are not highly recommended, even for ASIL D. We rarely (or never) see formal notations used in automotive, therefore we generally limit ourselves to informal or semi-formal notations when working with the ISO 26262 standard.
Coming back to the question on Artificial Intelligence. Is AI truly “intelligent”? I think we can easily conceive that AI can follow rules and follow a completely defined syntax. However if “intelligent” is with respect to humans, then can machines have completely defined semantics as humans do?