simple common logic scl a constraint language for the odm
Skip this Video
Download Presentation
Simple Common Logic (SCL): A Constraint Language for the ODM

Loading in 2 Seconds...

play fullscreen
1 / 16

Simple Common Logic (SCL): A Constraint Language for the ODM - PowerPoint PPT Presentation

  • Uploaded on

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' Simple Common Logic (SCL): A Constraint Language for the ODM' - cathy

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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

Deborah McGuinness, Knowledge Systems Laboratory, Stanford University

21 September 2004

  • 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
why scl
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 )
  • 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, 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
evolution of kif cl scl
Evolution of KIF / CL / SCL
  • The Knowledge Interchange Format (KIF) – developed in the late 1980s
  • KIF Reference Manual, Version 3.0 –
  • Several “flavors” of KIF have emerged since:
    • IDEF5 (1994) –
    • Draft ANSI KIF (1998) –
    • FIPA KIF Content Specification Language (2000 / 2001) –
    • Draft ISO KIF Part 1: First Order KIF (2001) –
    • Draft IEEE SUO KIF (2002) –
  • Common Logic (CL) initiative brought to ISO JTF 1 / SC 32 / WG 2 on metadata standards by John Sowa (ANSI NCITS L8 – March 2002) –
  • 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
scl metamodel development process
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
  • 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))

names and terms
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

atoms and sentences
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

next steps
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