1 / 16

Simple Common Logic (SCL): A Constraint Language for the ODM

Simple Common Logic (SCL): A Constraint Language for the ODM. Elisa Kendall, Sandpiper Software, Inc. David Frankel, David Frankel Consulting Patrick Hayes, Institute for Human and Machine Cognition, University of West Florida

cathy
Download Presentation

Simple Common Logic (SCL): A Constraint Language for the ODM

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Simple Common Logic (SCL):A Constraint Language for the ODM Elisa Kendall, Sandpiper Software, Inc. David Frankel, David Frankel Consulting Patrick Hayes, Institute for Human and Machine Cognition, University of West Florida Deborah McGuinness, Knowledge Systems Laboratory, Stanford University 21 September 2004

  2. Motivation • To ensure that the ODM meets Usage Scenarios and Goals requirements • To provide a content language for agent communications that meets FIPA and the OMG Agents PSIG needs • To support automatic selection, composition, and interoperation of Semantic Web Services – where composition includes services that involve side effects, such as e-commerce services with credit card transactions • To represent formulas, scientific theories, and technical knowledge • For representation of pre- and post conditions, actions that change the state of the world, planning, complex constraints and preferences, etc. • To support reasoning about action and change as well as understanding the consequences of some action within the context of a situation • The declarative representation of such information requires first order logic

  3. Why SCL? • SCL – FOL language for information exchange and transmission; it allows for a variety of different syntactic forms, expressible within a common XML-based syntax, sharing a single semantics • SCL is the foundation for the family of languages being standardized under the Common Logic charter by the ISO community (see http://cl.tamu.edu/ ) • Normative mappings from SCL to other commonly used KR languages, such as KIF and Conceptual Graphs, are defined in the ISO 24707 specification • Direct mappings from RDF Schema and OWL are in work, available at http://www.ihmc.us/users/phayes/SW2SCL.html, enabling SCL reasoners to leverage both ontologies expressed in OWL as well as SCL constraints developed in tools based on the ODM • Other proposals currently in work by the W3C, such as RuleML, are not yet formal recommendations and are not supported by the ISO at this time

  4. Evolution of KIF / CL / SCL • The Knowledge Interchange Format (KIF) – developed in the late 1980s • KIF Reference Manual, Version 3.0 – http://ksl.stanford.edu/KSL_Abstracts/KSL-92-86.html • Several “flavors” of KIF have emerged since: • IDEF5 (1994) – http://www.kbsi.com/technology/methods/sbont.htm • Draft ANSI KIF (1998) – http://logic.stanford.edu/kif/dpans.html • FIPA KIF Content Specification Language (2000 / 2001) – http://www.fipa.org/specs/fipa00010/XC00010C.html • Draft ISO KIF Part 1: First Order KIF (2001) – http://cl.tamu.edu/discuss/prop.html • Draft IEEE SUO KIF (2002) – http://suo.ieee.org/KIF/ • Common Logic (CL) initiative brought to ISO JTF 1 / SC 32 / WG 2 on metadata standards by John Sowa (ANSI NCITS L8 – March 2002) – http://cl.tamu.edu/ • Languages initially proposed under the CL umbrella included KIF, Prolog, Conceptual Graphs, OCL, Z • Intent was to be able to support vendor representations – Cyc-L, Ontos’, XSB, Haley Eclipse, NASA CLIPS

  5. SCL Metamodel Development Process • Initiated development on a metamodel of ISO KIF, with intent to complete metamodels of both ISO KIF and draft ANSI KIF – 9/2003 • Solicited help from Dave Frankel and Deb McGuinness and completed initial draft ISO KIF metamodel – 10/2003 • Learned that the ISO KIF draft was superceded by SCL, solicited help from Pat Hayes to understand SCL and assist in modeling • Continued SCL modeling effort, iteratively and synergistically with the SCL development team – 11/2003 • Goals included focus on completeness (multiplicities, role names, OCL invariants), accuracy in language representation, minimalistic and intuitive XMI/XML • Completed draft metamodel with SCL team approval – 1/2004 • Continued revision process as the SCL language was refined; published SCL metamodel in draft ODM specification, 8/2004

  6. Phrases

  7. Phrases • Import, Sentence, and TextComment form a disjoint partition of Phrase context SCLPhrase inv XOR: (self.oclIsKindOf(SCLImports) xor self.oclIsKindOf(Sentence)) and (self.oclIsKindOf(Imports) self.oclIsKindOf(TextComment)) and (self.oclIsKindOf(Sentence) xor self.oclIsKindOf(TextComment))

  8. Expressions

  9. Terms

  10. Names and Terms • The lexical syntax section of the SCL document has rules for what can be a valid name. • Some of these rules cannot be expressed in OCL. For example: • name = namesequence | numeral | quotedstring | enclosedname ; which depends on preceding definitions of enclosedname, quotedstring, numeral and namesequence, where names that include white space or certain punctuation marks, quotation marks, etc. must be defined as “enclosedname” • We can use OCL to rule out special names but not to state rules about what kinds of ascii characters are allowed. Enforcing these rules has to be the responsibility of the parser. • The Name/CommentedTerm/ApplicationOfFunction partition is disjoint context Term inv DisjointPartion: (self.oclIsKindOf(Name) xor self.oclIsKindOf(CommentedTerm)) and (self.oclIsKindOf(Name) xor self.oclIsKindOf(ApplicationOfFunction)) and (self.oclIsKindOf(CommentedTerm) xor self.oclIsKindOf(ApplicationOfFunction)) Note the lack of a simple “disjoint” declaration in MOF

  11. Atoms

  12. Sentences

  13. Atoms and Sentences • ApplicationOfRelation, RolePairSet, and Equation form a disjoint partition context Atom inv DisjointPartition: (self.oclIsKindOf(ApplicationOfRelation) xor self.oclIsKindOf(RolePairSet)) and (self.oclIsKindOf(ApplicationOfRelation) xor self.oclIsKindOf(Equation)) and (self.oclIsKindOf(RolePairSet) xor self.oclIsKindOf(Equation)) • The partition formed by the subclasses of Sentence is disjoint context Sentence inv DisjointPartition: (self.oclIsKindOf(and) xor self.oclIsKindOf(or)) and (self.oclIsKindOf(and) xor self.oclIsKindOf(not)) and (self.oclIsKindOf(and) xor self.oclIsKindOf(implies)) and (self.oclIsKindOf(and) xor self.oclIsKindOf(iff)) and (self.oclIsKindOf(and) xor self.oclIsKindOf(forall)) and (self.oclIsKindOf(and) xor self.oclIsKindOf(exists)) and (self.oclIsKindOf(and) xor self.oclIsKindOf(Atom)) and (self.oclIsKindOf(and) xor self.oclIsKindOf(CommentedSentence)) and (self.oclIsKindOf(or) xor self.oclIsKindOf(not)) and (self.oclIsKindOf(or) xor self.oclIsKindOf(implies)) and …

  14. Boolean (Logical) Sentences

  15. Quantified Sentences

  16. Next Steps • Examples, where each example consists of • Sample SCL expressions in SCL textual syntax • Corresponding abstract syntax trees as instances of the metamodel, expressed as object diagrams • These kinds of examples were in the CWM specification and should be in all OMG metamodel specifications • Inclusion of mappings from RDFS/OWL to SCL, with examples • Examples of OWL ontologies expressed in the ODM and extended through SCL constraints, as might be input to an SCL reasoner • Possible refinement of XMI via XMI’s mapping parameters • XMI’s schema production rules are parameterized • SCL XMI produced using defaults for all parameters • Specification of compliance points

More Related