Overview. COMP 4200: Expert Systems. Knowledge Representation 2. Knowledge Representation 1

Size: px
Start display at page:

Download "Overview. COMP 4200: Expert Systems. Knowledge Representation 2. Knowledge Representation 1"

Transcription

1 Overview COMP 4200: Expert Systems Dr. Christel Kemke Department of Computer Science University of Manitoba Knowledge Representation for XPS Associative Nets and Frame Systems (Jackson, Chapter 6) Object-oriented Programming (Jackson, Chapter 7) C. Kemke Knowledge Representation 1 C. Kemke Knowledge Representation 2 Knowledge Representation 1 Representation of declarative knowledge (what, objects, structure) procedural knowledge (how, actions, performance) Representation Formalisms for declarative knowledge Frames, Semantic Nets, Inheritance Hierarchies, Schemata,... procedural knowledge Algorithms, Procedures, Plans, Rules,... Knowledge Representation 2 Representation of declarative knowledge: descriptions of objects, concepts: relations between them e.g. has-parts, father features e.g. number-of-legs, age mechanisms to work with this knowledge: store, retrieve information (accessing KB) e.g. TELL (KB1, IS-A (square,polygon)) KB1 is a knowledge base; in KB1 a square is a sub-concept or subclass of the polygon-concept/class; TELL asserts this. reason about objects (inferencing) if square(x) then polygon(x) if square(x) then number-of-sides (X)=4 If something is a square, it is also a polygon. A square thing has 4 sides. C. Kemke Knowledge Representation 3 C. Kemke Knowledge Representation 4 1

2 Graphs as Representations I: Nodes, Links, and what they represent Semantic Networks (Quilian 1968) nodes represent concepts, objects, events e.g. person, John, restaurant links (arcs) represent any kind of relation or association between concepts, objects, events e.g. IS-A, owns, lives-at, name This allows the representation of all kinds of semantic expressions BUT the semantics is not clearly defined (Woods 1975) -> epistemological confusion. C. Kemke Knowledge Representation 5 Causal, Temporal, and Inheritance Networks Causal Networks (Jackson, Fig. 6.2, see next slide) nodes represent concepts, objects, events links represent causal relationship between these concepts, objects, events Temporal Networks nodes represent events links represent temporal relationship between events, like before, after,... Inheritance Networks (Terminologies, Taxonomies) nodes represent concepts links represent class-/subclass-relationship IS-A: superclass subclass or super-concept / sub-concept C. Kemke Knowledge Representation 6 Causal Network Example (Jackson, Fig. 6.2) Classification Hierarchy (Jackson, Fig. 6.3) C. Kemke Knowledge Representation 7 C. Kemke Knowledge Representation 8 2

3 Graphs as Representations II: Nodes, Links, and what they represent Semantics of Knowledge Representation Languages: formal semantics e.g. Predicate Logic Interpretation, derive meaning of complex expressions based on meaning of atomic expressions plus construction mechanism use / reasoning e.g. Spreading Activation positive or negative association between concepts; see Neural Networks Inheritance Networks Inheritance Networks (Terminologies, Taxonomies) nodes represent concepts (events, objects, actions,...) links represent super-concept / sub-concept-relationships IS-A: specialization / subsumption of concepts concept-instance-relationships instance-of relationships between concepts role (slot) attributes/features/properties of concept constraints attached to roles, e.g. number of fillers Closely related to First-Order Predicate Logic. C. Kemke Knowledge Representation 9 C. Kemke Knowledge Representation 10 Terminological Network Example Example: Concepts: bird, robin, flying-animal, Speedy Feature: color IS-A (robin,bird), IS-A (bird,flying-animal) instance-of ( Speedy, robin) color (robin)= grey Superclass Instance Feature Task: Express that a typical elephant has legs, usually 4 of them, has a certain color, and there is a specific elephant named Clyde. elephant, color, legs, has (usually) 4 legs, Clyde Solution: Concepts: Roles: Feature: Terminological Network - Solution elephant, legs, Clyde (instance) or Clyde (individual concept), (color and grey) has-legs, (has-color) color Specific Representation of Clyde: has-legs (elephant, legs, 4) has-color (elephant, grey) or color (elephant) = grey instance-of ( Clyde, elephant) specific object Clyde IS-A (Clyde, elephant) individual concept Clyde C. Kemke Knowledge Representation 11 C. Kemke Knowledge Representation 12 3

4 Frames Frames, Schemas, Prototypes concepts as record-like structures slots relationships to other concepts, attributes fillers values for slots (other concept or value) Schema-Theory / Prototypes some objects are more typical for a certain class of objects precise definition for concepts sometimes not possible, then reference to prototypes Frames, Schemas, Prototypes Typical bird is robin take all robin-features as description for class bird. This forms a prototype. Take typical chair as prototype. Other chairs are more or less similar to this prototypical chair. The class of all chairs is fuzzy since there are no precise or exact boundaries for the class 'chair', i.e. to decide when something is a chair or not. C. Kemke Knowledge Representation 13 C. Kemke Knowledge Representation 14 Frames, Defaults, and Demons Frames represent concepts as record-like structures slots relationships to other concepts, attributes fillers values for those slots attached procedures to determine slot-fillers Defaults represent standard values (fillers) for some attributes (slots) of a concept (frame) Demons are activated by a certain action or pattern if-added demon - activated when value is added or updated, e.g. re-calculate area-value if side-info changes if-needed demon - activated when value is accessed, e.g. calculate area-value based on default assumptions if this slot-filler is required Defaults Defaults represent standard-values for some attributes of a concept, e.g. the standard number of legs of an elephant is 4. (Inherited) defaults may be overwritten at lower-level concepts, or for individual concepts. Clyde - the famous 3-legged AI-elephant. Problem: If roles, attributes etc. in a concept description can be changed or cancelled, what is the definition of a concept. How can we classify? And reason? C. Kemke Knowledge Representation 15 C. Kemke Knowledge Representation 16 4

5 Multiple Inheritance and Views Multiple Inheritance - Views (Jackson, Fig. 6.7) Multiple inheritance Sub-Concept inherits descriptions from several superconcepts. Possibly conflicting information ( = ambiguity) skeptical reasoners: don t know (no conclusion) credulous reasoners: whatever (several conclusions) Views Description of concept from different viewpoints. Inheritance of multiple, complementing descriptions e.g. view computer as machine or as equipment C. Kemke Knowledge Representation 17 C. Kemke Knowledge Representation 18 Multiple Inheritance - Ambiguity (Jackson, Fig. 6.8) Object-Oriented Programming Objects represent concepts similar to frames structured declarative representation (like record) procedural methods define the (external) behavior of object Objects communicate via sending messages to other objects to invoke their methods. C. Kemke Knowledge Representation 19 C. Kemke Knowledge Representation 20 5

6 Object-Oriented Programming Example Class Radio Class Robot slots slots power:{on,off}... volume:{1,...,10} methods methods v-control(v) - shut-down(...) set volume = V send (radio-1, switch(off)) switch(o) - set power on/off for O=on/off radio-1 of-class Radio robot-1 of-class Robot C. Kemke Knowledge Representation 21 Object-Oriented Programming (OOP) - Languages - SIMULA67, SmallTalk... KRL Knowledge Representation Language LOOPS Lisp Object-Oriented Programming System Flavors CLOS Common Lisp Object System COOL CLIPS Object-Oriented Language... C ++, Java,... C. Kemke Knowledge Representation 22 objects: OOP Terminology and Concepts data structures + procedures Objects are often called classes. Procedures are often called methods. Encapsulation: object-information can only be accessed by specifying the object and using the methods defined for this object ( message passing). Message Passing: objects can send messages to other objects by addressing the object and one of it s methods. Distinction: private and public variables / procedures Computation in OOP involves mainly communication between objects, and little or no global control. Basic Functions in OOP CREATING Define a class, including data structures/slots and methods. Define inheritance hierarchy, i.e. IS-A relationships. Create / Delete instances of a class. WORKING Message passing. (COOL) In CLIPS: Application of rules. C. Kemke Knowledge Representation 23 C. Kemke Knowledge Representation 24 6

7 OOP Inheritance Objects/classes arranged in inheritance hierarchy class ship class motorship IS-A ship Classes are also called generic objects / concepts Their methods are called generic methods / procedures Specific objects are instances of classes. class ship instance-of ship Titanic Inheritance of data structures (slots, fillers) and procedures (methods). OOP Inheritance of Data Structures Inheritance of data structures define data structures (slots) for super-class define defaults and common values (for slots) for super-class inherit to sub-classes and instances class ship x-velocity INTEGER y-velocity INTEGER... class motorship IS-A ship instance-of ship Titanic Class motorship, as well as instance Titanic inherit all slotspecifications, defaults, etc. from ship. C. Kemke Knowledge Representation 25 C. Kemke Knowledge Representation 26 OOP Inheritance of Methods Inheritance of procedures (methods) define generic method for super-class inherit to sub-classes (and instances) class ship method calc-speed... (self:x-velocity, self:y-velocity)... self is object itself; self:x-velocity refers to slot x-velocity of self. instance-of ship Titanic send Titanic calc-speed Method calc-speed known for all ships; uses concrete values for x-velocity, y-velocity for instance of ship (e.g. Titanic) in actual calculation. Multiple Inheritance and Method Combination Inheritance of methods / procedures in multiple inheritance hierarchies (heterarchies). Problem of method combination. Use before- and after-methods ( e.g. Flavors) take main method (inherited from super-class); add special before and after methods (from class or superclasses) which are executed before / after the main method. before-method preparation for main method after-method clean-up and adjustments around-methods or wrappers and whoppers additional surrounding code C. Kemke Knowledge Representation 27 C. Kemke Knowledge Representation 28 7

8 Method Combination and Multiple Inheritance Inherit main methods (e.g. refresh) from Window, and add special methods as before- and after-methods from subclasses. Window with Border Window Window with Border and Label Window with Label Method Combination and Multiple Inheritance in CLIPS/COOL Problem of method combination for multiple inheritance 1) Class Precedence List (CLOS, CLIPS/COOL) take methods as listed in their super-classes : class republican-quaker IS-A quaker and republican consult quaker first for inheritance; then republican. 2) before- and after-methods add special before and after methods C. Kemke Knowledge Representation 29 C. Kemke Knowledge Representation 30 Meta-Classes Classes and Instances in COOL - Instance-Relation - Meta-Classes are used to describe classes, e.g. create- and delete-functions, access-functions etc. The members of Meta-Classes are classes. Meta-Classes are classes themselves. system classes Object MetaClass Class domain classes Ship Liner domain instances Titanic C. Kemke Knowledge Representation 31 C. Kemke Knowledge Representation 32 8

9 Classes and Meta-Classes in COOL - IS-A Relation - system classes Class Object Ship domain classes MetaClass Liner Titanic domain instances C. Kemke Knowledge Representation 33 9

Object-based representation. Objects

Object-based representation. Objects Object-based representation Luger, Part III, 6.0, 6.1, 6.2.2-6.2.4, 6.4 (skim) Objects Two basic forms of Structured Objects Semantic Nets Frames Semantic Nets (Associative Nets) Components Nodes - represent

More information

Semantic Nets and Frames SEEM

Semantic Nets and Frames SEEM Semantic Nets and Frames SEEM 5750 1 Semantic Nets A semantic network a classic AI representation technique used for propositional information a propositional net A proposition a statement that is either

More information

Semantic Nets, Frames, World Representation. CS W February, 2004

Semantic Nets, Frames, World Representation. CS W February, 2004 Semantic Nets, Frames, World Representation CS W4701 24 February, 2004 Knowledge Representation as a medium for human expression An intelligent system must have KRs that can be interpreted by humans. We

More information

ASSOCIATIVE NETS AND FRAME SYSTEMS

ASSOCIATIVE NETS AND FRAME SYSTEMS ASSOCIATIVE NETS AND FRAME SYSTEMS Network Representations If L is a set of labeled links and N is a set of nodes, then a network is any subset of N L N, where the order of the triples is material. Lecture

More information

Instances and Classes. SOFTWARE ENGINEERING Christopher A. Welty David A. Ferrucci. 24 Summer 1999 intelligence

Instances and Classes. SOFTWARE ENGINEERING Christopher A. Welty David A. Ferrucci. 24 Summer 1999 intelligence Instances and Classes in SOFTWARE ENGINEERING Christopher A. Welty David A. Ferrucci 24 Summer 1999 intelligence Software Engineering Over the past decade or so, one of the many areas that artificial intelligence

More information

Knowledge representation Semantic networks and frames

Knowledge representation Semantic networks and frames Knowledge representation Semantic networks and frames CmSc310 Artificial Intelligence 1. Introduction: What is knowledge? The science that studies various issues about knowledge is called epistemology.

More information

Logical Reasoning Systems

Logical Reasoning Systems Logical Reasoning Systems Chapter 10 Some material adopted from notes by Tim Finin, Andreas Geyer-Schulz and Chuck Dyer 1 Introduction Real knowledge representation and reasoning systems come in several

More information

Structured Knowledge Representation

Structured Knowledge Representation Intelligent Systems: Reasoning and Recognition James L. Crowley ENSIMAG 2 / MoSIG M1 Second Semester 2015/2016 Lesson 17 15 April 2016 Structured Knowledge Representation Object Oriented Programming...2

More information

PdOd Kev Events I Re-world war I1 rwa

PdOd Kev Events I Re-world war I1 rwa I PdOd Kev Events I Re-world war I rwa LECTURE: Knowledge Representation Overview 0 'Qpes of knowledge: objects, events, meta-knowledge, etc. 0 Characteristics of representation: expressive adequacy vs.

More information

16 April 2011 Alan, Edison, etc, Saturday.

16 April 2011 Alan, Edison, etc, Saturday. 16 April 2011 Alan, Edison, etc, Saturday. Knowledge, Planning and Robotics 1. Knowledge 2. Types of knowledge 3. Representation of knowledge 4. Planning 5. Knowledge for planning 6. Planning in robotics

More information

JAVA MOCK TEST JAVA MOCK TEST II

JAVA MOCK TEST JAVA MOCK TEST II http://www.tutorialspoint.com JAVA MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Java Framework. You can download these sample mock tests at your

More information

CS558 Programming Languages Winter 2013 Lecture 8

CS558 Programming Languages Winter 2013 Lecture 8 OBJECT-ORIENTED PROGRAMMING CS558 Programming Languages Winter 2013 Lecture 8 Object-oriented programs are structured in terms of objects: collections of variables ( fields ) and functions ( methods ).

More information

AITA : Frame Based Systems

AITA : Frame Based Systems AITA : Frame Based Systems John A. Bullinaria, 2003 1. The Evolution of Semantic Networks into Frames 2. Frame Based Systems The Basic Idea 3. Converting Semantic Networks into Frames 4. Set Theory as

More information

More Notes on 'A Clash of Intuitions 9

More Notes on 'A Clash of Intuitions 9 More Notes on 'A Clash of Intuitions 9 R. Al-Asady A. Narayanan ras@uk.ac.exeter.dcs ajit@uk.ac.exeter.dcs Computer Science Department Exeter University Exeter EX4 4PT U.K. Abstract A path-based inheritance

More information

Production System. Logical Reasoning System 1

Production System. Logical Reasoning System 1 Production System Invented in 1943 by Post Used as the basis for many rule-based expert systems Production System consists of 3 components: Rules An unordered set of user-defined "if-then" rules of the

More information

Knowledge Representation

Knowledge Representation Knowledge Engineering Course Department of Electronics - Politecnico di Milano http://www.dei.polimi.it/people/bonarini Academic Year 2010-2011 Let s start from history... 1956 - Birth of Artificial Intelligence

More information

Downloaded from ioenotes.edu.np

Downloaded from ioenotes.edu.np Chapter-5: Structured Knowledge Representation - Knowledge Representation is an area of AI whose fundamental goal is to represent knowledge in manner that facilitates inference i.e. drawing conclusion

More information

IT101. Inheritance, Encapsulation, Polymorphism and Constructors

IT101. Inheritance, Encapsulation, Polymorphism and Constructors IT101 Inheritance, Encapsulation, Polymorphism and Constructors OOP Advantages and Concepts What are OOP s claims to fame? Better suited for team development Facilitates utilizing and creating reusable

More information

Knowledge Representation

Knowledge Representation Knowledge Representation References Rich and Knight, Artificial Intelligence, 2nd ed. McGraw-Hill, 1991 Russell and Norvig, Artificial Intelligence: A modern approach, 2nd ed. Prentice Hall, 2003 Outline

More information

Inheritance and Encapsulation. Amit Gupta

Inheritance and Encapsulation. Amit Gupta Inheritance and Encapsulation Amit Gupta Project 1 How did it go? What did you like about it? What did you not like? What can we do to help? Suggestions Ask questions if you don t understand a concept

More information

Module 8. Other representation formalisms. Version 2 CSE IIT, Kharagpur

Module 8. Other representation formalisms. Version 2 CSE IIT, Kharagpur Module 8 Other representation formalisms Lesson 21 Frames II Slots as Objects How can we to represent the following properties in frames? Attributes such as weight, age be attached and make sense. Constraints

More information

Inheritance (Outsource: )

Inheritance (Outsource: ) (Outsource: 9-12 9-14) is a way to form new classes using classes that have already been defined. The new classes, known as derived classes, inherit attributes and behavior of the pre-existing classes,

More information

Object Oriented Programming in Java. Jaanus Pöial, PhD Tallinn, Estonia

Object Oriented Programming in Java. Jaanus Pöial, PhD Tallinn, Estonia Object Oriented Programming in Java Jaanus Pöial, PhD Tallinn, Estonia Motivation for Object Oriented Programming Decrease complexity (use layers of abstraction, interfaces, modularity,...) Reuse existing

More information

COMP200 INTERFACES. OOP using Java, from slides by Shayan Javed

COMP200 INTERFACES. OOP using Java, from slides by Shayan Javed 1 1 COMP200 INTERFACES OOP using Java, from slides by Shayan Javed Interfaces 2 ANIMAL picture food sleep() roam() makenoise() eat() 3 ANIMAL picture food sleep() roam() makenoise() eat() 4 roam() FELINE

More information

Object Oriented Programming: Based on slides from Skrien Chapter 2

Object Oriented Programming: Based on slides from Skrien Chapter 2 Object Oriented Programming: A Review Based on slides from Skrien Chapter 2 Object-Oriented Programming (OOP) Solution expressed as a set of communicating objects An object encapsulates the behavior and

More information

CHAPTER. Knowledge Representation

CHAPTER. Knowledge Representation CHAPTER Knowledge Representation 3 If, for a given problem, we have a means of checking a proposed solution, then we can solve the problem by testing all possible answers. But this always takes much too

More information

CS558 Programming Languages

CS558 Programming Languages CS558 Programming Languages Winter 2017 Lecture 10a Andrew Tolmach Portland State University 1994-2017 Object-oriented Programming Programs are structured in terms of objects: collections of variables

More information

What about Object-Oriented Languages?

What about Object-Oriented Languages? What about Object-Oriented Languages? What is an OOL? A language that supports object-oriented programming How does an OOL differ from an ALL? (ALGOL-Like Language) Data-centric name scopes for values

More information

CS111: PROGRAMMING LANGUAGE II

CS111: PROGRAMMING LANGUAGE II 1 CS111: PROGRAMMING LANGUAGE II Computer Science Department Lecture 8(b): Abstract classes & Polymorphism Lecture Contents 2 Abstract base classes Concrete classes Polymorphic processing Dr. Amal Khalifa,

More information

Knowledge Representations. How else can we represent knowledge in addition to formal logic?

Knowledge Representations. How else can we represent knowledge in addition to formal logic? Knowledge Representations How else can we represent knowledge in addition to formal logic? 1 Common Knowledge Representations Formal Logic Production Rules Semantic Nets Schemata and Frames 2 Production

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2004 Vol. 3, No. 10, November-December 2004 The Theory of Classification Part 15: Mixins

More information

Chapter 8: Enhanced ER Model

Chapter 8: Enhanced ER Model Chapter 8: Enhanced ER Model Subclasses, Superclasses, and Inheritance Specialization and Generalization Constraints and Characteristics of Specialization and Generalization Hierarchies Modeling of UNION

More information

Inheritance and Polymorphism

Inheritance and Polymorphism Object Oriented Programming Designed and Presented by Dr. Ayman Elshenawy Elsefy Dept. of Systems & Computer Eng.. Al-Azhar University Website: eaymanelshenawy.wordpress.com Email : eaymanelshenawy@azhar.edu.eg

More information

Enhanced Entity-Relationship (EER) Modeling

Enhanced Entity-Relationship (EER) Modeling CHAPTER 4 Enhanced Entity-Relationship (EER) Modeling Copyright 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1-2 Chapter Outline EER stands for Enhanced ER or Extended ER EER Model Concepts Includes

More information

Lecture 13: Object orientation. Object oriented programming. Introduction. Object oriented programming. OO and ADT:s. Introduction

Lecture 13: Object orientation. Object oriented programming. Introduction. Object oriented programming. OO and ADT:s. Introduction Lecture 13: Object orientation Object oriented programming Introduction, types of OO languages Key concepts: Encapsulation, Inheritance, Dynamic binding & polymorphism Other design issues Smalltalk OO

More information

Design issues for objectoriented. languages. Objects-only "pure" language vs mixed. Are subclasses subtypes of the superclass?

Design issues for objectoriented. languages. Objects-only pure language vs mixed. Are subclasses subtypes of the superclass? Encapsulation Encapsulation grouping of subprograms and the data they manipulate Information hiding abstract data types type definition is hidden from the user variables of the type can be declared variables

More information

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis UNIT I INTRODUCTION OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis Design Implementation Testing Maintenance

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java

Object-Oriented Software Engineering Practical Software Development using UML and Java Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical

More information

Semantic Image Retrieval Based on Ontology and SPARQL Query

Semantic Image Retrieval Based on Ontology and SPARQL Query Semantic Image Retrieval Based on Ontology and SPARQL Query N. Magesh Assistant Professor, Dept of Computer Science and Engineering, Institute of Road and Transport Technology, Erode-638 316. Dr. P. Thangaraj

More information

LISP. Everything in a computer is a string of binary digits, ones and zeros, which everyone calls bits.

LISP. Everything in a computer is a string of binary digits, ones and zeros, which everyone calls bits. LISP Everything in a computer is a string of binary digits, ones and zeros, which everyone calls bits. From one perspective, sequences of bits can be interpreted as a code for ordinary decimal digits,

More information

The Smalltalk class hierarchy

The Smalltalk class hierarchy The Smalltalk class hierarchy As we have seen, classes in Smalltalk are arranged in the form of a tree. The class above a given class in the hierarchy is its superclass; classes below are its subclasses.

More information

CPS 506 Comparative Programming Languages. Programming Language

CPS 506 Comparative Programming Languages. Programming Language CPS 506 Comparative Programming Languages Object-Oriented Oriented Programming Language Paradigm Introduction Topics Object-Oriented Programming Design Issues for Object-Oriented Oriented Languages Support

More information

PROGRAMMING LANGUAGE 2

PROGRAMMING LANGUAGE 2 31/10/2013 Ebtsam Abd elhakam 1 PROGRAMMING LANGUAGE 2 Java lecture (7) Inheritance 31/10/2013 Ebtsam Abd elhakam 2 Inheritance Inheritance is one of the cornerstones of object-oriented programming. It

More information

Lesson 10B Class Design. By John B. Owen All rights reserved 2011, revised 2014

Lesson 10B Class Design. By John B. Owen All rights reserved 2011, revised 2014 Lesson 10B Class Design By John B. Owen All rights reserved 2011, revised 2014 Table of Contents Objectives Encapsulation Inheritance and Composition is a vs has a Polymorphism Information Hiding Public

More information

What are the characteristics of Object Oriented programming language?

What are the characteristics of Object Oriented programming language? What are the various elements of OOP? Following are the various elements of OOP:- Class:- A class is a collection of data and the various operations that can be performed on that data. Object- This is

More information

Fortgeschrittene objektorientierte Programmierung (Advanced Object-Oriented Programming)

Fortgeschrittene objektorientierte Programmierung (Advanced Object-Oriented Programming) 2014-03-07 Preface Fortgeschrittene objektorientierte Programmierung (Advanced Object-Oriented Programming) Coordinates: Lecturer: Web: Studies: Requirements: No. 185.211, VU, 3 ECTS Franz Puntigam http://www.complang.tuwien.ac.at/franz/foop.html

More information

OOPLs - Inheritance. Inheritance

OOPLs - Inheritance. Inheritance OOPLs - Inheritance Desirable properties Models of inheritance Class-based: with single, multiple parents Delegation Mix-ins Functionality as code reuse as subtyping 1 Inheritance Data abstraction plus

More information

9b. Combining Logic Programs with Object-Oriented Representation

9b. Combining Logic Programs with Object-Oriented Representation 9b. Combining Logic Programs with Object-Oriented Representation Outline Limitations of frames & description logics Early hybrid KR&R systems Krypton Recent trends in hybrid KR&R systems Description graphs

More information

CSE Lecture 3: Objects 2 September Nate Nystrom University of Texas at Arlington

CSE Lecture 3: Objects 2 September Nate Nystrom University of Texas at Arlington CSE 3302 Lecture 3: Objects 2 September 2010 Nate Nystrom University of Texas at Arlington Administration Out of town this afternoon thru Monday HW1 due next Thursday 9/9 Types Last time: strongly typed

More information

Frames and Inheritance. Winston, Chapter 9

Frames and Inheritance. Winston, Chapter 9 Frames and Inheritance Winston, Chapter 9 Michael Eisenberg and Gerhard Fischer TA: Ann Eisenberg AI Course, Fall 1997 Eisenberg/Fischer 1 Programming Languages A Knowledge Representation View procedural:

More information

Com S 541. Programming Languages I

Com S 541. Programming Languages I Programming Languages I Lecturer: TA: Markus Lumpe Department of Computer Science 113 Atanasoff Hall http://www.cs.iastate.edu/~lumpe/coms541.html TR 12:40-2, W 5 Pramod Bhanu Rama Rao Office hours: TR

More information

Object Model. Object Oriented Programming Spring 2015

Object Model. Object Oriented Programming Spring 2015 Object Model Object Oriented Programming 236703 Spring 2015 Class Representation In Memory A class is an abstract entity, so why should it be represented in the runtime environment? Answer #1: Dynamic

More information

Knowledge Representation. Dr. Asaad Sabah Hadi

Knowledge Representation. Dr. Asaad Sabah Hadi Knowledge Representation Dr. Asaad Sabah Hadi 1 Knowledge Knowledge is a collection of specialized facts, procedures and judgment rules High Degree of Abstraction Knowledge Information Low Data Quantity

More information

Lesson 10A OOP Fundamentals. By John B. Owen All rights reserved 2011, revised 2014

Lesson 10A OOP Fundamentals. By John B. Owen All rights reserved 2011, revised 2014 Lesson 10A OOP Fundamentals By John B. Owen All rights reserved 2011, revised 2014 Table of Contents Objectives Definition Pointers vs containers Object vs primitives Constructors Methods Object class

More information

Object Oriented Programming

Object Oriented Programming Object Oriented Programming Ray John Pamillo 1/27/2016 1 Nokia Solutions and Networks 2014 Outline: Brief History of OOP Why use OOP? OOP vs Procedural Programming What is OOP? Objects and Classes 4 Pillars

More information

Common Lisp Object System Specification. 1. Programmer Interface Concepts

Common Lisp Object System Specification. 1. Programmer Interface Concepts Common Lisp Object System Specification 1. Programmer Interface Concepts Authors: Daniel G. Bobrow, Linda G. DeMichiel, Richard P. Gabriel, Sonya E. Keene, Gregor Kiczales, and David A. Moon. Draft Dated:

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe CHAPTER 4 Enhanced Entity-Relationship (EER) Modeling Slide 1-2 Chapter Outline EER stands for Enhanced ER or Extended ER EER Model Concepts Includes all modeling concepts of basic ER Additional concepts:

More information

CS313D: ADVANCED PROGRAMMING LANGUAGE

CS313D: ADVANCED PROGRAMMING LANGUAGE CS313D: ADVANCED PROGRAMMING LANGUAGE Computer Science department Lecture 4(b): Inheritance & Polymorphism Lecture Contents What is Inheritance? Super-class & sub class The object class Using extends keyword

More information

Programming II (CS300)

Programming II (CS300) 1 Programming II (CS300) Chapter 05: Inheritance and Interfaces MOUNA KACEM mouna@cs.wisc.edu Spring 2018 Inheritance and Interfaces 2 Introduction Inheritance and Class Hierarchy Polymorphism Abstract

More information

PROGRAMMING IN C++ COURSE CONTENT

PROGRAMMING IN C++ COURSE CONTENT PROGRAMMING IN C++ 1 COURSE CONTENT UNIT I PRINCIPLES OF OBJECT ORIENTED PROGRAMMING 2 1.1 Procedure oriented Programming 1.2 Object oriented programming paradigm 1.3 Basic concepts of Object Oriented

More information

Multi-Methods in Racket

Multi-Methods in Racket Multi-Methods in Racket António Menezes Leitão April, 18, 2013 1 Introduction Multi-methods are an advanced concept that extends the single dispatch approach that is used in the majority of object-oriented

More information

Structural representations of unstructured knowledge

Structural representations of unstructured knowledge Paper Structural representations of unstructured knowledge Wiesław Traczyk Abstract Knowledge should be represented in a formal, structured manner if we want to process and manage it. Unfortunately a source

More information

Topics in Object-Oriented Design Patterns

Topics in Object-Oriented Design Patterns Software design Topics in Object-Oriented Design Patterns Material mainly from the book Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides; slides originally by Spiros Mancoridis;

More information

Advanced Programming - JAVA Lecture 4 OOP Concepts in JAVA PART II

Advanced Programming - JAVA Lecture 4 OOP Concepts in JAVA PART II Advanced Programming - JAVA Lecture 4 OOP Concepts in JAVA PART II Mahmoud El-Gayyar elgayyar@ci.suez.edu.eg Ad hoc-polymorphism Outline Method overloading Sub-type Polymorphism Method overriding Dynamic

More information

COMP 250 Fall inheritance Nov. 17, 2017

COMP 250 Fall inheritance Nov. 17, 2017 Inheritance In our daily lives, we classify the many things around us. The world has objects like dogs and cars and food and we are familiar with talking about these objects as classes Dogs are animals

More information

Weiss Chapter 1 terminology (parenthesized numbers are page numbers)

Weiss Chapter 1 terminology (parenthesized numbers are page numbers) Weiss Chapter 1 terminology (parenthesized numbers are page numbers) assignment operators In Java, used to alter the value of a variable. These operators include =, +=, -=, *=, and /=. (9) autoincrement

More information

Chapter 11. Categories of languages that support OOP: 1. OOP support is added to an existing language

Chapter 11. Categories of languages that support OOP: 1. OOP support is added to an existing language Categories of languages that support OOP: 1. OOP support is added to an existing language - C++ (also supports procedural and dataoriented programming) - Ada 95 (also supports procedural and dataoriented

More information

What s in an Instance?

What s in an Instance? RPI Computer Science Technical Report #94-18, 1994. What s in an Instance? Christopher A. Welty and David A. Ferrucci RPI Computer Science Dept. Troy, NY 12180 {weltyc,ferrucci}@cs.rpi.edu The notion of

More information

Unit 1 : Principles of object oriented programming

Unit 1 : Principles of object oriented programming Unit 1 : Principles of object oriented programming Difference Between Procedure Oriented Programming (POP) & Object Oriented Programming (OOP) Divided Into Importance Procedure Oriented Programming In

More information

Comp 249 Programming Methodology

Comp 249 Programming Methodology Comp 249 Programming Methodology Chapter 7 - Inheritance Part A Dr. Aiman Hanna Department of Computer Science & Software Engineering Concordia University, Montreal, Canada These slides has been extracted,

More information

More About Objects. Zheng-Liang Lu Java Programming 255 / 282

More About Objects. Zheng-Liang Lu Java Programming 255 / 282 More About Objects Inheritance: passing down states and behaviors from the parents to their children. Interfaces: requiring objects for the demanding methods which are exposed to the outside world. Polymorphism

More information

Goals: Define the syntax of a simple imperative language Define a semantics using natural deduction 1

Goals: Define the syntax of a simple imperative language Define a semantics using natural deduction 1 Natural Semantics Goals: Define the syntax of a simple imperative language Define a semantics using natural deduction 1 1 Natural deduction is an instance of first-order logic; that is, it is the formal

More information

2. Classes & Inheritance. Classes. Classes. Éric Tanter Objects and Design in Smalltalk. How do you create objects?

2. Classes & Inheritance. Classes. Classes. Éric Tanter Objects and Design in Smalltalk. How do you create objects? Objects and Design in Smalltalk 2. Classes & Inheritance Éric Tanter etanter@dcc.uchile.cl 1 Classes How do you create objects? Ex-nihilo in prototype-based languages With a class in class-based languages

More information

OWLViz A visualisation plugin for the Protégé OWL Plugin

OWLViz A visualisation plugin for the Protégé OWL Plugin OWLViz A visualisation plugin for the Protégé OWL Plugin 1 About OWLViz OWLViz is designed to be used with the Protege OWL plugin. It enables the class hierarchies in an OWL Ontology to be viewed and incrementally

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2002 Vol. 1, No. 2, July-August 2002 The Theory of Classification Part 2: The Scratch-Built

More information

Inheritance and Polymorphism. CS180 Fall 2007

Inheritance and Polymorphism. CS180 Fall 2007 Inheritance and Polymorphism CS180 Fall 2007 Definitions Inheritance object oriented way to form new classes from pre-existing ones Superclass The parent class If class is final, cannot inherit from this

More information

Agent Design Example Problems State Spaces. Searching: Intro. CPSC 322 Search 1. Textbook Searching: Intro CPSC 322 Search 1, Slide 1

Agent Design Example Problems State Spaces. Searching: Intro. CPSC 322 Search 1. Textbook Searching: Intro CPSC 322 Search 1, Slide 1 Searching: Intro CPSC 322 Search 1 Textbook 3.0 3.3 Searching: Intro CPSC 322 Search 1, Slide 1 Lecture Overview 1 Agent Design 2 Example Problems 3 State Spaces Searching: Intro CPSC 322 Search 1, Slide

More information

Semantics and the Web: e-government Implications of some Emerging Technology Beyond W3C

Semantics and the Web: e-government Implications of some Emerging Technology Beyond W3C Semantics and the Web: e-government Implications of some Emerging Technology Beyond W3C Adrian Walker www.reengineeringllc.com Presentation for the Collaborative Expedition Workshop #35, September 14,

More information

Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects,

Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects, Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects, Classes, Class Diagrams Values and Attributes Operations

More information

The Java Programming Language

The Java Programming Language The Java Programming Language Slide by John Mitchell (http://www.stanford.edu/class/cs242/slides/) Outline Language Overview History and design goals Classes and Inheritance Object features Encapsulation

More information

M301: Software Systems & their Development. Unit 4: Inheritance, Composition and Polymorphism

M301: Software Systems & their Development. Unit 4: Inheritance, Composition and Polymorphism Block 1: Introduction to Java Unit 4: Inheritance, Composition and Polymorphism Aims of the unit: Study and use the Java mechanisms that support reuse, in particular, inheritance and composition; Analyze

More information

ITCS 6150 Intelligent Systems. Lecture 13 First-Order Logic Chapter 8

ITCS 6150 Intelligent Systems. Lecture 13 First-Order Logic Chapter 8 ITCS 6150 Intelligent Systems Lecture 13 First-Order Logic Chapter 8 First-order logic We saw how propositional logic can create intelligent behavior But propositional logic is a poor representation for

More information

CSE 307: Principles of Programming Languages

CSE 307: Principles of Programming Languages CSE 307: Principles of Programming Languages Classes and Inheritance R. Sekar 1 / 52 Topics 1. OOP Introduction 2. Type & Subtype 3. Inheritance 4. Overloading and Overriding 2 / 52 Section 1 OOP Introduction

More information

Module 8. Other representation formalisms. Version 2 CSE IIT, Kharagpur

Module 8. Other representation formalisms. Version 2 CSE IIT, Kharagpur Module 8 Other representation formalisms 8.1 Instructional Objective The students should understand the syntax and semantic of semantic networks Students should learn about different constructs and relations

More information

Chapter 5 Object-Oriented Programming

Chapter 5 Object-Oriented Programming Chapter 5 Object-Oriented Programming Develop code that implements tight encapsulation, loose coupling, and high cohesion Develop code that demonstrates the use of polymorphism Develop code that declares

More information

1.00 Lecture 14. Exercise: Plants

1.00 Lecture 14. Exercise: Plants 1.00 Lecture 14 Inheritance, part 2 Reading for next time: Big Java: sections 9.1-9.4 Exercise: Plants Create a base class Plant Plant: Private data genus, species, isannual Write the constructor Create

More information

1. Write two major differences between Object-oriented programming and procedural programming?

1. Write two major differences between Object-oriented programming and procedural programming? 1. Write two major differences between Object-oriented programming and procedural programming? A procedural program is written as a list of instructions, telling the computer, step-by-step, what to do:

More information

Question about Final Exam. CS 416 Artificial Intelligence. What do we like about propositional logic? First-order logic

Question about Final Exam. CS 416 Artificial Intelligence. What do we like about propositional logic? First-order logic Page 1 Question about Final Exam CS 416 Artificial Intelligence I will have a date for you by Tuesday of next week. Lecture 13 First-Order Logic Chapter 8 First-order logic We saw how propositional logic

More information

CSc 520. Principles of Programming Languages 45: OO Languages Introduction

CSc 520. Principles of Programming Languages 45: OO Languages Introduction CSc 520 Principles of Programming Languages 45: OO Languages Introduction Christian Collberg Department of Computer Science University of Arizona collberg@cs.arizona.edu Copyright c 2005 Christian Collberg

More information

Chapter 12. OOP: Creating Object- Oriented Programs. McGraw-Hill. Copyright 2011 by The McGraw-Hill Companies, Inc. All Rights Reserved.

Chapter 12. OOP: Creating Object- Oriented Programs. McGraw-Hill. Copyright 2011 by The McGraw-Hill Companies, Inc. All Rights Reserved. Chapter 12 OOP: Creating Object- Oriented Programs McGraw-Hill Copyright 2011 by The McGraw-Hill Companies, Inc. All Rights Reserved. Objectives (1 of 2) Use object-oriented terminology correctly. Create

More information

These notes are intended exclusively for the personal usage of the students of CS352 at Cal Poly Pomona. Any other usage is prohibited without

These notes are intended exclusively for the personal usage of the students of CS352 at Cal Poly Pomona. Any other usage is prohibited without These notes are intended exclusively for the personal usage of the students of CS352 at Cal Poly Pomona. Any other usage is prohibited without previous written authorization. 1 2 The simplest way to create

More information

CS 1316 Exam 1 Summer 2009

CS 1316 Exam 1 Summer 2009 1 / 8 Your Name: I commit to uphold the ideals of honor and integrity by refusing to betray the trust bestowed upon me as a member of the Georgia Tech community. CS 1316 Exam 1 Summer 2009 Section/Problem

More information

1. BlueJ bank example with subclasses of BankAccount 2. Transparency of UML diagram for BankAccount class hierarchy

1. BlueJ bank example with subclasses of BankAccount 2. Transparency of UML diagram for BankAccount class hierarchy CS112 Lecture: Fundamental Concepts of Object-Oriented Software Development Last revised 1/13/04 Objectives: 1. To review/introduce key concepts of object-orientation: object, class, data members (class

More information

COP 3330 Final Exam Review

COP 3330 Final Exam Review COP 3330 Final Exam Review I. The Basics (Chapters 2, 5, 6) a. comments b. identifiers, reserved words c. white space d. compilers vs. interpreters e. syntax, semantics f. errors i. syntax ii. run-time

More information

Basic Object-Oriented Concepts. 5-Oct-17

Basic Object-Oriented Concepts. 5-Oct-17 Basic Object-Oriented Concepts 5-Oct-17 Concept: An object has behaviors In old style programming, you had: data, which was completely passive functions, which could manipulate any data An object contains

More information

Design Engineering. Dr. Marouane Kessentini Department of Computer Science

Design Engineering. Dr. Marouane Kessentini Department of Computer Science Design Engineering Dr. Marouane Kessentini Department of Computer Science 1 Design Starts mostly from/with requirements (evolving mostly from functionalities and other non functional characteristics) How

More information

On the Declarative Semantics of Inheritance Networks

On the Declarative Semantics of Inheritance Networks On the Declarative Semantics of Inheritance Networks T. Krishnaprasad, Michael Kifer, David S. Department of Computer Science SUNY at Stony Brook Stony Brook, NY 11794. Warren Abstract Usually, semantics

More information

Week 7. Statically-typed OO languages: C++ Closer look at subtyping

Week 7. Statically-typed OO languages: C++ Closer look at subtyping C++ & Subtyping Week 7 Statically-typed OO languages: C++ Closer look at subtyping Why talk about C++? C++ is an OO extension of C Efficiency and flexibility from C OO program organization from Simula

More information

Oriented Programming Terminology. Using classes and instances to design a system. Example Instance Diagram

Oriented Programming Terminology. Using classes and instances to design a system. Example Instance Diagram Object- Oriented Programming Terminology Class Diagram Instance Diagram Class: specifies the common behavior of entities in scheme, a "maker" procedure Instance: A particular object or entity of a given

More information

Semantics and Ontologies for Geospatial Information. Dr Kristin Stock

Semantics and Ontologies for Geospatial Information. Dr Kristin Stock Semantics and Ontologies for Geospatial Information Dr Kristin Stock Introduction The study of semantics addresses the issue of what data means, including: 1. The meaning and nature of basic geospatial

More information