Ontology for Moving Points/Objects/Change

Slides:



Advertisements
Similar presentations
Chronos: A Tool for Handling Temporal Ontologies in Protégé
Advertisements

1 CHAPTER 4 RELATIONAL ALGEBRA AND CALCULUS. 2 Introduction - We discuss here two mathematical formalisms which can be used as the basis for stating and.
An Introduction to RDF(S) and a Quick Tour of OWL
Introduction to Programming Languages Nai-Wei Lin Department of Computer Science and Information Engineering National Chung Cheng University.
GIS for Politics Andrew U. Frank Geoinfo TU Vienna
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
SIG2: Ontology Language Standards WebOnt Briefing Ian Horrocks University of Manchester, UK.
Of 27 lecture 7: owl - introduction. of 27 ece 627, winter ‘132 OWL a glimpse OWL – Web Ontology Language describes classes, properties and relations.
OOP - Object Oriented Programming Object Oriented Programming is an approach to programming that was developed to make large programs easier to manage.
1 Relational Algebra & Calculus. 2 Relational Query Languages  Query languages: Allow manipulation and retrieval of data from a database.  Relational.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
ISBN Chapter 3 Describing Syntax and Semantics.
CS 355 – Programming Languages
CMPT 354, Simon Fraser University, Fall 2008, Martin Ester 52 Database Systems I Relational Algebra.
Object-Oriented PHP (1)
1 Info 1409 Systems Analysis & Design Module Lecture 8 – Modelling tools and techniques HND Year /9 De Montfort University.
From SHIQ and RDF to OWL: The Making of a Web Ontology Language
Describing Syntax and Semantics
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
1 Relational Algebra and Calculus Yanlei Diao UMass Amherst Feb 1, 2007 Slides Courtesy of R. Ramakrishnan and J. Gehrke.
1 Chapter 8 Objects and Classes. 2 Motivations After learning the preceding chapters, you are capable of solving many programming problems using selections,
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
Business Domain Modelling Principles Theory and Practice HYPERCUBE Ltd 7 CURTAIN RD, LONDON EC2A 3LT Mike Bennett, Hypercube Ltd.
Semantic Web Technologies Lecture # 2 Faculty of Computer Science, IBA.
CMSC 202 Interfaces. 11/20102 Classes and Methods When a class defines its methods as public, it describes how the class user interacts with the method.
1 Relational Algebra and Calculus Chapter 4. 2 Relational Query Languages  Query languages: Allow manipulation and retrieval of data from a database.
 Let A and B be any sets A binary relation R from A to B is a subset of AxB Given an ordered pair (x, y), x is related to y by R iff (x, y) is in R. This.
An Introduction to Programming and Object-Oriented Design Using Java By Jaime Niño and Fred Hosch Slides by Darwin Baines and Robert Burton.
Of 39 lecture 2: ontology - basics. of 39 ontology a branch of metaphysics relating to the nature and relations of being a particular theory about the.
CHAPTER ONE Problem Solving and the Object- Oriented Paradigm.
A Z Approach in Validating ORA-SS Data Models Scott Uk-Jin Lee Jing Sun Gillian Dobbie Yuan Fang Li.
Ming Fang 6/12/2009. Outlines  Classical logics  Introduction to DL  Syntax of DL  Semantics of DL  KR in DL  Reasoning in DL  Applications.
09/17/08Andrew Frank1 Time and Process: The challenge for GIS and what ontology can contribute Andrew U. Frank Geoinformation TU Vienna
Object Oriented GIS Andrew U. Frank Geoinfo TU Vienna overheads available from:
11/14/08Andrew Frank1 Time and Process in GIS: What can ontology contribute? Andrew U. Frank Geoinformation TU Vienna
Object-Oriented Software Development F Software Development Process F Analyze Relationships Among Objects F Class Development F Class Design Guidelines.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
Requirements Engineering Methods for Requirements Engineering Lecture-30.
UML Class Diagram Trisha Cummings. What we will be covering What is a Class Diagram? Essential Elements of a UML Class Diagram UML Packages Logical Distribution.
1 Relational Algebra & Calculus Chapter 4, Part A (Relational Algebra)
1 Relational Algebra and Calculas Chapter 4, Part A.
Relational Algebra.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Relational Algebra Chapter 4, Sections 4.1 – 4.2.
Ontology-Based Computing Kenneth Baclawski Northeastern University and Jarg.
Simultaneously Learning and Filtering Juan F. Mancilla-Caceres CS498EA - Fall 2011 Some slides from Connecting Learning and Logic, Eyal Amir 2006.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Copyright © Cengage Learning. All rights reserved.
Metadata Common Vocabulary a journey from a glossary to an ontology of statistical metadata, and back Sérgio Bacelar
Of 33 lecture 1: introduction. of 33 the semantic web vision today’s web (1) web content – for human consumption (no structural information) people search.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Lecture 5 1 CSP tools for verification of Sec Prot Overview of the lecture The Casper interface Refinement checking and FDR Model checking Theorem proving.
Knowledge Representation. Keywordsquick way for agents to locate potentially useful information Thesaurimore structured approach than keywords, arranging.
ece 627 intelligent web: ontology and beyond
Semantic Interoperability in GIS N. L. Sarda Suman Somavarapu.
 Description of Inheritance  Base Class Object  Subclass, Subtype, and Substitutability  Forms of Inheritance  Modifiers and Inheritance  The Benefits.
Ontology Technology applied to Catalogues Paul Kopp.
Welcome to M301 P2 Software Systems & their Development
OOP - Object Oriented Programming
ece 627 intelligent web: ontology and beyond
Chapter 11 Object-Oriented Design
About the Presentations
Time and Process in GIS: What can ontology contribute?
UML Class Diagrams: Basic Concepts
ece 720 intelligent web: ontology and beyond
Ontology-Based Approaches to Data Integration
Semantic Markup for Semantic Web Tools:
Department of Computer Science Abdul Wali Khan University Mardan
Presentation transcript:

Ontology for Moving Points/Objects/Change Ontology for Moving Points/Objects/Change... What can ontology contribute to our debate? Andrew U. Frank Geoinformation TU Vienna frank@geoinfo.tuwien.ac.at www.geoinfo.tuwien.ac.at

From Moving Points to Moving Objects – an ontological contribution in 3 pieces: 1. andante: What should an ontology for moving objects contain? 2. largo: How to formalize an ontology for moving objects? 3. vivace: What can we achieve with it? Andew U. Frank 4. Nov. 2008

Ontology today Ontology in information science is defined as “an explicit formal specification of the terms in the domain and relations among them”. Andew U. Frank 4. Nov. 2008

Ontology captures structure Structure of the data is represented in is_a relations part_of relations Instance relations Andew U. Frank 4. Nov. 2008

Two critical observations: 1. a static view: no process, no operations, nothing changes; 2. it is very difficult: imagine how difficult it is to describe the structure of a dish (e.g. apple pie) in contrast to the recipe (a description of a process) Andew U. Frank 4. Nov. 2008

Discussing ontology means first discussing the formal methods to describe ontologies: Natural language descriptions of ontologies are not clarifying the semantics an ontology purports to clarify. Andew U. Frank 4. Nov. 2008

Formal methods to describe ontologies (highly simplified): 1. Construct a particular formal language for the type of ontology you are interested in: - ontology for GIS - ontology for moving objects - ontology for flocks ... Andew U. Frank 4. Nov. 2008

Ontology languages 1: UML Informal, but extensive use: Uniform Modeling Language (UML) – limited by lack of formal definition – no conclusions drawn or consistency checked automatically. Tools (graphical editors) for UML are available: Nice, easy to use, flexible – but no formal background, therefore no fixed semantics, not much can be checked for consistency! Andew U. Frank 4. Nov. 2008

Ontology languages 2: Description logics consists of A set of unitary predicates denote concept names A set of binary relations, which denote role names Recursive constructors to form more complex constructs from the concepts and roles. Andew U. Frank 4. Nov. 2008

Many variants of Description Logics: Various DL with different levels of expressive power and computational complexity, depending which constructors are included: union and intersections of concepts negation of concepts value (universal) restriction existential restriction Andew U. Frank 4. Nov. 2008

Actual languages: The Web Ontology Language OWL (the culmination from a sequence of KL-ONE (1985).... DAML, OIL, DAML+OIL). A compromise between expressive power and tractability of logical deductions (goal: consistent theory!)‏ Practically: very limited and difficult to use. Andew U. Frank 4. Nov. 2008

Example “Person - Gender”: <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns="http://localhost:8080/OWLBuergerInformation.owl#" xml:base="http://localhost:8080/OWLBuergerInformation.owl"> <owl:Ontology rdf:about=""/> <owl:Class rdf:ID="Gender"/> <owl:Class rdf:ID="Person"/> <owl:Class rdf:ID="Woman"> <rdfs:subClassOf rdf:resource="#Person"/> <owl:equivalentClass> <owl:Restriction> <owl:onProperty rdf:resource="#Gender"/> <owl:hasValue rdf:resource="#female" rdf:type="#Gender"/> </owl:Restriction> </owl:equivalentClass> </owl:Class> <owl:ObjectProperty rdf:ID="gender" rdf:type="http://www.w3.org/2002/07/owl#FunctionalProperty"> <rdfs:range rdf:resource="#Gender"/> <rdfs:domain rdf:resource="#Person"/> </owl:ObjectProperty> <owl:DatatypeProperty rdf:ID="name" <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="firstname" <Person rdf:ID="STilgner" firstname="Susanne" name="Tilgner"> <Gender rdf:resource="#female"/> </Person> </rdf:RDF> Andew U. Frank 4. Nov. 2008

Ontology editors, e.g. Protege Ontology editor based on description logic. Produces ontologies in different output languages (e.g. OWL-Light). Very difficult to use, very time consuming. Andew U. Frank 4. Nov. 2008

Example: definition of pizza Gives list of incredients (structure) but not the process of baking one! Andew U. Frank 4. Nov. 2008

Extend ontology descriptions with time, change, process Why is this difficult? 1. First order logic is essentially static, adding time - adds confusing bulk to expression: move (P, A, B, T) :- is_at (P, A, T1) & is_at (P, B, T2) & before (T1, T) & after (T2, T)‏ - frame problem: need to state what does not change to allow logical inference Andew U. Frank 4. Nov. 2008

First order logic: Difficult to represent change and process in first order logic (complicated temporal logics would be needed)‏ Andew U. Frank 4. Nov. 2008

Using existing languages for ontology modelling: Algebraic background, to be prepared to describe operations and change. Mathematical rigor and simplicity: functional languages. Andew U. Frank 4. Nov. 2008

Example: Specification of classes Gives: “Boat House” and “Houseboat”. (Kuhn:Cosit'06) in Haskell (www.haskell.com)‏ Gives: classes and subclasses operations for objects of these classes Semantics is defined by operations! Andew U. Frank 4. Nov. 2008

Ontologies with operations is an object-oriented ontology! In an object orientation view the world consists of objects with operations! The object-oriented research in software engineering concentrates uses an algebraic approach to model object classes and operations applicable to the objects. Andew U. Frank 4. Nov. 2008

Formalization Subclass: Dogs are Animals; they breath and bark: class Animals a where breath :: a -> StateChange World class Animals => Dogs d where bark :: d -> StateChange World eat :: d -> f -> StateChange World Andew U. Frank 4. Nov. 2008

Programming with inheritance: The is_a relation does not translate directly to the operations. class Numbers n where division :: n -> n -> n instance Numbers Rational instance Numbers Int Int is subset of Rational Andew U. Frank 4. Nov. 2008

2nd Problem: Contravariance of Functions functions are contra-variant: applying a function to subsets of the arguments does not guarantee that the result will be a subset of the result of the original function. Andew U. Frank 4. Nov. 2008

Solution Parametric polymorphism, as shown in the above example, where class Numbers n where ... has a parameter n. The usual ad-hoc polymorphism of current programming languages (C++, Java) is not theoretically clean. Andew U. Frank 4. Nov. 2008

Formalizing 1: Moving point a moving point is a list of tuples (fixes)‏ t, x, y (,z)‏ this is what most understand by trajectory, interpreting that the same point was observed at the given location at the given time. Andew U. Frank 4. Nov. 2008

Formalizing 2: Moving point as a function a moving point is a function p (t) = ... e.g. p (t) = (x0 + vx * t, y0 + vy * t)‏ but using a lookup function in the list of fixes and interpolating between known locations can be written as a function as easily. Andew U. Frank 4. Nov. 2008

Formalizing 3: Moving and changing objects an object can not only change position, but any other property (heading, speed, color, ownership...)‏ Model each property as a function from time and objectID to value e.g. speed (ID, t) = v color (ID, t) = c Andew U. Frank 4. Nov. 2008

Formalizing 4: Many changing objects in a world Populate a world with many objects which change (e.g. SWARM). How to check for interaction between objects, expressed formally! (Model objects as autonomous agents, with capabilities to obseve the world...)‏ Andew U. Frank 4. Nov. 2008

Formalizing 5: Operations of objects produce change in the state of the world: operations for objects start with a state of the world and result in a changed new world state: op:: ID -> WorldState -> WorldState w1 := op (id, w0)‏ Andew U. Frank 4. Nov. 2008

Formalizing with Monads: op :: ID -> ChangeWorldState (where ChangeWorldState = WorldState -> WorldState)‏ The result of applying an operation to an object (and possible additional parameters) is a function, chaning the world from current state to a next state. Andew U. Frank 4. Nov. 2008

Special Monad, so called State Monad: nice algebraic properties for the monad opereations “return” and “binb”: "return" must preserve all information about its argument. (return x) >>= f ≡ f x m >>= return ≡ m Andew U. Frank 4. Nov. 2008

Special Monad, so called State Monad: Binding two functions in succession is the same as binding one function that can be determined from them. (m >>= f) >>= g ≡ m >>= (\x -> f x >>= g)‏ Andew U. Frank 4. Nov. 2008

Special Monad, so called State Monad: A monad can define a "zero" value for every type. Binding a zero with any function produces the zero for the result type, just as 0 multiplied by any number is 0. mzero >>= f ≡ mzero Similarly, binding any m with a function that always returns a zero results in a zero m >>= (\x -> mzero) ≡ mzero Andew U. Frank 4. Nov. 2008

Paradigm change necessary: Two traditions that are hindering temporal GIS and the necessary ontologies with processes: - logic (especially Description Logics)‏ - Inheritance in (imperativ) programming languages (especially C++ and Java) Andew U. Frank 4. Nov. 2008

Ontology description with algebra : operations are explicit changing state to new state t1 = f (t0)‏ class hierarchy with parametrised polymorphism. Tools: functional programming languages (eg. Haskell, Caml, Scheme, ML)‏ Andew U. Frank 4. Nov. 2008

Paradigm change must fix more than one problem! I have argued for a paradigm change in the methods to describe ontologies. Does this address other pressing problems? Andew U. Frank 4. Nov. 2008

An ontology based on operations could be used to more than just “clarify semantics”: The ontology gives a theory! Constructing a model checks that the model corresponds to our intuition. Formal ontologies should allow entering instances and observe their behaviour (e.g. Protege)‏ Andew U. Frank 4. Nov. 2008

How? The data structure part (static ontology) can be used to present the data – this is standard for administrative data processing. The operations described in the ontology give a computational model. Andew U. Frank 4. Nov. 2008

Ontology with operations equals “prototype application” Test the ontology! Improve code where not appropriate. Ontology gives automatically (minimal, but standardized) interface. Slogan: GUI's from ontology for free! How? Translate the operations to buttons and feed the user input to them! Andew U. Frank 4. Nov. 2008

Finale It is necessary and worthwhile to jump to a new paradigm and build ontologies with operations! Andew U. Frank 4. Nov. 2008