PDDL: A Language with a Purpose? Lee McCluskey Department of Computing and Mathematical Sciences, The University of Huddersfield.

Slides:



Advertisements
Similar presentations
1 Knowledge Representation Introduction KR and Logic.
Advertisements

ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
25 February 2009Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department.
Proceedings of the Conference on Intelligent Text Processing and Computational Linguistics (CICLing-2007) Learning for Semantic Parsing Advisor: Hsin-His.
Compiler Construction by Muhammad Bilal Zafar (AP)
An Introduction to Artificial Intelligence. Introduction Getting machines to “think”. Imitation game and the Turing test. Chinese room test. Key processes.
CS 355 – Programming Languages
Automating programming via concept mining, probabilistic reasoning over semantic knowledge base of SE domain by Max Talanov.
ICKEP International Competition for Knowledge Engineering in Planning - A PROPOSAL Lee McCluskey KE TCU.
AI - Week 13 Knowledge Representation, Logic, Semantic Web Lee McCluskey, room 2/07
Knowledge and Systems Research Group, University of Huddersfield B vs OCL: Comparing Specification Languages for Planning Domains Diane Kitchin, Lee McCluskey,
The Semantic Web Week 13 Module Website: Lecture: Knowledge Acquisition / Engineering Practical: Getting to know.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
Modelling Conceptual Knowledge using Logic - Week 6 Lee McCluskey Department of Computing and Mathematical Sciences University of Huddersfield.
© C. Kemke1Reasoning - Introduction COMP 4200: Expert Systems Dr. Christel Kemke Department of Computer Science University of Manitoba.
School of Computing and Mathematics, University of Huddersfield Knowledge Engineering: Issues for the Planning Community Lee McCluskey Department of Computing.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
ICKEP International Competition for Knowledge Engineering in Planning Lee McCluskey PLANET Knowledge Engineering.
School of Computing and Mathematics, University of Huddersfield PDDL and other languages.. Lee McCluskey Department of Computing and Mathematical Sciences,
Chapter 12: Intelligent Systems in Business
Describing Syntax and Semantics
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Dr. Muhammed Al-Mulhem ICS An Introduction to Functional Programming.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
Semantic Web Technologies Lecture # 2 Faculty of Computer Science, IBA.
Introduction to High-Level Language Programming
Some Thoughts to Consider 6 What is the difference between Artificial Intelligence and Computer Science? What is the difference between Artificial Intelligence.
1. Human – the end-user of a program – the others in the organization Computer – the machine the program runs on – often split between clients & servers.
An Information Theory based Modeling of DSMLs Zekai Demirezen 1, Barrett Bryant 1, Murat M. Tanik 2 1 Department of Computer and Information Sciences,
PROGRAMMING LANGUAGES The Study of Programming Languages.
Chapter 2 The process Process, Methods, and Tools
A Generative and Model Driven Framework for Automated Software Product Generation Wei Zhao Advisor: Dr. Barrett Bryant Computer and Information Sciences.
Chapter 14: Artificial Intelligence Invitation to Computer Science, C++ Version, Third Edition.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
An Introduction to Programming and Object-Oriented Design Using Java By Jaime Niño and Fred Hosch Slides by Darwin Baines and Robert Burton.
Mathematical Modeling and Formal Specification Languages CIS 376 Bruce R. Maxim UM-Dearborn.
WSMX Execution Semantics Executable Software Specification Eyal Oren DERI
Problem Solving Techniques. Compiler n Is a computer program whose purpose is to take a description of a desired program coded in a programming language.
School of Computing and Mathematics, University of Huddersfield CIA2326: Week 11 LECTURE: Formal Specification TUTORIAL/PRACTICAL: Finish off last weeks.
Illustrations and Answers for TDT4252 exam, June
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
SKOS. Ontologies Metadata –Resources marked-up with descriptions of their content. No good unless everyone speaks the same language; Terminologies –Provide.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
PROGRAM DEVELOPMENT CYCLE. Problem Statement: Problem Statement help diagnose the situation so that your focus is on the problem, helpful tools at this.
Weaving a Debugging Aspect into Domain-Specific Language Grammars SAC ’05 PSC Track Santa Fe, New Mexico USA March 17, 2005 Hui Wu, Jeff Gray, Marjan Mernik,
ICT EMMSAD’05 13/ Assessing Business Process Modeling Languages Using a Generic Quality Framework Anna Gunhild Nysetvold* John Krogstie *, § IDI,
Logical and Functional Programming
1-1 An Introduction to Functional Programming Sept
From Hoare Logic to Matching Logic Reachability Grigore Rosu and Andrei Stefanescu University of Illinois, USA.
Organizational Project Management Maturity Organizational Project Management Maturity Model (OPM3) PMI-MN Breakfast sessions Improvement Planning.
Artificial Intelligence: Research and Collaborative Possibilities a presentation by: Dr. Ernest L. McDuffie, Assistant Professor Department of Computer.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Be.wi-ol.de User-friendly ontology design Nikolai Dahlem Universität Oldenburg.
Concept mining for programming automation. Problem ➲ A lot of trivial tasks that could be automated – Add field Patronim on Customer page. – Remove field.
CSC3315 (Spring 2009)1 CSC 3315 Languages & Compilers Hamid Harroud School of Science and Engineering, Akhawayn University
Course: Software Engineering – Design I IntroductionSlide Number 1 What is a specification Description of a (computer) system, which:  is precise;  defines.
Some Thoughts to Consider 5 Take a look at some of the sophisticated toys being offered in stores, in catalogs, or in Sunday newspaper ads. Which ones.
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 1Ver.: 1.0 How does intelligent functionality implemented.
Software Engineering Developing Requirements. © Lethbridge/Laganière 2001 Chapter 4: Developing requirements2 4.1 Domain Analysis The process by which.
Lisbon, 30 th March 2016 Gianluca Luraschi Gonçalo Cadete “Towards a Methodology for Building.
Advanced Computer Systems
Architecture Components
Knowledge Representation
Natural Language to SQL(nl2sql)
Neural Modular Networks
ONTOMERGE Ontology translations by merging ontologies Paper: Ontology Translation on the Semantic Web by Dejing Dou, Drew McDermott and Peishen Qi 2003.
Paul Scerri and Nancy Reed
Rich Model Toolkit – An Infrastructure for Reliable Computer Systems
Abstract Types Defined as Classes of Variables
Presentation transcript:

PDDL: A Language with a Purpose? Lee McCluskey Department of Computing and Mathematical Sciences, The University of Huddersfield

Take Home Slide Generally, language designers must be clear for what PUROSE their language is to be put. When a “standard” language is proposed, this is even more important! This makes it easier to assess their quality, to make design decisions more transparent, and to allow competing languages to be compared against each other.

Representation languages in planning: SCOPE WHAT KNOWLEDGE + WHAT PART OF PLANNING?: There are several kinds of knowledge that may be represented explicitly: = Domain objects, invariants, actions etc = Planning heuristics = Task (input)  Plans (output) – networks of actions/activities = Execution architecture

Representation languages in planning: USERS of the language WHO ARE THE USERS? Planning Researchers? Knowledge Engineers? Domain Experts? End Users? Machines (communication language) ?

Representation languages in planning: Precise purpose Given the answer to the above question is Domain objects, invariants, actions + Planning Researchers, a more precise purpose could be: = for use in theoretical arguments eg computational complexity = for use by knowledge engineers for practical domain model building = for use as a communication language between research groups

Theoretical Languages in Computing Eg Lambda-calculus, Turing Machines.. QUALITIES: = Simple, clear syntax and well-researched semantics = Adequate expressiveness for the desired application range = Clear mechanisms for reasoning For communication language, substitute reasoning with ‘close to existing languages’

Practical Languages in Computing = Eg Java in the field of programming, Z in formal specification of software, RML in requirements modelling or ML^2 in knowledge-based systems. = Criteria for practical formal languages are based around the idea that the structure of the language should support initial model acquisition and debugging, and subsequent model maintenance and re-use. = The criteria for theoretical languages are often desirable for practical languages also.

Some Qualities of Practical Languages in Computing (I’m sure they are not exhaustive) = maintenance (sometimes evaluated by considering hidden dependencies or locality of change) = closeness of mapping / customisation = error-proneness = reusability = guidelines and tool support = structure = support for operational aspects

What is PDDL’s Purpose? Is PDDL a languages for theoretical investigation of planners, a domain modelling language, or a communication language??? = it appears that the language was designed to represent the syntax and semantics of domain models that were currently available to the authors, and that were used as input languages to many of the published planners of the time.

Quick PDDL evaluation using theoretical + practical criteria Clear syntax and semantics = + The syntax is clear and tool support is available for those writing interpreters = - The semantics (v1.2) aren’t precisely defined in the manual but are dispersed.. Adequate expressiveness = very expressive language wrt competitions and in benchmark sets, although plenty of scope for improvement as shown by this many of the workshop’s papers which seem aimed at this aspect!

Quick PDDL evaluation using theoretical + practical criteria Clear mechanisms for reasoning = yes - achieved by the logical, declarative features of the notation (pre- and post- conditions, predicate logic expressions etc) structure and error-proneness = +ve at a macro level domain models can have different requirements and can be built on top of other domain models = -ve little or no structure for states + objects

Quick PDDL evaluation using theoretical + practical criteria maintenance and re-usability = +ve: ‘:extends’ is good re-use = -ve: it is easy to introduce errors when updating a model. guidelines and tool support = +ve there are parsers, solution checkers and domain analysis tools available publically = -ve PDDL was not designed to be associated with a method for model building.

Quick PDDL evaluation using theoretical + practical criteria closeness of mapping / customisation = +ve: (i)`high level' aspects of propositional encodings (ii) domain axioms and ‘requirements:’ feature = -ve: refleccting domain structre eg by composite objects is not possible support for operational aspects = The PDDL manual makes it clear that PDDL was not design to capture these aspects.

Conclusions PDDL has worked as a theoretical/communication language but is over-stretched as a modelling language. + in standardising a form of PDDL for theoretical purposes, more attention needs to be devoted to precisely defining its semantics, and that of any of its extensions; + in standardising a form of PDDL for practical domain model building, then more structure, guidelines and tool support is required. = We need to settle on the purpose of PDDL, decide on the criteria that can be used to evaluate PDDL's quality, and perform a thorough evaluation using the language's most recent version. This will lead, I believe, to a sound path for its future development.