160 likes | 333 Views
Consistency Checking of RM-ODP Specifications. Kenneth Baclawski Mieczyslaw Kokar Jeffrey Smith Jerzy Letkowski. Themes. Consistency Checking Fundamental requirement Techniques for checking consistency Demonstration of ConsVISor Category Theory Component framework for logical theories
E N D
Consistency Checking of RM-ODP Specifications Kenneth Baclawski Mieczyslaw Kokar Jeffrey Smith Jerzy Letkowski
Themes • Consistency Checking • Fundamental requirement • Techniques for checking consistency • Demonstration of ConsVISor • Category Theory • Component framework for logical theories • Component composition • Refinement for code generation
Logical Consistency • A fundamental requirement of any rigorous formalization • Definition: there exists a non-trivial model of the theory. • If a theory is inconsistent then every logical statement is true. • Inconsistency is dangerous for autonomous agents!
owns type type type Wendy Wanda owns Logical Reasoning Fish Person Type constraint violation: The range of owns is Fish. Mermaid? OR There is no inconsistency: Wanda is a fish!
major (0,1) type type type major Chemistry George equivalentTo Computer Science major Department Student Cardinality constraint violation: George can’t have two majors OR There is no inconsistency: Computer Science = Chemistry
Checking Consistency • Consistency checking is very hard. • Church showed that first-order logic is only semi-decidable. • ConsVISor uses two concurrent strategies: • Warn about possible inconsistencies. This part is in Prolog and Java. If none, then consistent. • Use the SNARK theorem prover to find true inconsistencies. This need not terminate.
Inconsistencies • Manual consistency checking is difficult. • It is very hard to determine the consequences of a set of axioms just by looking at them. • Multiple viewpoints increase the difficulty. • Translation may introduce inconsistency. • Inconsistent languages: • Resource Description Framework (RDF) • DARPA Agent Markup Language (DAML) • Knowledge Interchange Format (KIF)
Category Theory: Specware • Category theory furnishes a formal component framework for logical theories. • Specification morphisms are more powerful than the include mechanism. • Specifications are intensional. • Specifications can be refined to be progressively more detailed.
Category of Specifications • A category consists of objects and morphisms. • An object is a formal specification (spec) consisting of sorts, operations, axioms and theorems. Each spec is a logical theory. • A morphism is a mapping of specs: • Sorts are mapped to sorts • Operations are mapped to operations. • Axioms and theorems map to theorems.
One-Sort Spec One-Sort Spec Water Vehicle Water Craft Land Vehicle Land Vehicle Composed Spec Component Composition • Components can be composed by using the colimit mechanism. Vehicle Spec Amphibian Spec
Template instantiation Vehicle Spec Linked List of Vehicles One-Sort Spec Linked List Spec Importing and Templates Import specification Vehicle Spec Linked List and Vehicle Linked List Spec
Web Links • This presentation is available online at <Baclawski.com/woodpecker.ppt> • Versatile Information Systems (VIS) Web site <vis.home.mindspring.com> • Inconsistent languages (on VIS Web site): • RDF <www.w3.org/rdf> • DAML <www.daml.org> • KIF <logic.stanford.edu/kif>
More Web links • Ontology-based computing talk <Baclawski.com/gbctalk.ppt> • Specware and Slang <www.kestrel.edu> • SNARK automated theorem prover <www.ai.sri.com/~stickel/snark.html>