An Introduction to Ontology Engineering

Total Page:16

File Type:pdf, Size:1020Kb

An Introduction to Ontology Engineering An Introduction to Ontology Engineering C. Maria Keet v1.5, 2020 i An Introduction to Ontology Engineering C. Maria Keet Keywords: Ontology Engineering, Ontology, ontologies, Knowledge base, Descrip- tion Logics, OWL, Semantic Web, Ontology Development Copyright © 2020 by Maria Keet, except: The copyright of Chapter 11 is held by Zubeida C. Khan and C. Maria Keet The copyright of Appendix A.1 is held by Zola Mahlaza and C. Maria Keet This work is licensed under a Creative Commons Attribution 4.0 International Li- cense (CC BY 4.0). To view a copy of this license, visit https://creativecommons. org/licenses/by/4.0/. This textbook is typeset in LATEX The website for this textbook is https://people.cs.uct.ac.za/~mkeet/OEbook/ Cover design by Maria Keet Cover photo (by the author): A view from Table Mountain, Cape Town, SA Contents Preface vii Preface to v1 ix How to use the book xi 1 Introduction 1 1.1 What does an ontology look like? . .2 1.2 What is an ontology? . .4 1.2.1 The definition game . .4 1.2.2 Some philosophical notes on ontologies . .7 1.2.3 Good, not so good, and bad ontologies . .8 1.3 What is the usefulness of an ontology? . .9 1.3.1 Data and information system integration . 10 1.3.2 Ontologies as part of a solution to other problems . 14 1.3.3 Success stories . 17 1.4 Outline and usage of the book . 20 1.5 Exercises . 21 1.6 Literature and reference material . 22 I Logic foundations for ontologies 23 2 First order logic and automated reasoning in a nutshell 25 2.1 First order logic syntax and semantics . 25 2.1.1 Syntax . 26 2.1.2 Semantics . 29 2.2 Reasoning . 33 2.2.1 Introduction . 33 2.2.2 Basic idea . 35 2.2.3 Deduction, abduction, and induction . 36 iii 2.2.4 Proofs with tableaux . 37 2.3 Exercises . 41 2.4 Literature and reference material . 44 3 Description Logics 45 3.1 DL primer . 46 3.1.1 Basic building blocks of DL ontologies . 47 3.1.2 Constructors for concepts and roles . 49 3.1.3 Description Logic semantics . 53 3.2 Important DLs . 56 3.2.1 A basic DL to start with: ................ 56 3.2.2 The DL ........................ALC 58 3.2.3 ImportantSROIQ fragments of ............... 59 3.3 Reasoning services . .SROIQ . 61 3.3.1 Standard reasoning services . 61 3.3.2 Techniques: a tableau for ................ 63 3.4 Exercises . .ALC . 65 3.5 Literature and reference material . 66 4 The Web Ontology Language OWL 2 67 4.1 Standardising an ontology language . 68 4.1.1 Historical notes . 68 4.1.2 The OWL 1 family of languages . 70 4.2 OWL2.................................. 71 4.2.1 New OWL 2 features . 74 4.2.2 OWL 2 Profiles . 76 4.2.3 OWL 2 syntaxes . 77 4.2.4 Complexity considerations for OWL . 79 4.3 OWL in context . 81 4.3.1 OWL and the Semantic Web . 81 4.3.2 The Distributed ontology, model, and specification language DOL............................... 82 4.3.3 Common Logic . 84 4.4 Exercises . 84 4.5 Literature and reference material . 88 II Developing good ontologies 89 5 Methods and Methodologies 91 5.1 Methodologies for ontology development . 92 5.1.1 Macro-level development methodologies . 93 5.1.2 Micro-level development . 97 5.2 Methods to improve an ontology's quality . 101 5.2.1 Logic-based methods: explanation and justification . 101 5.2.2 Philosophy-based methods: OntoClean to correct a taxonomy 103 iv 5.2.3 Combining logic and philosophy: role hierarchies . 104 5.2.4 Heuristics: OntOlogy Pitfall Scanner OOPS! . 106 5.2.5 Tools . 109 5.3 Exercises . 111 5.4 Literature and reference material . 113 6 Top-down Ontology Development 115 6.1 Foundational ontologies . 115 6.1.1 Typical content of a foundational ontology . 117 6.1.2 Several foundational ontologies . 121 6.1.3 Using a foundational ontology . 124 6.2 Part-whole relations . 130 6.2.1 Mereology . 131 6.2.2 Modelling and reasoning in the context of ontologies . 132 6.3 Exercises . 136 6.4 Literature and reference material . 138 7 Bottom-up Ontology Development 139 7.1 Relational databases and related `legacy' KR . 140 7.2 From spreadsheets to OWL . 144 7.3 Thesauri . 145 7.3.1 Converting a thesaurus into an ontology . 146 7.3.2 Avoiding ontologies with SKOS . 148 7.4 Text processing to extract content for ontologies . 148 7.5 Other semi-automated approaches . 150 7.6 Ontology Design Patterns . 152 7.7 Exercises . 154 7.8 Literature and reference material . 159 III Advanced topics in ontology engineering 161 8 Ontology-Based Data Access 165 8.1 Introduction: Motivations . 166 8.2 OBDA design choices . 167 8.3 An OBDA Architecture . 168 8.4 Principal components . 170 8.5 Exercises . 174 8.6 Literature and reference material . 175 9 Ontologies and natural languages 177 9.1 Toward multilingual ontologies . 178 9.1.1 Linking a lexicon to an ontology . 178 9.1.2 Multiple natural languages . 180 9.1.3 Infrastructure for multilingual, localised, or internationalised ontologies . 183 9.2 Ontology verbalisation . 187 v 9.2.1 Template-based approach . 187 9.2.2 Reusing the results for related activities . 189 9.3 Exercises . 190 9.4 Literature and reference material . 191 10 Advanced Modelling with Additional Language Features 193 10.1 Uncertainty and vagueness . 193 10.1.1 Fuzzy ontologies . 194 10.1.2 Rough ontologies . 197 10.2 Time and Temporal Ontologies . 201 10.2.1 Why temporal ontologies? . 202 10.2.2 Temporal DLs . 203 10.3 Exercises . 207 10.4 Literature and reference material . 208 11 Ontology modularisation 211 11.1 Defining modularisation . 211 11.2 Module dimensions . 213 11.2.1 Use-cases . 213 11.2.2 Types . 214 11.2.3 Properties . 216 11.2.4 Techniques . 217 11.2.5 Evaluation metrics . 218 11.3 Modularisation framework . 223 11.4 Exercises . 225 11.5 Literature and reference material . 227 Bibliography 229 A Tutorials 249 A.1 OntoClean in OWL with a DL reasoner . 249 A.2 An OBDA system for elephants . 256 B Assignments 257 B.1 Practical Assignment: Develop a Domain Ontology . 258 B.2 Project Assignment . 260 C OWL 2 Profiles features list 265 D Complexity recap 269 E Answers of selected exercises 273 About the author 289 vi Preface The first version of this textbook received encouraging feedback and made it into print with the non-profit publisher College Publications. The print version is still actual and relevant. This version 1.5 does have a few additions and corrections that seemed to deserve more than a 0.1-point notch. The main additions consist of about 10% increased main content, consisting main of 10% more exercises in Chapters 2- 9, a new preliminary Chapter 11 on ontology modularisation, and a new section on challenges for multilingualism (§ 9.1.3). The appendix has increased with two new tutorials|on OntoClean and on OBDA|and more answers to selected exercises. Also, typos and related infelicities that have been found were corrected, and in the grey area of copyright issues, I tweaked a few more figures a bit just to be on the safe side. Altogether, this caused an increase of 36 pages. If the reader wants access to v1 nonetheless: the pdf is still available as OEbookV1.pdf. In addition the the book's content in the pdf file, the website accompanying the textbook now has has more materials, notably the slides (in pdf, LATEX source, and ppt), new ontologies for the tutorials and exercises, and additional software for the exercises. This material can be found at https://people.cs.uct.ac.za/~mkeet/ OEbook/. The website also contains a page with instructions for improved accessi- bility for the visually impaired, in particular for low-cost screen reader training to handle the Description Logics symbols. As with the previous v1, more can indeed be added, but there are certain time constraints. For contributions to the additions, I would like to thank former and current students Zubeida Khan, Zola Mahlaza, Frances Gillis-Webber, Michael Harrison, Toky Raboanary, and Joan Byamugisha, as well as the grant from the \Digital Open textbooks for Development" (DOT4D) Project that made some of the additions possible. Also, I would like to thank the constructive feedback on the ontologies by Ludger Jansen, which has led to improvements of the content. Cape Town, South Africa C. Maria Keet February, 2020 vii Preface to v1 This book is my attempt at providing the first textbook for an introduction in on- tology engineering. Indeed, there are books about ontology engineering, but they.
Recommended publications
  • Schema.Org As a Description Logic
    Schema.org as a Description Logic Andre Hernich1, Carsten Lutz2, Ana Ozaki1 and Frank Wolter1 1University of Liverpool, UK 2University of Bremen, Germany fandre.hernich, anaozaki, [email protected] [email protected] Abstract Patel-Schneider [2014] develops an ontology language for Schema.org with a formal syntax and semantics that, apart Schema.org is an initiative by the major search en- from some details, can be regarded as a fragment of OWL DL. gine providers Bing, Google, Yahoo!, and Yandex that provides a collection of ontologies which web- In this paper, we abstract slightly further and view the masters can use to mark up their pages. Schema.org Schema.org ontology language as a DL, in line with the for- comes without a formal language definition and malization by Patel-Schneider. Thus, what Schema.org calls a without a clear semantics. We formalize the lan- type becomes a concept name and a property becomes a role guage of Schema.org as a Description Logic (DL) name. The main characteristics of the resulting ‘Schema.org and study the complexity of querying data using DL’ are that (i) the language is very restricted, allowing only (unions of) conjunctive queries in the presence of inclusions between concept and role names, domain and range ontologies formulated in this DL (from several per- restrictions, nominals, and datatypes; (ii) ranges and domains spectives). While querying is intractable in general, of roles can be restricted to disjunctions of concept names (pos- we identify various cases in which it is tractable and sibly mixed with datatypes in range restrictions) and nominals where queries are even rewritable into FO queries are used in ‘one-of enumerations’ which also constitute a form or datalog programs.
    [Show full text]
  • A Data-Driven Framework for Assisting Geo-Ontology Engineering Using a Discrepancy Index
    University of California Santa Barbara A Data-Driven Framework for Assisting Geo-Ontology Engineering Using a Discrepancy Index A Thesis submitted in partial satisfaction of the requirements for the degree Master of Arts in Geography by Bo Yan Committee in charge: Professor Krzysztof Janowicz, Chair Professor Werner Kuhn Professor Emerita Helen Couclelis June 2016 The Thesis of Bo Yan is approved. Professor Werner Kuhn Professor Emerita Helen Couclelis Professor Krzysztof Janowicz, Committee Chair May 2016 A Data-Driven Framework for Assisting Geo-Ontology Engineering Using a Discrepancy Index Copyright c 2016 by Bo Yan iii Acknowledgements I would like to thank the members of my committee for their guidance and patience in the face of obstacles over the course of my research. I would like to thank my advisor, Krzysztof Janowicz, for his invaluable input on my work. Without his help and encour- agement, I would not have been able to find the light at the end of the tunnel during the last stage of the work. Because he provided insight that helped me think out of the box. There is no better advisor. I would like to thank Yingjie Hu who has offered me numer- ous feedback, suggestions and inspirations on my thesis topic. I would like to thank all my other intelligent colleagues in the STKO lab and the Geography Department { those who have moved on and started anew, those who are still in the quagmire, and those who have just begun { for their support and friendship. Last, but most importantly, I would like to thank my parents for their unconditional love.
    [Show full text]
  • Why Machines Don't
    KI - Künstliche Intelligenz https://doi.org/10.1007/s13218-019-00599-w SURVEY Why Machines Don’t (yet) Reason Like People Sangeet Khemlani1 · P. N. Johnson‑Laird2,3 Received: 15 February 2019 / Accepted: 19 June 2019 © This is a U.S. government work and not under copyright protection in the U.S.; foreign copyright protection may apply 2019 Abstract AI has never come to grips with how human beings reason in daily life. Many automated theorem-proving technologies exist, but they cannot serve as a foundation for automated reasoning systems. In this paper, we trace their limitations back to two historical developments in AI: the motivation to establish automated theorem-provers for systems of mathematical logic, and the formulation of nonmonotonic systems of reasoning. We then describe why human reasoning cannot be simulated by current machine reasoning or deep learning methodologies. People can generate inferences on their own instead of just evaluating them. They use strategies and fallible shortcuts when they reason. The discovery of an inconsistency does not result in an explosion of inferences—instead, it often prompts reasoners to abandon a premise. And the connectives they use in natural language have diferent meanings than those in classical logic. Only recently have cognitive scientists begun to implement automated reasoning systems that refect these human patterns of reasoning. A key constraint of these recent implementations is that they compute, not proofs or truth values, but possibilities. Keywords Reasoning · Mental models · Cognitive models 1 Introduction problems for mathematicians). Their other uses include the verifcation of computer programs and the design of com- The great commercial success of deep learning has pushed puter chips.
    [Show full text]
  • Ontologies and Description Logics
    Symbolic and structural models for image understanding Part II: Ontologies and description logics Jamal Atif - Isabelle Bloch - Céline Hudelot IJCAI 2016 1 / 72 J. Atif, I. Bloch, C. Hudelot Image Understanding Outline 1 What is an ontology ? 2 Ontologies for image understanding: overview 3 Description Logics 4 Description Logics for image understanding 5 Conclusion What is an ontology ? What is an ontology ? Example from F. Gandon, WIMMICS Team, INRIA What is the last document that you have read? Documents 3 / 72 J. Atif, I. Bloch, C. Hudelot Image Understanding What is an ontology ? Ontologies: Definition Ontology ethymology: ontos (being, that which is) + logos (science, study, theory) Philosophy Study of the nature of being, becoming and reality. Study of the basic categories of being and their relations. Computer Science Formal representation of a domain of discourse. Explicit specification of a conceptualization [Gruber 95]. Ref: [Guarino 09] 4 / 72 J. Atif, I. Bloch, C. Hudelot Image Understanding What is an ontology ? Ontologies: Definition ontology Formal, explicit (and shared) specification of a conceptualization [Gruber 95, Studer 98] Formal, explicit specification: a formal language is used to refer to the elements of the conceptualization, e.g. description logics Conceptualization: Objects, concepts and other entities and their relationships Concept Relation Denoted by: Denoted by: a name a name a meaning (intensional definition) an intension a set of denoted objects (extensional an extension definition) 5 / 72 J. Atif, I. Bloch, C. Hudelot Image Understanding What is an ontology ? The different types of ontologies According to their expressivity Source : [Uschold 04] 6 / 72 J. Atif, I. Bloch, C.
    [Show full text]
  • Artificial Consciousness and the Consciousness-Attention Dissociation
    Consciousness and Cognition 45 (2016) 210–225 Contents lists available at ScienceDirect Consciousness and Cognition journal homepage: www.elsevier.com/locate/concog Review article Artificial consciousness and the consciousness-attention dissociation ⇑ Harry Haroutioun Haladjian a, , Carlos Montemayor b a Laboratoire Psychologie de la Perception, CNRS (UMR 8242), Université Paris Descartes, Centre Biomédical des Saints-Pères, 45 rue des Saints-Pères, 75006 Paris, France b San Francisco State University, Philosophy Department, 1600 Holloway Avenue, San Francisco, CA 94132 USA article info abstract Article history: Artificial Intelligence is at a turning point, with a substantial increase in projects aiming to Received 6 July 2016 implement sophisticated forms of human intelligence in machines. This research attempts Accepted 12 August 2016 to model specific forms of intelligence through brute-force search heuristics and also reproduce features of human perception and cognition, including emotions. Such goals have implications for artificial consciousness, with some arguing that it will be achievable Keywords: once we overcome short-term engineering challenges. We believe, however, that phenom- Artificial intelligence enal consciousness cannot be implemented in machines. This becomes clear when consid- Artificial consciousness ering emotions and examining the dissociation between consciousness and attention in Consciousness Visual attention humans. While we may be able to program ethical behavior based on rules and machine Phenomenology learning, we will never be able to reproduce emotions or empathy by programming such Emotions control systems—these will be merely simulations. Arguments in favor of this claim include Empathy considerations about evolution, the neuropsychological aspects of emotions, and the disso- ciation between attention and consciousness found in humans.
    [Show full text]
  • Knowledge Representation in Bicategories of Relations
    Knowledge Representation in Bicategories of Relations Evan Patterson Department of Statistics, Stanford University Abstract We introduce the relational ontology log, or relational olog, a knowledge representation system based on the category of sets and relations. It is inspired by Spivak and Kent’s olog, a recent categorical framework for knowledge representation. Relational ologs interpolate between ologs and description logic, the dominant formalism for knowledge representation today. In this paper, we investigate relational ologs both for their own sake and to gain insight into the relationship between the algebraic and logical approaches to knowledge representation. On a practical level, we show by example that relational ologs have a friendly and intuitive—yet fully precise—graphical syntax, derived from the string diagrams of monoidal categories. We explain several other useful features of relational ologs not possessed by most description logics, such as a type system and a rich, flexible notion of instance data. In a more theoretical vein, we draw on categorical logic to show how relational ologs can be translated to and from logical theories in a fragment of first-order logic. Although we make extensive use of categorical language, this paper is designed to be self-contained and has considerable expository content. The only prerequisites are knowledge of first-order logic and the rudiments of category theory. 1. Introduction arXiv:1706.00526v2 [cs.AI] 1 Nov 2017 The representation of human knowledge in computable form is among the oldest and most fundamental problems of artificial intelligence. Several recent trends are stimulating continued research in the field of knowledge representation (KR).
    [Show full text]
  • Computability and Complexity
    Computability and Complexity Lecture Notes Herbert Jaeger, Jacobs University Bremen Version history Jan 30, 2018: created as copy of CC lecture notes of Spring 2017 Feb 16, 2018: cleaned up font conversion hickups up to Section 5 Feb 23, 2018: cleaned up font conversion hickups up to Section 6 Mar 15, 2018: cleaned up font conversion hickups up to Section 7 Apr 5, 2018: cleaned up font conversion hickups up to the end of these lecture notes 1 1 Introduction 1.1 Motivation This lecture will introduce you to the theory of computation and the theory of computational complexity. The theory of computation offers full answers to the questions, • what problems can in principle be solved by computer programs? • what functions can in principle be computed by computer programs? • what formal languages can in principle be decided by computer programs? Full answers to these questions have been found in the last 70 years or so, and we will learn about them. (And it turns out that these questions are all the same question). The theory of computation is well-established, transparent, and basically simple (you might disagree at first). The theory of complexity offers many insights to questions like • for a given problem / function / language that has to be solved / computed / decided by a computer program, how long does the fastest program actually run? • how much memory space has to be used at least? • can you speed up computations by using different computer architectures or different programming approaches? The theory of complexity is historically younger than the theory of computation – the first surge of results came in the 60ties of last century.
    [Show full text]
  • Bi-Directional Transformation Between Normalized Systems Elements and Domain Ontologies in OWL
    Bi-directional Transformation between Normalized Systems Elements and Domain Ontologies in OWL Marek Suchanek´ 1 a, Herwig Mannaert2, Peter Uhnak´ 3 b and Robert Pergl1 c 1Faculty of Information Technology, Czech Technical University in Prague, Thakurova´ 9, Prague, Czech Republic 2Normalized Systems Institute, University of Antwerp, Prinsstraat 13, Antwerp, Belgium 3NSX bvba, Wetenschapspark Universiteit Antwerpen, Galileilaan 15, 2845 Niel, Belgium Keywords: Ontology, Normalized Systems, Transformation, Model-driven Development, Ontology Engineering, Software Modelling. Abstract: Knowledge representation in OWL ontologies gained a lot of popularity with the development of Big Data, Artificial Intelligence, Semantic Web, and Linked Open Data. OWL ontologies are very versatile, and there are many tools for analysis, design, documentation, and mapping. They can capture concepts and categories, their properties and relations. Normalized Systems (NS) provide a way of code generation from a model of so-called NS Elements resulting in an information system with proven evolvability. The model used in NS contains domain-specific knowledge that can be represented in an OWL ontology. This work clarifies the potential advantages of having OWL representation of the NS model, discusses the design of a bi-directional transformation between NS models and domain ontologies in OWL, and describes its implementation. It shows how the resulting ontology enables further work on the analytical level and leverages the system design. Moreover, due to the fact that NS metamodel is metacircular, the transformation can generate ontology of NS metamodel itself. It is expected that the results of this work will help with the design of larger real-world applications as well as the metamodel and that the transformation tool will be further extended with additional features which we proposed.
    [Show full text]
  • An Overview of Automated Reasoning
    An overview of automated reasoning John Harrison Intel Corporation 3rd February 2014 (10:30{11:30) Talk overview I What is automated reasoning? I Early history and taxonomy I Automation, its scope and limits I Interactive theorem proving I Hobbes (1651): \Reason . is nothing but reckoning (that is, adding and subtracting) of the consequences of general names agreed upon, for the marking and signifying of our thoughts." I Leibniz (1685) \When there are disputes among persons, we can simply say: Let us calculate [calculemus], without further ado, to see who is right." Nowadays, by `automatic and algorithmic' we mean `using a computer program'. What is automated reasoning? Attempting to perform logical reasoning in an automatic and algorithmic way. An old dream! I Leibniz (1685) \When there are disputes among persons, we can simply say: Let us calculate [calculemus], without further ado, to see who is right." Nowadays, by `automatic and algorithmic' we mean `using a computer program'. What is automated reasoning? Attempting to perform logical reasoning in an automatic and algorithmic way. An old dream! I Hobbes (1651): \Reason . is nothing but reckoning (that is, adding and subtracting) of the consequences of general names agreed upon, for the marking and signifying of our thoughts." Nowadays, by `automatic and algorithmic' we mean `using a computer program'. What is automated reasoning? Attempting to perform logical reasoning in an automatic and algorithmic way. An old dream! I Hobbes (1651): \Reason . is nothing but reckoning (that is, adding and subtracting) of the consequences of general names agreed upon, for the marking and signifying of our thoughts." I Leibniz (1685) \When there are disputes among persons, we can simply say: Let us calculate [calculemus], without further ado, to see who is right." What is automated reasoning? Attempting to perform logical reasoning in an automatic and algorithmic way.
    [Show full text]
  • Inventing Computational Rhetoric
    INVENTING COMPUTATIONAL RHETORIC By Michael W. Wojcik A THESIS Submitted to Michigan State University in partial fulfillment of the requirements for the degree of Digital Rhetoric and Professional Writing — Master of Arts 2013 ABSTRACT INVENTING COMPUTATIONAL RHETORIC by Michael W. Wojcik Many disciplines in the humanities are developing “computational” branches which make use of information technology to process large amounts of data algorithmically. The field of computational rhetoric is in its infancy, but we are already seeing interesting results from applying the ideas and goals of rhetoric to text processing and related areas. After considering what computational rhetoric might be, three approaches to inventing computational rhetorics are presented: a structural schema, a review of extant work, and a theoretical exploration. Copyright by MICHAEL W. WOJCIK 2013 For Malea iv ACKNOWLEDGEMENTS Above all else I must thank my beloved wife, Malea Powell, without whose prompting this thesis would have remained forever incomplete. I am also grateful for the presence in my life of my terrific stepdaughter, Audrey Swartz, and wonderful granddaughter Lucille. My thesis committee, Dean Rehberger, Bill Hart-Davidson, and John Monberg, pro- vided me with generous guidance and inspiration. Other faculty members at Michigan State who helped me explore relevant ideas include Rochelle Harris, Mike McLeod, Joyce Chai, Danielle Devoss, and Bump Halbritter. My previous academic program at Miami University did not result in a degree, but faculty there also contributed greatly to my the- oretical understanding, particularly Susan Morgan, Mary-Jean Corbett, Brit Harwood, J. Edgar Tidwell, Lori Merish, Vicki Smith, Alice Adams, Fran Dolan, and Keith Tuma.
    [Show full text]
  • Ontology-Driven Automation of Iot-Based Human-Machine Interfaces Development?
    Ontology-Driven Automation of IoT-Based Human-Machine Interfaces Development? Konstantin Ryabinin1[0000−0002−8353−7641], Svetlana Chuprina1[0000−0002−2103−3771], and Konstantin Belousov1[0000−0003−4447−1288] Perm State University, Bukireva Str. 15, 614990, Perm, Russia [email protected], [email protected], [email protected] Abstract. The paper is devoted to the development of high-level tools to automate tangible human-machine interfaces creation bringing to- gether IoT technologies and ontology engineering methods. We propose using ontology-driven approach to enable automatic generation of firmware for the devices and middleware for the applications to design from scratch or transform the existing M2M ecosystem with respect to new human needs and, if necessary, to transform M2M systems into human-centric ones. Thanks to our previous research, we developed the firmware and middleware generator on top of SciVi scientific visualization system that was proven to be a handy tool to integrate different data sources, in- cluding software solvers and hardware data providers, for monitoring and steering purposes. The high-level graphical user SciVi interface en- ables to design human-machine communication in terms of data flow and ontological specifications. Thereby the SciVi platform capabilities are sufficient to automatically generate all the necessary components for IoT ecosystem software. We tested our approach tackling the real-world problems of creating hardware device turning human gestures into se- mantics of spatiotemporal deixis, which relates to the verbal behavior of people having different psychological types. The device firmware gener- ated by means of SciVi tools enables researchers to understand complex matters and helps them analyze the linguistic behavior of users of so- cial networks with different psychological characteristics, and identify patterns inherent in their communication in social networks.
    [Show full text]
  • Computability Theory
    CSC 438F/2404F Notes (S. Cook and T. Pitassi) Fall, 2019 Computability Theory This section is partly inspired by the material in \A Course in Mathematical Logic" by Bell and Machover, Chap 6, sections 1-10. Other references: \Introduction to the theory of computation" by Michael Sipser, and \Com- putability, Complexity, and Languages" by M. Davis and E. Weyuker. Our first goal is to give a formal definition for what it means for a function on N to be com- putable by an algorithm. Historically the first convincing such definition was given by Alan Turing in 1936, in his paper which introduced what we now call Turing machines. Slightly before Turing, Alonzo Church gave a definition based on his lambda calculus. About the same time G¨odel,Herbrand, and Kleene developed definitions based on recursion schemes. Fortunately all of these definitions are equivalent, and each of many other definitions pro- posed later are also equivalent to Turing's definition. This has lead to the general belief that these definitions have got it right, and this assertion is roughly what we now call \Church's Thesis". A natural definition of computable function f on N allows for the possibility that f(x) may not be defined for all x 2 N, because algorithms do not always halt. Thus we will use the symbol 1 to mean “undefined". Definition: A partial function is a function n f :(N [ f1g) ! N [ f1g; n ≥ 0 such that f(c1; :::; cn) = 1 if some ci = 1. In the context of computability theory, whenever we refer to a function on N, we mean a partial function in the above sense.
    [Show full text]